Example #1
0
        public ActionStripItem AddSub(string Name, string Caption)
        {
            ActionStripItem Item = new ActionStripItem(Name, Caption);

            Items.Add(Item);
            return(Item);
        }
Example #2
0
        public ActionStripItem AddItem(string ActionName)
        {
            ActionStripItem Item = new ActionStripItem(ActionName);

            Items.Add(Item);
            return(Item);
        }
Example #3
0
        public ActionStripItem AddItem()
        {
            ActionStripItem Item = new ActionStripItem();

            Items.Add(Item);
            return(Item);
        }
Example #4
0
        //////////////////////////////////////////////////////////////////////////
        private ToolStripItem CreateLabelItem(ActionStripItem Item, Action Act, bool AsMenu)
        {
            if (AsMenu)
            {
                return(null);
            }

            ToolStripLabel NewItem = new ToolStripLabel(Act.Attr.Caption + ":");

            return(NewItem);
        }
        //////////////////////////////////////////////////////////////////////////
        public ActionStripItem DefineTestMenu()
        {
            ActionStripItem Root = new ActionStripItem();

                ActionStripItem FileMenu = Root.AddSub("FileMenu", "File");
                    FileMenu.AddItem("Test.Action1");
                    FileMenu.AddItem();
                    FileMenu.AddItem("Test.Action2");

            return Root;
        }
Example #6
0
        //////////////////////////////////////////////////////////////////////////
        public ActionStripItem DefineTestMenu()
        {
            ActionStripItem Root = new ActionStripItem();

            ActionStripItem FileMenu = Root.AddSub("FileMenu", "File");

            FileMenu.AddItem("Test.Action1");
            FileMenu.AddItem();
            FileMenu.AddItem("Test.Action2");

            return(Root);
        }
        //////////////////////////////////////////////////////////////////////////
        public ActionStripItem DefineStandardMenu()
        {
            ActionStripItem Root = new ActionStripItem();

                ActionStripItem FileMenu = Root.AddSub("FileMenu", "File");
                    FileMenu.AddItem("File.New");
                    FileMenu.AddItem("File.Open");
                    FileMenu.AddItem();
                    FileMenu.AddItem("File.Save");
                    FileMenu.AddItem("File.SaveAs");
                    FileMenu.AddItem();
                    FileMenu.AddItem("File.Exit");

            return Root;
        }
Example #8
0
        //////////////////////////////////////////////////////////////////////////
        public ActionStripItem DefineStandardMenu()
        {
            ActionStripItem Root = new ActionStripItem();

            ActionStripItem FileMenu = Root.AddSub("FileMenu", "File");

            FileMenu.AddItem("File.New");
            FileMenu.AddItem("File.Open");
            FileMenu.AddItem();
            FileMenu.AddItem("File.Save");
            FileMenu.AddItem("File.SaveAs");
            FileMenu.AddItem();
            FileMenu.AddItem("File.Exit");

            return(Root);
        }
