예제 #1
0
        public GnosisToolbarToggleButtonController(
            GnosisGenericToggleMenuItemController toggleMenuItemController,
            GnosisToggleButton _toggleButton,
            GnosisEntityController entityController,
            GnosisVisibleController parent)
            : base(_toggleButton, entityController, parent)
        {
            toggleButton = _toggleButton;
            genericToggleMenuItemController = toggleMenuItemController;
            menuItem = (GnosisGenericToggleMenuItem)genericToggleMenuItemController.ControlImplementation;

            //The toggle button reflects the properties of the generic menu item.
            //A click on a toggle button is passed to the generic menu item controller and changes are made to the generic menu item.
            //toggleButton.Order = menuItem.Order;
            //toggleButton.GnosisIcon = menuItem.GnosisIcon;
            //toggleButton.Tooltip = menuItem.Tooltip;
            //toggleButton.Caption = menuItem.Caption;
            //toggleButton.Active = menuItem.Active;
            //toggleButton.Disabled = menuItem.Disabled;

            menuItem.PropertyChanged += MenuItem_PropertyChanged;
            // toggleButton.PropertyChanged += ToggleButton_PropertyChanged;

            toggleButton.SetClickHandler(new Action(OnClick));
        }
 public GnosisToggleButtonController(
     GnosisToggleButton toggleButton,
     //  IGnosisToggleButtonImplementation toggleButtonImplementation,
     GnosisInstanceController instanceController,
     GnosisToggleButtonGroupController parent)
     : base(toggleButton, instanceController, parent)
 {
 }
예제 #3
0
        public void AddFrameController(GnosisFrameController frameController)
        {
            if (((IGnosisTileTabImplementation)ControlImplementation).CurrentTileTabItem == null)
            {
                if (tabItemControllers.Count == 0)
                {
                    Setup();
                }
                else
                {
                    GlobalData.Singleton.ErrorHandler.HandleError("No tab item selected", "GnosisTileTabController.AddFrameController");
                }
            }

            //Find the selected tab item and pass it the frame
            GnosisTileTabItemController controller = tabItemControllers.Find(i => i.ControlImplementation == ((IGnosisTileTabImplementation)ControlImplementation).CurrentTileTabItem);

            controller.LoadFrame(frameController);
            controller.IsDummyTabItem = false;

            //string caption = frameController.Caption;
            //if (frameController.InstanceController != null)
            //{
            //    if (frameController.InstanceController.Instance.InstanceName != null && frameController.InstanceController.Instance.InstanceName.Length > 0)
            //    {
            //        caption += " - " + frameController.InstanceController.Instance.InstanceName;
            //    }
            //}
            //((IGnosisTileTabItemImplementation)ControlImplementation).SetCaption(caption);
            //((IGnosisTileTabImplementation)ControlImplementation).CurrentTileTabItem.LoadFrame((IGnosisFrameImplementation)frameController.ControlImplementation, caption);

            //check if there is a '+' tab item
            GnosisTileTabItemController dummy = tabItemControllers.Find(i => i.IsDummyTabItem);

            if (dummy == null)
            {
                //create dummy tabitem
                GnosisTileTabItem tabItem = GnosisControlCreator.CreateGnosisTabItem(1);
                // IGnosisTileTabItemImplementation tabItemImp = GlobalData.Singleton.ImplementationCreator.GetGnosisTabItemImplementation();
                GnosisTileTabItemController itemController = new GnosisTileTabItemController(tabItem, EntityController, this);
                itemController.IsDummyTabItem = true;
                itemController.ControlImplementation.Order = tabItemControllers.Count + 1;
                tabItemControllers.Add(itemController);

                GnosisToggleButton headerButton = GnosisControlCreator.CreateGnosisToggleButton(1, "+");
                GlobalData.Singleton.StyleHelper.ApplyStyle(headerButton, frameController.EntityController.GetNormalStyle());
                // headerButton.SetCaption("+");
                headerButton.Order = itemController.ControlImplementation.Order;
                tabItem.SetHeaderButton(headerButton);

                ((IGnosisTileTabImplementation)ControlImplementation).LoadTabItem(tabItem);

                //headerButtons.Add(headerButton);
            }
        }
