IDesignerGlyphProvider Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Caution
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Defines the method that glyph provider classes use to generate an array of glyphs to display on an activity designer.
public interface class IDesignerGlyphProvider
public interface IDesignerGlyphProvider
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public interface IDesignerGlyphProvider
type IDesignerGlyphProvider = interface
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type IDesignerGlyphProvider = interface
Public Interface IDesignerGlyphProvider
- Attributes
Examples
The following code example demonstrates how you can implement the IDesignerGlyphProvider interface. It shows how you can implement the GetGlyphs method to draw custom glyph objects on an activity designer surface.
This code example is part of the Workflow Monitor SDK Sample from the DesignerGlyphProvider.cs file. For more information, see Workflow Monitor.
//Custom glyphprovider used to draw the monitor glyphs on the designer surface
internal class WorkflowMonitorDesignerGlyphProvider : IDesignerGlyphProvider
{
private Dictionary<string, ActivityStatusInfo> activityStatusList;
internal WorkflowMonitorDesignerGlyphProvider(Dictionary<string, ActivityStatusInfo> activityStatusList)
{
this.activityStatusList = activityStatusList;
}
ActivityDesignerGlyphCollection IDesignerGlyphProvider.GetGlyphs(ActivityDesigner activityDesigner)
{
ActivityDesignerGlyphCollection glyphList = new ActivityDesignerGlyphCollection();
//Walk all of the activities and use the 'CompletedGlyph' for all activities that are not 'closed'
foreach (ActivityStatusInfo activityStatus in activityStatusList.Values)
{
if (activityStatus.Name == activityDesigner.Activity.QualifiedName)
{
if (activityStatus.Status == "Closed")
glyphList.Add(new CompletedGlyph());
else
glyphList.Add(new ExecutingGlyph());
}
}
return glyphList;
}
}
'Custom glyphprovider used to draw the monitor glyphs on the designer surface
Friend Class WorkflowMonitorDesignerGlyphProvider
Implements IDesignerGlyphProvider
Dim activityStatusList As Dictionary(Of String, ActivityStatusInfo)
Friend Sub New(ByVal activityStatusList As Dictionary(Of String, ActivityStatusInfo))
Me.activityStatusList = activityStatusList
End Sub
Public Function GetGlyphs(ByVal activityDesigner As System.Workflow.ComponentModel.Design.ActivityDesigner) As System.Workflow.ComponentModel.Design.ActivityDesignerGlyphCollection Implements System.Workflow.ComponentModel.Design.IDesignerGlyphProvider.GetGlyphs
Dim glyphList As ActivityDesignerGlyphCollection = New ActivityDesignerGlyphCollection()
'Walk all of the activities and use the 'CompletedGlyph' for all activities that are not 'closed'
For Each activityStatus As ActivityStatusInfo In activityStatusList.Values
If activityStatus.Name = activityDesigner.Activity.Name Then
If activityStatus.Status = "Closed" Then
glyphList.Add(New CompletedGlyph())
Else
glyphList.Add(New ExecutingGlyph())
End If
End If
Next
Return glyphList
End Function
End Class
Remarks
Note
This material discusses types and namespaces that are obsolete. For more information, see Deprecated Types in Windows Workflow Foundation 4.5.
This interface defines the method that implementing classes must use to provide an appropriate set of DesignerGlyph objects to activity designers. The implementing class should also render the DesignerGlyph objects onto the ActivityDesigner object.
Methods
GetGlyphs(ActivityDesigner) |
Returns an array of glyphs that are associated with the specified activity designer. |