Example #9
0
        //////////////////////////////////////////////////////////////////////////
        private ToolStripItem CreateToggleItem(ActionStripItem Item, Action Act, bool AsMenu)
        {
            ToolStripItem NewItem = CreateButtonItem(Item, Act, AsMenu);

            if (NewItem != null)
            {
                if (AsMenu)
                {
                    ((ToolStripMenuItem)NewItem).CheckOnClick = true;
                }
                else
                {
                    ((ToolStripButton)NewItem).CheckOnClick = true;
                }
            }
            return(NewItem);
        }
        //////////////////////////////////////////////////////////////////////////
        private void AddStripItems(ActionStripItem Root, ToolStripItemCollection Items, bool AsMenu)
        {
            foreach (ActionStripItem Item in Root.Items)
            {
                // is it a container?
                if (Item.Items.Count > 0)
                {
                    // add subitem
                    if (AsMenu)
                    {
                        ToolStripMenuItem Submenu = new ToolStripMenuItem(Item.Caption);
                        AddStripItems(Item, Submenu.DropDownItems, true);

                        Items.Add(Submenu);
                    }
                    else
                    {
                        // TODO: DropDown / SplitButton
                        if(Item.Caption==String.Empty)
                        {
                            ToolStripSplitButton Btn = (ToolStripSplitButton)CreateButtonItem(Item.Items[0], ActionManager.GetAction(Item.Items[0].ActionName), AsMenu, true);
                            AddStripItems(Item, Btn.DropDownItems, true);
                            Items.Add(Btn);
                        }
                        else
                        {
                            ToolStripDropDownButton Btn = new ToolStripDropDownButton(Item.Caption);
                            AddStripItems(Item, Btn.DropDownItems, true);
                            Items.Add(Btn);
                        }
                    }
                }
                // normal item
                else
                {
                    // separator
                    if(Item.ActionName==String.Empty)
                    {
                        Items.Add(new ToolStripSeparator());
                        continue;
                    }

                    // no action, no toolstrip item
                    Action Act = ActionManager.GetAction(Item.ActionName);
                    if (Act == null) continue;

                    // regular action
                    ToolStripItem NewItem = null;
                    switch(Act.Attr.Type)
                    {
                        case ActionType.Button:
                            NewItem = CreateButtonItem(Item, Act, AsMenu);
                            break;

                        case ActionType.Toggle:
                            NewItem = CreateToggleItem(Item, Act, AsMenu);
                            break;

                        case ActionType.Combo:
                            if(Act.Attr.DisplayLabel)
                            {
                                ToolStripItem Label = CreateLabelItem(Item, Act, AsMenu);
                                if (Label != null) Items.Add(Label);
                            }
                            NewItem = CreateComboItem(Item, Act, AsMenu);
                            break;

                        case ActionType.Editor:
                            if (Act.Attr.DisplayLabel)
                            {
                                ToolStripItem Label = CreateLabelItem(Item, Act, AsMenu);
                                if (Label != null) Items.Add(Label);
                            }
                            NewItem = CreateEditorItem(Item, Act, AsMenu);
                            break;
                    }
                    if (NewItem != null)
                    {
                        NewItem.Tag = Act.Name;
                        Items.Add(NewItem);
                    }
                }
            }
        }
 //////////////////////////////////////////////////////////////////////////
 private ToolStripItem CreateEditorItem(ActionStripItem Item, Action Act, bool AsMenu)
 {
     return null;
 }
        //////////////////////////////////////////////////////////////////////////
        private ToolStripItem CreateLabelItem(ActionStripItem Item, Action Act, bool AsMenu)
        {
            if (AsMenu) return null;

            ToolStripLabel NewItem = new ToolStripLabel(Act.Attr.Caption + ":");
            return NewItem;
        }
Example #13
0
 //////////////////////////////////////////////////////////////////////////
 private ToolStripItem CreateComboItem(ActionStripItem Item, Action Act, bool AsMenu)
 {
     return(null);
 }
 //////////////////////////////////////////////////////////////////////////
 private ToolStripItem CreateToggleItem(ActionStripItem Item, Action Act, bool AsMenu)
 {
     ToolStripItem NewItem = CreateButtonItem(Item, Act, AsMenu);
     if (NewItem!=null)
     {
         if (AsMenu)
         {
             ((ToolStripMenuItem)NewItem).CheckOnClick = true;
         }
         else
         {
             ((ToolStripButton)NewItem).CheckOnClick = true;
         }
     }
     return NewItem;
 }
