1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
// Copyright 2007 Nanorex, Inc. See LICENSE file for details.
#ifndef NV1_H
#define NV1_H
#include <map>
#include <string>
using namespace std;
#include <QtGui>
#include <QMainWindow>
#include <QFileDialog>
#include <QCloseEvent>
#include "Nanorex/Utility/NXCommandLine.h"
#include "Nanorex/Interface/NXEntityManager.h"
#include "Nanorex/Interface/NXGraphicsManager.h"
using namespace Nanorex;
#include "AboutBox.h"
#include "ResultsWindow.h"
#include "LogHandlerWidget.h"
#include "JobSelectorDialog.h"
#include "PreferencesDialog.h"
#include "MainWindowTabWidget.h"
#include "JobManagement/JobMonitor.h"
#include "JobManagement/GROMACS_JobMonitor.h"
/* CLASS: nv1 */
class nv1 : public QMainWindow {
Q_OBJECT
public:
nv1(NXEntityManager* entityManager,
NXGraphicsManager *graphicsManager,
LogHandlerWidget* logHandlerWidget);
~nv1();
void processCommandLine(int argc, char *argv[]);
void loadFile(const string& filename, const string& processType,
const string& processInit);
protected:
void closeEvent (QCloseEvent *event);
public slots:
void updateMenus();
void addMonitoredJob(const QString& processType, const QString& id,
const QString& title);
void removeMonitoredJob(const QString& id);
void raiseLogDockWidget();
private slots:
void open();
void close();
void about();
void updateWindowMenu();
void abortJob(const QString& id);
void checkForActiveJobs(string& filename, string& processType,
string& processInit, bool notify = false);
void openActiveJobs();
void showPreferences();
void toggleLogWindow();
void fixHDF5_DataStore();
private:
NXEntityManager* entityManager;
NXGraphicsManager *graphicsManager;
QToolBar* fileToolBar;
QToolBar* jobsToolBar;
QDockWidget* logDockWidget;
MainWindowTabWidget* mainWindowTabs;
ResultsWindow* resultsWindow;
QMenu* fileMenu;
QMenu* viewMenu;
QMenu* toolsMenu;
QMenu* jobsMenu;
QMenu* windowMenu;
QMenu* helpMenu;
// File
QAction* openAction;
QAction* closeAction;
QAction* exitAction;
// View
QAction* logWindowAction;
// Tools
//
// Job Management
QAction* openJobsAction;
QAction* abortJobAction;
QAction* fixHDF5_DataStoreAction;
QAction* preferencesAction;
// Window
QAction* windowCloseAction;
QAction* windowCloseAllAction;
QAction* windowTileAction;
QAction* windowCascadeAction;
QAction* windowArrangeAction;
QAction* windowNextAction;
QAction* windowPreviousAction;
QAction* windowSeparatorAction;
// Help
QAction* aboutAction;
map<QString, JobMonitor*> jobMonitors;
// Currently opened file
QString currentFileName;
void createActions();
void createMenus();
void createToolBars();
void createStatusBar();
void readSettings();
void writeSettings();
};
#endif
|