Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/08/10 00:20:29 (14 years ago)
Author:
swagner
Message:

Refactored enabling and disabling of save buttons and menu items to prevent saving of running algorithms (#685)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Optimizer/3.3/FileManager.cs

    r2960 r2961  
    2626using System.Threading;
    2727using System.Windows.Forms;
    28 using HeuristicLab.Core;
    2928using HeuristicLab.Core.Views;
    3029using HeuristicLab.MainForm;
     
    108107    }
    109108    private static void Save(IContentView view) {
    110       if ((!files.ContainsKey(view)) || (!File.Exists(files[view].Filename))) {
    111         SaveAs(view);
    112       } else {
    113         if (files[view].Compressed)
    114           SaveItemAsync(view, files[view].Filename, 9);
    115         else
    116           SaveItemAsync(view, files[view].Filename, 0);
     109      if (view.SaveEnabled) {
     110        if ((!files.ContainsKey(view)) || (!File.Exists(files[view].Filename))) {
     111          SaveAs(view);
     112        } else {
     113          if (files[view].Compressed)
     114            SaveItemAsync(view, files[view].Filename, 9);
     115          else
     116            SaveItemAsync(view, files[view].Filename, 0);
     117        }
    117118      }
    118119    }
     
    125126    }
    126127    public static void SaveAs(IContentView view) {
    127       if (saveFileDialog == null) {
    128         saveFileDialog = new SaveFileDialog();
    129         saveFileDialog.Title = "Save Item";
    130         saveFileDialog.DefaultExt = "hl";
    131         saveFileDialog.Filter = "Uncompressed HeuristicLab Files|*.hl|HeuristicLab Files|*.hl|All Files|*.*";
    132         saveFileDialog.FilterIndex = 2;
    133       }
    134 
    135       if (!files.ContainsKey(view)) {
    136         files.Add(view, new FileInfo());
    137         saveFileDialog.FileName = view.Caption;
    138       } else {
    139         saveFileDialog.FileName = files[view].Filename;
    140       }
    141       if (! files[view].Compressed)
    142         saveFileDialog.FilterIndex = 1;
    143       else
    144         saveFileDialog.FilterIndex = 2;
    145 
    146       if (saveFileDialog.ShowDialog() == DialogResult.OK) {
    147         if (saveFileDialog.FilterIndex == 1) {
    148           SaveItemAsync(view, saveFileDialog.FileName, 0);
     128      if (view.SaveEnabled) {
     129        if (saveFileDialog == null) {
     130          saveFileDialog = new SaveFileDialog();
     131          saveFileDialog.Title = "Save Item";
     132          saveFileDialog.DefaultExt = "hl";
     133          saveFileDialog.Filter = "Uncompressed HeuristicLab Files|*.hl|HeuristicLab Files|*.hl|All Files|*.*";
     134          saveFileDialog.FilterIndex = 2;
     135        }
     136
     137        if (!files.ContainsKey(view)) {
     138          files.Add(view, new FileInfo());
     139          saveFileDialog.FileName = view.Caption;
    149140        } else {
    150           SaveItemAsync(view, saveFileDialog.FileName, 9);
     141          saveFileDialog.FileName = files[view].Filename;
     142        }
     143        if (!files[view].Compressed)
     144          saveFileDialog.FilterIndex = 1;
     145        else
     146          saveFileDialog.FilterIndex = 2;
     147
     148        if (saveFileDialog.ShowDialog() == DialogResult.OK) {
     149          if (saveFileDialog.FilterIndex == 1) {
     150            SaveItemAsync(view, saveFileDialog.FileName, 0);
     151          } else {
     152            SaveItemAsync(view, saveFileDialog.FileName, 9);
     153          }
    151154        }
    152155      }
     
    154157
    155158    public static void SaveAll() {
    156       var views = from v in MainFormManager.MainForm.Views
    157                   where v is IContentView
    158                   select v as IContentView;
    159 
    160       foreach (IContentView view in views) {
    161         ItemView itemView = view as ItemView;
    162         if ((itemView == null) || (itemView.EnableFileOperations)) {
    163           Save(view);
    164         }
    165       }
     159      foreach (IContentView view in MainFormManager.MainForm.Views.OfType<IContentView>())
     160        Save(view);
    166161    }
    167162
     
    211206            try {
    212207              SetWaitingCursor();
    213               IItem item = (IItem)XmlParser.Deserialize(filename);
     208              object content = XmlParser.Deserialize(filename);
    214209              Invoke(delegate() {
    215                 IContentView view = MainFormManager.CreateDefaultView(item) as IContentView;
     210                IContentView view = MainFormManager.CreateDefaultView(content) as IContentView;
    216211                if (view == null) {
    217212                  MessageBox.Show("There is no view for the loaded item. It cannot be displayed. ", "No View Available", MessageBoxButtons.OK, MessageBoxIcon.Error);
Note: See TracChangeset for help on using the changeset viewer.