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 SetViewFromModel(Elemento e, int index) { _currentElemento = new PersisterMapper <Elemento>(e, index); ElementoEditorPresenter presenter = _editorFactory.GetEditorHandler( e.GetType(), Documento.getInstance().ModelloRiferimento) as ElementoEditorPresenter; presenter.CaricaElemento(_currentElemento); _editor.DurataNumeric.Value = _sequenza.GetDurataOf(e); _editor.NomeField.Text = e.Nome; _editor.SetEditor(presenter.Editor); _elementEditorPresenter = presenter; }
private void OnValueChanged(object sender, EventArgs args) { var combo = sender as ComboBox; if (null == combo) { throw new Exception("Voglio euro non le lire, sono un messaggio di errore filosofo"); } var prog = combo.SelectedItem as PersisterMapper <ProgrammazioneGiornaliera>; if (null == prog) { throw new Exception("Vedi sopra, e comunque come è possibile?"); } if (!_inSandbox.ContainsKey(prog.Element.Nome) && !_inSandbox.ContainsKey(prog.Element.Nome + "{Sandbox}")) { _inSandbox.Add(prog.Element.Nome + "{Sandbox}", prog.Element); } var editor = _eFactory.GetEditorHandler(typeof(ProgrammazioneGiornaliera), Documento.getInstance().ModelloRiferimento); editor.CaricaModello(prog); _editor.SottoEditorControl.Controls.Clear(); _editor.SottoEditorControl.Controls.Add(editor.Editor); }