internal MenuItemCollection( IMenuItemContainer itemContainer) { if (null == itemContainer) { throw new ArgumentNullException(nameof(itemContainer)); } this._itemContainer = itemContainer; this._items = new List <MenuItem>(); }
static IEnumerable <IMenuItemContainer> CreateItems(Configuration.MenuItemElementCollection itemElementCollection, List <IMenuItemContainer> itemContainers) { if (itemElementCollection != null) { if (!string.IsNullOrEmpty(itemElementCollection.Type)) { itemContainers.Add((IMenuItemContainer)Activator.CreateInstance(Type.GetType(itemElementCollection.Type))); } else { foreach (Configuration.MenuItemElement element in itemElementCollection) { IMenuItemContainer itemContainer = null; if (!string.IsNullOrEmpty(element.Type)) { itemContainer = (IMenuItemContainer)Activator.CreateInstance(Type.GetType(element.Type)); } else { itemContainer = new MenuItemTemplate(); } itemContainers.Add(itemContainer); if (itemContainer is MenuItemTemplate) { var itemTemplate = (MenuItemTemplate)itemContainer; itemTemplate.Name = element.Name; itemTemplate.Text = element.Text; itemTemplate.Action = element.Action; itemTemplate.Controller = element.Controller; itemTemplate.Visible = element.Visible; itemTemplate.Area = element.Area; itemTemplate.RouteValues = new System.Web.Routing.RouteValueDictionary(element.RouteValues.Attributes); itemTemplate.HtmlAttributes = new System.Web.Routing.RouteValueDictionary(element.HtmlAttributes.Attributes); itemTemplate.ReadOnlyProperties = element.UnrecognizedProperties; if (!string.IsNullOrEmpty(element.Initializer)) { Type type = Type.GetType(element.Initializer); itemTemplate.Initializer = (IMenuItemInitializer)Activator.CreateInstance(type); } List <IMenuItemContainer> subItems = new List <IMenuItemContainer>(); if (element.Items != null) { itemTemplate.ItemContainers = CreateItems(element.Items, subItems); } } } } } return(itemContainers); }
public ActionItem (ActionTreeNode node, IMenuItemContainer parent, uint itemSpacing) { DND.SourceSet (this); this.parentMenu = parent; this.node = node; this.VisibleWindow = false; this.CanFocus = true; this.Events |= Gdk.EventMask.KeyPressMask; this.itemSpacing = itemSpacing; if (node.Action != null) node.Action.ObjectChanged += OnActionChanged; }
public ActionItem(ActionTreeNode node, IMenuItemContainer parent, uint itemSpacing) { DND.SourceSet(this); this.parentMenu = parent; this.node = node; this.VisibleWindow = false; this.CanFocus = true; this.Events |= Gdk.EventMask.KeyPressMask; this.itemSpacing = itemSpacing; if (node.Action != null) { node.Action.ObjectChanged += OnActionChanged; } }
private static void _FillItems(int depth, IMenuItemContainer container, IList<MenuItemEditModel> items) { if (null == container.Items) return; foreach (var i in container.Items) { items.Add(new MenuItemEditModel { Indent = depth, Name = i.Name, Type = i.Type, Location = i.Location, }); _FillItems(depth + 1, i, items); } }
private static void _FillItems(int depth, IMenuItemContainer container, IList <MenuItemEditModel> items) { if (null == container.Items) { return; } foreach (var i in container.Items) { items.Add(new MenuItemEditModel { Indent = depth, Name = i.Name, Type = i.Type, Location = i.Location, }); _FillItems(depth + 1, i, items); } }
internal ActionMenu (Widget wrapper, IMenuItemContainer parentMenu, ActionTreeNode node) { DND.DestSet (this, true); parentNode = node; this.parentMenu = parentMenu; this.wrapper = wrapper; this.nodes = node.Children; table = new Gtk.Table (0, 0, false); table.ColumnSpacing = 5; table.RowSpacing = 5; table.BorderWidth = 5; this.AppPaintable = true; Add (table); Fill (); parentNode.ChildNodeAdded += OnChildAdded; parentNode.ChildNodeRemoved += OnChildRemoved; }
internal ActionMenu(Widget wrapper, IMenuItemContainer parentMenu, ActionTreeNode node) { DND.DestSet(this, true); parentNode = node; this.parentMenu = parentMenu; this.wrapper = wrapper; this.nodes = node.Children; table = new Gtk.Table(0, 0, false); table.ColumnSpacing = 5; table.RowSpacing = 5; table.BorderWidth = 5; this.AppPaintable = true; Add(table); Fill(); parentNode.ChildNodeAdded += OnChildAdded; parentNode.ChildNodeRemoved += OnChildRemoved; }
internal ActionMenuItem(Widget wrapper, IMenuItemContainer parent, ActionTreeNode node, uint itemSpacing) : base(node, parent, itemSpacing) { this.wrapper = wrapper; CreateControls(); }
internal ActionMenuItem(IDesignArea designArea, IProject project, IMenuItemContainer parent, ActionTreeNode node) : this(null, parent, node, 6) { this.project = project; this.designArea = designArea; }
internal ActionMenuItem(Widget wrapper, IMenuItemContainer parent, ActionTreeNode node) : this(wrapper, parent, node, 0) { }
internal ActionMenuItem (Widget wrapper, IMenuItemContainer parent, ActionTreeNode node, uint itemSpacing): base (node, parent, itemSpacing) { this.wrapper = wrapper; CreateControls (); }
internal ActionMenuItem (IDesignArea designArea, IProject project, IMenuItemContainer parent, ActionTreeNode node) : this (null, parent, node, 6) { this.project = project; this.designArea = designArea; }
internal ActionMenuItem (Widget wrapper, IMenuItemContainer parent, ActionTreeNode node) : this (wrapper, parent, node, 0) { }
public MenuItemFactory(IMenuItemContainer container) { Guard.IsNotNull(container, "container"); this.container = container; }