void FraxinusMainWindowApplicationComponent::addAdditionalDefaultLayouts() { std::cout << "addAdditionalDefaultLayouts" << std::endl; ViewServicePtr viewService = logicManager()->getViewService(); { LayoutData layout = LayoutData::create("LAYOUT_VB_FLY_THROUGH", "VB FLY-THROUGH", 3, 5); layout.setView(2, View::VIEW_3D, LayoutRegion(0, 0, 3, 3)); layout.setView(0, View::VIEW_3D, LayoutRegion(0, 3, 1, 2)); layout.setView(1, ptAXIAL, LayoutRegion(1, 3, 1, 2)); layout.setView(1, ptCORONAL, LayoutRegion(2, 3, 1, 2)); viewService->addDefaultLayout(layout); } { LayoutData layout = LayoutData::create("LAYOUT_VB_CUT_PLANES", "VB CUT-PLANES", 3, 5); layout.setView(0, View::VIEW_3D, LayoutRegion(0, 0, 3, 3)); layout.setView(2, View::VIEW_3D, LayoutRegion(0, 3, 1, 2)); layout.setView(1, ptAXIAL, LayoutRegion(1, 3, 1, 2)); layout.setView(1, ptCORONAL, LayoutRegion(2, 3, 1, 2)); viewService->addDefaultLayout(layout); } { // ACS 3D LayoutData layout = LayoutData::create("LAYOUT_ACAS", "ACAS", 2, 2); layout.setView(1, ptAXIAL, LayoutRegion(0, 0)); layout.setView(1, ptCORONAL, LayoutRegion(0, 1)); layout.setView(1, ptSAGITTAL, LayoutRegion(1, 1)); layout.setView(0, ptAXIAL, LayoutRegion(1, 0)); viewService->addDefaultLayout(layout); } }
void SecondaryViewLayoutWindow::hideEvent(QCloseEvent* event) { logicManager()->getViewService()->setActiveLayout("", 1); }
void SecondaryViewLayoutWindow::showEvent(QShowEvent* event) { this->setCentralWidget(logicManager()->getViewService()->createLayoutWidget(this, 1)); if (logicManager()->getViewService()->getActiveLayout(1).isEmpty()) logicManager()->getViewService()->setActiveLayout("LAYOUT_OBLIQUE_3DAnyDual_x1", 1); }
MainWindow::MainWindow() : mFullScreenAction(NULL), mStandard3DViewActions(new QActionGroup(this)), mControlPanel(NULL), mDockWidgets(new DynamicMainWindowWidgets(this)), mActions(NULL) { this->setObjectName("MainWindow"); mServices = VisServices::create(logicManager()->getPluginContext()); mLayoutInteractor.reset(new LayoutInteractor()); this->setCentralWidget(viewService()->createLayoutWidget(this, 0)); mActions = new MainWindowActions(mServices, this); this->createActions(); this->createMenus(); this->createToolBars(); this->setStatusBar(new StatusBar()); reporter()->setAudioSource(AudioPtr(new AudioImpl())); connect(stateService().get(), &StateService::applicationStateChanged, this, &MainWindow::onApplicationStateChangedSlot); connect(stateService().get(), &StateService::workflowStateChanged, this, &MainWindow::onWorkflowStateChangedSlot); connect(stateService().get(), &StateService::workflowStateAboutToChange, this, &MainWindow::saveDesktopSlot); this->updateWindowTitle(); this->setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::North); this->addAsDockWidget(new PlaybackWidget(this), "Browsing"); this->addAsDockWidget(new VideoConnectionWidget(mServices, this), "Utility"); this->addAsDockWidget(new EraserWidget(mServices->patient(), mServices->view(), this), "Properties"); this->addAsDockWidget(new MetricWidget(mServices->view(), mServices->patient(), this), "Utility"); this->addAsDockWidget(new SlicePropertiesWidget(mServices->patient(), mServices->view(), this), "Properties"); this->addAsDockWidget(new VolumePropertiesWidget(mServices, this), "Properties"); this->addAsDockWidget(new ActiveMeshPropertiesWidget(mServices, this), "Properties"); this->addAsDockWidget(new StreamPropertiesWidget(mServices->patient(), mServices->view(), this), "Properties"); this->addAsDockWidget(new TrackPadWidget(this), "Utility"); this->addAsDockWidget(new ActiveToolPropertiesWidget(mServices->tracking(), mServices->spaceProvider(), this), "Properties"); this->addAsDockWidget(new NavigationWidget(this), "Properties"); this->addAsDockWidget(new ConsoleWidget(this, "ConsoleWidget", "Console"), "Utility"); this->addAsDockWidget(new ConsoleWidget(this, "ConsoleWidget2", "Extra Console"), "Utility"); // this->addAsDockWidget(new ConsoleWidgetCollection(this, "ConsoleWidgets", "Consoles"), "Utility"); this->addAsDockWidget(new FrameTreeWidget(mServices->patient(), this), "Browsing"); this->addAsDockWidget(new ToolManagerWidget(this), "Debugging"); this->addAsDockWidget(new PluginFrameworkWidget(this), "Browsing"); this->addAsDockWidget(new FiltersWidget(VisServices::create(logicManager()->getPluginContext()), this), "Algorithms"); this->addAsDockWidget(new ClippingPropertiesWidget(mServices, this), "Properties"); this->addAsDockWidget(new BrowserWidget(this, mServices), "Browsing"); connect(patientService().get(), &PatientModelService::patientChanged, this, &MainWindow::patientChangedSlot); connect(qApp, &QApplication::focusChanged, this, &MainWindow::focusChanged); this->setupGUIExtenders(); // window menu must be created after all dock widgets are created QMenu* popupMenu = this->createPopupMenu(); popupMenu->setTitle("Window"); this->menuBar()->insertMenu(mHelpMenuAction, popupMenu); // show after window has been initialized QTimer::singleShot(0, this, SLOT(delayedShow())); }
MainWindow::MainWindow() : mFullScreenAction(NULL), mStandard3DViewActions(new QActionGroup(this)), mControlPanel(NULL), mDockWidgets(new DynamicMainWindowWidgets(this)), mActions(NULL) { this->setObjectName("MainWindow"); mServices = VisServices::create(logicManager()->getPluginContext()); mLayoutInteractor.reset(new LayoutInteractor()); this->setCentralWidget(viewService()->getLayoutWidget(this, 0)); mActions = new MainWindowActions(mServices, this); this->createActions(); this->createMenus(); this->createToolBars(); this->setStatusBar(new StatusBar()); reporter()->setAudioSource(AudioPtr(new AudioImpl())); connect(stateService().get(), &StateService::applicationStateChanged, this, &MainWindow::onApplicationStateChangedSlot); connect(stateService().get(), &StateService::workflowStateChanged, this, &MainWindow::onWorkflowStateChangedSlot); connect(stateService().get(), &StateService::workflowStateAboutToChange, this, &MainWindow::saveDesktopSlot); this->updateWindowTitle(); this->setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::North); this->addAsDockWidget(new PlaybackWidget(this), "Browsing"); this->addAsDockWidget(new VideoConnectionWidget(mServices, this), "Utility"); this->addAsDockWidget(new EraserWidget(mServices->patientModelService, mServices->visualizationService, this), "Properties"); this->addAsDockWidget(new MetricWidget(mServices->visualizationService, mServices->patientModelService, this), "Utility"); this->addAsDockWidget(new SlicePropertiesWidget(mServices->patientModelService, mServices->visualizationService, this), "Properties"); this->addAsDockWidget(new VolumePropertiesWidget(mServices->patientModelService, mServices->visualizationService, this), "Properties"); this->addAsDockWidget(new MeshInfoWidget(mServices->patientModelService, mServices->visualizationService, this), "Properties"); this->addAsDockWidget(new StreamPropertiesWidget(mServices->patientModelService, mServices->visualizationService, this), "Properties"); this->addAsDockWidget(new TrackPadWidget(this), "Utility"); this->addAsDockWidget(new ToolPropertiesWidget(this), "Properties"); this->addAsDockWidget(new NavigationWidget(this), "Properties"); this->addAsDockWidget(new ConsoleWidget(this, "ConsoleWidget", "Console"), "Utility"); this->addAsDockWidget(new ConsoleWidget(this, "ConsoleWidget2", "Extra Console"), "Utility"); // this->addAsDockWidget(new ConsoleWidgetCollection(this, "ConsoleWidgets", "Consoles"), "Utility"); this->addAsDockWidget(new FrameTreeWidget(mServices->patientModelService, this), "Browsing"); this->addAsDockWidget(new ToolManagerWidget(this), "Debugging"); this->addAsDockWidget(new PluginFrameworkWidget(this), "Browsing"); this->addAsDockWidget(new AllFiltersWidget(VisServices::create(logicManager()->getPluginContext()), this), "Algorithms"); connect(patientService().get(), &PatientModelService::patientChanged, this, &MainWindow::patientChangedSlot); connect(qApp, &QApplication::focusChanged, this, &MainWindow::focusChanged); this->setupGUIExtenders(); // window menu must be created after all dock widgets are created QMenu* popupMenu = this->createPopupMenu(); popupMenu->setTitle("Window"); this->menuBar()->insertMenu(mHelpMenuAction, popupMenu); // Restore saved window states // Must be done after all DockWidgets are created if (restoreGeometry(settings()->value("mainWindow/geometry").toByteArray())) { this->show(); } else { this->showMaximized(); } if (settings()->value("gui/fullscreen").toBool()) this->setWindowState(this->windowState() | Qt::WindowFullScreen); }
SessionStorageServicePtr sessionStorageService() { return logicManager()->getSessionStorageService(); }
ViewServicePtr viewService() { return logicManager()->getViewService(); }
StateServicePtr stateService() { return logicManager()->getStateService(); }
VideoServicePtr videoService() { return logicManager()->getVideoService(); }
PatientModelServicePtr patientService() { return logicManager()->getPatientModelService(); }
SpaceProviderPtr spaceProvider() { return logicManager()->getSpaceProvider(); }
TrackingServicePtr trackingService() { return logicManager()->getTrackingService(); }