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);
|
||||
|
||||
RiuViewer* viewer = riv->viewer();
|
||||
mainWnd->setActiveViewer(viewer);
|
||||
mainWnd->setActiveViewer(viewer->layoutWidget());
|
||||
|
||||
// Process all events to avoid a black image when grabbing frame buffer
|
||||
QCoreApplication::processEvents();
|
||||
|
@ -203,7 +203,7 @@ void RimEclipseView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
|
||||
{
|
||||
if (m_viewer)
|
||||
{
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer->layoutWidget());
|
||||
delete m_viewer;
|
||||
m_viewer = NULL;
|
||||
}
|
||||
|
@ -480,7 +480,7 @@ void RimGeoMechView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, c
|
||||
{
|
||||
if (m_viewer)
|
||||
{
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer->layoutWidget());
|
||||
delete m_viewer;
|
||||
m_viewer = NULL;
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ RimView::~RimView(void)
|
||||
|
||||
if (m_viewer)
|
||||
{
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer->layoutWidget());
|
||||
}
|
||||
|
||||
delete m_viewer;
|
||||
@ -144,7 +144,7 @@ void RimView::updateViewerWidget()
|
||||
m_viewer = new RiuViewer(glFormat, NULL);
|
||||
m_viewer->setOwnerReservoirView(this);
|
||||
|
||||
RiuMainWindow::instance()->addViewer(m_viewer, windowGeometry());
|
||||
RiuMainWindow::instance()->addViewer(m_viewer->layoutWidget(), windowGeometry());
|
||||
m_viewer->setMinNearPlaneDistance(10);
|
||||
|
||||
this->resetLegendsInViewer();
|
||||
@ -155,7 +155,7 @@ void RimView::updateViewerWidget()
|
||||
isViewerCreated = true;
|
||||
}
|
||||
|
||||
RiuMainWindow::instance()->setActiveViewer(m_viewer);
|
||||
RiuMainWindow::instance()->setActiveViewer(m_viewer->layoutWidget());
|
||||
|
||||
if (isViewerCreated) m_viewer->mainCamera()->setViewMatrix(cameraPosition);
|
||||
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...
|
||||
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", "", "", "", "");
|
||||
traces.uiCapability()->setUiHidden(true);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&windowGeometry, "WindowGeometry", "", "", "", "");
|
||||
windowGeometry.uiCapability()->setUiHidden(true);
|
||||
|
||||
updateViewerWidget();
|
||||
updateAvailableDepthRange();
|
||||
}
|
||||
@ -60,7 +63,7 @@ RimWellLogPlot::RimWellLogPlot()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimWellLogPlot::~RimWellLogPlot()
|
||||
{
|
||||
RiuMainWindow::instance()->removeWellLogViewer(m_viewer);
|
||||
RiuMainWindow::instance()->removeViewer(m_viewer);
|
||||
delete m_viewer;
|
||||
}
|
||||
|
||||
@ -76,7 +79,7 @@ void RimWellLogPlot::updateViewerWidget()
|
||||
{
|
||||
m_viewer = new RiuWellLogPlot(this, RiuMainWindow::instance());
|
||||
|
||||
RiuMainWindow::instance()->addWellLogViewer(m_viewer);
|
||||
RiuMainWindow::instance()->addViewer(m_viewer, windowGeometry());
|
||||
isViewerCreated = true;
|
||||
}
|
||||
|
||||
@ -89,7 +92,7 @@ void RimWellLogPlot::updateViewerWidget()
|
||||
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;
|
||||
*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::PdmField<bool> showWindow;
|
||||
caf::PdmField< std::vector<int> > windowGeometry;
|
||||
|
||||
void addTrace();
|
||||
|
||||
@ -60,12 +61,16 @@ protected:
|
||||
|
||||
// Overridden PDM methods
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||
virtual void initAfterRead();
|
||||
virtual void setupBeforeSave();
|
||||
|
||||
private:
|
||||
void updateViewerWidget();
|
||||
|
||||
virtual caf::PdmFieldHandle* objectToggleField();
|
||||
|
||||
|
||||
|
||||
private:
|
||||
QPointer<RiuWellLogPlot> m_viewer;
|
||||
|
||||
|
@ -1143,25 +1143,7 @@ void RiuMainWindow::removeRecentFiles(const QString& file)
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
QMdiSubWindow* RiuMainWindow::findMdiSubWindow(RiuViewer* 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)
|
||||
QMdiSubWindow* RiuMainWindow::findMdiSubWindow(QWidget* viewer)
|
||||
{
|
||||
QList<QMdiSubWindow*> subws = m_mdiArea->subWindowList();
|
||||
int i;
|
||||
@ -1176,11 +1158,10 @@ QMdiSubWindow* RiuMainWindow::findMdiSubWindow(RiuWellLogPlot* viewer)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuMainWindow::removeViewer(RiuViewer* viewer)
|
||||
void RiuMainWindow::removeViewer(QWidget* viewer)
|
||||
{
|
||||
#if 0
|
||||
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
|
||||
m_CentralFrame->layout()->addWidget(viewer->layoutWidget());
|
||||
#else
|
||||
QMdiSubWindow * subWin = m_mdiArea->addSubWindow(viewer->layoutWidget());
|
||||
QMdiSubWindow * subWin = m_mdiArea->addSubWindow(viewer);
|
||||
|
||||
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);
|
||||
if (swin) m_mdiArea->setActiveSubWindow(swin);
|
||||
@ -1639,7 +1582,7 @@ void RiuMainWindow::selectedObjectsChanged()
|
||||
// Set focus in MDI area to this window if it exists
|
||||
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.
|
||||
@ -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;
|
||||
|
||||
|
@ -79,13 +79,9 @@ public:
|
||||
void initializeGuiNewProjectLoaded();
|
||||
void cleanupGuiBeforeProjectClose();
|
||||
|
||||
void removeViewer( RiuViewer* viewer );
|
||||
void addViewer(RiuViewer* viewer, const std::vector<int>& windowsGeometry);
|
||||
void setActiveViewer(RiuViewer* subWindow);
|
||||
|
||||
void addWellLogViewer(RiuWellLogPlot* viewer);
|
||||
void removeWellLogViewer(RiuWellLogPlot* viewer);
|
||||
void setActiveWellLogViewer(RiuWellLogPlot* subWindow);
|
||||
void removeViewer( QWidget* viewer );
|
||||
void addViewer(QWidget* viewer, const std::vector<int>& windowsGeometry);
|
||||
void setActiveViewer(QWidget* subWindow);
|
||||
|
||||
void setResultInfo(const QString& info) const;
|
||||
|
||||
@ -113,7 +109,7 @@ public:
|
||||
void addRecentFiles(const QString& file);
|
||||
void removeRecentFiles(const QString& file);
|
||||
|
||||
std::vector<int> windowGeometryForViewer(RiuViewer* viewer);
|
||||
std::vector<int> windowGeometryForViewer(QWidget* viewer);
|
||||
|
||||
protected:
|
||||
virtual void closeEvent(QCloseEvent* event);
|
||||
@ -129,8 +125,7 @@ private:
|
||||
|
||||
void updateRecentFileActions();
|
||||
|
||||
QMdiSubWindow* findMdiSubWindow(RiuViewer* viewer);
|
||||
QMdiSubWindow* findMdiSubWindow(RiuWellLogPlot* viewer);
|
||||
QMdiSubWindow* findMdiSubWindow(QWidget* viewer);
|
||||
|
||||
void storeTreeViewState();
|
||||
void restoreTreeViewState();
|
||||
|
Loading…
Reference in New Issue
Block a user