private void menuItem_Click(object sender, EventArgs e) { if (_layerNode == null) { return; } LayerMenuItem mi = sender as LayerMenuItem; if (mi != null) { if (mi.Id == AddLayer) { if (mi.Parent != null) { AnnLayer newLayer = AnnLayer.Create("Layer"); _layerNode.Nodes.Add(new LayerNode(newLayer, this)); if (_layerNode.Tag != null && string.Compare((string)_layerNode.Tag, "Container") == 0) { _automation.AddLayer(null, newLayer); } else { _automation.AddLayer(_layerNode.Layer, newLayer); } } } else if (mi.Id == DeleteLayer) { _automation.DeleteLayer(_layerNode.Layer, false); _layerNode.Parent.Nodes.Remove(_layerNode); } else if (mi.Id == BringToFirstId) { _automation.BringLayerToFront(true); } else if (mi.Id == BringToFrontId) { _automation.BringLayerToFront(false); } else if (mi.Id == SendToBackId) { _automation.SendLayerToBack(false); } else if (mi.Id == SendToLastId) { _automation.SendLayerToBack(true); } } if (_automation != null) { _automation.Invalidate(LeadRectD.Empty); } }
internal LayerMenuItem GetMenuItem(int id) { foreach (MenuItem i in MenuItems) { if (i is LayerMenuItem) { LayerMenuItem mi = i as LayerMenuItem; if (mi.Id == id) { return(mi); } } } return(null); }
protected override void OnPopup(EventArgs e) { AnnLayer parentLayer = _layerNode.Layer.Parent; bool isContainer = _layerNode.Tag != null && string.Compare((string)_layerNode.Tag, "Container") == 0; LayerMenuItem mi = GetMenuItem(DeleteLayer); if (mi != null) { mi.Enabled = !isContainer; } mi = GetMenuItem(BringToFrontId); if (mi != null) { mi.Enabled = _automation.CanBringLayerToFront; } mi = GetMenuItem(SendToBackId); if (mi != null) { mi.Enabled = _automation.CanSendLayerToBack; } mi = GetMenuItem(BringToFirstId); if (mi != null) { mi.Enabled = _automation.CanBringLayerToFirst; } mi = GetMenuItem(SendToLastId); if (mi != null) { mi.Enabled = _automation.CanSendLayerToLast; } base.OnPopup(e); }