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(); CategoryFilterNode currentSettings = (CategoryFilterNode)context.Instance; InitializeDialog(dialog, currentSettings); if (DialogResult.OK == service.ShowDialog(dialog)) { CategoryFilterMode categoryFilterMode = dialog.FilterMode; NamedElementCollection <CategoryFilterEntry> categoryFilters = new NamedElementCollection <CategoryFilterEntry>(); foreach (string category in dialog.SelectedCategoryNames) { CategoryFilterEntry categoryFilter = new CategoryFilterEntry(); categoryFilter.Name = category; categoryFilters.Add(categoryFilter); } return(new CategoryFilterSettings(categoryFilterMode, categoryFilters)); } } } return(value); }
public void CategoryFilterNodeDefaults() { CategoryFilterNode categoryFilter = new CategoryFilterNode(); Assert.AreEqual("Category Filter", categoryFilter.Name); Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, categoryFilter.CategoryFilterExpression.CategoryFilterMode); Assert.AreEqual(0, categoryFilter.CategoryFilterExpression.CategoryFilters.Count); }
private static void InitializeDialog(CategoryFilterEditorUI dialog, CategoryFilterNode node) { dialog.FilterMode = node.CategoryFilterExpression.CategoryFilterMode; SetCategoryFilterSettings(dialog, node); SetAvailableCategoryNames(dialog, node); }
private static void SetCategoryFilterSettings(CategoryFilterEditorUI dialog, CategoryFilterNode node) { ArrayList selectedCategoryNames = new ArrayList(); foreach (CategoryFilterEntry categoryFilter in node.CategoryFilterExpression.CategoryFilters) { selectedCategoryNames.Add(categoryFilter.Name); } dialog.SetSelectedCategoryNames(selectedCategoryNames); }
public void CategoryFilterDataTest() { string name = "some name"; CategoryFilterMode filterMode = CategoryFilterMode.AllowAllExceptDenied; string filterName = "some filter"; CategoryFilterData data = new CategoryFilterData(); data.Name = name; data.CategoryFilterMode = filterMode; data.CategoryFilters.Add(new CategoryFilterEntry(filterName)); CategoryFilterNode node = new CategoryFilterNode(data); Assert.AreEqual(name, node.Name); Assert.AreEqual(filterMode, node.CategoryFilterExpression.CategoryFilterMode); Assert.AreEqual(1, node.CategoryFilterExpression.CategoryFilters.Count); Assert.AreEqual(filterName, node.CategoryFilterExpression.CategoryFilters.Get(0).Name); }
public void CategoryFilterNodeTest() { string name = "some name"; CategoryFilterMode filterMode = CategoryFilterMode.AllowAllExceptDenied; string filterName = "some filter"; CategoryFilterSettings filterSettings = new CategoryFilterSettings(filterMode, new NamedElementCollection<CategoryFilterEntry>()); filterSettings.CategoryFilters.Add(new CategoryFilterEntry(filterName)); CategoryFilterNode node = new CategoryFilterNode(); node.Name = name; node.CategoryFilterExpression = filterSettings; CategoryFilterData nodeData = (CategoryFilterData) node.LogFilterData; Assert.AreEqual(name, nodeData.Name); Assert.AreEqual(filterMode, nodeData.CategoryFilterMode); Assert.AreEqual(1, nodeData.CategoryFilters.Count); Assert.AreEqual(filterName, nodeData.CategoryFilters.Get(0).Name); }