57 ui_(
new Ui::MainWindow)
60 setTabPosition(Qt::AllDockWidgetAreas,QTabWidget::North);
64 for (
auto& _dockWidget : {
72 _dockWidget->widget()->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
80 this->addToolBar(Qt::TopToolBarArea,
toolBar_.get());
81 connect(
toolBar_.get(), SIGNAL(dataModelChanged()),
87 QLayout *_layout =
new QHBoxLayout();
101 _layout->addWidget(
export_.get());
103 _layout->setContentsMargins(0, 0, 0, 0);
104 ui_->pages->setLayout(_layout);
107 ui_->statusbar->showMessage(QString(
"Omnidome VR") +
108 QString(OMNIDOME_VERSION_STRING));
112 QMenu *_menu =
new QMenu();
114 _menu->addAction(
"PeripheralSetup")->setData(QString(
"PeripheralSetup"));
115 _menu->addAction(
"FreeSetup")->setData(QString(
"FreeSetup"));
116 _menu->addSeparator();
118 connect(_menu, SIGNAL(triggered(QAction *)),
this,
121 ui_->btnAddTuning->setMenu(_menu);
129 tabifyDockWidget(
ui_->dockCanvas,
ui_->dockScene);
130 tabifyDockWidget(
ui_->dockInputs,
ui_->dockMapping);
131 tabifyDockWidget(
ui_->dockInputs,
ui_->dockColorCorrection);
132 tabifyDockWidget(
ui_->dockInputs,
ui_->dockWarp);
133 tabifyDockWidget(
ui_->dockInputs,
ui_->dockBlend);
139 connect(
ui_->tuningList, SIGNAL(dataModelChanged()),
this,
141 connect(
ui_->tuningList, SIGNAL(tuningChanged()),
this,
143 connect(
ui_->tuningList,
148 SLOT(updateScreens()));
149 connect(
ui_->tuningList, SIGNAL(tuningRemoved()),
this,
153 connect(
ui_->actionEnableAllTunings, SIGNAL(triggered()),
154 ui_->tuningList, SLOT(enableAllTunings()));
155 connect(
ui_->actionDisableAllTunings, SIGNAL(triggered()),
156 ui_->tuningList, SLOT(disableAllTunings()));
157 connect(
ui_->actionEnableSelectedTuningOnly, SIGNAL(triggered()),
158 ui_->tuningList, SLOT(enableSelectedTuningOnly()));
161 connect(
ui_->dockCanvasWidget, SIGNAL(
162 dataModelChanged()),
this,
164 connect(
ui_->dockCanvasWidget, SIGNAL(canvasTypeChanged()),
168 connect(
ui_->dockSceneWidget, SIGNAL(dataModelChanged()),
172 connect(
ui_->dockSceneWidget, SIGNAL(sceneScaleChanged(
bool)),
173 ui_->tuningList, SLOT(updateSceneSize(
bool)));
174 connect(
ui_->dockSceneWidget, SIGNAL(sceneScaleChanged(
bool)),
175 ui_->dockCanvasWidget, SLOT(updateSceneSize(
bool)));
176 connect(
ui_->dockSceneWidget, SIGNAL(unitChanged()),
177 ui_->dockCanvasWidget, SLOT(updateUnits()));
178 connect(
ui_->dockSceneWidget, SIGNAL(unitChanged()),
179 ui_->tuningList, SLOT(updateUnits()));
182 connect(
ui_->dockInputsWidget, SIGNAL(
183 inputIndexChanged()),
this,
186 connect(
ui_->dockInputsWidget, SIGNAL(
188 SLOT(showInputControlWidget()));
189 connect(
ui_->dockInputsWidget, SIGNAL(
191 SLOT(removeInputControlWidget()));
192 connect(
ui_->dockInputsWidget, SIGNAL(
193 inputIndexChanged()),
this,
195 connect(
ui_->dockInputsWidget, SIGNAL(
196 inputChanged()),
this,
200 connect(
ui_->dockMappingWidget, SIGNAL(
201 dataModelChanged()),
this,
203 connect(
ui_->dockMappingWidget, SIGNAL(
204 dataModelChanged()),
this,
206 connect(
ui_->dockMappingWidget, SIGNAL(
207 dataModelChanged()),
toolBar_.get(),
208 SLOT(buttonStates()));
213 connect(
ui_->dockWarpWidget, SIGNAL(
214 dataModelChanged()),
this,
218 connect(
ui_->dockBlendWidget,
224 connect(
ui_->dockColorCorrectionWidget, SIGNAL(
225 dataModelChanged()),
this,
229 connect(
ui_->btnAddTuning, SIGNAL(
230 clicked()),
ui_->tuningList,
232 connect(
ui_->btnAddTuning, SIGNAL(
237 connect(
ui_->actionAbout,SIGNAL(triggered()),
toolBar_.get(),SLOT(showAbout()));
243 int _width = width();
244 _list << _width * 1.2 << 100;
245 ui_->splitter->setSizes(_list);
251 connect(
recentSessions_.get(), SIGNAL(fileToBeLoaded(QString
const &)),
259 ui_->tuningList->addTuning();
A widget for seting up fullscreen windows.
Definition: ScreenSetup.h:44
void dataModelChanged()
Signal which is emitted when parameters of one tuning have changed.
QUniquePtr< ToolBar > toolBar_
MainWindow toolbar.
Definition: MainWindow.h:131
QUniquePtr< ScreenSetup > screenSetup_
Screen Setup page.
Definition: MainWindow.h:116
QUniquePtr< SceneViewer > sceneViewer_
ProjectionSetup/Canvas arrangement and live view page.
Definition: MainWindow.h:119
Data structure and menu to store default sessions.
Definition: RecentSessions.h:55
void readSettings()
Definition: MainWindow.cpp:269
void setMode()
Sets session mode.
Definition: MainWindow.cpp:514
QUniquePtr< TuningGLView > tuningView_
Page for warp grid, blend mask and color correction.
Definition: MainWindow.h:122
bool modified_
Modified flag.
Definition: MainWindow.h:110
std::shared_ptr< Session > session_
Current projection session.
Definition: MainWindow.h:107
void buttonState()
Sets enabled state of toolbar buttons.
Definition: MainWindow.cpp:469
std::unique_ptr< Ui::MainWindow > ui_
UI containing designed widgets of this window.
Definition: MainWindow.h:134
void modified()
Sets modified flag to true.
Definition: MainWindow.cpp:437
QUniquePtr< RecentSessions > recentSessions_
Store recent sessions.
Definition: MainWindow.h:128
void addProjector(QAction *_action)
Definition: MainWindow.cpp:499
virtual void updateFrontend()
Push data to frontend widgets and all child widgets.
Definition: DataModel.h:128
void updateAllViews()
Update all OpenGL views.
Definition: MainWindow.cpp:419
A GLView for visualizing all modes of a projector view (tuning)
Definition: TuningGLView.h:34
QUniquePtr< Export > export_
Page for exporting projection.
Definition: MainWindow.h:125
void openProjection()
Open a new session.
Definition: MainWindow.cpp:367
SceneViewer widget for positioning of elements and 3D view of scene.
Definition: SceneViewer.h:35
void setupSession(std::shared_ptr< Session > &_session)
Makes a new session.
Definition: MainWindow.cpp:285
void setTuningIndex()
Set current tuning index.
Definition: MainWindow.cpp:487