00001 00002 00003 #ifndef QGUI_H 00004 #define QGUI_H 00005 00006 class QGui; 00007 class QGuiProgress; 00008 class QGuiSimpleBox; 00009 class QWidget; 00010 00011 #include <q4banking/cppgui.h> 00012 00013 #include <Qt/qstring.h> 00014 #include <string> 00015 00016 class QBanking; 00017 00018 00019 class Q4BANKING_API QGui: public CppGui { 00020 00021 private: 00022 uint32_t _lastProgressId; 00023 uint32_t _lastBoxId; 00024 00025 QWidget *_parentWidget; 00026 std::list<QWidget*> _pushedParents; 00027 00028 std::list<QGuiProgress*> _progressPtrList; 00029 std::list<QGuiSimpleBox*> _simpleBoxWidgets; 00030 00031 void _addProgress(QGuiProgress *pro); 00032 void _delProgress(QGuiProgress *pro); 00033 QGuiProgress *_findProgress(uint32_t id); 00034 00035 void _checkVisibilities(); 00036 00037 public: 00038 QGui(); 00039 virtual ~QGui(); 00040 00041 00042 QWidget *getParentWidget() const { return _parentWidget;}; 00043 00044 void pushParentWidget(QWidget *w); 00045 void popParentWidget(); 00046 00047 std::string qstringToUtf8String(const QString &qs); 00048 QString extractHtml(const char *text); 00049 00050 protected: 00058 virtual int messageBox(uint32_t flags, 00059 const char *title, 00060 const char *text, 00061 const char *b1, 00062 const char *b2, 00063 const char *b3, 00064 uint32_t guiid); 00065 00069 virtual int inputBox(uint32_t flags, 00070 const char *title, 00071 const char *text, 00072 char *buffer, 00073 int minLen, 00074 int maxLen, 00075 uint32_t guiid); 00076 00080 virtual uint32_t showBox(uint32_t flags, 00081 const char *title, 00082 const char *text, 00083 uint32_t guiid); 00084 00088 virtual void hideBox(uint32_t id); 00089 00093 virtual uint32_t progressStart(uint32_t flags, 00094 const char *title, 00095 const char *text, 00096 uint64_t total, 00097 uint32_t guiid); 00098 00102 virtual int progressAdvance(uint32_t id, 00103 uint64_t progress); 00104 00108 virtual int progressLog(uint32_t id, 00109 GWEN_LOGGER_LEVEL level, 00110 const char *text); 00111 00115 virtual int progressEnd(uint32_t id); 00116 00117 }; 00118 00119 00120 00121 #endif