private ManagedFormAttribute(String name, String synonym, ManagedFormAttributeType type, ManagedFormAttribute[] children) { m_Type = type; Name = name; Title = synonym; if (children != null) { m_ChildItems = new MDObjectsCollection <ManagedFormAttribute>(); foreach (var child in children) { m_ChildItems.Add(child); } } }
public MDTable(SerializedList tableDescription) { m_RawContent = tableDescription; var StringsBlock = ((SerializedList)tableDescription).DrillDown(4); ReadStringsBlock(StringsBlock); m_Attributes = new MDObjectsCollection <MDAttribute>(); if (tableDescription.Items.Count > 2) { var AttributeList = (SerializedList)tableDescription.Items[2]; FillAttributeCollection(AttributeList); } }
private void LoadAttributes(SerializedList attrSection) { int count = Int32.Parse(attrSection.Items[1].ToString()); if (count > 0) { m_Attributes = new MDObjectsCollection <ManagedFormAttribute>(); } else { return; } for (int i = 0; i < count; i++) { m_Attributes.Add(ManagedFormAttribute.CreateFromList((SerializedList)attrSection.Items[i + 2])); } }
private void LoadElements(SerializedList elementsList, MDObjectsCollection <ManagedFormElement> itemsPrototype, int idIndex, string uuid = null) { int itemCount = Int32.Parse(elementsList.Items[idIndex - 1].ToString()); int iterationCount = itemCount * 2; for (int i = 0; i < iterationCount; ++i) { int index = idIndex + i; if (index >= elementsList.Items.Count) { break; } SerializedItem item = elementsList.Items[index]; if (item.GetType() == typeof(SerializedItem)) { uuid = item.ToString(); } else { int offset; SerializedList lst = (SerializedList)item; if (lst.Items[4].ToString() == "0") { offset = 0; } else { offset = 1; } String ElementName; String ElementSubtype; if (uuid == "143c00f7-a42d-4cd7-9189-88e4467dc768" || uuid == "a9f3b1ac-f51b-431e-b102-55a69acdecad") { ElementName = lst.Items[6].ToString(); ElementSubtype = (uuid == "a9f3b1ac-f51b-431e-b102-55a69acdecad") ? lst.Items[5].ToString() : lst.Items[7].ToString(); } else { ElementName = lst.Items[6 + offset].ToString(); ElementSubtype = lst.Items[5 + offset].ToString(); } var ElementClass = ManagedFormElementType.ParseTypeID(uuid); MDObjectsCollection <ManagedFormElement> ChildrenPrototype = null; if (lst.Items.Count > 22 && (ElementClass == FormElementClass.Group || ElementClass == FormElementClass.Grid)) { System.Text.RegularExpressions.Regex RegExp = new System.Text.RegularExpressions.Regex(@"\w{8}-\w{4}-\w{4}-\w{4}-\w{12}"); for (int j = 22; j < lst.Items.Count; ++j) { String content = lst.Items[j].ToString(); if (content.Length == 36 && content != "00000000-0000-0000-0000-000000000000" && RegExp.IsMatch(content)) { // load children ChildrenPrototype = new MDObjectsCollection <ManagedFormElement>(); LoadElements(lst, ChildrenPrototype, j); break; } } } ManagedFormElement element; var ElementType = new ManagedFormElementType(ElementClass, Int32.Parse(ElementSubtype)); if (ChildrenPrototype == null) { element = new ManagedFormElement(ElementName, ElementName, ElementType); } else { ManagedFormElements Children = new ManagedFormElements(ChildrenPrototype); element = new ManagedFormElement(ElementName, ElementName, ElementType, Children); } itemsPrototype.Add(element); } } }
public ManagedFormElements(MDObjectsCollection <ManagedFormElement> items) { m_Items = items; m_InitPerformed = true; }