public VisualizerDialogLauncher(
            InspectBuilder visualizerSource,
            Func <DialogTypeVisualizer> visualizerFactory,
            WorkflowGraphView workflowGraphView,
            InspectBuilder workflowSource)
        {
            if (visualizerSource == null)
            {
                throw new ArgumentNullException("visualizerSource");
            }

            if (visualizerFactory == null)
            {
                throw new ArgumentNullException("visualizerFactory");
            }

            if (workflowGraphView == null)
            {
                throw new ArgumentNullException("workflowGraphView");
            }

            this.visualizerSource  = visualizerSource;
            this.visualizer        = new Lazy <DialogTypeVisualizer>(visualizerFactory);
            this.workflowGraphView = workflowGraphView;
            this.source            = workflowSource ?? visualizerSource;
        }
Exemplo n.º 2
0
        protected override void InitializeComponents(TypeVisualizerDialog visualizerDialog, IServiceProvider provider)
        {
            var workflowEditor = Container;

            if (workflowEditor == null)
            {
                workflowEditor = new WorkflowEditorControl(provider, ParentView.ReadOnly);
                workflowEditor.SuspendLayout();
                workflowEditor.Dock     = DockStyle.Fill;
                workflowEditor.Font     = ParentView.Font;
                workflowEditor.Workflow = builder.Workflow;
                workflowGraphView       = workflowEditor.WorkflowGraphView;
                workflowEditor.ResumeLayout(false);
                visualizerDialog.AddControl(workflowEditor);
                visualizerDialog.Icon         = Bonsai.Editor.Properties.Resources.Icon;
                visualizerDialog.ShowIcon     = true;
                visualizerDialog.Activated   += (sender, e) => workflowEditor.ActiveTab.UpdateSelection();
                visualizerDialog.FormClosing += (sender, e) =>
                {
                    if (e.CloseReason == CloseReason.UserClosing)
                    {
                        EditorClosing(sender, e);
                    }
                };
            }
            else
            {
                visualizerDialog.FormBorderStyle = FormBorderStyle.None;
                visualizerDialog.Dock            = DockStyle.Fill;
                visualizerDialog.TopLevel        = false;
                visualizerDialog.Visible         = true;
                var tabState = workflowEditor.CreateTab(builder, ParentView.ReadOnly, visualizerDialog);
                workflowGraphView    = tabState.WorkflowGraphView;
                tabState.TabClosing += EditorClosing;
            }

            userClosing = true;
            visualizerDialog.BackColor          = ParentView.ParentForm.BackColor;
            workflowGraphView.BackColorChanged += (sender, e) => visualizerDialog.BackColor = ParentView.ParentForm.BackColor;
            workflowGraphView.Launcher          = this;
            workflowGraphView.VisualizerLayout  = VisualizerLayout;
            workflowGraphView.SelectFirstGraphNode();
            workflowGraphView.Select();
            UpdateEditorText();
        }
Exemplo n.º 3
0
        public VisualizerDialogLauncher(
            Type visualizerType,
            InspectBuilder visualizerElement,
            Func <DialogTypeVisualizer> visualizerFactory,
            ExpressionBuilderGraph visualizerWorkflow,
            InspectBuilder workflowSource,
            WorkflowGraphView workflowGraphView)
        {
            if (visualizerFactory == null)
            {
                throw new ArgumentNullException(nameof(visualizerFactory));
            }

            VisualizerType   = visualizerType ?? throw new ArgumentNullException(nameof(visualizerType));
            visualizerSource = visualizerElement ?? throw new ArgumentNullException(nameof(visualizerElement));
            Visualizer       = new Lazy <DialogTypeVisualizer>(visualizerFactory);
            Source           = workflowSource ?? visualizerElement;
            workflow         = visualizerWorkflow;
            graphView        = workflowGraphView;
        }