Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
        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;
        }