Fréchet View  1.6.0
A Tool for Exploring Fréchet Distance Algorithms
mainwindow.h
Go to the documentation of this file.
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3 
4 #include <QMainWindow>
5 #include <QSplitter>
6 #include <QSettings>
7 
8 #include <curveview.h>
9 #include <freespaceview.h>
10 #include <controlpanel.h>
11 
12 namespace Ui { class MainWindow; }
13 
14 namespace frechet {
15 
16 namespace app{ class FrechetViewApplication; }
17 
18 namespace view {
19 
20 class AnimationDialog;
33 class MainWindow : public QMainWindow
34 {
35  Q_OBJECT
36 
37 public:
42  MainWindow( QWidget *parent = 0);
44  ~MainWindow();
45 
52 
55  void closeEvent(QCloseEvent *event);
56 
58  QAction* actionOpen();
60  QAction* actionOpenRecent();
62  QAction* actionOpenPrevious();
64  QAction* actionOpenNext();
66  QAction* actionQuit();
67 
72  void saveSettings(QSettings& settings);
77  void restoreSettings(QSettings& settings);
78 
83  void setShowBounds(bool show);
88  void setSeparateCurves(bool separate);
89 
90 public slots:
93  void enterFullScreen(bool fullscreen);
94 
97  void startStopAnimation();
98  void startStopFSAnimation();
99  void startStopCVAnimation();
101 
102 private:
105  Ui::MainWindow *ui;
106 
114  QSplitter *splitter;
115  // TODO Free-Space Diagram
116 
117  AnimationDialog* overlayWindow;
118  void showHideAnimation(bool fspath);
119 };
120 
121 } } // namespace
122 
123 #endif // MAINWINDOW_H
QAction * actionOpenPrevious()
FreeSpaceView * freeSpaceView
free-space view
Definition: mainwindow.h:110
global definitions for all algorithms.
(auto-generated by Qt)
The single application window.
Definition: mainwindow.h:33
CurveView * getCurveView()
Definition: mainwindow.h:49
Ui::MainWindow * ui
widgets (auto-generated by Qt)
Definition: mainwindow.h:105
ControlPanel * getControlPanel()
Definition: mainwindow.h:47
void restoreSettings(QSettings &settings)
load settings from application preferences
Definition: mainwindow.cpp:168
void enterFullScreen(bool fullscreen)
enter/leave full-screen mode
Definition: mainwindow.cpp:196
void saveSettings(QSettings &settings)
store settings to application preferences
Definition: mainwindow.cpp:150
displays input curves P and Q.
Definition: curveview.h:22
ControlPanel * controlPanel
control panel
Definition: mainwindow.h:112
CurveView * curveView
curve view
Definition: mainwindow.h:108
display the free-space diagram.
FSPath::ptr fspath
the feasible path (if available)
QSplitter * splitter
splitter between panels
Definition: mainwindow.h:114
AnimationDialog * overlayWindow
Definition: mainwindow.h:117
~MainWindow()
destructor; closes the window, releases all widgets
Definition: mainwindow.cpp:135
void setSeparateCurves(bool separate)
called when the user clicks the "Separate Curves" button
Definition: mainwindow.cpp:191
void setShowBounds(bool show)
called when the user clicks the "Show Bounds" button
Definition: mainwindow.cpp:186
void closeEvent(QCloseEvent *event)
catch window close event and quit the application
Definition: mainwindow.cpp:140
MainWindow(QWidget *parent=0)
default constructor
Definition: mainwindow.cpp:13
FreeSpaceView * getFreeSpaceView()
Definition: mainwindow.h:51