Time zones – MiG InfoCom MiG Calendar Tutorial User Manual

Page 12

Advertising
background image

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

Advertising