control Namespace Reference

The classes in this namespace form the control layer. More...

Namespaces

namespace  data
 

Contains classes for communication between the control and ui layer.


Classes

struct  ControllerFactoryPrivate
class  ControllerFactory
class  ControllerInterface
 An interface for all the controllers. More...
class  FocusInterface
 Interface for plugins that define a focus strategy. More...
class  DomainModel
class  InvitationModel
class  ProjectModel
class  ReservationModel
class  ResourceModel
class  ResourceRequirementsModel
class  ResourceReservationModel
class  TaskModel
class  UserModel
class  UserRequirementsModel
class  UnsupportedActionException
class  ClockAdjuster
class  DataLoader
 Class to load data from a file into the domain layer. More...
struct  DataSaverPrivate
class  DataSaver
class  InvitationManager
class  InvitationReplier
class  OverviewShower
class  ProjectAssigner
class  ProjectCreator
class  ProjectRemover
class  ResourceCreator
class  ResourceReservationMaker
class  SelectUser
class  TaskCreator
class  TaskDetailsShower
class  TaskModifier
class  TaskRemover
class  TaskUpdater
class  TaskWorker
class  ThemeLoader
class  UserCreator
class  DeadlineFocus
class  DurationFocus
class  TaskTypeFocus

Detailed Description

The classes in this namespace form the control layer.

The control layer consists of two parts:

The control library

The control library is a shared library which is used by the controller plugins and other parts of the application. It offers the interface that should be implemented by all controller plugins (ControllerInterface) as well as a collection of models.

Models, subclasses of QAbstractItemModel, are classes that define a representation of the data classes of the domain layer which is easy to interpret in the user interface (ui layer).

The communication between the control layer and the ui layer happens by means of data::UserInputData subclasses. These are used so the ui layer can give data details to the control layer without having to modify domain layer data.

See also:
data

The controller plugins

Each use case is represented by a controller plugin. Each plugin has to implement ControllerInterface::execute() to execute the use case. If the controller can handle data, it should also implement ControllerInterface::execute(StorableData*) to execute the same use case given some data. If a controller can handle data, the execute method without arguments will ask the user for data and just call execute with that data.

 All Classes Namespaces Functions Variables Enumerations Enumerator
Generated on Thu May 27 14:20:06 2010 for MopTaskManager by  doxygen 1.6.3