public void Show(ViewFor view) { switch (view) { case ViewFor.MainWindow: { mainWindow = (IMainWindow)serviceProvider.GetView(ViewFor.MainWindow); Subscribe(mainWindow); mainWindow.Show(); } break; case ViewFor.ConfigWindow: { var newConfigWindow = (IConfigWindow)serviceProvider.GetView(ViewFor.ConfigWindow); // service provider returns null when configwindow is already opened so it returns if the given object is null if (newConfigWindow == null) { return; } Subscribe(newConfigWindow); newConfigWindow.Show(); configWindow = newConfigWindow; } break; } }
public ConfigWindowPresenter(IConfigWindow view, IEmailModel model) { this._model = model; this.View = view; // subscribe to the view's events this.View.InputFieldChanged += InputFieldChanged; this.View.SaveButtonClicked += SaveButtonClicked; this.View.CancelButtonClicked += CancelButtonClicked; }
public void Close(ViewFor view) { switch (view) { case ViewFor.MainWindow: { mainWindow.Close(); } break; case ViewFor.ConfigWindow: { UnSubscribe(configWindow); configWindow.Close(); configWindow = null; } break; } }