//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry) { QSize subWindowSize; QPoint subWindowPos(-1, -1); if (windowsGeometry.isValid()) { subWindowPos = QPoint(windowsGeometry.x, windowsGeometry.y); subWindowSize = QSize(windowsGeometry.width, windowsGeometry.height); } else { RiuWellLogPlot* wellLogPlot = dynamic_cast<RiuWellLogPlot*>(viewer); if (wellLogPlot) { QSize preferredSize = wellLogPlot->preferredSize(); subWindowSize = QSize(preferredSize.width(), m_mdiArea->height()); } else { subWindowSize = QSize(400, 400); } } addViewerToMdiArea(m_mdiArea, viewer, subWindowPos, subWindowSize); refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::updateSummaryPlotToolBar() { RimSummaryPlot* summaryPlot = dynamic_cast<RimSummaryPlot*>(m_activePlotViewWindow.p()); if (summaryPlot) { std::vector<caf::PdmFieldHandle*> toolBarFields; toolBarFields = summaryPlot->summaryCurveCollection()->fieldsToShowInToolbar(); if (!m_summaryPlotToolBarEditor->isEditorDataValid(toolBarFields)) { m_summaryPlotToolBarEditor->setFields(toolBarFields); m_summaryPlotToolBarEditor->updateUi(); } m_summaryPlotToolBarEditor->show(); } else { m_summaryPlotToolBarEditor->clear(); m_summaryPlotToolBarEditor->hide(); } refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry) { RiuMdiSubWindow* subWin = new RiuMdiSubWindow(m_mdiArea); subWin->setAttribute(Qt::WA_DeleteOnClose); // Make sure the contained widget is destroyed when the MDI window is closed subWin->setWidget(viewer); QSize subWindowSize; QPoint subWindowPos(-1, -1); bool initialStateMaximized = false; if (windowsGeometry.isValid()) { subWindowPos = QPoint(windowsGeometry.x, windowsGeometry.y); subWindowSize = QSize(windowsGeometry.width, windowsGeometry.height); initialStateMaximized = windowsGeometry.isMaximized; } else { RiuWellLogPlot* wellLogPlot = dynamic_cast<RiuWellLogPlot*>(subWin->widget()); if (wellLogPlot) { subWindowSize = QSize(275, m_mdiArea->height()); } else { subWindowSize = QSize(400, 400); if (m_mdiArea->subWindowList().size() < 1) { // Show first 3D view maximized initialStateMaximized = true; } } } if (m_mdiArea->currentSubWindow() && m_mdiArea->currentSubWindow()->isMaximized()) { initialStateMaximized = true; } subWin->show(); // Move and resize must be done after window is visible // If not, the position and size of the window is different to specification (Windows 7) // Might be a Qt bug, must be tested on Linux if (subWindowPos.x() > -1) { subWin->move(subWindowPos); } subWin->resize(subWindowSize); if (initialStateMaximized) { subWin->showMaximized(); } refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::removeViewer(QWidget* viewer) { m_blockSlotSubWindowActivated = true; m_mdiArea->removeSubWindow(findMdiSubWindow(viewer)); m_blockSlotSubWindowActivated = false; refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::initializeGuiNewProjectLoaded() { setPdmRoot(RiaApplication::instance()->project()); restoreTreeViewState(); if (m_pdmUiPropertyView && m_pdmUiPropertyView->currentObject()) { m_pdmUiPropertyView->currentObject()->uiCapability()->updateConnectedEditors(); } refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::updateSummaryPlotToolBar(bool forceUpdateUi) { RimSummaryPlot* summaryPlot = dynamic_cast<RimSummaryPlot*>(m_activePlotViewWindow.p()); if (summaryPlot) { std::vector<caf::PdmFieldHandle*> toolBarFields; RimEnsembleCurveSetCollection* ensembleCurveSetColl = nullptr; caf::PdmObjectHandle* selectedObj = dynamic_cast<caf::PdmObjectHandle*>(caf::SelectionManager::instance()->selectedItem()); if (selectedObj) { selectedObj->firstAncestorOrThisOfType(ensembleCurveSetColl); } if (ensembleCurveSetColl) { toolBarFields = ensembleCurveSetColl->fieldsToShowInToolbar(); } else { toolBarFields = summaryPlot->summaryCurveCollection()->fieldsToShowInToolbar(); } if (!m_summaryPlotToolBarEditor->isEditorDataValid(toolBarFields)) { m_summaryPlotToolBarEditor->setFields(toolBarFields); } else if (forceUpdateUi) { m_summaryPlotToolBarEditor->updateUi(); } m_summaryPlotToolBarEditor->updateUi(); m_summaryPlotToolBarEditor->show(); } else { m_summaryPlotToolBarEditor->clear(); m_summaryPlotToolBarEditor->hide(); } refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::initializeGuiNewProjectLoaded() { setPdmRoot(RiaApplication::instance()->project()); restoreTreeViewState(); if (m_pdmUiPropertyView && m_pdmUiPropertyView->currentObject()) { m_pdmUiPropertyView->currentObject()->uiCapability()->updateConnectedEditors(); } { auto* obj = RiaSummaryTools::summaryCaseMainCollection(); if (obj) { setExpanded(obj); } } { auto* obj = RiaSummaryTools::summaryPlotCollection(); if (obj) { setExpanded(obj); } } if (subWindowsAreTiled()) { tileSubWindows(); } if (m_activePlotViewWindow && m_activePlotViewWindow->viewWidget()) { if (m_activePlotViewWindow->mdiWindowGeometry().isMaximized) { auto subWin = findMdiSubWindow(m_activePlotViewWindow->viewWidget()); if (subWin) { subWin->showMaximized(); } } } refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::updateWellLogPlotToolBar() { RimWellLogPlot* wellLogPlot = dynamic_cast<RimWellLogPlot*>(m_activePlotViewWindow.p()); if (wellLogPlot) { std::vector<caf::PdmFieldHandle*> toolBarFields; toolBarFields = wellLogPlot->commonDataSource()->fieldsToShowInToolbar(); m_wellLogPlotToolBarEditor->setFields(toolBarFields); m_wellLogPlotToolBarEditor->updateUi(); m_wellLogPlotToolBarEditor->show(); } else { m_wellLogPlotToolBarEditor->clear(); m_wellLogPlotToolBarEditor->hide(); } refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::storeSubWindowTiling(bool tiled) { RiaApplication::instance()->project()->setSubWindowsTiledInPlotWindow(tiled); refreshToolbars(); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::removeViewer(QWidget* viewer) { removeViewerFromMdiArea(m_mdiArea, viewer); refreshToolbars(); }