Example #15
0
        //////////////////////////////////////////////////////////////////////////
        private ToolStripItem CreateButtonItem(ActionStripItem Item, Action Act, bool AsMenu, bool SplitButton)
        {
            if (AsMenu)
            {
                ToolStripMenuItem NewItem = new ToolStripMenuItem(Act.Attr.Caption);
                if (Act.Icon != null)
                {
                    NewItem.Image = Act.Icon;
                }
                NewItem.AutoToolTip = false;

                // click event
                NewItem.Click += delegate(object sender, EventArgs e)
                {
                    ActContext.Invoke(Act.Name, sender);
                };

                return(NewItem);
            }
            else
            {
                ToolStripItem NewItem;
                if (SplitButton)
                {
                    NewItem = new ToolStripSplitButton(Act.Attr.Caption);
                }
                else
                {
                    NewItem = new ToolStripButton(Act.Attr.Caption);
                }

                if (Act.Icon != null)
                {
                    NewItem.Image = Act.Icon;
                }
                NewItem.ToolTipText = Act.Attr.Tooltip;

                switch (Act.Attr.DisplayType)
                {
                case DisplayType.Image:
                    NewItem.DisplayStyle = ToolStripItemDisplayStyle.Image;
                    break;

                case DisplayType.Text:
                    NewItem.DisplayStyle = ToolStripItemDisplayStyle.Text;
                    break;

                case DisplayType.ImageAndText:
                    NewItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
                    break;
                }

                if (NewItem is ToolStripSplitButton)
                {
                    ((ToolStripSplitButton)NewItem).ButtonClick += delegate(object sender, EventArgs e)
                    {
                        ActContext.Invoke(Act.Name, sender);
                    };
                }
                else
                {
                    NewItem.Click += delegate(object sender, EventArgs e)
                    {
                        ActContext.Invoke(Act.Name, sender);
                    };
                }

                return(NewItem);
            }
        }
Example #16
0
 //////////////////////////////////////////////////////////////////////////
 private ToolStripItem CreateButtonItem(ActionStripItem Item, Action Act, bool AsMenu)
 {
     return(CreateButtonItem(Item, Act, AsMenu, false));
 }
