Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/07/09 02:24:34 (15 years ago)
Author:
swagner
Message:

Refactoring of the saving mechanism for editors (#685)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.AdvancedOptimizationFrontend/3.2/MainForm.cs

    r2105 r2143  
    100100    /// is neither a view nor an editor.</exception>
    101101    /// <param name="control">The control to display.</param>
    102     delegate void ShowControlDelegate(IControl control);
    103102    public void ShowControl(IControl control) {
    104103      if (InvokeRequired) Invoke((Action<IControl>)ShowControl,control);
     
    183182        else {
    184183          editor.Filename = task.filename;
     184          editor.SaveFinished += new EventHandler(SaveFinished);
    185185          PluginManager.ControlManager.ShowControl(editor);
    186186        }
     
    198198        lock (locker) runningTasks++;
    199199        Cursor = Cursors.AppStarting;
    200         ((Control)form.Editor).Enabled = false;
    201200        EnableDisableItems();
    202         Task task = new Task(form.Editor.Filename, form.Editor.Item, form.Editor);
    203         ThreadPool.QueueUserWorkItem(new WaitCallback(AsynchronousSave), task);
     201        form.Editor.Save();
    204202      }
    205203    }
     
    210208      }
    211209    }
    212     private void AsynchronousSave(object state) {
    213       Task task = (Task)state;
    214       PersistenceManager.Save(task.storable, task.filename);
    215       SaveFinished(task);
    216     }
    217     private void SaveFinished(Task task) {
     210    private void SaveFinished(object sender, EventArgs e) {
    218211      if (InvokeRequired)
    219         Invoke(new TaskFinishedDelegate(SaveFinished), task);
     212        Invoke(new EventHandler(SaveFinished), sender, e);
    220213      else {
    221         ((Control)task.editor).Enabled = true;
    222214        EnableDisableItems();
    223215        lock (locker) {
     
    246238          MessageBox.Show("The selected item doesn't provide an editor.", "Editor Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    247239        } else {
     240          editor.SaveFinished += new EventHandler(SaveFinished);
    248241          PluginManager.ControlManager.ShowControl(editor);
    249242          EnableDisableItems();
Note: See TracChangeset for help on using the changeset viewer.