Themes – advanced hierarchical properties – MiG InfoCom MiG Calendar Tutorial User Manual
Page 21

MiG InfoCom AB
What the categories mean are totally up to the user of this component.
They can indicate owner of the
Activity
, a difficulty level of the it
or just what type of activity it is (E.g. Home, Work and Imported).
Since one activity can belong (reference) more than one
Category
and Categories are hierarchical the possibilities are endless. In the
simplest case they can be used to differentiate calendars by their
owners. In a more complex context they can be used to create a
complete role tree with hierarchical dependencies.
GridRow
s in the
Grid
can filter on, among other things, one or
more categories. This opens up for having multiple calendars show in
line side-by-side. It also means the MiG Calendar supports activities
that belongs to more than one calendar and as such shares all
information.
If there are sub grid rows in the date area there can also be a header
that shows the names of the grid rows. Since categories is actually
only one use for sub grid rows, the can filter on anything, the header is
actually called SubRowGridHeader. This header works much the
same way as the date headers, which means the can have more than
one row in the header and cells in different rows can be merged.
Themes – advanced hierarchical properties
A
Theme
is comparable to a configuration file, only it is very flexible
and supports one-to-one, many-to-one and one-to-many mappings.
The keys are hierarchically arranged and can be constrained to one or
many different types. For
Comparable
types they can even be
constrained in it's range with a min/max.
The simplest way to learn about Themes is probably to start the
Theme Editor and play around with it. The Theme Editor is a GUI for
changing any type of
Theme
, and the
Theme
used in the MiG
Calendar component is
CalendarTheme
. Note that the Theme
Editor is generic and can be used to visually edit themes that have
nothing to do with calendaring.
Themes are based on a key/value map where the key is a String that
looks like a file name including path. E.g.
”Decorators/CellLabel/installInLayer”
is a key. The
first slash is always omitted, though it is always mounted on the the
Theme
root.
Some of the more noteworthy features of the Theme framework are:
MiG Calendar Tutorial
Page 21 / 24