public void CreateMashup(GraphNode graphNode, IWorkflowEditorService editorService) { var dialogMashup = visualizer.Value as DialogMashupVisualizer; var visualizerDialog = workflowGraphView.GetVisualizerDialogLauncher(graphNode); if (dialogMashup != null && visualizerDialog != null) { var dialogMashupType = dialogMashup.GetType(); var visualizerType = visualizerDialog.visualizer.Value.GetType(); var mashupVisualizer = default(Type); while (dialogMashupType != null && dialogMashupType != typeof(DialogMashupVisualizer)) { var mashup = typeof(VisualizerMashup <,>).MakeGenericType(dialogMashupType, visualizerType); mashupVisualizer = editorService.GetTypeVisualizers(mashup).SingleOrDefault(); if (mashupVisualizer != null) { break; } dialogMashupType = dialogMashupType.BaseType; } if (mashupVisualizer != null) { UnloadMashups(); var visualizerMashup = (MashupTypeVisualizer)Activator.CreateInstance(mashupVisualizer); dialogMashup.Mashups.Add(new VisualizerMashup(visualizerDialog.visualizerSource.Output, visualizerMashup)); ReloadMashups(); } } }
public WorkflowEditorControl(IServiceProvider provider, bool readOnly) { if (provider == null) { throw new ArgumentNullException("provider"); } InitializeComponent(); serviceProvider = provider; editorService = (IWorkflowEditorService)provider.GetService(typeof(IWorkflowEditorService)); workflowTab = InitializeTab(workflowTabPage, readOnly, null); InitializeTheme(workflowTabPage); }
public void CreateMashup(GraphNode graphNode, IWorkflowEditorService editorService) { var dialogMashup = visualizer.Value as DialogMashupVisualizer; var visualizerDialog = workflowGraphView.GetVisualizerDialogLauncher(graphNode); if (dialogMashup != null && visualizerDialog != null) { var dialogMashupType = dialogMashup.GetType(); var visualizerType = visualizerDialog.visualizer.Value.GetType(); var mashupVisualizer = GetMashupVisualizerType(dialogMashupType, visualizerType, editorService); if (mashupVisualizer != null) { UnloadMashups(); var visualizerMashup = (MashupTypeVisualizer)Activator.CreateInstance(mashupVisualizer); dialogMashup.Mashups.Add(new VisualizerMashup(visualizerDialog.visualizerSource.Output, visualizerMashup)); ReloadMashups(); } } }
public NestedEditorDialog(IServiceProvider provider) { editorService = (IWorkflowEditorService)provider.GetService(typeof(IWorkflowEditorService)); }
static Type GetMashupVisualizerType(Type dialogMashupType, Type visualizerType, IWorkflowEditorService editorService) { var mashupVisualizerType = default(Type); while (dialogMashupType != null && dialogMashupType != typeof(DialogMashupVisualizer)) { var mashup = typeof(VisualizerMashup <,>).MakeGenericType(dialogMashupType, visualizerType); mashupVisualizerType = editorService.GetTypeVisualizers(mashup).SingleOrDefault(); if (mashupVisualizerType != null) { break; } dialogMashupType = dialogMashupType.BaseType; } return(mashupVisualizerType); }