private IEditorPresenter ChangePresenter(Type modelType) { if (Conferma()) { _mainContainer.MenuModifica.Enabled = false; IEditorPresenter old = _currentEditorHandler; _currentEditorHandler = _editorFactory.GetEditorHandler(modelType, Documento.getInstance().ModelloRiferimento); _mainContainer.RightPanel.Controls.Clear(); _mainContainer.RightPanel.Controls.Add(_currentEditorHandler.Editor); foreach (ToolStripItem item in _mainContainer.SaveItems) { item.Enabled = true; if (null != old) { item.Click -= old.OnSave; } if (null != _progettoPresenter) { item.Click -= _progettoPresenter.OnSave; } item.Click += _currentEditorHandler.OnSave; } _progettoPresenter = null; } return(_currentEditorHandler); }
private void OnNuovoProgettoClick(object sender, EventArgs args) { if (Conferma()) { _progettoPresenter = new ProgrammazioneEditorPresenter(_editorFactory); _mainContainer.RightPanel.Controls.Clear(); _mainContainer.RightPanel.Controls.Add(_progettoPresenter.Editor); foreach (ToolStripItem item in _mainContainer.SaveItems) { item.Enabled = true; if (null != _currentEditorHandler) { item.Click -= _currentEditorHandler.OnSave; } if (null != _progettoPresenter) { item.Click -= _progettoPresenter.OnSave; } item.Click += _progettoPresenter.OnSave; } _currentEditorHandler = null; _mainContainer.MenuModifica.Enabled = true; } }