private void CreateFilterControls() { m_FilterManager = new FilterPluginManager(); m_Filters = m_FilterManager.GetInstances(); UIElement previousControl = PanZoom_Border.Child; PanZoom_Border.Child = null; foreach (FilterInstance filter in m_Filters) { DockPanel dockPanel = new DockPanel(); dockPanel.Height = PanZoomBounds.Height; dockPanel.Width = PanZoomBounds.Width; dockPanel.Children.Add(previousControl); FilterParameter filterParam = new FilterParameter(dockPanel, m_SourceObject.Width, m_SourceObject.Height, m_History, m_sysConfig); try { filter.Instance.Initialize(filterParam); Filter_ToolBar.Items.Add(filter.Instance.ToolBarItem); ToolBar.SetOverflowMode(filter.Instance.ToolBarItem, OverflowMode.AsNeeded); } catch { //TODO: Error Logs } previousControl = dockPanel; } PanZoom_Border.Child = previousControl; }
public FilterInstances GetInstances() { FilterInstances instances = new FilterInstances(); foreach (string fileName in base.m_PluginAssemblies) { Assembly filterAssembly = Assembly.LoadFrom(fileName); foreach (Type assemblyType in filterAssembly.GetTypes()) { Type typeInterface = assemblyType.GetInterface("IFilter", true); if (assemblyType.IsPublic && !assemblyType.IsAbstract && typeInterface != null) { FilterInstance newFilter = new FilterInstance(); newFilter.Instance = Activator.CreateInstance(assemblyType) as IFilter; if (newFilter.Instance != null) { if (newFilter.Instance.Name == "DensityAlarm") { // add the density alarm first instances.Insert(0, newFilter); } else { instances.Add(newFilter); } } newFilter = null; } typeInterface = null; } filterAssembly = null; } return(instances); }
public void Dispose() { CultureResources.getDataProvider().DataChanged -= this.CultureResources_DataChanged; HistoryList.IsOpen = false; PseudoColor_ComboBox.Items.Clear(); PseudoColor_ComboBox = null; m_Filters.Clear(); m_Filters = null; m_FilterManager.Dispose(); m_FilterManager = null; m_SourceObject = null; m_History = null; PanAndZoomControl.Content = null; PanAndZoomControl = null; m_ViewObject.Dispose(); m_ViewObject = null; }
public void Dispose () { CultureResources.getDataProvider().DataChanged -= this.CultureResources_DataChanged; HistoryList.IsOpen = false; PseudoColor_ComboBox.Items.Clear(); PseudoColor_ComboBox = null; m_Filters.Clear(); m_Filters = null; m_FilterManager.Dispose(); m_FilterManager = null; m_SourceObject = null; m_History = null; PanAndZoomControl.Content = null; PanAndZoomControl = null; m_ViewObject.Dispose(); m_ViewObject = null; }
private void CreateFilterControls() { m_FilterManager = new FilterPluginManager(); m_Filters = m_FilterManager.GetInstances(); UIElement previousControl = PanZoom_Border.Child; PanZoom_Border.Child = null; foreach (FilterInstance filter in m_Filters) { DockPanel dockPanel = new DockPanel(); dockPanel.Height = PanZoomBounds.Height; dockPanel.Width = PanZoomBounds.Width; dockPanel.Children.Add(previousControl); FilterParameter filterParam = new FilterParameter(dockPanel, m_SourceObject.Width, m_SourceObject.Height, m_History, m_sysConfig); try { filter.Instance.Initialize(filterParam); Filter_ToolBar.Items.Add(filter.Instance.ToolBarItem); ToolBar.SetOverflowMode(filter.Instance.ToolBarItem, OverflowMode.AsNeeded); } catch { //TODO: Error Logs } previousControl = dockPanel; } PanZoom_Border.Child = previousControl; }