예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
        }
예제 #3
0
        public void Close(ViewFor view)
        {
            switch (view)
            {
            case ViewFor.MainWindow:
            {
                mainWindow.Close();
            }
            break;

            case ViewFor.ConfigWindow:
            {
                UnSubscribe(configWindow);
                configWindow.Close();
                configWindow = null;
            }
            break;
            }
        }