protected virtual void OnGettingLayerListItemContextMenuItems(GettingLayerListItemContextMenuItemsEventArgs e) { EventHandler <GettingLayerListItemContextMenuItemsEventArgs> handler = GettingLayerListItemContextMenuItems; if (handler != null) { handler(this, e); } }
public ObservableCollection <MenuItem> GetLayerListContextMenuItems(LayerListItem layerListItem) { ObservableCollection <MenuItem> menuItems = null; GettingLayerListItemContextMenuItemsEventArgs gettingLayerListItemContextMenuItemsEventArgs = new GettingLayerListItemContextMenuItemsEventArgs(null); OnGettingLayerListItemContextMenuItems(gettingLayerListItemContextMenuItemsEventArgs); if (!gettingLayerListItemContextMenuItemsEventArgs.Cancel) { menuItems = GetLayerListContextMenuItemsCore(layerListItem); GottenLayerListItemContextMenuItemsEventArgs gottenLayerListItemContextMenuItemsEventArgs = new GottenLayerListItemContextMenuItemsEventArgs(menuItems); OnGottenLayerListItemContextMenuItems(gottenLayerListItemContextMenuItemsEventArgs); IEnumerable <MenuItem> resultMenuItems = gettingLayerListItemContextMenuItemsEventArgs.MenuItems.Concat(gottenLayerListItemContextMenuItemsEventArgs.MenuItems); if (layerListItem.ConcreteObject is Layer) { menuItems = OrderMenuItems(new ObservableCollection <MenuItem>(resultMenuItems), (Layer)layerListItem.ConcreteObject); } else { menuItems = new ObservableCollection <MenuItem>(resultMenuItems); } } else { menuItems = gettingLayerListItemContextMenuItemsEventArgs.MenuItems; } if (menuItems != null) { MenuItem menuItem = menuItems.FirstOrDefault(m => m.Header.Equals(GisEditor.LanguageManager.GetStringResource("MapElementsListPluginProperties"))); if (menuItem != null) { menuItems.Remove(menuItem); menuItems.Add(menuItem); } } return(menuItems); }