summaryrefslogtreecommitdiff
path: root/core/pim/datebook2/DESIGN
blob: 7442e8149d6f9b29b5e85fca61a9d184b720cabc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
A small abstract about the design

First of all we've a namespace called Datebook

class MainWindow is our QMainWindow and PimMainWindow
    it's the center of all datebook operations.
    It loads all Views, Configs, Shows, Manager
    and dispatches between them

the Interface declarations use protected methods instead
of signals because templates and signals does not match
that nicely.
I add friend declarations to the mainwindow so that we've a
tight interface of interactions and know that it works.
friend can not be inherited so all got enough abstraction. The
dependency on the MainWindow is acceptable.

Then we've a small DB Manager class which is responsible
for controlling the ODateBookAccess class and to resolve
other records ( due todo items, Birthdays.. )

Show - Show can show richtext of OEvent
View - The basic view
MainWindow - The mainwindow with all the actions
Editor - The editor interface to edit and create OEvents
AlarmManager - A widget to take care of alarm activation
ManagerTemplate,StringManager - Responsible for managing strings 
    for the Location and Description ComboBox
TemplateManager - the OEvent  TemplateManager