Time zones – MiG InfoCom MiG Calendar Tutorial User Manual
Page 12

MiG InfoCom AB
The
Activity
can be seen as the model of the Event (we mean
Event in the context of iCalendar here), and
ActivityView
is a
view of that model. Both are interfaces but they have both abstract
base implementations as well as default concrete classes.
The
Activity
is what contains all persistent information and is the
object to install listeners on to get updates when that information
changes.
ActivityView
s are created and disposed of when
convenient, they are used to show one side or recurrence of the
actual
Activity
. Normally it is the
Activity
itself that creates
the views for a certain context, it also pools them so they don't have to
be recreated all the time.
Activity views are expendables
Normally there are one
ActivityView
for every
DateArea
that
shows the
Activity
. There are also one view per recurrence if the
Activity
is recurring. Even though the user are actually interacting
with the view, the model gets all the updates and repaints/updates its
views. This ensures that all views of an
Activity
, in all
DateArea
s, are updated if one view is being dragged.
More than one bounds
One interesting aspect of an ActivityView is that it can have multiple
bounds. This is because the view might span more than one row (say
more than one week in a month view) and if so one rectangle can not
describe the positions.
Time Zones
Time zones are a fully supported in MiG Calendar. You can set the
time zone for the date range when creating an
Activity
, and you
can even change it later by setting a new date range. You can also set
a time zone for the
DateArea
by specifying that in the visual date
range, though that might have less impact than you think.
Time zones can be a bit hard to grasp since they actually present a
view of the actual time. Here are a few concrete notes and pointers on
time zones:
•
An activity's time zone will not change the position for it in the date
area. It will only change the time shown in its title or text (if for
instance the template text
$startTime$
is used).
•
Activities' time zones will not affect whether they overlap in time or
not.
MiG Calendar Tutorial
Page 12 / 24