예제 #4
0
        internal static GnosisToggleButton CreateGnosisToggleButton(int order, string caption)
        {
            GnosisToggleButton toggleButton = new GnosisToggleButton();

            toggleButton.ID         = GlobalData.Singleton.GetNewControlID();
            toggleButton.GnosisName = "Toggle button" + toggleButton.ID;
            toggleButton.Order      = order;
            toggleButton.Caption    = caption;

            return(toggleButton);
        }
예제 #5
0
        public void LoadFrame(GnosisFrameController frameController)
        {
            showLoadingAnimation = false;

            frameControllers.Add(frameController);
            currentFrameController = frameController;

            ((GnosisTileTabItem)ControlImplementation).Clear();

            //((IGnosisTileTabItemImplementation)ControlImplementation).SetHeader(headerButton);

            string caption = ((IGnosisFrameImplementation)frameController.ControlImplementation).Caption;

            if (frameController.InstanceController != null)
            {
                if (frameController.InstanceController.Instance.InstanceName != null && frameController.InstanceController.Instance.InstanceName.Length > 0)
                {
                    caption += " - " + frameController.InstanceController.Instance.InstanceName;
                }
            }
            ((IGnosisFrameImplementation)frameController.ControlImplementation).Caption = caption;

            //Create a toggle button for the tab item header. Apply the style of the frame to it
            //Use the tile tab item as the binding source for the toggle button so that it changes with mouse over of tab item etc
            GnosisToggleButton headerButton = GnosisControlCreator.CreateGnosisToggleButton(
                this.ControlImplementation.Order,
                caption);

            GlobalData.Singleton.StyleHelper.ApplyStyle(headerButton, frameController.EntityController.GetNormalStyle());
            frameController.TabHeaderButton = headerButton;



            if (loaded)
            {
                ((IGnosisTileTabItemImplementation)ControlImplementation)
                .LoadFrame((IGnosisFrameImplementation)currentFrameController.ControlImplementation, headerButton);
            }
        }
        public void Setup()
        {
            foreach (GnosisGenericMenuItemController menuItemController in genericController.ChildControllers)
            {
                if (menuItemController.ChildControllers.Count > 0)
                {
                    GnosisMenuButton menuButton = new GnosisMenuButton();
                    //btn = CreateDropDownButton(menuItemController);
                    //  IGnosisToolbarMenuButtonImplementation menuBtnImplementation =
                    //    GlobalData.Singleton.ImplementationCreator.GetGnosisToolbarMenuButtonImplementation();
                    GnosisToolbarMenuButtonController btnController = new GnosisToolbarMenuButtonController(menuItemController, menuButton, EntityController, this);
                    btnController.Setup();

                    menuButton.AddMenuButton(menuButton);
                    childControllers.Add(btnController);
                }
                else if (menuItemController is GnosisGenericToggleMenuItemController)
                {
                    // IGnosisToggleButtonImplementation toggleButton = GlobalData.Singleton.ImplementationCreator.GetGnosisToggleButtonImplementation();
                    GnosisToggleButton          toggleButton = new GnosisToggleButton();
                    GnosisGenericToggleMenuItem menuItem     = (GnosisGenericToggleMenuItem)menuItemController.ControlImplementation;
                    toggleButton.Active     = menuItem.Active;
                    toggleButton.Caption    = menuItem.Caption;
                    toggleButton.GnosisIcon = menuItem.GnosisIcon;
                    toggleButton.ToolTip    = menuItem.Tooltip;
                    toggleButton.Disabled   = menuItem.Disabled;
                    toggleButton.Hidden     = menuItem.Hidden;
                    GnosisToolbarToggleButtonController btnController = new GnosisToolbarToggleButtonController((GnosisGenericToggleMenuItemController)menuItemController, toggleButton, EntityController, this);
                    //((GnosisToolbarToggleButtonController)btnController).Setup();

                    menuButton.AddToggleButton(toggleButton);
                    childControllers.Add(btnController);
                }
                else if (menuItemController is GnosisGenericMenuGroupController)
                {
                    GnosisGenericMenuGroupController groupController = (GnosisGenericMenuGroupController)menuItemController;

                    foreach (GnosisGenericToggleMenuItemController toggleMenuItemController in groupController.ToggleMenuItemControllers)
                    {
                        // IGnosisToggleButtonImplementation toggleButton = GlobalData.Singleton.ImplementationCreator.GetGnosisToggleButtonImplementation();
                        GnosisToggleButton          toggleButton = new GnosisToggleButton();
                        GnosisGenericToggleMenuItem menuItem     = (GnosisGenericToggleMenuItem)toggleMenuItemController.ControlImplementation;
                        toggleButton.Active     = menuItem.Active;
                        toggleButton.Caption    = menuItem.Caption;
                        toggleButton.GnosisIcon = menuItem.GnosisIcon;
                        toggleButton.ToolTip    = menuItem.Tooltip;
                        toggleButton.Disabled   = menuItem.Disabled;
                        toggleButton.Hidden     = menuItem.Hidden;
                        GnosisToolbarToggleButtonController btnController = new GnosisToolbarToggleButtonController(toggleMenuItemController, toggleButton, EntityController, this);

                        menuButton.AddToggleButton(toggleButton);
                        childControllers.Add(btnController);
                    }
                }
                else
                {
                    GnosisButton          toolbarButton = new GnosisButton();// ((GnosisGenericMenuItem)menuItemController.ControlImplementation);
                    GnosisGenericMenuItem menuItem      = (GnosisGenericMenuItem)menuItemController.ControlImplementation;
                    toolbarButton.Caption    = menuItem.Caption;
                    toolbarButton.GnosisIcon = menuItem.GnosisIcon;
                    toolbarButton.ToolTip    = menuItem.Tooltip;
                    toolbarButton.Disabled   = menuItem.Disabled;
                    toolbarButton.Hidden     = menuItem.Hidden;
                    // IGnosisButtonImplementation btnImplementation =
                    //   GlobalData.Singleton.ImplementationCreator.GetGnosisButtonImplementation();
                    GnosisToolbarButtonController btnController = new GnosisToolbarButtonController(menuItemController, toolbarButton, EntityController, this);
                    ((GnosisToolbarButtonController)btnController).Setup();

                    menuButton.AddButton(toolbarButton);
                    childControllers.Add(btnController);
                }
            }
        }
