Exemplo n.º 1
0
        /*
         * Constructor
         */
        public TabbedLinkedCIO(ApplianceObject ao)
            : base(ao, new System.Windows.Forms.Panel())
        {
            ApplianceState state = (ApplianceState)GetApplObj();
            Panel          panel = (Panel)GetControl();

            _tabControl = new TabControl();
            panel.Controls.Add(_tabControl);

            _tabControl.Location = new System.Drawing.Point(0, 0);
            _tabControl.Size     = panel.ClientSize;

            panel.Resize += new EventHandler(this.Resized);

            _panelCIOs = new ArrayList();

            object          stateval = state.Value;
            EnumeratedSpace espc     = (EnumeratedSpace)state.Type.ValueSpace;
            Hashtable       labels   = state.Type.ValueLabels;

            int labelWidth = _tabControl.ClientSize.Width / espc.GetItemCount();

            for (int i = 1; i <= espc.GetItemCount(); i++)
            {
                object          labelSpace = i;
                LabelDictionary ldict      = (LabelDictionary)labels[labelSpace];

                TabbedPanelCIO pageCIO = new TabbedPanelCIO(ldict);

                TabPage page = pageCIO.TabPage;
                page.Enabled = ldict.Enabled;

                _tabControl.Controls.Add(page);
                _panelCIOs.Add(pageCIO);

                pageCIO.ChooseLabel(labelWidth - 2 * MINIMUM_TAB_PAD);

                if (state.Defined && i == (int)stateval)
                {
                    _tabControl.SelectedIndex = i - 1;
                }
            }

            state.LabelChangedEvent  += new ApplianceObject.LabelChangedHandler(this.LabelChanged);
            state.EnableChangedEvent += new ApplianceObject.EnableChangedHandler(this.EnableChanged);
            state.TypeChangedEvent   += new ApplianceState.TypeChangedHandler(this.TypeChanged);
            state.ValueChangedEvent  += new ApplianceState.ValueChangedHandler(this.ValueChanged);

            _tabControl.SelectedIndexChanged += new EventHandler(this.SelectedIndexChanged);

            refreshDisplay();
        }
Exemplo n.º 2
0
        protected void refreshDisplay()
        {
            int labelWidth;
            int widthLeft = _tabControl.Size.Width;

            for (int i = 0; i < _cios.Count; i++)
            {
                labelWidth = widthLeft / (_cios.Count - i);

                TabbedPanelCIO page = (TabbedPanelCIO)_cios[i];
                widthLeft -= page.ChooseLabel(labelWidth);
                page.ResolveEnabled();
            }
        }
Exemplo n.º 3
0
        public int AddTab(TabbedPanelCIO panelCIO)
        {
            TabPage page = panelCIO.TabPage;

            _cios.Add(panelCIO);
            _tabControl.Controls.Add(page);

            LabelDictionary labels = panelCIO.Labels;

            panelCIO.ResolveEnabled();
            panelCIO.ChooseLabel(0);

            refreshDisplay();

            return(_cios.Count - 1);
        }