00001 #ifndef SMARTLET_H 00002 #define SMARTLET_H 00003 00004 #include <QProxyStyle> 00005 00009 class SmartletStyle : public QProxyStyle { 00010 public: 00011 virtual int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, 00012 const QWidget *widget = 0) const { 00013 if (metric == QStyle::PM_ToolBarIconSize) //o.a. processBar 00014 return 20; 00015 if (metric == QStyle::PM_ButtonIconSize) //o.a. plotWidget 00016 return 20; 00017 00018 return QProxyStyle::pixelMetric(metric, option, widget); 00019 } 00020 }; 00021 00022 #include <QMainWindow> 00023 00024 class QMdiArea; 00025 class QMdiSubWindow; 00026 class QActionGroup; 00027 class QShortcut; 00028 class LogMan; 00029 class ProjectTree; 00030 class TimeConstraintToolBar; 00031 00032 00038 class SmartLet : public QMainWindow 00039 { 00040 Q_OBJECT 00041 00042 public: 00043 SmartLet(QWidget *parent = 0); 00044 ~SmartLet(); 00045 00046 private: 00047 QMdiArea *centralWidget(); 00048 00049 private slots: 00050 void launchFileUploadWizard(); 00051 void launchDataViewer(); 00052 void launchEditor(QAction *action); 00053 void launchDatabaseAuditLog(); 00054 void launchHelp(); 00055 00056 void editTable(const QString &tblName); 00057 00058 private: 00059 LogMan *log; 00060 ProjectTree *projetTree; 00061 00062 TimeConstraintToolBar *timeConstraintToolBar; 00063 00064 QDockWidget *logManDock; 00065 QDockWidget *projectTreeDock; 00066 00067 QShortcut *help; 00068 00069 QMenu *fileMenu; 00070 QMenu *importFileMenu; 00071 QMenu *viewerMenu; 00072 QMenu *editMenu; 00073 QMenu *editTableMenu; 00074 QMenu *catalogMenu; 00075 00076 QAction *runDataWizardAction; 00077 QAction *runDataViewer; 00078 QAction *runDatabaseAuditLogAction; 00079 QActionGroup *runEditorActionGroup; 00080 00081 void closeEvent(QCloseEvent *event){ 00082 //conditional zetten?? 00083 QMainWindow::closeEvent(event); 00084 }; 00085 00086 void createDocks(); 00087 void createActions(); 00088 void createMenus(); 00089 void createToolBars(); 00090 void createFrontPage(); 00091 00092 void setMdiWindowAttributes(QMdiSubWindow *win); 00093 QMdiSubWindow *addToMdiArea(QWidget *widget); 00094 QMdiSubWindow *findMdiWindow(const QString title); 00095 }; 00096 00097 #endif // SMARTLET_H