public MainView(ISettingsProvider <Settings> settingsProvider, IThemeProvider themeProvider) { InitializeComponent(); this.messenger = new Messenger(this); this.viewModel = new MainViewModel(settingsProvider); var scheduler = new AsyncJobScheduler(this, viewModel); var output = new OutputView(themeProvider, messenger); output.Show(this.dockPanel1, DockState.DockBottom); var entityTreeView = new EntityTreeView(output, messenger, scheduler); entityTreeView.Show(this.dockPanel1, DockState.DockLeft); this.tConnectToEnvironment.Bind(_ => _.Visible, this.viewModel, _ => _.IsConnectToEnvirnmentVisible); this.tEnvironmentName.Bind(_ => _.Visible, this.viewModel, _ => _.IsEnvironmentNameVisible); this.tEnvironmentName.Bind(_ => _.Text, this.viewModel, _ => _.ConnectionName); this.tOpenFolder.BindCommand(() => this.viewModel.OpenWikiFolder); }
public MainView(IThemeProvider themeProvider) { InitializeComponent(); var messenger = new Messenger(this); this.viewModel = new MainViewModel(messenger); var scheduler = new AsyncJobScheduler(this, this.viewModel); this.outputView = new OutputView(themeProvider, messenger); this.outputView.Show(this.dockPanel, DockState.DockBottom); this.environmentListView = new EnvironmentListView(themeProvider, messenger); this.environmentListView.Show(this.dockPanel, DockState.DockLeft); this.solutionsView = new SolutionsView(this.outputView, themeProvider, messenger, scheduler); this.solutionsView.Show(this.dockPanel, DockState.Document); this.solutionComponentsView = new SolutionComponentsView(this.outputView, themeProvider, messenger, scheduler); this.solutionComponentsView.Show(this.dockPanel, DockState.Document); this.solutionsView.Show(); messenger.Register <AddNewConnectionMessage>(m => this.AddAdditionalOrganization()); messenger.Register <RemoveConnectionMessage>(m => this.RemoveAdditionalOrganization(m.Detail)); }
private void OnDestroy() { AsyncJobScheduler.Abort(true); }
public EnvironmentComparerPluginControl(IThemeProvider themeProvider) { if (themeProvider == null) { throw new ArgumentNullException(nameof(themeProvider)); } InitializeComponent(); this.messenger = new Messenger(this); this.tEnv1Name.Text = "1. Connect to environment 1"; this.tConnectToEnv2.Text = ConnectToEnvironment2String; this.outputView = new OutputView(themeProvider, messenger); this.outputView.Show(this.dockPanel, DockState.DockBottomAutoHide); this.viewModel = new EnvironmentComparerViewModel(this.messenger); var scheduler = new AsyncJobScheduler(this, viewModel); this.resultTreeView = new ResultTreeView(themeProvider, scheduler, this.messenger, this.outputView); this.resultTreeView.Show(this.dockPanel, DockState.DockLeft); this.configuratorView = new ConfiguratorView(themeProvider, scheduler, this.messenger, this.outputView); this.configuratorView.Show(this.dockPanel, DockState.DockLeft); this.resultGridView = new ResultGridView(themeProvider, this.messenger, this.outputView); this.resultGridView.Show(this.dockPanel, DockState.Document); this.resultRecordView = new ResultRecordView(themeProvider, this.messenger); this.resultRecordView.Show(this.dockPanel, DockState.Document); this.actionsView = new ActionsView(themeProvider, scheduler, this.messenger, this.outputView); this.actionsView.Show(this.dockPanel, DockState.Document); var helpContentIndexProvider = new HelpContentIndexProvider(); var helpContentIndex = helpContentIndexProvider.GetIndex(); var helpRepository = new HelpRepository(helpContentIndex, GetType().Assembly); var helpView = new HelpView(this.messenger, this.outputView, helpRepository, Topics.Home); helpView.Show(this.dockPanel, DockState.DockRight); helpView.DockState = DockState.DockRightAutoHide; // trick used because the DockState.AutoHide doesn't works well with browser control: the WebBrowser control "Dispose" method throws an exception if the form has not been loaded this.resultGridView.Show(); this.configuratorView.Show(); this.tEquals.Bind(_ => _.Visible, this.viewModel, _ => _.AreEqual); this.messenger.Register <HighlightResultRecord>(m => { this.resultRecordView.Show(); }); this.messenger.Register <LoadEntitiesRequest>(m => { ExecuteMethod(LoadEntities); }); this.messenger.Register <StatusBarMessageEventArgs>(m => { this.SendMessageToStatusBar?.Invoke(this, m); }); }