/// <summary> /// Initializes and draws the category filter editor dialog and returns the results to the calling object. /// </summary> /// <param name="context">See <see cref="UITypeEditor.EditValue"/>.</param> /// <param name="provider">See <see cref="UITypeEditor.EditValue"/>.</param> /// <param name="value">See <see cref="UITypeEditor.EditValue"/>.</param> /// <returns>See <see cref="UITypeEditor.EditValue"/>.</returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Debug.Assert(provider != null, "No service provider; we cannot edit the value"); if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); Debug.Assert(edSvc != null, "No editor service; we cannot edit the value"); if (edSvc != null) { IWindowsFormsEditorService service = (IWindowsFormsEditorService) provider.GetService(typeof(IWindowsFormsEditorService)); CategoryFilterEditorUI dialog = new CategoryFilterEditorUI(); ClientSettingsNode currentSettings = (ClientSettingsNode) context.Instance; InitializeDialog(dialog, currentSettings); DialogResult dialogResult = service.ShowDialog(dialog); if (dialogResult != DialogResult.Cancel) { CategoryFilterMode categoryFilterMode = dialog.FilterMode; CategoryFilterDataCollection categoryFilters = new CategoryFilterDataCollection(); foreach (string category in dialog.GetSelectedCategoryNames()) { CategoryFilterData categoryFilter = new CategoryFilterData(); categoryFilter.Name = category; categoryFilters.Add(categoryFilter); } return new CategoryFilterSettings(categoryFilterMode, categoryFilters); } else { return currentSettings.CategoryFilterSettings; } } } return value; }
/// <summary> /// Initializes and draws the category filter editor dialog and returns the results to the calling object. /// </summary> /// <param name="context">See <see cref="UITypeEditor.EditValue"/>.</param> /// <param name="provider">See <see cref="UITypeEditor.EditValue"/>.</param> /// <param name="value">See <see cref="UITypeEditor.EditValue"/>.</param> /// <returns>See <see cref="UITypeEditor.EditValue"/>.</returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Debug.Assert(provider != null, "No service provider; we cannot edit the value"); if (provider != null) { IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); Debug.Assert(edSvc != null, "No editor service; we cannot edit the value"); if (edSvc != null) { IWindowsFormsEditorService service = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); CategoryFilterEditorUI dialog = new CategoryFilterEditorUI(); ClientSettingsNode currentSettings = (ClientSettingsNode)context.Instance; InitializeDialog(dialog, currentSettings); DialogResult dialogResult = service.ShowDialog(dialog); if (dialogResult != DialogResult.Cancel) { CategoryFilterMode categoryFilterMode = dialog.FilterMode; CategoryFilterDataCollection categoryFilters = new CategoryFilterDataCollection(); foreach (string category in dialog.GetSelectedCategoryNames()) { CategoryFilterData categoryFilter = new CategoryFilterData(); categoryFilter.Name = category; categoryFilters.Add(categoryFilter); } return(new CategoryFilterSettings(categoryFilterMode, categoryFilters)); } else { return(currentSettings.CategoryFilterSettings); } } } return(value); }
/// <summary> /// Creates a new <c>CategoryFilterSettings</c> object with initial settings. /// </summary> /// <param name="categoryFilterMode">The mode in which to filter.</param> /// <param name="categoryFilters">The collection of categories to filter.</param> public CategoryFilterSettings(CategoryFilterMode categoryFilterMode, CategoryFilterDataCollection categoryFilters) { this.categoryFilterMode = categoryFilterMode; this.categoryFilters = categoryFilters; }
public void Setup() { filters = new CategoryFilterDataCollection(); }