Ejemplo n.º 1
0
        private void UndoRedo_LayerRemove(UndoRedoLayerAddRemove[] items)
        {
            foreach (UndoRedoLayerAddRemove item in items)
            {
                if (_parts[item.LayerIndex].Count > 0)
                {
                    throw new ApplicationException("There shouldn't be any items on the current layer: " + item.LayerIndex.ToString());
                }

                // Remove it
                LayerRow layer = (LayerRow)pnlLayers.Children[item.LayerIndex];
                layer.LayerVisibilityChanged -= new EventHandler(Layer_LayerVisibilityChanged);
                layer.GotFocus -= new RoutedEventHandler(LayerRow_GotFocus);

                pnlLayers.Children.RemoveAt(item.LayerIndex + 1);		// row at zero is AllLayers, so it's shifted by one
                _parts.RemoveAt(item.LayerIndex);

                // Change layers
                int newIndex = item.LayerIndex;
                if (newIndex >= _parts.Count)
                {
                    newIndex = _parts.Count - 1;
                }

                ChangeLayer(newIndex, false);
            }
        }
Ejemplo n.º 2
0
        private void UndoRedo_LayerAdd(UndoRedoLayerAddRemove[] items)
        {
            foreach (UndoRedoLayerAddRemove item in items)
            {
                LayerRow layer = new LayerRow(_options.EditorColors);
                //layer.LayerName = "Layer " + (item.LayerIndex + 1).ToString();
                layer.LayerName = item.Name;
                layer.IsLayerVisible = true;

                layer.LayerVisibilityChanged += new EventHandler(Layer_LayerVisibilityChanged);
                layer.GotFocus += new RoutedEventHandler(LayerRow_GotFocus);

                pnlLayers.Children.Insert(item.LayerIndex + 1, layer);		// row at zero is AllLayers, so it's shifted by one
                _parts.Insert(item.LayerIndex, new List<DesignPart>());

                ChangeLayer(item.LayerIndex, true);
            }
        }