00001 #ifndef TASKDETAILSWIDGET_H 00002 #define TASKDETAILSWIDGET_H 00003 00004 #include "ui_taskdetailswidget.h" //designer file 00005 00006 namespace control 00007 { 00008 00009 class TaskModel; 00010 class ResourceModel; 00011 class UserRequirementsModel; 00012 class ResourceRequirementsModel; 00013 00014 namespace data 00015 { 00016 class TaskDetails; 00017 class TaskTypeDetails; 00018 } 00019 00020 } 00021 00022 namespace ui 00023 { 00024 00025 class InputWidget; 00026 00032 class TaskDetailsWidget : public QWidget 00033 { 00034 Q_OBJECT 00035 00036 public: 00037 00043 TaskDetailsWidget(const control::data::TaskTypeDetails& type, QWidget* parent = 0); 00044 00052 void setDetails(const control::data::TaskDetails& details); 00056 control::data::TaskDetails currentDetails() const; 00057 00065 void setTasks(control::TaskModel* tasks); 00066 00067 void setUserRequirements(control::UserRequirementsModel* model); 00068 void setResourceRequirements(control::ResourceRequirementsModel* model); 00069 00070 void setEditMode(bool editMode); 00071 00072 private: 00073 00074 void initType(const control::data::TaskTypeDetails& type); 00075 00076 Ui::TaskDetailsWidget widgets; 00077 QMap<QString, InputWidget*> fieldWidgets; 00078 bool editMode; 00079 }; 00080 00081 } 00082 00083 #endif