private void SetPropertyEditors()
        {
            PropertyEditors.Clear();

            HeliosVisual visual = BindingFocus as HeliosVisual;

            if (visual != null)
            {
                // Setup Layout Panel
                HeliosPropertyEditor layoutEditor;
                if (visual is Monitor)
                {
                    layoutEditor = new MonitorPropertyEditor();
                }
                else
                {
                    layoutEditor = new LayoutPropertyEditor();
                }
                layoutEditor.Control = visual;
                PropertyEditors.Add(layoutEditor);

                foreach (HeliosPropertyEditorDescriptor descriptor in ConfigManager.ModuleManager.GetPropertyEditors(visual.TypeIdentifier))
                {
                    HeliosPropertyEditor editor = descriptor.CreateInstance();
                    editor.Control = visual;
                    PropertyEditors.Add(editor);
                }
            }
        }
        private void SetPropertyEditors()
        {
            PropertyEditors.Clear();

            HeliosVisual visual = BindingFocus as HeliosVisual;
            if (visual != null)
            {
                // Setup Layout Panel
                HeliosPropertyEditor layoutEditor;
                if (visual is Monitor)
                {
                    layoutEditor = new MonitorPropertyEditor();
                }
                else
                {
                    layoutEditor = new LayoutPropertyEditor();
                }
                layoutEditor.Control = visual;
                PropertyEditors.Add(layoutEditor);

                foreach (HeliosPropertyEditorDescriptor descriptor in ConfigManager.ModuleManager.GetPropertyEditors(visual.TypeIdentifier))
                {
                    HeliosPropertyEditor editor = descriptor.CreateInstance();
                    editor.Control = visual;
                    PropertyEditors.Add(editor);
                }
            }
        }
Exemplo n.º 3
0
        private void SetPropertyEditors()
        {
            PropertyEditors.Clear();

            HeliosVisual visual = BindingFocus as HeliosVisual;

            if (visual == null)
            {
                return;
            }

            // Setup Layout Panel
            HeliosPropertyEditor layoutEditor;

            if (visual is Monitor)
            {
                layoutEditor = new MonitorPropertyEditor();
            }
            else
            {
                layoutEditor = new LayoutPropertyEditor();
            }
            layoutEditor.Control = visual;
            PropertyEditors.Add(layoutEditor);

            // find editors that explicitly support this exact visual
            foreach (HeliosPropertyEditorDescriptor descriptor in ConfigManager.ModuleManager.GetPropertyEditors(visual.TypeIdentifier))
            {
                HeliosPropertyEditor editor = descriptor.CreateInstance();
                editor.Control = visual;
                PropertyEditors.Add(editor);
            }

            if (!(ConfigManager.ModuleManager is IModuleManager2 capabilities))
            {
                // legacy build does not support this interface
                return;
            }

            // probe for additional editors based on supported interfaces
            foreach (HeliosCapabilityEditorDescriptor descriptor in capabilities.GetCapabilityEditors(visual))
            {
                HeliosPropertyEditor editor = descriptor.CreateInstance();
                editor.Control = visual;
                PropertyEditors.Add(editor);
            }
        }