/// <summary> /// Initializes a new instance of the <see cref="NuGenContextMenusForm"/> class. /// </summary> /// <param name="UISwitchboard">The command switchboard</param> /// <param name="associatedItems">Context menus associated.</param> /// <param name="availableItems">Context menus available.</param> public NuGenContextMenusForm(NuGenCommandManagerBase UISwitchboard, Collection<object> associatedItems, Collection<object> availableItems) { this.UISwitchboard = UISwitchboard; this.associatedItems = associatedItems; this.availableItems = availableItems; InitializeComponent(); // Fill listview with associated items foreach (object item in associatedItems) { string name = UISwitchboard.UIItemAdapter.GetContextMenuName(item); ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = name; listViewItem.Tag = item; listViewAssociatedItems.Items.Add(listViewItem); } // Fill listview with available items foreach (object item in availableItems) { if (!associatedItems.Contains(item)) { string name = UISwitchboard.UIItemAdapter.GetContextMenuName(item); ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = name; listViewItem.Tag = item; listViewAvailableItems.Items.Add(listViewItem); } } columnHeaderAvailableItems.Width = listViewAvailableItems.ClientSize.Width; columnHeaderAssociatedItems.Width = listViewAssociatedItems.ClientSize.Width; }
/// <summary> /// Initializes a new instance of the <see cref="NuGenContextMenusForm"/> class. /// </summary> /// <param name="UISwitchboard">The command switchboard</param> /// <param name="associatedItems">Context menus associated.</param> /// <param name="availableItems">Context menus available.</param> public NuGenContextMenusForm(NuGenCommandManagerBase UISwitchboard, Collection <object> associatedItems, Collection <object> availableItems) { this.UISwitchboard = UISwitchboard; this.associatedItems = associatedItems; this.availableItems = availableItems; InitializeComponent(); // Fill listview with associated items foreach (object item in associatedItems) { string name = UISwitchboard.UIItemAdapter.GetContextMenuName(item); ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = name; listViewItem.Tag = item; listViewAssociatedItems.Items.Add(listViewItem); } // Fill listview with available items foreach (object item in availableItems) { if (!associatedItems.Contains(item)) { string name = UISwitchboard.UIItemAdapter.GetContextMenuName(item); ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = name; listViewItem.Tag = item; listViewAvailableItems.Items.Add(listViewItem); } } columnHeaderAvailableItems.Width = listViewAvailableItems.ClientSize.Width; columnHeaderAssociatedItems.Width = listViewAssociatedItems.ClientSize.Width; }
/// <summary> /// Creates a new instance of the specified collection item type. /// </summary> /// <param name="itemType">The type of item to create.</param> /// <returns>A new instance of the specified object.</returns> protected override object CreateInstance(Type itemType) { NuGenApplicationCommand applicationCommand = base.CreateInstance(itemType) as NuGenApplicationCommand; NuGenCommandManagerBase commandManager = Context.Instance as NuGenCommandManagerBase; applicationCommand.CommandManager = commandManager; return(applicationCommand); }
/// <summary> /// Edits the specified object's value using the editor style indicated by the GetEditStyle method. /// </summary> /// <param name="context">An ITypeDescriptorContext that can be used to gain additional context information.</param> /// <param name="provider">An IServiceProvider that this editor can use to obtain services.</param> /// <param name="value">The object to edit.</param> /// <returns>The new value of the object. If the value of the object has not changed, this should return the same object it was passed.</returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { // Get associated items list NuGenUIItemCollection uiItemCollection = value as NuGenUIItemCollection; Collection <object> associatedItems = new Collection <object>(); foreach (object item in uiItemCollection) { associatedItems.Add(item); } // Get command switchboard NuGenApplicationCommand command = uiItemCollection.ApplicationCommand; NuGenCommandManagerBase UISwitchboard = command.CommandManager; // Get available items list Collection <object> availableItems = new Collection <object>(); foreach (object item in UISwitchboard.UIItemAdapter.GetAvailableUIItems()) { availableItems.Add(item); } // Get editor service IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (editorService != null) { // Show form NuGenUIItemsForm formUIItems = new NuGenUIItemsForm(command, associatedItems, availableItems); if (editorService.ShowDialog(formUIItems) == DialogResult.OK) { NuGenUIItemCollection modifiedUIItemCollection = new NuGenUIItemCollection(command); foreach (Object item in associatedItems) { modifiedUIItemCollection.Add(item); } return(modifiedUIItemCollection); } } return(value); }
/// <summary> /// Initializes a new instance of the <see cref="NuGenUIItemsForm"/> class. /// </summary> /// <param name="applicationCommand">The command to edit.</param> /// <param name="associatedItems">Items associated with the command.</param> /// <param name="availableItems">Itemas available for association with the command.</param> public NuGenUIItemsForm(NuGenApplicationCommand applicationCommand, Collection<object> associatedItems, Collection<object> availableItems) { UISwitchboard = applicationCommand.CommandManager; this.associatedItems = associatedItems; this.availableItems = availableItems; InitializeComponent(); // Set command information labelCommandName.Text = applicationCommand.ApplicationCommandName; // Fill listview with associated items foreach (object item in associatedItems) { string name = UISwitchboard.UIItemAdapter.GetUIItemName(item); ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = name; listViewItem.Tag = item; listViewAssociatedItems.Items.Add(listViewItem); } // Fill listview with available items foreach (object item in availableItems) { if (!associatedItems.Contains(item)) { string name = UISwitchboard.UIItemAdapter.GetUIItemName(item); ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = name; listViewItem.Tag = item; listViewAvailableItems.Items.Add(listViewItem); } } columnHeaderAvailableItems.Width = listViewAvailableItems.ClientSize.Width; columnHeaderAssociatedItems.Width = listViewAssociatedItems.ClientSize.Width; }
/// <summary> /// Initializes a new instance of the <see cref="NuGenUIItemsForm"/> class. /// </summary> /// <param name="applicationCommand">The command to edit.</param> /// <param name="associatedItems">Items associated with the command.</param> /// <param name="availableItems">Itemas available for association with the command.</param> public NuGenUIItemsForm(NuGenApplicationCommand applicationCommand, Collection <object> associatedItems, Collection <object> availableItems) { UISwitchboard = applicationCommand.CommandManager; this.associatedItems = associatedItems; this.availableItems = availableItems; InitializeComponent(); // Set command information labelCommandName.Text = applicationCommand.ApplicationCommandName; // Fill listview with associated items foreach (object item in associatedItems) { string name = UISwitchboard.UIItemAdapter.GetUIItemName(item); ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = name; listViewItem.Tag = item; listViewAssociatedItems.Items.Add(listViewItem); } // Fill listview with available items foreach (object item in availableItems) { if (!associatedItems.Contains(item)) { string name = UISwitchboard.UIItemAdapter.GetUIItemName(item); ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = name; listViewItem.Tag = item; listViewAvailableItems.Items.Add(listViewItem); } } columnHeaderAvailableItems.Width = listViewAvailableItems.ClientSize.Width; columnHeaderAssociatedItems.Width = listViewAssociatedItems.ClientSize.Width; }