예제 #1
0
		/*
		 * 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;
		}
예제 #2
0
        /*
         * Organizer Method
         */

        public override Hashtable 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);
            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];

                newP = new PanelNode(g);

                over.AddPanel(newP);

                deps[aryDeps] = newP;
                panels[g]     = newP;
            }

            _activePanel = newP;

            _dependencies = deps;
            _uiValid      = true;

            this.ValueChanged(_state);

            return(panels);
        }