Example #1
0
            /// <summary>
            /// Создать массив п. меню, управляющего содержанием элемента управления
            /// </summary>
            /// <returns>Массив п.п. контекстного меню</returns>
            private MenuItem[] createContentMenuItems()
            {
                PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW indx = PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.UNKNOWN;
                MenuItem[] arMenuItems = new MenuItem[(int)PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.COUNT_PROPERTIES_VIEW];

                for (indx = 0; indx < PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.COUNT_PROPERTIES_VIEW; indx++)
                {
                    arMenuItems [(int)indx]     = new MenuItem(PanelTecViewBase.LabelViewProperties.GetText(indx), this.OnMenuItem_Content);
                    arMenuItems [(int)indx].Tag = indx;

                    if (indx == PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.ORIENTATION)
                    {
                        arMenuItems [(int)indx] = new MenuItem(PanelTecViewBase.LabelViewProperties.GetText(indx), new MenuItem [] {
                            new MenuItem(@"Вертикально", this.OnMenuItem_Content)
                            , new MenuItem(@"Горизонтально", this.OnMenuItem_Content)
                        });

                        arMenuItems [(int)indx].MenuItems[0].Tag  = Orientation.Vertical;
                        arMenuItems [(int)indx].MenuItems [1].Tag = Orientation.Horizontal;
                    }
                    else
                    {
                        ;
                    }
                }

                return(arMenuItems);
            }
Example #2
0
            /// <summary>
            /// Изменить состояние меню
            /// </summary>
            private void ContentMenuStateChange()
            {
                Menu.MenuItemCollection arMenuItems;

                arMenuItems =
                    ContextMenu.MenuItems [ContextMenu.MenuItems.Count - (COUNT_FIXED_CONTEXT_MENUITEM - INDEX_START_CONTEXT_MENUITEM)].MenuItems;

                for (PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW i = 0; i < PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.COUNT_PROPERTIES_VIEW; i++)
                {
                    arMenuItems[(int)i].Enabled = m_propView.GetValue(i) == PanelTecViewBase.LabelViewProperties.VALUE.DISABLED ? false : true;

                    if (i == PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.ORIENTATION)
                    {
                        if (arMenuItems[(int)i].Enabled == true)
                        {
                            for (int j = 0; j < 2; j++)
                            {
                                arMenuItems[(int)i].MenuItems[j].RadioCheck = true;
                                arMenuItems[(int)i].MenuItems[j].Checked    = j == (int)m_propView.GetValue(i);
                            }
                        }
                        else
                        {
                            ;
                        }
                    }
                    else
                    {
                        arMenuItems[(int)i].Checked = m_propView.GetValue(i) == PanelTecViewBase.LabelViewProperties.VALUE.ON;
                    }
                }
            }
Example #3
0
            /// <summary>
            /// Обработчик события - выбор п. меню
            /// </summary>
            /// <param name="obj">Объект, инициировавший событие</param>
            /// <param name="ev">Аргумент события</param>
            private void OnMenuItem_Content(object obj, EventArgs ev)
            {
                MenuItem mi;

                PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW indx = PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.UNKNOWN;

                mi = (MenuItem)obj;

                if (Equals(mi.Tag, null) == false)
                {
                    if (typeof(PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW).IsAssignableFrom(mi.Tag.GetType()) == true)
                    {
                        indx = (PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW)mi.Tag;
                    }
                    else if (typeof(Orientation).IsAssignableFrom(mi.Tag.GetType()) == true)
                    {
                        indx = PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.ORIENTATION;
                    }
                    else
                    {
                        ;
                    }
                }
                else
                {
                    indx = (PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW)((MenuItem)obj).Index;
                }

                if (!(indx == PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.ORIENTATION))
                {
                    m_propView.SetProperty(indx, (PanelTecViewBase.LabelViewProperties.VALUE)(((MenuItem)obj).Checked == true ? 0 : 1));
                }
                else
                {
                    // ориентация размещения таблиц/гистограмм
                    m_propView.SetProperty(indx, (PanelTecViewBase.LabelViewProperties.VALUE)mi.Index);
                }

                EventRestruct(m_propView);

                ContentMenuStateChange();

                ((PanelCustomTecView)Parent.Parent).EventContentChanged();
            }
Example #4
0
            /// <summary>
            /// Установить новое значение для свойства
            /// </summary>
            /// <param name="indx">Индекс свойства</param>
            /// <param name="newVal">Новое значение свойства</param>
            public void SetProperty(PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW indx, PanelTecViewBase.LabelViewProperties.VALUE newVal)
            {
                SetValue(indx, newVal);

                int cnt = 0;

                PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW i = PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.UNKNOWN;
                // сколько таблиц/гистограмм отображается
                cnt = GetCountOn(0, PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.GRAPH_HOURS);

                if (cnt > 1)
                {
                    if (cnt > 2)
                    {
                        //if (cnt > 3) {
                        if (indx < PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.GRAPH_MINS)
                        {
                            //3-й установленный признак - таблица: снять с отображения графики
                            SetGraphOff();
                        }
                        else
                        {
                            //3-й установленный признак - график: снять с отображения таблицы
                            SetTableOff();
                        }

                        cnt -= 2;
                        //} else ;
                    }
                    else
                    {
                        ;
                    }

                    if (cnt > 1)
                    {
                        if (IsOrientationDisabled == true)
                        {
                            if (PreviousOrientation == PanelTecViewBase.LabelViewProperties.VALUE.DISABLED)
                            {
                                //Вертикально - по умолчанию
                                SetValue(PanelTecViewBase.LabelViewProperties.INDEX_PROPERTIES_VIEW.ORIENTATION
                                         , PanelTecViewBase.LabelViewProperties.VALUE.OFF);
                            }
                            else
                            {
                                OrientationRecovery();
                            }
                        }
                        else
                        {
                            ; //Оставить "как есть"
                        }
                    }
                    else
                    {
                        OrientationDisabled();
                    }
                }
                else
                {
                    OrientationDisabled();
                }
            }