public Collection <MenuItem> GetLayerListItemContextMenuItems(GetLayerListItemContextMenuParameters parameters) { Collection <MenuItem> menuItems = new Collection <MenuItem>(); menuItems.Add(LayerListMenuItemHelper.GetMovementMenuItem(MovementAction.Up)); menuItems.Add(LayerListMenuItemHelper.GetMovementMenuItem(MovementAction.Down)); menuItems.Add(LayerListMenuItemHelper.GetMovementMenuItem(MovementAction.ToTop)); menuItems.Add(LayerListMenuItemHelper.GetMovementMenuItem(MovementAction.ToBottom)); //menuItems.Add(new MenuItem() { Header = "--" }); menuItems.Add(LayerListMenuItemHelper.GetZoomToExtentMenuItem()); menuItems.Add(LayerListMenuItemHelper.GetRenameMenuItem()); menuItems.Add(LayerListMenuItemHelper.GetRemoveLayerMenuItem()); //menuItems.Add(new MenuItem() { Header = "--" }); float transparency = 255; RasterLayer rasterLayer = parameters.LayerListItem.ConcreteObject as RasterLayer; if (rasterLayer != null) { transparency = rasterLayer.Transparency; } else { transparency = ((Layer)parameters.LayerListItem.ConcreteObject).Transparency; } menuItems.Add(LayerListMenuItemHelper.GetTransparencyMenuItem( transparency)); Collection <MenuItem> newMenuItems = GetLayerListItemContextMenuItemsCore(parameters); foreach (MenuItem menuItem in newMenuItems) { menuItems.Add(menuItem); } return(menuItems); }
protected virtual ObservableCollection <MenuItem> GetLayerListContextMenuItemsCore(LayerListItem layerListItem) { ObservableCollection <MenuItem> menuItems = new ObservableCollection <MenuItem>(); var args = new GetLayerListItemContextMenuParameters(layerListItem); foreach (var item in layerListItem.ContextMenuItems) { menuItems.Add(item); } if (layerListItem.ConcreteObject is Layer) { var layerPlugin = GisEditor.LayerManager.GetLayerPlugins(layerListItem.ConcreteObject.GetType()).FirstOrDefault(); if (layerPlugin != null) { foreach (var item in layerPlugin.GetLayerListItemContextMenuItems(args)) { menuItems.Add(item); } } } else if (layerListItem.ConcreteObject is Styles.Style) { var stylePlugin = GisEditor.StyleManager.GetStylePluginByStyle((Styles.Style)layerListItem.ConcreteObject); if (stylePlugin != null) { foreach (var item in stylePlugin.GetLayerListItemContextMenuItems(args)) { menuItems.Add(item); } } Styles.Style style = (Styles.Style)layerListItem.ConcreteObject; if (style is CompositeStyle) { CompositeStyle compositeStyle = (CompositeStyle)style; if (compositeStyle.Styles.Count == 1 && !(compositeStyle.Styles[0] is FilterStyle) && compositeStyle.Styles[0].Filters != null && compositeStyle.Styles[0].Filters.Count > 0) { MenuItem menuItem = GetFilteredDataMenuItem(layerListItem); menuItems.Add(menuItem); MenuItem exportMenuItem = GetExportFilterMenuItem(layerListItem); menuItems.Add(exportMenuItem); MenuItem zoomtoMenuItem = GetZoomToFilteredDataMenuItem(layerListItem); menuItems.Add(zoomtoMenuItem); } } else if (!(style is FilterStyle) && style.Filters != null && style.Filters.Count > 0) { MenuItem menuItem = GetFilteredDataMenuItem(layerListItem); menuItems.Add(menuItem); MenuItem zoomtoMenuItem = GetZoomToFilteredDataMenuItem(layerListItem); menuItems.Add(zoomtoMenuItem); } } foreach (var uiPlugin in GisEditor.UIManager.GetActiveUIPlugins()) { var tmpItems = uiPlugin.GetLayerListItemContextMenuItems(args); if (tmpItems != null && tmpItems.Count > 0) { menuItems.Add(new MenuItem { Header = "--" }); foreach (var tmItem in tmpItems) { menuItems.Add(tmItem); } } } return(menuItems); }
protected virtual Collection <MenuItem> GetLayerListItemContextMenuItemsCore(GetLayerListItemContextMenuParameters parameters) { return(new Collection <MenuItem>()); }
public Collection <MenuItem> GetLayerListItemContextMenuItems(GetLayerListItemContextMenuParameters parameters) { return(GetLayerListItemContextMenuItemsCore(parameters)); }