//------------------------------------------------------------------------- // Rebuild the layers control. This is usually done after a picture change //------------------------------------------------------------------------- public void RebuildLayerControls() { // Delete current layer controls SuspendDraw.Suspend(LayerDisplayPanel); //suspend redraw to reduce lag //LayerDisplayPanel.SuspendLayout(); LayerDisplayPanel.Controls.Clear(); m_layerControls.Clear(); // Cycle through each layer List <LayerControl> controls = new List <LayerControl>(); foreach (Layer layer in m_canvasSession.GetPicture().layers) { LayerControl lc = new LayerControl(layer.Name, layer.ID); lc.layerNameChanged += new LayerNameChaged(OnLayerNameChange); lc.layerControlSelected += new LayerControlSelected(OnLayerSelectionChange); lc.layerDragStart += LayerControl_StartDrag; m_layerControls.Add(lc.GetLayerID(), lc); this.LayerDisplayPanel.Controls.Add(lc); controls.Add(lc); } foreach (Layer layer in m_canvasSession.GetPicture().layers) { UpdateThumbnail(layer.ID); } if (selectedIndex != null && m_layerControls.ContainsKey(selectedIndex)) { OnLayerSelectionChange(m_layerControls[selectedIndex]); } //LayerDisplayPanel.ResumeLayout(); SuspendDraw.Resume(LayerDisplayPanel); }
//------------------------------------------------------------------------- // Rebuild the layers control. This is usually done after a picture change //------------------------------------------------------------------------- public void RebuildLayerControls() { // Delete current layer controls SuspendDraw.Suspend(LayerDisplayPanel); //suspend redraw to reduce lag //LayerDisplayPanel.SuspendLayout(); LayerDisplayPanel.Controls.Clear(); m_layerControls.Clear(); // Cycle through each layer List<LayerControl> controls = new List<LayerControl>(); foreach (Layer layer in m_canvasSession.GetPicture().layers) { LayerControl lc = new LayerControl(layer.Name, layer.ID); lc.layerNameChanged += new LayerNameChaged(OnLayerNameChange); lc.layerControlSelected += new LayerControlSelected(OnLayerSelectionChange); lc.layerDragStart += LayerControl_StartDrag; m_layerControls.Add(lc.GetLayerID(), lc); this.LayerDisplayPanel.Controls.Add(lc); controls.Add(lc); } foreach (Layer layer in m_canvasSession.GetPicture().layers) { UpdateThumbnail(layer.ID); } if (m_layerControls.ContainsKey(selectedIndex)) { OnLayerSelectionChange(m_layerControls[selectedIndex]); } //LayerDisplayPanel.ResumeLayout(); SuspendDraw.Resume(LayerDisplayPanel); }
private void LayerControl_StartDrag(object sender, MouseEventArgs e) { _draggedLayer = sender as LayerControl; if (_draggedLayer != null) { _draggedLayerStartIndex = LayerDisplayPanel.Controls.IndexOf(_draggedLayer); this.LayerDisplayPanel.DoDragDrop(_draggedLayer, DragDropEffects.Move); } }
//------------------------------------------------------------------------- // Set the selected layer index //------------------------------------------------------------------------- public void SetActiveLayerControl(int layerIndex) { // Deactivate the currently selected layer if (selectedLayerControl != null) { selectedLayerControl.LayerDeactivated(); } // Set the currently selected layer to the new layer selectedLayerControl = (LayerControl)LayerDisplayPanel.Controls[layerIndex]; // Activate the newly selected layer selectedLayerControl.LayerActivated(); }
//------------------------------------------------------------------------- // Set the selected layer //------------------------------------------------------------------------- public void SetActiveLayerControl(LayerControl layerControl) { // Deactivate the currently selected layer if (selectedLayerControl != null) { selectedLayerControl.LayerDeactivated(); } // Activate the newly selected layer layerControl.LayerActivated(); // Set the currently selected layer to the new layer selectedLayerControl = layerControl; }
private void LayerDisplayPanel_DragDrop(object sender, DragEventArgs e) { int resultingIndex = LayerDisplayPanel.Controls.IndexOf(_draggedLayer); if (_draggedLayerStartIndex != resultingIndex) { var order = new List <string>(); foreach (LayerControl lc in LayerDisplayPanel.Controls) { order.Add(lc.GetLayerID()); } m_canvasSession.Gui_SetLayerOrder(order.ToArray()); } _draggedLayer = null; }
//------------------------------------------------------------------------- // Event handler for a layer selection event //------------------------------------------------------------------------- private void OnLayerSelectionChange(LayerControl layerControl) { selectedIndex = layerControl.GetLayerID(); foreach (LayerControl lc in m_layerControls.Values) { if (lc == layerControl) { lc.LayerActivated(); } else { lc.LayerDeactivated(); } } }
//------------------------------------------------------------------------- // Rebuild the layers control. This is usually done after a picture change //------------------------------------------------------------------------- public void RebuildLayerControls() { // Delete current layer controls LayerDisplayPanel.Controls.Clear(); // Cycle through each layer int layerIndex = 0; foreach (Layer layer in currentPicture.layers) { LayerControl lc = new LayerControl(layer, layerIndex++); lc.layerNameChanged += new LayerNameChaged(OnLayerNameChange); lc.layerControlSelected += new LayerControlSelected(OnLayerSelectionChange); if(layerIndex == active) this.LayerDisplayPanel.Controls.Add(lc); } }
//------------------------------------------------------------------------- // Rebuild the layers control. This is usually done after a picture change //------------------------------------------------------------------------- public void RebuildLayerControls() { // Delete current layer controls LayerDisplayPanel.Controls.Clear(); // Cycle through each layer int layerIndex = 0; foreach (Layer layer in currentPicture.layers) { LayerControl lc = new LayerControl(layer, layerIndex++); lc.layerNameChanged += new LayerNameChaged(OnLayerNameChange); lc.layerControlSelected += new LayerControlSelected(OnLayerSelectionChange); if (layerIndex == active) { this.LayerDisplayPanel.Controls.Add(lc); } } }
//------------------------------------------------------------------------- // Set the selected layer index //------------------------------------------------------------------------- public void SetActiveLayerControl(int layerIndex) { // Deactivate the currently selected layer if (selectedLayerControl != null) selectedLayerControl.LayerDeactivated(); // Set the currently selected layer to the new layer selectedLayerControl = (LayerControl)LayerDisplayPanel.Controls[layerIndex]; // Activate the newly selected layer selectedLayerControl.LayerActivated(); }
//------------------------------------------------------------------------- // Event handler for a layer selection event //------------------------------------------------------------------------- private void OnLayerSelectionChange(LayerControl layerControl) { selectedIndex = layerControl.GetLayerID(); foreach(LayerControl lc in m_layerControls.Values) { if (lc == layerControl) lc.LayerActivated(); else lc.LayerDeactivated(); } }
private void LayerDisplayPanel_DragDrop(object sender, DragEventArgs e) { int resultingIndex = LayerDisplayPanel.Controls.IndexOf(_draggedLayer); if (_draggedLayerStartIndex != resultingIndex) { var order = new List<string>(); foreach (LayerControl lc in LayerDisplayPanel.Controls) order.Add(lc.GetLayerID()); m_canvasSession.Gui_SetLayerOrder(order.ToArray()); } _draggedLayer = null; }
//------------------------------------------------------------------------- // Set the selected layer //------------------------------------------------------------------------- public void SetActiveLayerControl(LayerControl layerControl) { // Deactivate the currently selected layer if (selectedLayerControl != null) selectedLayerControl.LayerDeactivated(); // Activate the newly selected layer layerControl.LayerActivated(); // Set the currently selected layer to the new layer selectedLayerControl = layerControl; }
//------------------------------------------------------------------------- // Contructor //------------------------------------------------------------------------- public LayerControlForm() { InitializeComponent(); selectedLayerControl = null; }
//------------------------------------------------------------------------- // Event handler for a layer selection event //------------------------------------------------------------------------- private void OnLayerSelectionChange(LayerControl layerControl) { SetActiveLayerControl(layerControl); }