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