Example #17
0
        //////////////////////////////////////////////////////////////////////////
        private void AddStripItems(ActionStripItem Root, ToolStripItemCollection Items, bool AsMenu)
        {
            foreach (ActionStripItem Item in Root.Items)
            {
                // is it a container?
                if (Item.Items.Count > 0)
                {
                    // add subitem
                    if (AsMenu)
                    {
                        ToolStripMenuItem Submenu = new ToolStripMenuItem(Item.Caption);
                        AddStripItems(Item, Submenu.DropDownItems, true);

                        Items.Add(Submenu);
                    }
                    else
                    {
                        // TODO: DropDown / SplitButton
                        if (Item.Caption == String.Empty)
                        {
                            ToolStripSplitButton Btn = (ToolStripSplitButton)CreateButtonItem(Item.Items[0], ActionManager.GetAction(Item.Items[0].ActionName), AsMenu, true);
                            AddStripItems(Item, Btn.DropDownItems, true);
                            Items.Add(Btn);
                        }
                        else
                        {
                            ToolStripDropDownButton Btn = new ToolStripDropDownButton(Item.Caption);
                            AddStripItems(Item, Btn.DropDownItems, true);
                            Items.Add(Btn);
                        }
                    }
                }
                // normal item
                else
                {
                    // separator
                    if (Item.ActionName == String.Empty)
                    {
                        Items.Add(new ToolStripSeparator());
                        continue;
                    }

                    // no action, no toolstrip item
                    Action Act = ActionManager.GetAction(Item.ActionName);
                    if (Act == null)
                    {
                        continue;
                    }

                    // regular action
                    ToolStripItem NewItem = null;
                    switch (Act.Attr.Type)
                    {
                    case ActionType.Button:
                        NewItem = CreateButtonItem(Item, Act, AsMenu);
                        break;

                    case ActionType.Toggle:
                        NewItem = CreateToggleItem(Item, Act, AsMenu);
                        break;

                    case ActionType.Combo:
                        if (Act.Attr.DisplayLabel)
                        {
                            ToolStripItem Label = CreateLabelItem(Item, Act, AsMenu);
                            if (Label != null)
                            {
                                Items.Add(Label);
                            }
                        }
                        NewItem = CreateComboItem(Item, Act, AsMenu);
                        break;

                    case ActionType.Editor:
                        if (Act.Attr.DisplayLabel)
                        {
                            ToolStripItem Label = CreateLabelItem(Item, Act, AsMenu);
                            if (Label != null)
                            {
                                Items.Add(Label);
                            }
                        }
                        NewItem = CreateEditorItem(Item, Act, AsMenu);
                        break;
                    }
                    if (NewItem != null)
                    {
                        NewItem.Tag = Act.Name;
                        Items.Add(NewItem);
                    }
                }
            }
        }
        //////////////////////////////////////////////////////////////////////////
        private ToolStripItem CreateButtonItem(ActionStripItem Item, Action Act, bool AsMenu, bool SplitButton)
        {
            if (AsMenu)
            {
                ToolStripMenuItem NewItem = new ToolStripMenuItem(Act.Attr.Caption);
                if (Act.Icon != null) NewItem.Image = Act.Icon;
                NewItem.AutoToolTip = false;

                // click event
                NewItem.Click += delegate(object sender, EventArgs e)
                {
                    ActContext.Invoke(Act.Name, sender);
                };

                return NewItem;
            }
            else
            {
                ToolStripItem NewItem;
                if (SplitButton) NewItem = new ToolStripSplitButton(Act.Attr.Caption);
                else NewItem = new ToolStripButton(Act.Attr.Caption);

                if (Act.Icon != null) NewItem.Image = Act.Icon;
                NewItem.ToolTipText = Act.Attr.Tooltip;

                switch(Act.Attr.DisplayType)
                {
                    case DisplayType.Image:
                        NewItem.DisplayStyle = ToolStripItemDisplayStyle.Image;
                        break;

                    case DisplayType.Text:
                        NewItem.DisplayStyle = ToolStripItemDisplayStyle.Text;
                        break;

                    case DisplayType.ImageAndText:
                        NewItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
                        break;
                }

                if (NewItem is ToolStripSplitButton)
                {
                    ((ToolStripSplitButton)NewItem).ButtonClick += delegate(object sender, EventArgs e)
                    {
                        ActContext.Invoke(Act.Name, sender);
                    };
                }
                else
                {
                    NewItem.Click += delegate(object sender, EventArgs e)
                    {
                        ActContext.Invoke(Act.Name, sender);
                    };
                }

                return NewItem;
            }
        }
 //////////////////////////////////////////////////////////////////////////
 public void PopulateToolStrip(ActionStripItem Root, ToolStripItemCollection Items, bool AsMenu)
 {
     Items.Clear();
     AddStripItems(Root, Items, AsMenu);
 }
 public ActionStripItem AddSub(string Name, string Caption)
 {
     ActionStripItem Item = new ActionStripItem(Name, Caption);
     Items.Add(Item);
     return Item;
 }
 public ActionStripItem AddItem()
 {
     ActionStripItem Item = new ActionStripItem();
     Items.Add(Item);
     return Item;
 }
 public ActionStripItem AddItem(string ActionName)
 {
     ActionStripItem Item = new ActionStripItem(ActionName);
     Items.Add(Item);
     return Item;
 }
Example #23
0
 //////////////////////////////////////////////////////////////////////////
 public void PopulateToolStrip(ActionStripItem Root, ToolStripItemCollection Items, bool AsMenu)
 {
     Items.Clear();
     AddStripItems(Root, Items, AsMenu);
 }
 //////////////////////////////////////////////////////////////////////////
 private ToolStripItem CreateButtonItem(ActionStripItem Item, Action Act, bool AsMenu)
 {
     return CreateButtonItem(Item, Act, AsMenu, false);
 }