WorkflowDesignerMessageFilter Class
TOC
Collapse the table of content
Expand the table of content

WorkflowDesignerMessageFilter Class

 
Note: This API is now obsolete.

Provides a base class for all workflow message filters.

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

System.Object
  System.Workflow.ComponentModel.Design.WorkflowDesignerMessageFilter

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

NameDescription
System_CAPS_protmethodWorkflowDesignerMessageFilter()

When implemented in a derived class, initializes an instance of a WorkflowDesignerMessageFilter.

NameDescription
System_CAPS_protpropertyMessageHitTestContext

Gets the HitTestInfo that describes the context of the WorkflowDesignerMessageFilter.

System_CAPS_protpropertyParentView

Gets the WorkflowView that is associated with the WorkflowDesignerMessageFilter.

NameDescription
System_CAPS_pubmethodDispose()

Releases the resources used by the WorkflowDesignerMessageFilter.

System_CAPS_protmethodDispose(Boolean)

Releases the unmanaged resources used by the WorkflowDesignerMessageFilter and optionally releases the managed resources.

System_CAPS_pubmethodEquals(Object)

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

System_CAPS_protmethodFinalize()

Attempts to free resources by calling Dispose(false) before the object is reclaimed by garbage collection.(Overrides Object.Finalize().)

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_protmethodInitialize(WorkflowView)

Initializes the WorkflowDesignerMessageFilter with the associated WorkflowView.

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodOnDragDrop(DragEventArgs)

Occurs when the mouse button is released above an object during a drag operation.

System_CAPS_protmethodOnDragEnter(DragEventArgs)

Occurs when the mouse pointer enters the bounds of an object during a drag operation.

System_CAPS_protmethodOnDragLeave()

Occurs when the mouse pointer leaves the bounds of an object during a drag operation.

System_CAPS_protmethodOnDragOver(DragEventArgs)

Occurs when the mouse pointer moves within the bounds of an object during a drag operation.

System_CAPS_protmethodOnGiveFeedback(GiveFeedbackEventArgs)

Occurs during a drag operation.

System_CAPS_protmethodOnKeyDown(KeyEventArgs)

Occurs when a key is pressed.

System_CAPS_protmethodOnKeyUp(KeyEventArgs)

Occurs when a key is released.

System_CAPS_protmethodOnLayout(LayoutEventArgs)

Occurs when child objects should be repositioned.

System_CAPS_protmethodOnMouseCaptureChanged()

Occurs when the items selected by dragging the mouse changes.

System_CAPS_protmethodOnMouseDoubleClick(MouseEventArgs)

Occurs when you double-click the mouse.

System_CAPS_protmethodOnMouseDown(MouseEventArgs)

Occurs when a mouse button is clicked.

System_CAPS_protmethodOnMouseEnter(MouseEventArgs)

Occurs when the mouse pointer enters the bounds of an object.

System_CAPS_protmethodOnMouseHover(MouseEventArgs)

Occurs when the mouse pointer pauses above an object.

System_CAPS_protmethodOnMouseLeave()

Occurs when the mouse pointer leaves the bounds of an object.

System_CAPS_protmethodOnMouseMove(MouseEventArgs)

Occurs when the mouse pointer moves while within the bounds of an object.

System_CAPS_protmethodOnMouseUp(MouseEventArgs)

Occurs when the mouse button is released.

System_CAPS_protmethodOnMouseWheel(MouseEventArgs)

Occurs when the mouse wheel moves.

System_CAPS_protmethodOnPaint(PaintEventArgs, Rectangle, AmbientTheme)

Occurs when a paint message is received.

System_CAPS_protmethodOnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme)

Occurs when the workflow should repaint its adornments.

System_CAPS_protmethodOnQueryContinueDrag(QueryContinueDragEventArgs)

Occurs during a drag operation.

System_CAPS_protmethodOnScroll(ScrollBar, Int32)

Occurs when a user scrolls in a workflow designer.

System_CAPS_protmethodOnShowContextMenu(Point)

Occurs when the workflow should show a context menu.

System_CAPS_protmethodOnThemeChange()

Occurs when the theme of the workflow changes.

System_CAPS_protmethodProcessMessage(Message)

Occurs when a raw Win32 message must be processed.

System_CAPS_pubmethodToString()

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

System_CAPS_noteNote

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

The workflow designer provides a Strategy design pattern to create replaceable message filter objects to handle events.

Derive from the WorkflowDesignerMessageFilter class to create message filters that can respond to workflow designer events, such as drag operations, layout and paint operations, and other designer events. To add a custom message filter to the message filters chain, call the AddDesignerMessageFilter on the WorkflowView or override the MessageFilters virtual property on the custom root activity and add the custom message filter to the collection returned from the base class.

The following code example shows a custom designer message filter that derives from WorkflowDesignerMessageFilter. The class, named CustomMessageFilter, overrides a number of its base class methods including OnMouseDown, OnMouseMove, OnMouseUp, OnMouseDoubleClick, OnMouseEnter, OnMouseHover, OnMouseLeave, OnDragEnter, OnDragOver, and OnKeyDown.

This code example is part of the Basic Designer Hosting SDK Sample from the DesignerShell.cs file. For more information, seeBasic Designer Hosting.

internal sealed class CustomMessageFilter : WorkflowDesignerMessageFilter
{
    #region Members and Constructor

    private bool mouseDown;
    private IServiceProvider serviceProvider;
    private WorkflowView workflowView;
    private WorkflowDesignerLoader loader;

    public CustomMessageFilter(IServiceProvider provider, WorkflowView workflowView, WorkflowDesignerLoader loader)
    {
        this.serviceProvider = provider;
        this.workflowView = workflowView;
        this.loader = loader;
    }

    #endregion

    #region MessageFilter Overridables

    protected override bool OnMouseDown(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        this.mouseDown = true;
        return false;
    }

    protected override bool OnMouseMove(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        if (mouseDown)
        {
            workflowView.ScrollPosition = new Point(eventArgs.X, eventArgs.Y);
        }
        return false;
    }

    protected override bool OnMouseUp(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseDoubleClick(MouseEventArgs eventArgs)
    {
        mouseDown = false;
        return true;
    }

    protected override bool OnMouseEnter(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseHover(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseLeave()
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseWheel(MouseEventArgs eventArgs)
    {
        mouseDown = false;
        return true;
    }

    protected override bool OnMouseCaptureChanged()
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnDragEnter(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnDragOver(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnDragLeave()
    {
        return true;
    }

    protected override bool OnDragDrop(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnGiveFeedback(GiveFeedbackEventArgs gfbevent)
    {
        return true;
    }

    protected override bool OnQueryContinueDrag(QueryContinueDragEventArgs qcdevent)
    {
        return true;
    }

    protected override bool OnKeyDown(KeyEventArgs eventArgs)
    {
        if (eventArgs.KeyCode == Keys.Delete)
        {
            ISelectionService selectionService = (ISelectionService)serviceProvider.GetService(typeof(ISelectionService));
            if (selectionService != null && selectionService.PrimarySelection is CodeActivity)
            {
                CodeActivity codeActivityComponent = (CodeActivity)selectionService.PrimarySelection;
                CompositeActivity parentActivity = codeActivityComponent.Parent;
                if (parentActivity != null)
                {
                    parentActivity.Activities.Remove(codeActivityComponent);
                    this.ParentView.Update();
                }
                loader.RemoveActivityFromDesigner(codeActivityComponent);

            }
        }
        return true;
    }

    protected override bool OnKeyUp(KeyEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnShowContextMenu(Point menuPoint)
    {
        return true;
    }

    #endregion
}

.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:
© 2016 Microsoft