public ModelControlPresenter(ModelDialog control, Modello precedente) : this(control) { int index = ((List <ModelDescriptor>)ModelDialog.Combo.DataSource).IndexOf(_gestoreModelli.GetFromModello(precedente)); if (index >= 0) { ModelDialog.Combo.SelectedIndex = index; Result = precedente; ModelDialog.PreviewPanel.Refresh(); } }
private void OnPreviewClicked(object sender, EventArgs args) { object[] argomenti = CalcolaArgomenti(); Result = CostruisciModello(_control.SelectedModel.Tipo, argomenti); ModelDialog.SuspendLayout(); if (ModelDialog.PreviewButton == sender) { ModelDialog.PreviewPanel.Refresh(); } ModelDialog.ResumeLayout(); }
/// <summary> /// Visualizza il dialogo (modale) per la scelta del modello caricando i dati del modello precedente, per poi ritornarne il risultato. /// </summary> public static Modello ShowModelDialog(Modello precedente) { ModelDialog md = new ModelDialog(); ModelControlPresenter presenter = new ModelControlPresenter(md, precedente); using (md) { if (md.ShowDialog() == DialogResult.OK) { return(presenter.Result); } return(null); } }
/// <summary> /// Dato un modello, restituisce il ModelDescriptor relativo. /// </summary> public ModelDescriptor GetFromModello(Modello modello) { Type t = modello.GetType(); return((from ModelDescriptor md in _modelli where md.Tipo == t select md).Single()); }