Beispiel #1
0
        /*
         * 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;
        }
Beispiel #2
0
        /// <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;
		}
Beispiel #4
0
 public void SetParent(MultiplePanelNode node)
 {
     _parent = node;
 }