qonsole.h

Go to the documentation of this file.
00001 #ifndef QONSOLE_H
00002 #define QONSOLE_H
00003 
00004 #include "ui_MainWindow.h"
00005 #include "config_groups.h"
00006 #include "config_portmap.h"
00007 #include "config_cues.h"
00008 
00009 
00010 #include "bbobabout.h"
00011 
00012 
00013 #include "plugins/bbob_interfaces.h"
00014 #include "bcore/bcore.h"
00015 #include "debugdialog.h"
00016 
00017 
00018 #include <QtGui>
00019 #include <QAssistantClient>
00020 
00021 /*! \mainpage
00022  *  <br/><br/>
00023  *  \b Qonsole - The most functional app so far. Runs with the following command line options :
00024  *  <pre>
00025  *   -d : Debug mode
00026  *   -f {filename} : Load config from file
00027  *   -u : User dir settings.  Default is system dir settings.
00028  * </pre>
00029  */
00030 
00031 /// Main window of Qonsole
00032 class Qonsole : public QMainWindow, public Ui::qonsole
00033 {
00034     Q_OBJECT
00035 
00036     QDateTimeEdit* time;
00037     void timerEvent(QTimerEvent *event);
00038 
00039     QList<QByteArray> Desks;
00040     int Desk;
00041     void saveDesks();
00042     void loadDesks();
00043 
00044 
00045 public:
00046     Qonsole( QSplashScreen* splash, bool Debug, bool BootUser, QString BootFile, bool BootPluginSettings, QString args,
00047              QWidget * parent = 0, Qt::WFlags f = 0 );
00048 
00049     // Pointers available in Ui::qonsole
00050     QMenuBar* menubar;
00051     QMenu* helpMenu;
00052     QMenu* fileMenu;
00053     QMenu* editMenu;
00054 
00055     // New submenu for plugins
00056     QMenu*              plugSubMenu;
00057 
00058     // Pointers list for loaded plugins
00059     QLinkedList<QPluginLoader *> PluginList;
00060 
00061     // ConfigTabs pointers
00062     QTabWidget*         ConfigTabs;
00063     QDockWidget*        ConfigDock;
00064     QAction*            ConfigToggle;
00065 
00066     // classes for "Config_*" UI files
00067     Config_Groups*      ConfigGroups;
00068     Config_Portmap*     ConfigPortmap;
00069     Config_Cues*        ConfigCues;
00070 
00071 
00072     DebugDialog*    DebugWindow;
00073     QIcon           debugIcon;
00074 
00075 private:
00076     BCore*              bcore;
00077     BBoB_About*         aboutDialog;
00078     QAssistantClient*   assistantClient;
00079 
00080 
00081     QDir pluginsDir;
00082     QStringList pluginFileNames;
00083 
00084     void SaveSettings();
00085     void LoadForStartup();
00086 
00087     void addToMenu( QObject *plugin, const QStringList &texts, QMenu *menu,
00088                     const char *member, QActionGroup *actionGroup = 0);
00089 
00090 signals:
00091 
00092 public slots:
00093     void LoadDebug(QString text);
00094 
00095     void SaveExit();
00096     void pluginMenuDisplay();
00097     void populateMenus(QObject *plugin);
00098     void addConfigTab(QWidget* tab, bool first = false);
00099     void addDock(QDockWidget* dock);
00100     void removeDock(bool state);
00101     void on_fileNew_triggered();
00102     void on_fileOpen_triggered();
00103     void on_fileSave_triggered();
00104     void on_fileSaveAs_triggered();
00105     void on_filePrint_triggered();
00106     void on_fileExit_triggered();
00107     void on_editUndo_triggered();
00108     void on_editRedo_triggered();
00109     void on_editCut_triggered();
00110     void on_editCopy_triggered();
00111     void on_editPaste_triggered();
00112     void on_helpIndex_triggered();
00113     void on_helpContents_triggered();
00114     void on_helpAbout_triggered();
00115 
00116 private slots:
00117     void showDebugWindow();
00118     void ChangeDesk(bool checked);
00119 
00120 };
00121 #endif
00122 

Generated on Sun Oct 28 22:51:30 2007 for BBoB by  doxygen 1.5.3