WorkflowMenuCommands Class

 
Note: This API is now obsolete.

Defines a set of CommandID fields that each corresponds to a command function provided by the workflow designers. This class cannot be inherited.

Namespace:   System.Workflow.ComponentModel.Design
Assembly:  System.Workflow.ComponentModel (in System.Workflow.ComponentModel.dll)

System.Object
  System.ComponentModel.Design.StandardCommands
    System.Workflow.ComponentModel.Design.WorkflowMenuCommands

[ObsoleteAttribute("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public sealed class WorkflowMenuCommands : StandardCommands

NameDescription
System_CAPS_pubmethodWorkflowMenuCommands()

Initializes a new instance of the WorkflowMenuCommands class.

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubfieldSystem_CAPS_staticBreakpointActionMenu

Gets the CommandID for the breakpoint action menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticBreakpointConditionMenu

Gets the CommandID for the breakpoint condition menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticBreakpointConstraintsMenu

Gets the CommandID for the breakpoint constraints menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticBreakpointHitCountMenu

Gets the CommandID for the breakpoint hit count menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticBreakpointLocationMenu

Gets the CommandID for the breakpoint location menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticChangeTheme

Gets the CommandID for the change theme menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticClearBreakpointsMenu

A CommandID that can be used to access the clear breakpoints menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticCollapse

A CommandID that can be used to access the collapse menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticCopyToClipboard

A CommandID that can be used to access the copy menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticCreateTheme

A CommandID that can be used to access the create theme menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDebugCommandSetId

Provides a unique identifier for the debug command set. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDebugStepBranchMenu

A CommandID that can be used to access the debug step branch menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDebugStepInstanceMenu

A CommandID that can be used to access the debug step instance menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDebugWorkflowGroupId

Provides a unique identifier for the debug workflow group of menus. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDefaultFilter

A CommandID that can be used to access the default filter menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDefaultPage

A CommandID that can be used to access the default page menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDesignerActionsMenu

A CommandID that can be used to access the designer actions menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDesignerProperties

A CommandID that can be used to access the designer properties menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticDisable

A CommandID that can be used to access the disable menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticEnable

A CommandID that can be used to access the enable menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticEnableBreakpointMenu

A CommandID that can be used to access the enable breakpoint menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticExecutionStateMenu

A CommandID that can be used to access the execution state menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticExpand

A CommandID that can be used to access the expand menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticFirstZoomCommand

A CommandID that can be used to access the zoom first menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticGotoDisassemblyMenu

A CommandID that can be used to access the goto disassembly menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticInsertBreakpointMenu

A CommandID that can be used to access the insert breakpoint menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticInsertTracePointMenu

A CommandID that can be used to access the insert tracepoint menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticLastZoomCommand

A CommandID that can be used to access the zoom last menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticMenuGuid

Provides a unique identifier for the menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticNewDataBreakpointMenu

A CommandID that can be used to access the new data breakpoint menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticNewFileTracePointMenu

A CommandID that can be used to access the new file tracepoint menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPageDown

A CommandID that can be used to access the PageDown menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPageLayoutMenu

A CommandID that can be used to access the page layout menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPageSetup

A CommandID that can be used to access the page setup menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPageUp

A CommandID that can be used to access the PageUp menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPan

A CommandID that can be used to access the pan menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPanMenu

A CommandID that can be used to access the pan menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPrint

A CommandID that can be used to access the print menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPrintPreview

A CommandID that can be used to access the print preview menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticPrintPreviewPage

A CommandID that can be used to access the print preview page menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticRunToCursorMenu

A CommandID that can be used to access the run to cursor menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticSaveAsImage

A CommandID that can be used to access the save as image menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticSelectionMenu

A CommandID that can be used to access the selection menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticSetNextStatementMenu

A CommandID that can be used to access the set next statement menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticShowAll

A CommandID that can be used to access the show all menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticShowNextStatementMenu

A CommandID that can be used to access the show next statement menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticToggleBreakpointMenu

A CommandID that can be used to access the toggle breakpoint menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticVerbGroupActions

A CommandID that can be used to access the verb group actions menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticVerbGroupDesignerActions

A CommandID that can be used to access the verb group designer actions menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticVerbGroupEdit

A CommandID that can be used to access the edit verb group menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticVerbGroupGeneral

A CommandID that can be used to access the general verb group menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticVerbGroupMisc

A CommandID that can be used to access the miscellaneous verb group menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticVerbGroupOptions

A CommandID that can be used to access the options verb group menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticVerbGroupView

A CommandID that can be used to access the view verb group menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticWorkflowCommandSetId

Provides a unique identifier for the workflow command set. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticWorkflowToolBar

A CommandID that can be used to access the workflow toolbar menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoom100Mode

A CommandID that can be used to access the zoom 100% menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoom150Mode

A CommandID that can be used to access the zoom 150% menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoom200Mode

A CommandID that can be used to access the zoom 200% menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoom300Mode

A CommandID that can be used to access the zoom 300% menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoom400Mode

A CommandID that can be used to access the zoom 400% menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoom50Mode

A CommandID that can be used to access the zoom 50% menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoom75Mode

A CommandID that can be used to access the zoom 75% menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoomIn

A CommandID that can be used to access the zoom in menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoomLevelCombo

A CommandID that can be used to access the zoom level combo menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoomLevelListHandler

A CommandID that can be used to access the zoom level list handler menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoomMenu

A CommandID that can be used to access the zoom menu. This field is read-only.

System_CAPS_pubfieldSystem_CAPS_staticZoomOut

A CommandID that can be used to access the zoom out menu. This field is read-only.

System_CAPS_noteNote

This material discusses types and namespaces that are obsolete. For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

WorkflowMenuCommands contains a set of CommandID fields that can be used to specify a command to link when adding a command using the AddCommand method of the IMenuCommandService.

The following example demonstrates how to create a custom MenuCommandService. In this example, a context menu is created when the ShowContextMenu is called. In the GetSelectionMenuItems method, the WorkflowMenuCommands class is utilized to associate the proper menu commands provided by the workflow designer with their corresponding text. When this is finished, an event handler is associated with each command so that when the command is selected, the appropriate MenuCommand is invoked.

internal sealed class WorkflowMenuCommandService : MenuCommandService
{
    public WorkflowMenuCommandService(IServiceProvider serviceProvider)
        : base(serviceProvider)
    {
    }

    public override void ShowContextMenu(CommandID menuID, int x, int y)
    {
        if (menuID == WorkflowMenuCommands.SelectionMenu)
        {
            ContextMenu contextMenu = new ContextMenu();

            foreach (DesignerVerb verb in Verbs)
            {
                MenuItem menuItem = new MenuItem(verb.Text, new EventHandler(OnMenuClicked));
                menuItem.Tag = verb;
                contextMenu.MenuItems.Add(menuItem);
            }

            MenuItem[] items = GetSelectionMenuItems();
            if (items.Length > 0)
            {
                contextMenu.MenuItems.Add(new MenuItem("-"));
                foreach (MenuItem item in items)
                    contextMenu.MenuItems.Add(item);
            }

            WorkflowView workflowView = GetService(typeof(WorkflowView)) as WorkflowView;
            if (workflowView != null)
                contextMenu.Show(workflowView, workflowView.PointToClient(new Point(x, y)));
        }
    }

    private MenuItem[] GetSelectionMenuItems()
    {
        List<MenuItem> menuItems = new List<MenuItem>();

        bool addMenuItems = true;
        ISelectionService selectionService = GetService(typeof(ISelectionService)) as ISelectionService;
        if (selectionService != null)
        {
            foreach (object obj in selectionService.GetSelectedComponents())
            {
                if (!(obj is Activity))
                {
                    addMenuItems = false;
                    break;
                }
            }
        }

        if (addMenuItems)
        {
            Dictionary<CommandID, string> selectionCommands = new Dictionary<CommandID, string>();
            selectionCommands.Add(WorkflowMenuCommands.Cut, "Cut");
            selectionCommands.Add(WorkflowMenuCommands.Copy, "Copy");
            selectionCommands.Add(WorkflowMenuCommands.Paste, "Paste");
            selectionCommands.Add(WorkflowMenuCommands.Delete, "Delete");
            selectionCommands.Add(WorkflowMenuCommands.Collapse, "Collapse");
            selectionCommands.Add(WorkflowMenuCommands.Expand, "Expand");
            selectionCommands.Add(WorkflowMenuCommands.Disable, "Disable");
            selectionCommands.Add(WorkflowMenuCommands.Enable, "Enable");

            foreach (CommandID id in selectionCommands.Keys)
            {
                MenuCommand command = FindCommand(id);
                if (command != null)
                {
                    MenuItem menuItem = new MenuItem(selectionCommands[id], new EventHandler(OnMenuClicked));
                    menuItem.Tag = command;
                    menuItems.Add(menuItem);
                }
            }
        }

        return menuItems.ToArray();
    }

    private void OnMenuClicked(object sender, EventArgs e)
    {
        MenuItem menuItem = sender as MenuItem;
        if (menuItem != null && menuItem.Tag is MenuCommand)
        {
            MenuCommand command = menuItem.Tag as MenuCommand;
            command.Invoke();
        }
    }
}

To enable this service, call the AddService method of the LoaderHost property in a WorkflowDesignerLoader class as shown in the following example.

protected override void Initialize()
{
    base.Initialize();

    IDesignerLoaderHost host = this.LoaderHost;
    if (host != null)
    {
        host.RemoveService(typeof(IIdentifierCreationService));
        host.AddService(typeof(IIdentifierCreationService), new IdentifierCreationService(host));
        host.AddService(typeof(IMenuCommandService), new WorkflowMenuCommandService(host));
        host.AddService(typeof(IToolboxService), new Toolbox(host));
        TypeProvider typeProvider = new TypeProvider(host);
        typeProvider.AddAssemblyReference(typeof(string).Assembly.Location);
        host.AddService(typeof(ITypeProvider), typeProvider, true);
        host.AddService(typeof(IEventBindingService), new EventBindingService());
    }
}

.NET Framework
Available since 3.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: