/* * Organizer Method */ public override void AddOrganization(GroupNode group, InterfaceNode currentNode) { VerticallyNonOverlappingPanelsNode non = new VerticallyNonOverlappingPanelsNode(); OverlappingPanelsNode over = new OverlappingPanelsNode(); currentNode.InsertAsParent(non); non.AddPanel(over); Hashtable deps = 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]; newP = new PanelNode(g); over.AddPanel(newP); deps[aryDeps] = newP; g.Decorations.Add(PanelDecision.DECISION_KEY, new PanelDecision(this, newP)); } _activePanel = newP; _dependencies = deps; _uiValid = true; this.ValueChanged(_state); }
/* * Organizer Method */ public override void 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); 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; g.Decorations.Add(PanelDecision.DECISION_KEY, new PanelDecision(this, newP)); } _activePanel = newP; _dependencies = deps; _uiValid = true; this.ValueChanged(_state); }