mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Remove duplicate add/remove/setActive viewer methods from MainWindow.
(#408) Added Save Load of WellLog Plot window geometry also
This commit is contained in:
parent
1282766427
commit
30e2495849
@ -1464,7 +1464,7 @@ void RiaApplication::saveSnapshotForAllViews(const QString& snapshotFolderName)
|
|||||||
setActiveReservoirView(riv);
|
setActiveReservoirView(riv);
|
||||||
|
|
||||||
RiuViewer* viewer = riv->viewer();
|
RiuViewer* viewer = riv->viewer();
|
||||||
mainWnd->setActiveViewer(viewer);
|
mainWnd->setActiveViewer(viewer->layoutWidget());
|
||||||
|
|
||||||
// Process all events to avoid a black image when grabbing frame buffer
|
// Process all events to avoid a black image when grabbing frame buffer
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
|
@ -203,7 +203,7 @@ void RimEclipseView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
|
|||||||
{
|
{
|
||||||
if (m_viewer)
|
if (m_viewer)
|
||||||
{
|
{
|
||||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
RiuMainWindow::instance()->removeViewer(m_viewer->layoutWidget());
|
||||||
delete m_viewer;
|
delete m_viewer;
|
||||||
m_viewer = NULL;
|
m_viewer = NULL;
|
||||||
}
|
}
|
||||||
|
@ -480,7 +480,7 @@ void RimGeoMechView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
|
|||||||
{
|
{
|
||||||
if (m_viewer)
|
if (m_viewer)
|
||||||
{
|
{
|
||||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
RiuMainWindow::instance()->removeViewer(m_viewer->layoutWidget());
|
||||||
delete m_viewer;
|
delete m_viewer;
|
||||||
m_viewer = NULL;
|
m_viewer = NULL;
|
||||||
}
|
}
|
||||||
|
@ -114,7 +114,7 @@ RimView::~RimView(void)
|
|||||||
|
|
||||||
if (m_viewer)
|
if (m_viewer)
|
||||||
{
|
{
|
||||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
RiuMainWindow::instance()->removeViewer(m_viewer->layoutWidget());
|
||||||
}
|
}
|
||||||
|
|
||||||
delete m_viewer;
|
delete m_viewer;
|
||||||
@ -144,7 +144,7 @@ void RimView::updateViewerWidget()
|
|||||||
m_viewer = new RiuViewer(glFormat, NULL);
|
m_viewer = new RiuViewer(glFormat, NULL);
|
||||||
m_viewer->setOwnerReservoirView(this);
|
m_viewer->setOwnerReservoirView(this);
|
||||||
|
|
||||||
RiuMainWindow::instance()->addViewer(m_viewer, windowGeometry());
|
RiuMainWindow::instance()->addViewer(m_viewer->layoutWidget(), windowGeometry());
|
||||||
m_viewer->setMinNearPlaneDistance(10);
|
m_viewer->setMinNearPlaneDistance(10);
|
||||||
|
|
||||||
this->resetLegendsInViewer();
|
this->resetLegendsInViewer();
|
||||||
@ -155,7 +155,7 @@ void RimView::updateViewerWidget()
|
|||||||
isViewerCreated = true;
|
isViewerCreated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
RiuMainWindow::instance()->setActiveViewer(m_viewer);
|
RiuMainWindow::instance()->setActiveViewer(m_viewer->layoutWidget());
|
||||||
|
|
||||||
if (isViewerCreated) m_viewer->mainCamera()->setViewMatrix(cameraPosition);
|
if (isViewerCreated) m_viewer->mainCamera()->setViewMatrix(cameraPosition);
|
||||||
m_viewer->mainCamera()->viewport()->setClearColor(cvf::Color4f(backgroundColor()));
|
m_viewer->mainCamera()->viewport()->setClearColor(cvf::Color4f(backgroundColor()));
|
||||||
@ -259,7 +259,7 @@ void RimView::setupBeforeSave()
|
|||||||
hasUserRequestedAnimation = m_viewer->isAnimationActive(); // JJS: This is not conceptually correct. The variable is updated as we go, and store the user intentions. But I guess that in practice...
|
hasUserRequestedAnimation = m_viewer->isAnimationActive(); // JJS: This is not conceptually correct. The variable is updated as we go, and store the user intentions. But I guess that in practice...
|
||||||
cameraPosition = m_viewer->mainCamera()->viewMatrix();
|
cameraPosition = m_viewer->mainCamera()->viewMatrix();
|
||||||
|
|
||||||
windowGeometry = RiuMainWindow::instance()->windowGeometryForViewer(m_viewer);
|
windowGeometry = RiuMainWindow::instance()->windowGeometryForViewer(m_viewer->layoutWidget());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,6 +51,9 @@ RimWellLogPlot::RimWellLogPlot()
|
|||||||
CAF_PDM_InitFieldNoDefault(&traces, "Traces", "", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&traces, "Traces", "", "", "", "");
|
||||||
traces.uiCapability()->setUiHidden(true);
|
traces.uiCapability()->setUiHidden(true);
|
||||||
|
|
||||||
|
CAF_PDM_InitFieldNoDefault(&windowGeometry, "WindowGeometry", "", "", "", "");
|
||||||
|
windowGeometry.uiCapability()->setUiHidden(true);
|
||||||
|
|
||||||
updateViewerWidget();
|
updateViewerWidget();
|
||||||
updateAvailableDepthRange();
|
updateAvailableDepthRange();
|
||||||
}
|
}
|
||||||
@ -60,7 +63,7 @@ RimWellLogPlot::RimWellLogPlot()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimWellLogPlot::~RimWellLogPlot()
|
RimWellLogPlot::~RimWellLogPlot()
|
||||||
{
|
{
|
||||||
RiuMainWindow::instance()->removeWellLogViewer(m_viewer);
|
RiuMainWindow::instance()->removeViewer(m_viewer);
|
||||||
delete m_viewer;
|
delete m_viewer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +79,7 @@ void RimWellLogPlot::updateViewerWidget()
|
|||||||
{
|
{
|
||||||
m_viewer = new RiuWellLogPlot(this, RiuMainWindow::instance());
|
m_viewer = new RiuWellLogPlot(this, RiuMainWindow::instance());
|
||||||
|
|
||||||
RiuMainWindow::instance()->addWellLogViewer(m_viewer);
|
RiuMainWindow::instance()->addViewer(m_viewer, windowGeometry());
|
||||||
isViewerCreated = true;
|
isViewerCreated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,7 +92,7 @@ void RimWellLogPlot::updateViewerWidget()
|
|||||||
m_viewer->showMaximized();
|
m_viewer->showMaximized();
|
||||||
}
|
}
|
||||||
|
|
||||||
RiuMainWindow::instance()->setActiveWellLogViewer(m_viewer);
|
RiuMainWindow::instance()->setActiveViewer(m_viewer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,3 +253,19 @@ void RimWellLogPlot::visibleDepthRange(double* minimumDepth, double* maximumDept
|
|||||||
*minimumDepth = m_minimumVisibleDepth;
|
*minimumDepth = m_minimumVisibleDepth;
|
||||||
*maximumDepth = m_maximumVisibleDepth;
|
*maximumDepth = m_maximumVisibleDepth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimWellLogPlot::initAfterRead()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimWellLogPlot::setupBeforeSave()
|
||||||
|
{
|
||||||
|
windowGeometry = RiuMainWindow::instance()->windowGeometryForViewer(m_viewer);
|
||||||
|
}
|
||||||
|
@ -42,6 +42,7 @@ public:
|
|||||||
|
|
||||||
caf::PdmChildArrayField<RimWellLogPlotTrace*> traces;
|
caf::PdmChildArrayField<RimWellLogPlotTrace*> traces;
|
||||||
caf::PdmField<bool> showWindow;
|
caf::PdmField<bool> showWindow;
|
||||||
|
caf::PdmField< std::vector<int> > windowGeometry;
|
||||||
|
|
||||||
void addTrace();
|
void addTrace();
|
||||||
|
|
||||||
@ -60,12 +61,16 @@ protected:
|
|||||||
|
|
||||||
// Overridden PDM methods
|
// Overridden PDM methods
|
||||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||||
|
virtual void initAfterRead();
|
||||||
|
virtual void setupBeforeSave();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateViewerWidget();
|
void updateViewerWidget();
|
||||||
|
|
||||||
virtual caf::PdmFieldHandle* objectToggleField();
|
virtual caf::PdmFieldHandle* objectToggleField();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer<RiuWellLogPlot> m_viewer;
|
QPointer<RiuWellLogPlot> m_viewer;
|
||||||
|
|
||||||
|
@ -1143,25 +1143,7 @@ void RiuMainWindow::removeRecentFiles(const QString& file)
|
|||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
QMdiSubWindow* RiuMainWindow::findMdiSubWindow(RiuViewer* viewer)
|
QMdiSubWindow* RiuMainWindow::findMdiSubWindow(QWidget* viewer)
|
||||||
{
|
|
||||||
QList<QMdiSubWindow*> subws = m_mdiArea->subWindowList();
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < subws.size(); ++i)
|
|
||||||
{
|
|
||||||
if (subws[i]->widget() == viewer->layoutWidget())
|
|
||||||
{
|
|
||||||
return subws[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
QMdiSubWindow* RiuMainWindow::findMdiSubWindow(RiuWellLogPlot* viewer)
|
|
||||||
{
|
{
|
||||||
QList<QMdiSubWindow*> subws = m_mdiArea->subWindowList();
|
QList<QMdiSubWindow*> subws = m_mdiArea->subWindowList();
|
||||||
int i;
|
int i;
|
||||||
@ -1176,11 +1158,10 @@ QMdiSubWindow* RiuMainWindow::findMdiSubWindow(RiuWellLogPlot* viewer)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiuMainWindow::removeViewer(RiuViewer* viewer)
|
void RiuMainWindow::removeViewer(QWidget* viewer)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
m_CentralFrame->layout()->removeWidget(viewer->layoutWidget());
|
m_CentralFrame->layout()->removeWidget(viewer->layoutWidget());
|
||||||
@ -1194,12 +1175,12 @@ void RiuMainWindow::removeViewer(RiuViewer* viewer)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiuMainWindow::addViewer(RiuViewer* viewer, const std::vector<int>& windowsGeometry)
|
void RiuMainWindow::addViewer(QWidget* viewer, const std::vector<int>& windowsGeometry)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
m_CentralFrame->layout()->addWidget(viewer->layoutWidget());
|
m_CentralFrame->layout()->addWidget(viewer->layoutWidget());
|
||||||
#else
|
#else
|
||||||
QMdiSubWindow * subWin = m_mdiArea->addSubWindow(viewer->layoutWidget());
|
QMdiSubWindow * subWin = m_mdiArea->addSubWindow(viewer);
|
||||||
|
|
||||||
if (windowsGeometry.size() == 5)
|
if (windowsGeometry.size() == 5)
|
||||||
{
|
{
|
||||||
@ -1234,44 +1215,6 @@ void RiuMainWindow::addViewer(RiuViewer* viewer, const std::vector<int>& windows
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RiuMainWindow::addWellLogViewer(RiuWellLogPlot* viewer)
|
|
||||||
{
|
|
||||||
QMdiSubWindow * subWin = m_mdiArea->addSubWindow(viewer);
|
|
||||||
subWin->resize(400, 400);
|
|
||||||
|
|
||||||
if (m_mdiArea->subWindowList().size() == 1)
|
|
||||||
{
|
|
||||||
// Show first view maximized
|
|
||||||
subWin->showMaximized();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
subWin->show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RiuMainWindow::removeWellLogViewer(RiuWellLogPlot* viewer)
|
|
||||||
{
|
|
||||||
m_mdiArea->removeSubWindow(findMdiSubWindow(viewer));
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RiuMainWindow::setActiveWellLogViewer(RiuWellLogPlot* viewer)
|
|
||||||
{
|
|
||||||
QMdiSubWindow* subWindow = findMdiSubWindow(viewer);
|
|
||||||
if (subWindow)
|
|
||||||
{
|
|
||||||
m_mdiArea->setActiveSubWindow(subWindow);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -1533,7 +1476,7 @@ void RiuMainWindow::slotEditPreferences()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiuMainWindow::setActiveViewer(RiuViewer* viewer)
|
void RiuMainWindow::setActiveViewer(QWidget* viewer)
|
||||||
{
|
{
|
||||||
QMdiSubWindow * swin = findMdiSubWindow(viewer);
|
QMdiSubWindow * swin = findMdiSubWindow(viewer);
|
||||||
if (swin) m_mdiArea->setActiveSubWindow(swin);
|
if (swin) m_mdiArea->setActiveSubWindow(swin);
|
||||||
@ -1639,7 +1582,7 @@ void RiuMainWindow::selectedObjectsChanged()
|
|||||||
// Set focus in MDI area to this window if it exists
|
// Set focus in MDI area to this window if it exists
|
||||||
if (selectedReservoirView->viewer())
|
if (selectedReservoirView->viewer())
|
||||||
{
|
{
|
||||||
setActiveViewer(selectedReservoirView->viewer());
|
setActiveViewer(selectedReservoirView->viewer()->layoutWidget());
|
||||||
}
|
}
|
||||||
|
|
||||||
// m_projectTreeView->selectAsCurrentItem(uiItems[0]); TODO: Is this neccesary ? Was done in the old tree view.
|
// m_projectTreeView->selectAsCurrentItem(uiItems[0]); TODO: Is this neccesary ? Was done in the old tree view.
|
||||||
@ -2173,7 +2116,7 @@ void RiuMainWindow::customMenuRequested(const QPoint& pos)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
std::vector<int> RiuMainWindow::windowGeometryForViewer(RiuViewer* viewer)
|
std::vector<int> RiuMainWindow::windowGeometryForViewer(QWidget* viewer)
|
||||||
{
|
{
|
||||||
std::vector<int> geo;
|
std::vector<int> geo;
|
||||||
|
|
||||||
|
@ -79,13 +79,9 @@ public:
|
|||||||
void initializeGuiNewProjectLoaded();
|
void initializeGuiNewProjectLoaded();
|
||||||
void cleanupGuiBeforeProjectClose();
|
void cleanupGuiBeforeProjectClose();
|
||||||
|
|
||||||
void removeViewer( RiuViewer* viewer );
|
void removeViewer( QWidget* viewer );
|
||||||
void addViewer(RiuViewer* viewer, const std::vector<int>& windowsGeometry);
|
void addViewer(QWidget* viewer, const std::vector<int>& windowsGeometry);
|
||||||
void setActiveViewer(RiuViewer* subWindow);
|
void setActiveViewer(QWidget* subWindow);
|
||||||
|
|
||||||
void addWellLogViewer(RiuWellLogPlot* viewer);
|
|
||||||
void removeWellLogViewer(RiuWellLogPlot* viewer);
|
|
||||||
void setActiveWellLogViewer(RiuWellLogPlot* subWindow);
|
|
||||||
|
|
||||||
void setResultInfo(const QString& info) const;
|
void setResultInfo(const QString& info) const;
|
||||||
|
|
||||||
@ -113,7 +109,7 @@ public:
|
|||||||
void addRecentFiles(const QString& file);
|
void addRecentFiles(const QString& file);
|
||||||
void removeRecentFiles(const QString& file);
|
void removeRecentFiles(const QString& file);
|
||||||
|
|
||||||
std::vector<int> windowGeometryForViewer(RiuViewer* viewer);
|
std::vector<int> windowGeometryForViewer(QWidget* viewer);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void closeEvent(QCloseEvent* event);
|
virtual void closeEvent(QCloseEvent* event);
|
||||||
@ -129,8 +125,7 @@ private:
|
|||||||
|
|
||||||
void updateRecentFileActions();
|
void updateRecentFileActions();
|
||||||
|
|
||||||
QMdiSubWindow* findMdiSubWindow(RiuViewer* viewer);
|
QMdiSubWindow* findMdiSubWindow(QWidget* viewer);
|
||||||
QMdiSubWindow* findMdiSubWindow(RiuWellLogPlot* viewer);
|
|
||||||
|
|
||||||
void storeTreeViewState();
|
void storeTreeViewState();
|
||||||
void restoreTreeViewState();
|
void restoreTreeViewState();
|
||||||
|
Loading…
Reference in New Issue
Block a user