- Timestamp:
- 05/27/09 18:12:38 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.AdvancedOptimizationFrontend/3.3/MainForm.cs
r1853 r1921 184 184 else { 185 185 editor.Filename = task.filename; 186 editor.SaveFinished += new EventHandler(SaveFinished); 186 187 PluginManager.ControlManager.ShowControl(editor); 187 188 } … … 193 194 } 194 195 } 196 195 197 private void Save(EditorForm form) { 196 198 if (form.Editor.Filename == null) 197 199 SaveAs(form); 198 200 else { 201 Cursor = Cursors.AppStarting; 199 202 lock (locker) runningTasks++; 200 Cursor = Cursors.AppStarting;201 ((Control)form.Editor).Enabled = false;202 203 EnableDisableItems(); 203 Task task = new Task(form.Editor.Filename, form.Editor.Item, form.Editor); 204 ThreadPool.QueueUserWorkItem(new WaitCallback(AsynchronousSave), task); 204 form.Editor.Save(); 205 205 } 206 206 } 207 207 private void SaveAs(EditorForm form) { 208 if (form.Editor.Compressed) 209 saveFileDialog.FilterIndex = 2; 210 else 211 saveFileDialog.FilterIndex = 1; 212 208 213 if (saveFileDialog.ShowDialog(this) == DialogResult.OK) { 209 214 form.Editor.Filename = saveFileDialog.FileName; 215 form.Editor.Compressed = saveFileDialog.FilterIndex == 2; 210 216 Save(form); 211 217 } 212 213 } 214 private void AsynchronousSave(object state) { 215 Task task = (Task)state; 216 try { 217 PersistenceManager.Save(task.storable, task.filename); 218 } catch (Exception e) { 219 MessageBox.Show(String.Format( 220 "Sorry couldn't save file \"{0}\".\n The following exception occurred: {1}", 221 task.filename, e.ToString()), 222 "Reader Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 223 } 224 SaveFinished(task); 225 } 226 private void SaveFinished(Task task) { 218 } 219 private void SaveFinished(object sender, EventArgs e) { 227 220 if (InvokeRequired) 228 Invoke(new TaskFinishedDelegate(SaveFinished), task);221 Invoke(new EventHandler(SaveFinished), sender, e); 229 222 else { 230 ((Control)task.editor).Enabled = true;231 223 EnableDisableItems(); 232 224 lock (locker) { … … 255 247 MessageBox.Show("The selected item doesn't provide an editor.", "Editor Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 256 248 } else { 249 editor.SaveFinished += new EventHandler(SaveFinished); 257 250 PluginManager.ControlManager.ShowControl(editor); 258 251 EnableDisableItems();
Note: See TracChangeset
for help on using the changeset viewer.