00001 #ifndef TESTUI_H 00002 #define TESTUI_H 00003 00004 #include <ui/lib/uiinterface.h> 00005 00006 struct TestUiData 00007 { 00008 int selectionCounter; 00009 int choiceCounter; 00010 int openFileNamesCounter; 00011 int taskDetailsAnswerCounter; 00012 bool error; 00013 bool warning; 00014 bool model; 00015 bool models; 00016 bool start; 00017 bool message; 00018 bool questionAsked; 00019 bool questionAnswer; 00020 QString text; 00021 int integer; 00022 QList<QString> openFileNames; 00023 QString savedFileName; 00024 QString errorMessage; 00025 QList<control::data::StringInputData> choiceAnswers; 00026 QList<control::data::StringInputData> taskDetailsAnswer; 00027 control::data::TaskDetails taskDetails; 00028 control::data::ResourceDetails resourceDetails; 00029 control::data::ReservationDetails reservationDetails; 00030 control::data::ProjectDetails projectDetails; 00031 control::data::MinMaxDurationData minMaxDurationData; 00032 control::data::SelectionData invitationsSelection; 00033 control::data::DateTimeInputData dateInput; 00034 QList<control::data::SelectionData> selectionDataList; 00035 }; 00036 00037 class TestUi : public ui::UiInterface 00038 { 00039 public: 00040 00041 TestUi(); 00042 ~TestUi(); 00043 00044 bool askQuestion(const QString& before, 00045 QAbstractItemModel* model = 0, 00046 const QString& after = QString()); 00047 control::data::SelectionData getSelection(const QString& before, 00048 QAbstractItemModel* model, 00049 SelectionMode mode = SingleSelection, 00050 const QString& after = ""); 00051 00052 control::data::TaskDetails getTaskDetails( 00053 const control::data::TaskRepresentation& rep); 00054 00055 control::data::ReservationDetails getReservationDetails 00056 (control::ResourceReservationModel* reservations); 00057 control::data::ResourceDetails getResourceDetails(const QStringList& types); 00058 control::data::ProjectDetails getProjectDetails(); 00059 00060 void showModel(QAbstractItemModel* model, const QString& message = QString()); 00061 void showModels(QMap<QString, QAbstractItemModel*> labelToModelMap); 00062 00063 void showError(const QString& message); 00064 void showWarning(const QString& message); 00065 void showMessage(const QString& message); 00066 00067 control::data::MinMaxDurationData getMinMaxDuration(const QString& message); 00068 00069 control::data::StringInputData getText(const QString& message); 00070 control::data::IntInputData getInt(const QString& message, 00071 int value = 0, 00072 int minValue = -2147483647, 00073 int maxValue = 2147483647); 00074 00075 QString getOpenFileName(const QString& dir = QString(), 00076 const QString& filter = QString()); 00077 QString getSaveFileName(const QString& dir = QString(), 00078 const QString& filter = QString()); 00079 control::data::StringInputData getChoice(const QStringList& options, 00080 const QString& message); 00081 control::data::StringInputData showTaskDetails( 00082 const control::data::TaskRepresentation& rep, 00083 const QStringList& options = QStringList(), 00084 bool editMode = false); 00085 00086 control::data::SelectionData getInvitationSelection( 00087 control::InvitationModel* pending, 00088 control::InvitationModel* accepted); 00089 00090 void setOverview(const control::data::OverviewDetails& details); 00091 00092 control::data::DateTimeInputData getDateTime(const QString& message 00093 = QString()); 00094 00095 00096 void start(); 00097 00098 TestUiData* data; 00099 00100 public Q_SLOTS: 00101 00102 void setTime(const QDateTime& time); 00103 00104 private: 00105 00106 void setUsername(const QString& name); 00107 }; 00108 00109 #endif