Touchups to scroll list building

Moved handling of mouse_wheel_opaque and menu_file to setScrollListParameters
Removed setToolTip block from LLScrollListCtrl::fromXML since setToolTip lives inside of LLView::initFromXML which is called by LLUICtrl::initFromXML which was already called at this point
Added support for building columns from xml with relative_width which is synonymous with relwidth
Fixed namelist columns not supporting dynamic_width in xml (dynamicwidth is only acceptable in older xmls)
This commit is contained in:
Inusaito Sayori
2013-07-27 16:40:26 -04:00
parent 6088ed50a8
commit 2b2a6d5ea6
2 changed files with 30 additions and 20 deletions

View File

@@ -2545,6 +2545,19 @@ void LLScrollListCtrl::setScrollListParameters(LLXMLNodePtr node)
node->getAttributeS32("column_padding", column_padding);
setColumnPadding(column_padding);
}
if (node->hasAttribute("mouse_wheel_opaque"))
{
node->getAttribute_bool("mouse_wheel_opaque", mMouseWheelOpaque);
}
if (node->hasAttribute("menu_file"))
{
std::string menu_file;
node->getAttributeString("menu_file", menu_file);
mPopupMenu = LLUICtrlFactory::getInstance()->buildMenu(menu_file, LLMenuGL::sMenuContainer);
LLMenuGL::sMenuContainer->addChild(mPopupMenu);
}
}
// static
@@ -2579,22 +2592,6 @@ LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFac
scroll_list->initFromXML(node, parent);
scroll_list->setSearchColumn(search_column);
BOOL mouse_wheel_opaque = true;
node->getAttributeBOOL("mouse_wheel_opaque", mouse_wheel_opaque);
scroll_list->mMouseWheelOpaque = mouse_wheel_opaque;
std::string tool_tip;
node->getAttributeString("tool_tip", tool_tip);
scroll_list->setToolTip(tool_tip);
std::string menu_file;
if (node->getAttributeString("menu_file", menu_file))
{
LLMenuGL* menu = LLUICtrlFactory::getInstance()->buildMenu(menu_file, LLMenuGL::sMenuContainer);
LLMenuGL::sMenuContainer->addChild(menu);
scroll_list->setContextMenu(menu);
}
LLSD columns;
S32 index = 0;
for (LLXMLNodePtr child = node->getFirstChild(); child.notNull(); child = child->getNextSibling())
@@ -2634,8 +2631,9 @@ LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFac
columns[index]["width"] = columnwidth;
F32 columnrelwidth = 0.f;
if (child->getAttributeF32("relwidth", columnrelwidth))
columns[index]["relwidth"] = columnrelwidth;
if (child->getAttributeF32("relative_width", columnrelwidth)
|| child->getAttributeF32("relwidth", columnrelwidth))
columns[index]["relative_width"] = columnrelwidth;
BOOL columndynamicwidth = false;
if (child->getAttributeBOOL("dynamic_width", columndynamicwidth)

View File

@@ -360,11 +360,23 @@ LLView* LLNameListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto
std::string sortname(columnname);
child->getAttributeString("sort", sortname);
if (child->hasAttribute("relwidth"))
if (child->hasAttribute("relative_width"))
{
F32 columnrelwidth = 0.f;
child->getAttributeF32("relative_width", columnrelwidth);
columns[index]["relative_width"] = columnrelwidth;
}
else if (child->hasAttribute("relwidth"))
{
F32 columnrelwidth = 0.f;
child->getAttributeF32("relwidth", columnrelwidth);
columns[index]["relwidth"] = columnrelwidth;
columns[index]["relative_width"] = columnrelwidth;
}
else if (child->hasAttribute("dynamic_width"))
{
BOOL columndynamicwidth = FALSE;
child->getAttributeBOOL("dynamic_width", columndynamicwidth);
columns[index]["dynamic_width"] = columndynamicwidth;
}
else if (child->hasAttribute("dynamicwidth"))
{