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; }
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(); }
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; }