예제 #7
0
        public void Setup()
        {
            toolbarButtonControllers = new List <object>();

            try
            {
                //Find the GnosisGenericMenu which this toolbar points at
                genericMenuController = (GnosisGenericMenuController)GlobalData.Singleton.FindController(((GnosisToolbar)ControlImplementation).MenuSystemID,
                                                                                                         ((GnosisToolbar)ControlImplementation).MenuControlID);

                //create toolbar buttons for each generic menu item
                if (genericMenuController.GenericMenuItemControllers != null && genericMenuController.GenericMenuItemControllers.Count > 0)
                {
                    foreach (GnosisGenericMenuItemController menuItemController in genericMenuController.GenericMenuItemControllers.OrderBy(x => x.ControlImplementation.Order))
                    {
                        object btnController;

                        if (menuItemController.ChildControllers.Count > 0)
                        {
                            GnosisMenuButton menuButton = GnosisControlCreator.CreateGnosisMenuButton();
                            //btn = CreateDropDownButton(menuItemController);
                            //  IGnosisToolbarMenuButtonImplementation menuBtnImplementation =
                            //    GlobalData.Singleton.ImplementationCreator.GetGnosisToolbarMenuButtonImplementation();
                            btnController = new GnosisToolbarMenuButtonController(menuItemController, menuButton, EntityController, this);
                            ((GnosisToolbarMenuButtonController)btnController).Setup();

                            toolbar.AddMenuButton(menuButton);
                            toolbarButtonControllers.Add(btnController);
                        }
                        else if (menuItemController is GnosisGenericToggleMenuItemController)
                        {
                            // IGnosisToggleButtonImplementation toggleButton = GlobalData.Singleton.ImplementationCreator.GetGnosisToggleButtonImplementation();
                            GnosisToggleButton          toggleButton = new GnosisToggleButton();
                            GnosisGenericToggleMenuItem menuItem     = (GnosisGenericToggleMenuItem)menuItemController.ControlImplementation;
                            toggleButton.Active     = menuItem.Active;
                            toggleButton.Caption    = menuItem.Caption;
                            toggleButton.GnosisIcon = menuItem.GnosisIcon;
                            toggleButton.ToolTip    = menuItem.Tooltip;
                            toggleButton.Disabled   = menuItem.Disabled;
                            toggleButton.Hidden     = menuItem.Hidden;
                            btnController           = new GnosisToolbarToggleButtonController((GnosisGenericToggleMenuItemController)menuItemController, toggleButton, EntityController, this);
                            //((GnosisToolbarToggleButtonController)btnController).Setup();

                            toolbar.AddToggleButton(toggleButton);
                            toolbarButtonControllers.Add(btnController);
                        }
                        else if (menuItemController is GnosisGenericMenuGroupController)
                        {
                            GnosisGenericMenuGroupController groupController = (GnosisGenericMenuGroupController)menuItemController;

                            foreach (GnosisGenericToggleMenuItemController toggleMenuItemController in groupController.ToggleMenuItemControllers)
                            {
                                // IGnosisToggleButtonImplementation toggleButton = GlobalData.Singleton.ImplementationCreator.GetGnosisToggleButtonImplementation();
                                GnosisToggleButton          toggleButton = new GnosisToggleButton();
                                GnosisGenericToggleMenuItem menuItem     = (GnosisGenericToggleMenuItem)toggleMenuItemController.ControlImplementation;
                                toggleButton.Active     = menuItem.Active;
                                toggleButton.Caption    = menuItem.Caption;
                                toggleButton.GnosisIcon = menuItem.GnosisIcon;
                                toggleButton.ToolTip    = menuItem.Tooltip;
                                toggleButton.Disabled   = menuItem.Disabled;
                                toggleButton.Hidden     = menuItem.Hidden;
                                btnController           = new GnosisToolbarToggleButtonController(toggleMenuItemController, toggleButton, EntityController, this);
                                toolbar.AddToggleButton(toggleButton);
                                toolbarButtonControllers.Add(btnController);
                            }
                        }
                        else
                        {
                            GnosisButton          toolbarButton = new GnosisButton();// ((GnosisGenericMenuItem)menuItemController.ControlImplementation);
                            GnosisGenericMenuItem menuItem      = (GnosisGenericMenuItem)menuItemController.ControlImplementation;
                            toolbarButton.Caption    = menuItem.Caption;
                            toolbarButton.GnosisIcon = menuItem.GnosisIcon;
                            toolbarButton.ToolTip    = menuItem.Tooltip;
                            toolbarButton.Disabled   = menuItem.Disabled;
                            toolbarButton.Hidden     = menuItem.Hidden;
                            // IGnosisButtonImplementation btnImplementation =
                            //   GlobalData.Singleton.ImplementationCreator.GetGnosisButtonImplementation();
                            btnController = new GnosisToolbarButtonController(menuItemController, toolbarButton, EntityController, this);
                            ((GnosisToolbarButtonController)btnController).Setup();

                            toolbar.AddToolbarButton(toolbarButton);
                            toolbarButtonControllers.Add(btnController);
                        }


                        //genericMenuItemControllers.Add(menuItemController);
                    }
                }

                if (((GnosisGenericMenu)genericMenuController.ControlImplementation).SystemAddressField != null)
                {
                    // IGnosisSystemAddressFieldImplementation systemAddressFieldImp =
                    //   GlobalData.Singleton.ImplementationCreator.GetGnosisSystemAddressFieldImplementation();
                    GnosisSystemAddressController systemAddressController = new GnosisSystemAddressController(
                        ((GnosisGenericMenu)genericMenuController.ControlImplementation).SystemAddressField, EntityController, this);
                    toolbar.AddSystemAddressField(((GnosisGenericMenu)genericMenuController.ControlImplementation).SystemAddressField);
                }
            }
            catch (Exception ex)
            {
                GlobalData.Singleton.ErrorHandler.HandleError(ex.Message, ex.StackTrace);
            }
        }