A style sheet is a
.css
file. It is referenced by a URL. The style sheet can load other
style sheets using the
import
statement. A style sheet controls the mapping of data to a graphic
representation through style rules conforming to the CSS level 2
syntax. It defines the way the objects of your data model will be
translated to graphic objects.
The SDM engine accepts cascading
style sheets (CSS). Cascading style sheets can be used to
define several levels of customization. For example, different
style sheets could be defined for a whole company, a group, and an
individual user.
You can either write a style
sheet by hand or create it using the Rogue Wave JViews Diagrammer
Designer. For example, if your final application loads a custom
data model, you can still use the Designer to define the style of
your diagram. All you need to do is to create a sample XML file
containing objects with the same properties as your real data.
Then, use the Designer to define the graphic style of your nodes
and links. When you save your project, the Designer will create
three files: a project file (
.idpr
), an XML file containing your sample data (
.xml
), and a CSS file containing all the styling information (
.css
). In your final application, you will only use the CSS file as
explained next, and load your real data instead of the sample data
used in the Designer.
Style sheets are usually suitable only for
a particular data model. For example, if your data model describes
a workflow process, it will contain such objects as activities,
transitions between activities, and participants that carry on the
activities. A style sheet for such a data model will have rules
that match these particular object types and their properties to
define the graphic look of the objects. So, a workflow style sheet
will probably not work for another data model, because the objects
will not have the same types and properties.
To assign a style sheet to the diagram component in Java™ , call the method setStyleSheet. This method takes an array of
String
with each element representing one style sheet. The array
simulates the cascading of style sheets, where the last style
sheets have a higher priority than the previous ones. The
following code example shows an example with only one style sheet.
Setting the style sheet of a diagram
component
String[] styleSheet = new String[] { "file:example.css" }; engine.setStyleSheets(styleSheet);
Alternatively, you can set the data source and the style sheet at
the same time by loading a project file (see The project).
Style sheets can be cascaded, that is, concatenated with later
style sheets having a higher priority than earlier ones. To
cascade style sheets, use the addStyleSheet method, see the following code
example.
Adding a cascaded style sheet to a
diagram component
Diagrammer.addStyleSheet(new URL("file:cascaded.css"));
For details of the syntax of the style sheet and how to use it to
customize nodes and links, see Using CSS syntax in the style sheet.
As well as the diagram component itself, you can customize its
associated Swing user interface components through the style
sheet. See User interface components for more details.