Changeset 4453 for trunk/sources/HeuristicLab.Core.Views/3.3/Clipboard.cs
- Timestamp:
- 09/20/10 15:08:50 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Core.Views/3.3/Clipboard.cs
r4447 r4453 178 178 179 179 int i = 0; 180 var query = from item in itemListViewItemTable.Keys 181 let views = MainFormManager.MainForm.Views.OfType<IContentView>().Where(v => v.Content == item) 182 where !views.Any(v => v.Locked) 183 select item; 184 T[] items = query.ToArray(); 180 T[] items = GetStorableItems(itemListViewItemTable.Keys); 185 181 186 182 foreach (T item in items) { … … 198 194 OnAllItemsSaved(); 199 195 } 196 200 197 private void OnItemSaved(T item, int progress) { 201 198 if (item != null) { … … 223 220 views.ForEach(v => v.Enabled = enabled); 224 221 } 222 } 223 224 private static T[] GetStorableItems(IEnumerable<T> items) { 225 var query = from item in items 226 let executeable = item as IExecutable 227 let views = MainFormManager.MainForm.Views.OfType<IContentView>().Where(v => v.Content == item) 228 where executeable == null || executeable.ExecutionState != ExecutionState.Started 229 where !views.Any(v => v.Locked) 230 select item; 231 T[] itemArray = query.ToArray(); 232 return itemArray; 225 233 } 226 234 #endregion … … 321 329 } 322 330 private void saveButton_Click(object sender, EventArgs e) { 323 var query = (from item in itemListViewItemTable.Keys 324 let views = MainFormManager.MainForm.Views.OfType<IContentView>().Where(v => v.Content == item) 325 where views.Any(v => v.Locked) 326 select item.ToString()).ToArray(); 327 if (query.Length != 0) { 328 string itemNames = string.Join(Environment.NewLine, query); 329 MessageBox.Show("Could not save the following items, because they are locked (e.g. used in a running algorithm). All other items will be saved." + Environment.NewLine + itemNames); 331 IEnumerable<T> items = itemListViewItemTable.Keys.Except(GetStorableItems(itemListViewItemTable.Keys)); 332 if (items.Any()) { 333 string itemNames = string.Join(Environment.NewLine, items.Select(item => item.ToString()).ToArray()); 334 MessageBox.Show("The following items could not be saved, because they are locked (e.g. used in a running algorithm). All other items will be saved." + 335 Environment.NewLine + itemNames, "Could not save all items", MessageBoxButtons.OK, MessageBoxIcon.Warning); 330 336 } 331 337 Save();
Note: See TracChangeset
for help on using the changeset viewer.