示例#1
0
        public void AddEditor(ItemEditor editor)
        {
            var possibleDuplicate = allEditors( ).FirstOrDefault(e => e.Name == editor.Name);

            if (possibleDuplicate != null)
            {
                throw new InvalidOperationException(
                          @"Cannot add editor '{0}' into layer '{1}' as an editor of the same name exists in layer '{2}'.".FormatWith(
                              editor.Name, editor.ParentLayer.Name, possibleDuplicate.ParentLayer.Name));
            }

            if (allEditors().Any(e => e == editor))
            {
                throw new InvalidOperationException(
                          @"Cannot add editor '{0}' into layer '{1}' as the same editor has already been added.".FormatWith(
                              editor.Name, editor.ParentLayer.Name));
            }

            editor.ParentLayer.AddEditor(editor);

            ActiveLayer = editor.ParentLayer;
        }
示例#2
0
 public void NotifyChanged(ItemEditor item)
 {
     tryFire(() => ItemChanged, item);
 }
示例#3
0
        public void ToggleSelectionOnItem(ItemEditor item)
        {
            item.ToggleSelection( );

            tryFire(() => SelectionChanged, Level.SelectedEditors);
        }
示例#4
0
        public void AddEditorToSelection(ItemEditor editor)
        {
            Level.SelectEditor(editor);

            tryFire(() => SelectionChanged, Level.SelectedEditors);
        }