mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#711) Use most recent activated Eclipse view if a well log plot is active
Octave scripts must have an Eclipse view to communicate with. If a WLP is active, evaluate recently used views to find the most recently Eclipse view used.
This commit is contained in:
parent
f00ecd9a5a
commit
1c4c1d254e
@ -22,36 +22,38 @@
|
||||
#include "RiaSocketCommand.h"
|
||||
#include "RiaSocketTools.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
|
||||
#include "RigCaseCellResultsData.h"
|
||||
#include "RigCaseData.h"
|
||||
#include "RigGridBase.h"
|
||||
|
||||
#include "Rim3dOverlayInfoConfig.h"
|
||||
#include "RimCaseCollection.h"
|
||||
#include "RimCellEdgeColors.h"
|
||||
#include "RimCellRangeFilterCollection.h"
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseCaseCollection.h"
|
||||
#include "RimEclipseCellColors.h"
|
||||
#include "RimEclipsePropertyFilterCollection.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimEclipseWellCollection.h"
|
||||
#include "RimIdenticalGridCaseGroup.h"
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimReservoirCellResultsStorage.h"
|
||||
#include "RimScriptCollection.h"
|
||||
|
||||
#include "RiuMainWindow.h"
|
||||
#include "RiuViewer.h"
|
||||
|
||||
#include "cafFactory.h"
|
||||
|
||||
#include <QtGui>
|
||||
#include <QtNetwork>
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiuMainWindow.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimEclipseCase.h"
|
||||
|
||||
#include "RimEclipseCellColors.h"
|
||||
#include "RimCellEdgeColors.h"
|
||||
#include "RimCellRangeFilterCollection.h"
|
||||
#include "RimEclipsePropertyFilterCollection.h"
|
||||
#include "RimEclipseWellCollection.h"
|
||||
#include "Rim3dOverlayInfoConfig.h"
|
||||
#include "RimIdenticalGridCaseGroup.h"
|
||||
#include "RimScriptCollection.h"
|
||||
#include "RimCaseCollection.h"
|
||||
#include "RimReservoirCellResultsStorage.h"
|
||||
|
||||
#include "RigCaseData.h"
|
||||
#include "RigCaseCellResultsData.h"
|
||||
|
||||
#include "cafFactory.h"
|
||||
#include "RigGridBase.h"
|
||||
#include "RimOilField.h"
|
||||
#include "RimEclipseCaseCollection.h"
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@ -155,6 +157,22 @@ RimEclipseCase* RiaSocketServer::findReservoir(int caseId)
|
||||
{
|
||||
return riv->eclipseCase();
|
||||
}
|
||||
|
||||
// If the active mdi window is different from an Eclipse view, search through available mdi windows to find the last activated
|
||||
// Eclipse view. The sub windows are returned with the most recent activated window at the back.
|
||||
QList<QMdiSubWindow*> subWindows = RiuMainWindow::instance()->subWindowList(QMdiArea::ActivationHistoryOrder);
|
||||
for (int i = subWindows.size() - 1; i > -1; i--)
|
||||
{
|
||||
RiuViewer* viewer = subWindows[i]->widget()->findChild<RiuViewer*>();
|
||||
if (viewer)
|
||||
{
|
||||
RimEclipseView* riv = dynamic_cast<RimEclipseView*>(viewer->ownerReservoirView());
|
||||
if (riv)
|
||||
{
|
||||
return riv->eclipseCase();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1167,6 +1167,14 @@ QMdiSubWindow* RiuMainWindow::findMdiSubWindow(QWidget* viewer)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QList<QMdiSubWindow*> RiuMainWindow::subWindowList(QMdiArea::WindowOrder order)
|
||||
{
|
||||
return m_mdiArea->subWindowList(order);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <QEvent>
|
||||
#include <QMainWindow>
|
||||
#include <QPointer>
|
||||
#include <QMdiArea>
|
||||
|
||||
class QActionGroup;
|
||||
class QComboBox;
|
||||
@ -30,7 +31,6 @@ class QFrame;
|
||||
class QItemSelection;
|
||||
class QLabel;
|
||||
class QLineEdit;
|
||||
class QMdiArea;
|
||||
class QMdiSubWindow;
|
||||
class QSpinBox;
|
||||
class QTreeView;
|
||||
@ -112,6 +112,7 @@ public:
|
||||
void tileWindows();
|
||||
bool isAnyMdiSubWindowVisible();
|
||||
QMdiSubWindow* findMdiSubWindow(QWidget* viewer);
|
||||
QList<QMdiSubWindow*> subWindowList(QMdiArea::WindowOrder order);
|
||||
|
||||
RiuResultQwtPlot* resultPlot();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user