Advanced Multi-Physics (AMP)
On-Line Documentation
mainwindow.h
Go to the documentation of this file.
1#ifndef TimerWindow_H
2#define TimerWindow_H
3
4#include "AMP/graphics/RGBA.h"
5#include "AMP/utils/Array.h"
6
8
9#include <QLabel>
10#include <QLineEdit>
11#include <QMainWindow>
12#include <QPushButton>
13#include <QScrollArea>
14#include <QTableWidget>
15#include <QTimer>
16#include <QToolBar>
17#include <QToolButton>
18
19#include <memory>
20
21
22class QAction;
23class QMenu;
24class QTableView;
25class TraceWindow;
26class MemoryWindow;
27class DrawBoxClass;
28
29
31{
32 Q_OBJECT
33
34public:
36 MainWindow( const MainWindow & ) = delete;
37 MainWindow &operator=( const MainWindow & ) = delete;
38 virtual ~MainWindow();
39
40protected:
41 void closeEvent( QCloseEvent *event );
42
43public slots:
44 void exit();
45private slots:
46 void close();
47 void open();
48 void reset();
49 void about();
50
51 void resizeEvent( QResizeEvent *e );
52 void resizeDone();
53
54 // Developer functions
57
58private:
65 void loadFile( const std::string &filename, bool showFailure = true );
66 void setCurrentFile( const QString &fileName );
68 void mousePressEvent( QMouseEvent *event );
69 void mouseMoveEvent( QMouseEvent *event );
70 void mouseReleaseEvent( QMouseEvent *event );
71 QString strippedName( const QString &fullFileName );
72
73 QMenuBar *mainMenu;
74
75 QMenu *fileMenu;
76 QMenu *editMenu;
77 QMenu *helpMenu;
78 QToolBar *fileToolBar;
79 QToolBar *editToolBar;
80 QAction *closeAct;
81 QAction *openAct;
82 QAction *resetAct;
83 QAction *exitAct;
84 QAction *aboutAct;
87
89 std::unique_ptr<QMenu> processorButtonMenu;
90
91 QLabel *imageWindow;
92
93 std::shared_ptr<DrawBoxClass> gbox;
94
95protected: // Internal data
96 std::string d_lastPath;
98
99public: // Data for unit testing
100 bool runUnitTests( const std::string &file );
101
102private:
103 std::string unitTestFilename;
106};
107
108#endif
void reset()
QAction * openAct
Definition mainwindow.h:81
void readSettings()
QAction * aboutAct
Definition mainwindow.h:84
QToolBar * fileToolBar
Definition mainwindow.h:78
void resetUnitTestRunning()
void resizeDone()
void updateDisplay()
void mousePressEvent(QMouseEvent *event)
void mouseMoveEvent(QMouseEvent *event)
void mouseReleaseEvent(QMouseEvent *event)
void setCurrentFile(const QString &fileName)
QString strippedName(const QString &fullFileName)
bool runUnitTests(const std::string &file)
QMenu * fileMenu
Definition mainwindow.h:75
void writeSettings()
std::unique_ptr< QMenu > processorButtonMenu
Definition mainwindow.h:89
QAction * resetAct
Definition mainwindow.h:82
AMP::Array< AMP::ARGB32 > d_data
Definition mainwindow.h:97
void closeEvent(QCloseEvent *event)
std::shared_ptr< DrawBoxClass > gbox
Definition mainwindow.h:93
QToolBar * editToolBar
Definition mainwindow.h:79
QMenu * editMenu
Definition mainwindow.h:76
void exit()
void createActions()
void close()
void runUnitTestsSlot()
MainWindow & operator=(const MainWindow &)=delete
void loadFile(const std::string &filename, bool showFailure=true)
void about()
void savePerformance()
QLabel * imageWindow
Definition mainwindow.h:91
QAction * savePerformanceTimers
Definition mainwindow.h:85
QMenu * helpMenu
Definition mainwindow.h:77
virtual ~MainWindow()
QAction * closeAct
Definition mainwindow.h:80
QAction * exitAct
Definition mainwindow.h:83
void createMenus()
void open()
QAction * runUnitTestAction
Definition mainwindow.h:86
QTimer resizeTimer
Definition mainwindow.h:88
std::string unitTestFilename
Definition mainwindow.h:103
void callLoadFile()
void createToolBars()
QMenuBar * mainMenu
Definition mainwindow.h:73
void createStatusBar()
MainWindow(const MainWindow &)=delete
void resizeEvent(QResizeEvent *e)
std::string d_lastPath
Definition mainwindow.h:96
This is a helper class that allows a thread to call a function from the main thread.



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:40.
Comments on this page