public ActionStripItem AddItem(string ActionName) { ActionStripItem Item = new ActionStripItem(ActionName); Items.Add(Item); return(Item); }
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); }
////////////////////////////////////////////////////////////////////////// private ToolStripItem CreateComboItem(ActionStripItem Item, Action Act, bool AsMenu) { ToolStripComboBox NewItem = new ToolStripComboBox(); NewItem.AutoToolTip = false; if (!AsMenu) { NewItem.ToolTipText = Act.Attr.Tooltip; } NewItem.SelectedIndexChanged += delegate(object sender, EventArgs e) { if (((ToolStripComboBox)sender).DropDownStyle == ComboBoxStyle.DropDownList) { ActContext.Invoke(Act.Name, sender); ((ToolStripItem)sender).PerformClick(); } }; NewItem.KeyDown += delegate(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { ActContext.Invoke(Act.Name, sender); ((ToolStripItem)sender).PerformClick(); } }; return(NewItem); }
////////////////////////////////////////////////////////////////////////// public void AddToolStrip(ActionStripItem Root, ToolStripItemCollection Items, bool AsMenu) { foreach(ManagedToolStrip Strip in ManagedStrips) { if(Strip.Items==Items) { ManagedStrips.Remove(Strip); break; } } ManagedStrips.Add(new ManagedToolStrip(Root, Items, AsMenu)); }
////////////////////////////////////////////////////////////////////////// public void AddToolStrip(ActionStripItem Root, ToolStripItemCollection Items, bool AsMenu) { foreach (ManagedToolStrip Strip in ManagedStrips) { if (Strip.Items == Items) { ManagedStrips.Remove(Strip); break; } } ManagedStrips.Add(new ManagedToolStrip(Root, Items, AsMenu)); }
////////////////////////////////////////////////////////////////////////// private ToolStripItem CreateLabelItem(ActionStripItem Item, Action Act, bool AsMenu) { if (AsMenu) { return(null); } ToolStripLabel NewItem = new ToolStripLabel(Act.Attr.Caption + ":"); NewItem.Tag = Act.Name; return(NewItem); }
////////////////////////////////////////////////////////////////////////// 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; }
////////////////////////////////////////////////////////////////////////// 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); }
////////////////////////////////////////////////////////////////////////// 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); }
////////////////////////////////////////////////////////////////////////// public ActionStripItem DefineTestMenu() { ActionStripItem Root = new ActionStripItem(); ActionStripItem FileMenu = Root.AddSub("FileMenu", "File"); FileMenu.AddItem("Test.Action1"); FileMenu.AddItem(); FileMenu.AddItem(); FileMenu.AddItem("Test.Action2"); FileMenu.AddItem("Test.Action3"); FileMenu.AddItem(); FileMenu.AddItem(); Root.AddItem("Test.Action2"); Root.AddItem(); Root.AddItem("Test.Action3"); return Root; }
////////////////////////////////////////////////////////////////////////// public ActionStripItem DefineTestMenu() { ActionStripItem Root = new ActionStripItem(); ActionStripItem FileMenu = Root.AddSub("FileMenu", "File"); FileMenu.AddItem("Test.Action1"); FileMenu.AddItem(); FileMenu.AddItem(); FileMenu.AddItem("Test.Action2"); FileMenu.AddItem("Test.Action3"); FileMenu.AddItem(); FileMenu.AddItem(); Root.AddItem("Test.Action2"); Root.AddItem(); Root.AddItem("Test.Action3"); return(Root); }
////////////////////////////////////////////////////////////////////////// private ToolStripItem CreateEditorItem(ActionStripItem Item, Action Act, bool AsMenu) { ToolStripTextBox NewItem = new ToolStripTextBox(); NewItem.AutoToolTip = false; if (!AsMenu) { NewItem.ToolTipText = Act.Attr.Tooltip; } NewItem.KeyDown += delegate(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { ActContext.Invoke(Act.Name, sender); ((ToolStripItem)sender).PerformClick(); } }; return(NewItem); }
////////////////////////////////////////////////////////////////////////// private ToolStripItem CreateComboItem(ActionStripItem Item, Action Act, bool AsMenu) { ToolStripComboBox NewItem = new ToolStripComboBox(); NewItem.AutoToolTip = false; if(!AsMenu) NewItem.ToolTipText = Act.Attr.Tooltip; NewItem.SelectedIndexChanged += delegate(object sender, EventArgs e) { if (((ToolStripComboBox)sender).DropDownStyle == ComboBoxStyle.DropDownList) { ActContext.Invoke(Act.Name, sender); ((ToolStripItem)sender).PerformClick(); } }; NewItem.KeyDown += delegate(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { ActContext.Invoke(Act.Name, sender); ((ToolStripItem)sender).PerformClick(); } }; return NewItem; }
////////////////////////////////////////////////////////////////////////// private ToolStripItem CreateEditorItem(ActionStripItem Item, Action Act, bool AsMenu) { ToolStripTextBox NewItem = new ToolStripTextBox(); NewItem.AutoToolTip = false; if (!AsMenu) NewItem.ToolTipText = Act.Attr.Tooltip; NewItem.KeyDown += delegate(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { ActContext.Invoke(Act.Name, sender); ((ToolStripItem)sender).PerformClick(); } }; return 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.ImageTransparentColor = Color.Magenta; } NewItem.AutoToolTip = false; NewItem.ShortcutKeys = Act.Attr.ShortcutKeys; // 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.ImageTransparentColor = Color.Magenta; } 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); } }
////////////////////////////////////////////////////////////////////////// private ToolStripItem CreateLabelItem(ActionStripItem Item, Action Act, bool AsMenu) { if (AsMenu) return null; ToolStripLabel NewItem = new ToolStripLabel(Act.Attr.Caption + ":"); NewItem.Tag = Act.Name; return NewItem; }
public ActionStripItem AddSub(string Name, string Caption) { ActionStripItem Item = new ActionStripItem(Name, Caption); Items.Add(Item); return Item; }
////////////////////////////////////////////////////////////////////////// private ToolStripItem CreateButtonItem(ActionStripItem Item, Action Act, bool AsMenu) { return(CreateButtonItem(Item, Act, AsMenu, false)); }
////////////////////////////////////////////////////////////////////////// private void PopulateToolStrip(ActionStripItem Root, ToolStripItemCollection Items, bool AsMenu) { Items.Clear(); AddStripItems(ActContext.ActiveObjects, Root, Items, AsMenu); }
////////////////////////////////////////////////////////////////////////// private void AddStripItems(List <IActionProvider> ActiveObjects, 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(ActiveObjects, 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, ActiveObjects), AsMenu, true); AddStripItems(ActiveObjects, Item, Btn.DropDownItems, true); Items.Add(Btn); } else { ToolStripDropDownButton Btn = new ToolStripDropDownButton(Item.Caption); AddStripItems(ActiveObjects, 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, ActiveObjects); 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 && !AsMenu) { 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; case ActionType.Custom: ActContext.CustomBuild(Act.Name, Items, AsMenu); break; } if (NewItem != null) { NewItem.Tag = Act.Name; Items.Add(NewItem); ActContext.Initialize(Act.Name, NewItem); } } } WeedSeparators(Items, true); }
public ManagedToolStrip(ActionStripItem RootItem, ToolStripItemCollection Items, bool AsMenu) { this.RootItem = RootItem; this.Items = Items; this.AsMenu = AsMenu; }
////////////////////////////////////////////////////////////////////////// private ToolStripItem CreateButtonItem(ActionStripItem Item, Action Act, bool AsMenu) { return CreateButtonItem(Item, Act, AsMenu, false); }
public ActionStripItem AddItem(string ActionName) { ActionStripItem Item = new ActionStripItem(ActionName); Items.Add(Item); return Item; }
////////////////////////////////////////////////////////////////////////// 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.ImageTransparentColor = Color.Magenta; } NewItem.AutoToolTip = false; NewItem.ShortcutKeys = Act.Attr.ShortcutKeys; // 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.ImageTransparentColor = Color.Magenta; } 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; } }
////////////////////////////////////////////////////////////////////////// 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; }
////////////////////////////////////////////////////////////////////////// public ActionStripItem DefineMainToolbar() { ActionStripItem Root = new ActionStripItem(); Root.AddItem("File.New"); Root.AddItem("File.Open"); Root.AddItem("File.Save"); Root.AddItem(); Root.AddItem("Edit.Undo"); Root.AddItem("Edit.Redo"); Root.AddItem(); Root.AddItem("Edit.Cut"); Root.AddItem("Edit.Copy"); Root.AddItem("Edit.Paste"); Root.AddItem("Document.DeleteItem"); Root.AddItem(); Root.AddItem("Document.AddNone"); Root.AddItem(); Root.AddItem("Document.AddButton"); Root.AddItem("Document.AddStatic"); Root.AddItem("Document.AddEditor"); Root.AddItem("Document.AddEntity"); Root.AddItem(); Root.AddItem("Document.AddWindow"); Root.AddItem(); Root.AddItem(); Root.AddItem("Document.Refresh"); return Root; }
public ActionStripItem AddItem() { ActionStripItem Item = new ActionStripItem(); Items.Add(Item); return Item; }
////////////////////////////////////////////////////////////////////////// public ActionStripItem DefineMainMenu() { ActionStripItem Root = new ActionStripItem(); ActionStripItem FileMenu = Root.AddSub("FileMenu", "File"); FileMenu.AddItem("File.New"); FileMenu.AddItem("File.Open"); FileMenu.AddItem("File.Save"); FileMenu.AddItem("File.SaveAs"); FileMenu.AddItem(); FileMenu.AddItem("File.RecentFiles"); FileMenu.AddItem(); FileMenu.AddItem("File.AppClose"); ActionStripItem EditMenu = Root.AddSub("EditMenu", "Edit"); EditMenu.AddItem("Edit.Undo"); EditMenu.AddItem("Edit.Redo"); EditMenu.AddItem(); EditMenu.AddItem("Edit.Cut"); EditMenu.AddItem("Edit.Copy"); EditMenu.AddItem("Edit.Paste"); EditMenu.AddItem("Document.DeleteItem"); ActionStripItem ControlMenu = Root.AddSub("ControlMenu", "Controls"); ControlMenu.AddItem("Document.AddNone"); ControlMenu.AddItem(); ControlMenu.AddItem("Document.AddButton"); ControlMenu.AddItem("Document.AddStatic"); ControlMenu.AddItem("Document.AddEditor"); ControlMenu.AddItem("Document.AddEntity"); ControlMenu.AddItem(); ControlMenu.AddItem("Document.AddWindow"); ActionStripItem ToolsMenu = Root.AddSub("ToolsMenu", "Tools"); ToolsMenu.AddItem("Tools.Options"); ActionStripItem HelpMenu = Root.AddSub("HelpMenu", "Help"); HelpMenu.AddItem("Help.Contents"); HelpMenu.AddItem(); HelpMenu.AddItem("Help.About"); return Root; }
////////////////////////////////////////////////////////////////////////// private void AddStripItems(List<IActionProvider> ActiveObjects, 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(ActiveObjects, 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, ActiveObjects), AsMenu, true); AddStripItems(ActiveObjects, Item, Btn.DropDownItems, true); Items.Add(Btn); } else { ToolStripDropDownButton Btn = new ToolStripDropDownButton(Item.Caption); AddStripItems(ActiveObjects, 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, ActiveObjects); 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 && !AsMenu) { 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; case ActionType.Custom: ActContext.CustomBuild(Act.Name, Items, AsMenu); break; } if (NewItem != null) { NewItem.Tag = Act.Name; Items.Add(NewItem); ActContext.Initialize(Act.Name, NewItem); } } } WeedSeparators(Items, true); }