public EditInterfaceTreeNode(EditInterface editInterface, EditInterfaceTreeView editInterfaceTreeView) : base(editInterface.getName()) { if (editInterface.IconReferenceTag != null) { this.ImageResource = editInterface.IconReferenceTag.ToString(); } this.editInterfaceTreeView = editInterfaceTreeView; this.editInterface = editInterface; editInterface.OnSubInterfaceAdded += editInterface_OnSubInterfaceAdded; editInterface.OnSubInterfaceRemoved += editInterface_OnSubInterfaceRemoved; editInterface.OnBackColorChanged += editInterface_OnBackColorChanged; editInterface.OnForeColorChanged += editInterface_OnForeColorChanged; editInterface.OnIconReferenceChanged += editInterface_OnIconReferenceChanged; editInterface.OnNameChanged += editInterface_OnNameChanged; if (editInterface.hasSubEditInterfaces()) { foreach (EditInterface subInterface in editInterface.getSubEditInterfaces()) { this.Children.add(new EditInterfaceTreeNode(subInterface, editInterfaceTreeView)); } } }
void expandButton_CheckedChanged(Widget source, EventArgs e) { if (Expanded) { propertiesForm.EditInterface = editInterface; foreach (EditInterface subInterface in editInterface.getSubEditInterfaces()) { addSubInterface(subInterface); } } else { propertiesForm.EditInterface = null; foreach (ExpandingNode child in children) { child.Dispose(); } children.Clear(); } layout(); }