public ActionSubmenuItemModel(IdeCollection <IdeBaseItem> source) : base(source) //new item { _action = new GroupActionSubmenu(); Items = new IdeCollection <IdeBaseItem>(this); Items.CollectionChanged += (a, b) => { ((GroupActionSubmenu)_action).Children = Items.Select(x => ((ActionSubmenuItemModel)x)._action); }; Name = "New Submenu"; Items.Add(new ActionItemModel(Items)); }
public ActionSubmenuItemModel(GroupActionSubmenu a, IdeCollection <IdeBaseItem> source) : base(source) //load item { _action = a; Items = new IdeCollection <IdeBaseItem>(this); foreach (var action in a.Children) { Items.Add(CreateActionItem(action, Items)); } Items.CollectionChanged += (b, c) => { ((GroupActionSubmenu)_action).Children = Items.Select(x => ((ActionSubmenuItemModel)x)._action); }; }
public ActionSubmenuItemModel(ActionSubmenuItemModel a, IdeCollection <IdeBaseItem> source) : base(source) //copy item { _action = new GroupActionSubmenu { HeaderExecute = a._action.HeaderExecute, IsGroup = a.IsGroup, Name = a.Name, ShowExecute = a._action.ShowExecute }; Items = new IdeCollection <IdeBaseItem>(this); Items.CollectionChanged += (b, c) => { ((GroupActionSubmenu)_action).Children = Items.Select(x => ((ActionSubmenuItemModel)x)._action); }; foreach (ActionSubmenuItemModel action in a.Items) { Items.Add(CopyActionItems(action, Items)); } ; }