public static bool ExecuteMarkerAction(MarkerAction markerAction, IEnumerable <IMarker> markers) { if (markers != null && markers.Any() && markerAction.Validate(markers) == ActionValidity.Valid) { if (markerAction.HasAutoUndo()) { UndoExtensions.RegisterMarkers(markers, markerAction.GetUndoName()); } return(markerAction.Execute(markers)); } return(false); }
static void BuildMenu(MarkerAction action, IEnumerable <IMarker> markers, List <MenuActionItem> menuItems, MenuFilter filter) { BuildMenu(action, action.Validate(markers), () => ExecuteMarkerAction(action, markers), menuItems, filter); }