Categories – hierarchical tags for activities – MiG InfoCom MiG Calendar Tutorial User Manual

Page 20

Advertising
background image

MiG InfoCom AB

means that it needs two reference values, normally start and end
values, and the coordinate would be in reference to one or both of
them. Those types are specified by the interfaces

AtNumber

,

AtRefNumber

and

AtRefRangeNumber

respectively.

Links. If a coordinate should be in reference to another coordinate,
for instance if you would like to dock the right edge of one
rectangle to the left edge of another, a link links them together.
Links are one-way and the link to coordinate must be set before
the link can be resolved. I.e. it must be layout out before the linked
coordinate. A link implements

AtNumber

so it can in effect be

used at a coordinate like any other number.

Filters. They could also be called constraints or operators, but they
are more generic, that is why they got the name Filters. They
wraps a coordinate in some logic, it might be a minimum
constraint, a multiplication or a filter that rounds it to the nearest
integer. These filters are themselves

AtXxxx

numbers which

means that a filter can wrap another filter and so on to create quite
advanced layered expressions. Normally that is not the usage
though, they should be used for imposing constraints or simple
adjustments. Filters is an implementation based on the decorator
pattern.

The flexibility of this geometry package might seem daunting but it's
really quite simple, and you seldom have to use any other types than
those listed under Numbers above.

The geometry package gives MiG Calendar the much needed
possibility to express coordinates relative to one another or relative to
other boundaries, such as available bounds. See the examples in the
getting Started guide to get acquainted to using this geometry
package.

Categories – hierarchical tags for Activities

All activities can be connected (in a loose manner) to one or many
categories (

Category

). The categories themselves are hierarchical

and can denote just about anything. In one JVM there are always
exactly one category root and all sub categories are mounted
somewhere below that root just like a normal tree structure or file
system. Categories can have multiple parents. This means that a
category sub tree can be mounted on more than one cranch for
instance.

MiG Calendar Tutorial

Page 20 / 24

Advertising