示例#1
0
        /*
         * Constructor
         */

        public HorizontallyNonOverlappingPanelsNode(PanelNode vertPanel,
                                                    InterfaceNode horizPanel)
            : base()
        {
            vertPanel.InsertAsParent(this);
            AddPanel(horizPanel);

            vertPanel.SetVertical(true);
        }
示例#2
0
        /*
         * Constructor
         */

        public TwoColumnRow(PanelNode panel,
                            ConcreteInteractionObject cio1,
                            ConcreteInteractionObject cio2)
            : base(panel)
        {
            addCIO(cio1.GetLabelCIO());
            addCIO(cio1);
            addCIO(cio2.GetLabelCIO());
            addCIO(cio2);
        }
示例#3
0
        /*
         * Constructor
         */

        public Row(GroupNode g, PanelNode panel)
        {
            _CIOs   = new ArrayList();
            _parent = panel;
            _group  = g;

            _minSize       = new System.Drawing.Size(0, 0);
            _prefSize      = null;
            _maxTextOffset = 0;
        }
示例#4
0
        /*
         * Constructor
         */

        public LabeledTwoCompRow(GroupNode g,
                                 PanelNode panel,
                                 LabelCIO labelCIO,
                                 ConcreteInteractionObject cio1,
                                 ConcreteInteractionObject cio2)
            : base(g, panel)
        {
            addCIO(labelCIO);
            addCIO(cio1);
            addCIO(cio2);
        }
		/*
		 * 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;
		}
示例#6
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);
        }
示例#7
0
        /*
         * Member Methods
         */

        public void ValueChanged(ApplianceState state)
        {
            if (!_uiValid)
            {
                return;
            }

            IEnumerator en = _dependencies.Keys.GetEnumerator();

            while (en.MoveNext())
            {
                ArrayList deps = (ArrayList)en.Current;

                IEnumerator en2  = deps.GetEnumerator();
                bool        cont = true;
                while (en2.MoveNext())
                {
                    if (!((Dependency)en2.Current).IsSatisfied())
                    {
                        cont = false;
                        break;
                    }
                }

                if (cont)
                {
                    PanelNode c = (PanelNode)_dependencies[deps];

                    _activePanel.GetContainerCIO().GetControl().Visible = false;
                    _activePanel = c;
                    _activePanel.GetContainerCIO().GetControl().Visible = true;

                    break;
                }
            }
        }
示例#8
0
        /*
         * Constructor
         */

        public InsufficientHeight(PanelNode panel)
            : base(panel)
        {
        }
示例#9
0
        /*
         * Constructors
         */

        public PanelSizeProblem(PanelNode panel)
        {
            _panel = panel;
        }
示例#10
0
        /*
         * Constructor
         */

        public FullWidthRow(GroupNode g, PanelNode panel, ConcreteInteractionObject cio)
            : base(g, panel)
        {
            addCIO(cio);
        }
示例#11
0
        /*
         * Constructor
         */

        public OneColumnRow(GroupNode g, PanelNode panel, ConcreteInteractionObject cio)
            : base(g, panel)
        {
            addCIO(cio.GetLabelCIO());
            addCIO(cio);
        }