override public void Setup_BeforeAdd(XML xml)
{
base.Setup_BeforeAdd(xml);
string str;
str = xml.GetAttribute("layout");
if (str != null)
{
_layout = FieldTypes.ParseListLayoutType(str);
}
else
{
_layout = ListLayoutType.SingleColumn;
}
str = xml.GetAttribute("selectionMode");
if (str != null)
{
selectionMode = FieldTypes.ParseListSelectionMode(str);
}
else
{
selectionMode = ListSelectionMode.Single;
}
OverflowType overflow;
str = xml.GetAttribute("overflow");
if (str != null)
{
overflow = FieldTypes.ParseOverflowType(str);
}
else
{
overflow = OverflowType.Visible;
}
ScrollType scroll;
str = xml.GetAttribute("scroll");
if (str != null)
{
scroll = FieldTypes.ParseScrollType(str);
}
else
{
scroll = ScrollType.Vertical;
}
ScrollBarDisplayType scrollBarDisplay;
str = xml.GetAttribute("scrollBar");
if (str != null)
{
scrollBarDisplay = FieldTypes.ParseScrollBarDisplayType(str);
}
else
{
scrollBarDisplay = ScrollBarDisplayType.Default;
}
int scrollBarFlags = xml.GetAttributeInt("scrollBarFlags");
Margin scrollBarMargin = new Margin();
str = xml.GetAttribute("scrollBarMargin");
if (str != null)
{
scrollBarMargin.Parse(str);
}
str = xml.GetAttribute("margin");
if (str != null)
{
_margin.Parse(str);
}
SetupOverflowAndScroll(overflow, scrollBarMargin, scroll, scrollBarDisplay, scrollBarFlags);
string[] arr = xml.GetAttributeArray("clipSoftness");
if (arr != null)
{
this.clipSoftness = new Vector2(int.Parse(arr[0]), int.Parse(arr[1]));
}
_lineGap = xml.GetAttributeInt("lineGap");
_columnGap = xml.GetAttributeInt("colGap");
defaultItem = xml.GetAttribute("defaultItem");
autoResizeItem = xml.GetAttributeBool("autoItemSize", true);
XMLList col = xml.Elements("item");
foreach (XML ix in col)
{
string url = ix.GetAttribute("url");
if (string.IsNullOrEmpty(url))
{
url = defaultItem;
}
if (string.IsNullOrEmpty(url))
{
continue;
}
GObject obj = AddItemFromPool(url);
if (obj is GButton)
{
((GButton)obj).title = ix.GetAttribute("title");
((GButton)obj).icon = ix.GetAttribute("icon");
}
else if (obj is GLabel)
{
((GLabel)obj).title = ix.GetAttribute("title");
((GLabel)obj).icon = ix.GetAttribute("icon");
}
}
}