00001 #ifndef OVERVIEWSHOWER_H 00002 #define OVERVIEWSHOWER_H 00003 00004 #include "controllerinterface.h" 00005 00006 #include <QMap> 00007 00008 class QAbstractItemModel; 00009 00010 namespace domain 00011 { 00012 class Task; 00013 } 00014 00015 namespace control 00016 { 00017 00018 namespace data 00019 { 00020 struct TaskDetails; 00021 } 00022 00023 00024 class OverviewShower : public ControllerInterface 00025 { 00026 Q_OBJECT 00027 Q_INTERFACES(control::ControllerInterface) 00028 00029 public: 00030 00031 ~OverviewShower(); 00032 00033 ActionType actionType() const; 00034 DataType dataType() const; 00035 QString description() const; 00036 QString name() const; 00037 bool userCanExecute() const; 00038 void init(domain::TaskManagerData* data, ui::UiInterface* ui, 00039 ControllerFactory* factory); 00040 00041 private: 00042 00043 void execute(); 00044 bool userIsValid() const; 00045 00046 control::TaskModel* tasks; 00047 control::InvitationModel* invitations; 00048 control::UserModel* users; 00049 control::ReservationModel* reservations; 00050 control::ResourceModel* resources; 00051 control::ProjectModel* projects; 00052 }; 00053 00054 } 00055 00056 #endif