Basic concepts

A symbol is made up from graphic elements, parameters, conditions and vector or bitmap images. Each graphic element has attributes which define its look and feel. A symbol is defined by the IlvPaletteSymbol class. This class defines a symbol. It contains all information necessary for CSS to create instances of the symbol in a GUI application.
UML diagram
of class relationships among symbol palette classes in JViews Diagrammer.
Symbol palette classes available in Rogue Wave JViews Diagrammer
An IlvPaletteSymbol instance contains:
  • The CSS that describes the symbol. This includes graphic element definitions and symbol conditions.
  • The class name. This acts as the entry point in the CSS.
  • The symbol parameters.
A palette ( IlvPalette) is a collection of palette symbols ( IlvPaletteSymbol ). A palette symbol represents the definition of the symbol. Instances of the symbol based on the same definition may occur in the diagrammer application. An instance of a symbol has a symbol descriptor ( IlvSymbolDescriptor) which helps find the palette symbol that corresponds to this instance.
Inside a palette, the symbols are organized in a hierarchy of categories ( IlvPaletteCategory). Each palette has at least a root category.
The category path and the symbol name identify a symbol within a palette. For example, Symbols.Controls.Dial corresponds to the Dial symbol inside the subcategory Controls of the root category Symbols.
Part of the palette symbol definition indicates which parameters are defined for the symbol. Symbols can have a different behavior or appearance depending on the actual parameter values of the symbol instance. The palette symbol contains the definition of the formal parameter ( IlvPaletteSymbolParameter), while the actual value of a parameter can be queried using IlvSymbolDescriptor for each instance of the symbol.
Finally, the palette manager ( IlvPaletteManager) manages a collection of palettes. The palette manager is only needed when you want to load or save palettes dynamically in the user file system. If you need to load only one fixed palette, it is more convenient to put the palette on the class path and load the palette as resources of the application. This is explained in the next section.
Note
An IlvPaletteManager must be attached to a Rogue Wave® JViews Diagrammer Designer application to follow the currently loaded palettes.