00001 /*************************************************************************** 00002 ** 00003 ** Copyright (C) 2004-2006 Trolltech AS. All rights reserved. 00004 ** 00005 ** This file is part of the example classes of the Qt Toolkit. 00006 ** 00007 ** This file may be used under the terms of the GNU General Public 00008 ** License version 2.0 as published by the Free Software Foundation 00009 ** and appearing in the file LICENSE.GPL included in the packaging of 00010 ** this file. Please review the following information to ensure GNU 00011 ** General Public Licensing requirements will be met: 00012 ** http://www.trolltech.com/products/qt/opensource.html 00013 ** 00014 ** If you are unsure which license is appropriate for your use, please 00015 ** review the following information: 00016 ** http://www.trolltech.com/products/qt/licensing.html or contact the 00017 ** sales department at sales@trolltech.com. 00018 ** 00019 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00020 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00021 ** 00022 ****************************************************************************/ 00039 #ifndef MAINWINDOW_H 00040 #define MAINWINDOW_H 00041 00042 #include <QMainWindow> 00043 #include <QTreeView> 00044 #include <QSortFilterProxyModel> 00045 #include <QContextMenuEvent> 00046 #include <QDialog> 00047 #include <QSettings> 00048 00049 #include "condorstatusview.h" 00050 #include "condorqview.h" 00051 00052 #include "factorymachine.h" 00053 #include "factoryjob.h" 00054 00055 #include "configdialog.h" 00056 #include "submitdialog.h" 00057 #include "priodialog.h" 00058 #include "rmdialog.h" 00059 #include "holddialog.h" 00060 #include "rmdialog.h" 00061 #include "qeditdialog.h" 00062 #include "releasedialog.h" 00063 00064 #include "ui_mainWindow.h" 00065 00066 class QProcess; 00067 class QAction; 00068 class QMenu; 00069 class QStandardItemModel; 00070 00071 class MainWindow : public QMainWindow 00072 { 00073 Q_OBJECT 00074 00075 public: 00076 MainWindow(QWidget *parent = 0); 00077 00078 private: 00079 void createActions(); 00080 // void createStatusBar(); 00082 Ui::mainWindow ui; 00084 QProcess *m_proc; 00086 QProcess *m_procCommand; 00088 QProcess *m_procJob; 00090 QProcess *m_daemonProc; 00092 QStandardItemModel *m_modelMachine; 00094 QStandardItemModel *m_modelJob; 00096 CondorStatusView *m_condorStatus; 00098 CondorQView *m_condorQ; 00100 FactoryJob *fjob; 00102 FactoryMachine *fmachine; 00104 QStringList m_paths; 00106 QTime m_machineT; 00108 QTime m_jobT; 00110 QStringList m_otherPaths; 00112 QStringList m_headerPaths; 00113 00114 private slots: 00115 // Menu slots 00116 void configure(); 00117 void execCommand(); 00118 void defaultOn(); 00119 void allOn(); 00120 void masterOn(); 00121 void startdOn(); 00122 void scheddOn(); 00123 void collectorOn(); 00124 void negotiatorOn(); 00125 void kbddOn(); 00126 void defaultOff(); 00127 void allOff(); 00128 void masterOff(); 00129 void startdOff(); 00130 void scheddOff(); 00131 void collectorOff(); 00132 void negotiatorOff(); 00133 void kbddOff(); 00134 void defaultRestart(); 00135 void allRestart(); 00136 void masterRestart(); 00137 void startdRestart(); 00138 void scheddRestart(); 00139 void collectorRestart(); 00140 void negotiatorRestart(); 00141 void kbddRestart(); 00142 void defaultReconfig(); 00143 void allReconfig(); 00144 void masterReconfig(); 00145 void startdReconfig(); 00146 void scheddReconfig(); 00147 void collectorReconfig(); 00148 void negotiatorReconfig(); 00149 void kbddReconfig(); 00150 void submit(); 00151 void hold(); 00152 void qedit(); 00153 void prio(); 00154 void remove(); 00155 void release(); 00156 void createProcess(); 00157 void createFactories(); 00158 void reconfig(QStringList, QList <QTime>, QStringList); 00159 void errorControl(int exitCode,QProcess::ExitStatus exitStatus); 00160 void commandControl(int exitCode,QProcess::ExitStatus exitStatus); 00161 void condorUp(int, QProcess::ExitStatus); 00162 void readSettings(); 00163 void writeSettings(); 00164 00165 protected: 00166 void closeEvent(QCloseEvent *event); 00167 00168 signals: 00172 void reconfigPaths(QStringList list); 00176 void refreshMachineT(QTime time); 00180 void refreshJobT(QTime time); 00181 00182 }; 00183 00184 #endif