14#include <QDesktopWidget>
16#include <QApplication>
23#include "view/videoplayer.h"
24#include "view/timeline.h"
25#include "view/infowidget.h"
26#include "view/samplingwidget.h"
27#include "view/automaticwidget.h"
28#include "view/outputwidget.h"
29#include "view/helpdialog.h"
30#include "view/about.h"
31#include "view/darkstyle/DarkStyle.h"
33#include "operationstack.h"
34#include "stringcontainer.h"
36#define UI_LAYOUT_VERSION "1.1.0"
39#include <opencv2/core.hpp>
87 QWidget *parent =
nullptr,
88 ColorTheme theme = ColorTheme::LIGHT,
89 int cuda = -1,
bool createLog =
false,
90 bool interpolateMetaData =
true,
91 QList<QLocale> locales = {QLocale(QLocale::English), QLocale(QLocale::German)},
92 QLocale selectedLocale = QLocale::system(),
93 QStringList algorithmList = QStringList(tr(
"no algorithm")),
94 QStringList transformList = QStringList(
""),
95 QWidget *otsWidget =
nullptr);
174 void addOtsWindow(QWidget *otsWidget);
176 void addSettingsAction(QAction *action);
178 void enableInputButtons(
bool status);
180 void enableExportPath(
bool status);
182 bool getInputEnabled();
184 void setColorTheme(ColorTheme theme);
265 void sig_resetBoundaries();
267 void sig_deleteAllKeyframes();
269 void sig_deleteKeyframesBoundaries();
271 void sig_toggleKeyframe();
275 void sig_selectLanguage(QLocale locale);
289 void on_actionOpen_Project_triggered();
290 void on_actionSave_Project_triggered();
291 void on_actionSave_Project_As_triggered();
292 void on_actionOpen_Input_triggered();
293 void on_actionSet_Reconstructiontool_Path_triggered();
294 void on_actionSet_Input_Path_triggered();
295 void on_actionInfo_triggered();
296 void on_actionOpen_Input_Video_triggered();
297 void on_actionHelp_triggered();
298 void on_actionToggleTheme_triggered();
299 void on_actionUse_CUDA_triggered();
300 void on_actionLicence_triggered();
301 void on_actionCreate_log_file_triggered();
302 void on_actionOpen_Meta_Data_triggered();
303 void on_actionInterpolate_missing_meta_data_triggered();
305 void on_actionUndo_triggered();
307 void on_actionRedo_triggered();
309 void on_actionReset_Boundaries_triggered();
311 void on_actionDelete_All_Keyframes_triggered();
313 void on_actionDelete_Keyframes_triggered();
314 void on_changeLanguage();
317 QFrame *addFrame(QWidget *w);
327 const QString m_appName =
"intelligent Video Sampler 3D";
328 std::vector<uint> generateKeyframes(uint totalFrames, uint keyframeCount);
329 void dropEvent(QDropEvent *event)
override;
330 void dragEnterEvent(QDragEnterEvent *event)
override;
332 void closeEvent(QCloseEvent *event)
override;
333 QDockWidget *m_outputDock;
334 QDockWidget *m_reconstructDock;
The MainWindow class holds all major GUI-components (widgets), has status bar on the bottom left and ...
Definition mainwindow.h:61
void slot_displayStatusMessage(QString message)
slot_displayStatusMessage displays given Text in the status bar on the bottom left
Definition mainwindow.cpp:249
void sig_changeReconstructPath()
sig_changeReconstructPath "Add Reconstruct Path" in menu-bar
Timeline * getTimeline()
getOutputWidget getter for the element which is used to move through a video/image-list
Definition mainwindow.cpp:261
void sig_openProject()
sig_openProject "Open Project" in menu-bar
void enableOpenMetaData(bool status)
enableOpenMetaData enables "Open Meta Data" button in the menu-bar
Definition mainwindow.cpp:295
void enableRedo(bool status)
enableRedo enables "redo" button in the menu-bar
Definition mainwindow.cpp:306
void enableSaveProject(bool status)
enableSaveProject enables "Save project" button in the menu-bar
Definition mainwindow.cpp:289
SamplingWidget * getSamplingWidget()
getSamplingWidget getter for the element which is the ui for every algorithm
Definition mainwindow.cpp:283
void sig_changeCreateLogFile(bool createLog)
sig_changeCreateLogFile is emitted if the createLogFile option is toggled
void sig_changeInterpolateMetaData(bool interpolate)
sig_changeInterpolateMetaData is emitted if the interpolate meta data option is toggled
OperationStack * getOpStack()
getOpStack returns the OperationStack displayed on the InfoWidget
Definition mainwindow.cpp:385
void sig_saveProject()
sig_saveProject "Save Project" in menu-bar
void sig_openVideoDragAndDrop(QString filePath)
sig_openVideoDragAndDrop emitted by drag&drop event When a drag&drop event occurs this signal is used...
void sig_openInputVideo()
sig_openInputVideo "Open Input Video" in menu-bar
void sig_changeLayoutStyle(bool horizontal)
sig_changeLayoutStyle "Change layout style" in menu-bar
AutomaticWidget * getAutoWidget()
getAutoWidget getter for the element which displays the automatic sampling
Definition mainwindow.cpp:271
OutputWidget * getOutputWidget()
getOutputWidget getter for the element which displays export and output data
Definition mainwindow.cpp:266
VideoPlayer * getVideoPlayer()
getVideoPlayer getter for the element which lets the user interact with the displayed video/images
Definition mainwindow.cpp:255
void sig_openMetaData()
sig_openMetaData "Open Meta Data" in menu-bar
InfoWidget * getInputWidget()
getInputWidget getter for the widget which displays all input data
Definition mainwindow.cpp:277
void sig_openInputFolder()
sig_openInputFolder "Open Input Folder" in menu-bar
void sig_changeDefaultInputPath()
sig_changeDefaultInputPath "Change default input path" in menu-bar
void sig_changeUseCuda(bool useCuda)
sig_changeUseCuda is emitted if the useCuda option is toggled
void enableUndo(bool status)
enableUndo enables "undo" button in the menu-bar
Definition mainwindow.cpp:301
void showProjectTitle(const QString &title=tr("not saved"))
showProjectTitle used to show loaded project in the titlebar of the main-window
Definition mainwindow.cpp:244
void sig_toggleTheme()
sig_toggleTheme "Toggle theme" in menu-bar
void enableTools(bool status)
enableTools enables tool buttons in the menu-bar
Definition mainwindow.cpp:311
~MainWindow()
delete members and disconnect connections
Definition mainwindow.cpp:206
void sig_saveProjectAs()
sig_saveProjectAs "Save Project As" in menu-bar
Definition operationstack.h:13
The Timeline class is the class wich coordinates and manages all timeline events and elements.
Definition timeline.h:30
The VideoPlayer class provides a view to display images and holds buttons to interact with image sequ...
Definition videoplayer.h:49