Impact Scheduler
 
  Expression Diagram
 
 

Expression Diagrammer

Ripple Systems’ Expression Data Visualization tool is a semantically-driven diagramming component that can be easily integrated into any custom application.  With expression not only can you add rich diagramming capability to your application, but you can generate visualizations automatically by tying layout components directly to your business systems. Expression is written entirely in C# using the .NET framework.

Download a trial version now!

Visualization

Basic Shapes

Expression features an ever-expanding variety of shapes that you can use to represent your business objects.

Shapes can have colors (and other brushes) specified for their fill or edge texture and shape edges can be of any width.  Units are in 1/1000th of an inch and are maintained between screen and printer.

Note that the vertical line visible on the diagram represents a page boundary.  Expression automatically acquires and displays page boundaries from the current printer settings, a feature that can be toggled by the developer.

Inspector

Expression comes with an Inspector that can be used to view and modify Shape properties in your own applications.

Connectors

Shapes have connection points, controllable by semantic mappings (see “Semantics”), that allow relationships to be made to other shapes.  Connectors automatically rubber-band between shapes and have controllable width and texture.  Expression supports a variety of end points for connectors out of the box, including arrow heads and circles.  Custom end points can be created, as well.  End points fill and edge colors can be set completely independently of each other and the line the end point is on or, alternatively, can adopt the properties of their connector.  They can also be arbitrarily scaled or scaled consistent with the connector width.

Connector Labels

Expression connectors support very flexible line labels.  On the screen shown above, the line has 5 labels.  The label called ctr shows that Expression can use any shape available in the system as a label.  Labels can take on the color and line width characteristics of their connector or these properties can be independently specified.  Labels are placed relative to the start, middle, and end of the connector and their offset from their reference point can be specified statically in 1/1000th of an inch or as a percentage of the total connector length.  In this example, the Start and ½” off labels are placed a static distance from their reference points and the End and 10% off labels are placed relative to the total length of the line.  Note, too, that the ½” off label is not directly on the line.  This is because it has a perpendicular offset, which is also supported. 

Text 

Both Shapes and connectors can contain text, which has various settable properties including Font, Brush, Trimming, and Vertical and Horizontal Alignment.

Behavior / Settable Canvas Characteristics

The Expression canvas supports standard shape manipulation control paradigms, including selection, lasso selection, single shape and group resizing, single shape and group movement, adding shapes, and deleting shapes.

Expression allows the developer to choose several options that affect behavior and performance depending upon the anticipated size and type of documents (i.e., number of shapes on-screen and how frequent shapes will be manipulated by the user).  For example, Expression supports two ways of moving selected objects—one in which the shapes are immediately moved on the canvas and all connectors are immediately updated and another in which a snapshot is taken of the selected shapes that is moved in place of the shapes, which are not actually moved and updated on the canvas until the move operation is completed.  Another example is that Expression supports using either the managed .NET framework to move data between internal buffers or the much faster option of using non-managed code for these operations.  Options like these can be manipulated by the developer either at the time they create their Expression-based application or on the fly at run-time.

Semantics

A lot of Expression’s expressive power comes from the ability to map business objects to layout Shapes.  These mappings create an association that allows the diagram representation of the underlying business semantics to be updated automatically as the business objects change.

Semantic mappings allow the developer to specify an association between a particular business object and a shape representation for that object.  Additionally, specific properties (both single-valued and lists) can be associated with properties of the layout Shape.  List properties can be associated with the contents of the Shape, meaning that the values in the list should have their visual representations placed inside the enclosing Shape, or they can be associated with a connection point on the shape to associate them with other objects outside the bounds of the Shape.

Expandability

Expression can be easily expanded by developers using simple APIs and base classes.  Here are some ways in which Expression can be expanded:

 New shapes can be defined simply by specifying a path