/* * Constructor */ public InterfaceNode() { _container = null; _bounds = new System.Drawing.Rectangle(0, 0, 0, 0); _parent = null; _minSize = new System.Drawing.Size(0, 0); _prefSize = null; }
/// <summary> /// Inserts the node parameter as the parent of this /// node. node becomes the child of the former parent /// and this node becomes this child of node. /// </summary> /// <param name="node">the node inserted as this node's parent</param> public void InsertAsParent(MultiplePanelNode node) { if (_parent != null) { MultiplePanelNode oldparent = _parent; oldparent.RemovePanel(this); oldparent.AddPanel(node); } node.AddPanel(this); }
/* * Organizer Method */ public override Hashtable AddOrganization(GroupNode group, InterfaceNode currentNode) { TabbedOverlappingPanelsNode tab = new TabbedOverlappingPanelsNode( _state ); MultiplePanelNode non = null; if ( _vertical ) non = new HorizontallyNonOverlappingPanelsNode( (PanelNode)currentNode, tab ); else { non = new VerticallyNonOverlappingPanelsNode(); currentNode.InsertAsParent( non ); non.AddPanel( tab ); } Hashtable deps = new Hashtable( _dependencies.Count ); Hashtable panels = new Hashtable( _dependencies.Count ); IEnumerator e = _dependencies.Keys.GetEnumerator(); PanelNode newP = null; while( e.MoveNext() ) { GroupNode g = (GroupNode)e.Current; ArrayList aryDeps = (ArrayList)_dependencies[ g ]; EqualsDependency eqDep = (EqualsDependency)aryDeps[ 0 ]; try { newP = (PanelNode)tab.GetNodeByValue( (int)eqDep.Value ).GetChildNode(); newP.Group = g; } catch( Exception ) { Globals.GetFrame( eqDep.State.Appliance ).AddLogLine( "Error in TabbedControlPanelOrganizer... Line 82" ); } deps[ aryDeps ] = newP; panels[ g ] = newP; } tab.InitGroupToTabMap(); _activePanel = newP; _dependencies = deps; _uiValid = true; this.ValueChanged( _state ); return panels; }
public void SetParent(MultiplePanelNode node) { _parent = node; }