mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2487 Avoid switching view when clicking objs in the intersectino view. Some minor refactoring of the MainWindows
This commit is contained in:
parent
599909a9e8
commit
6a3b43ec7c
@ -576,14 +576,6 @@ void RiuMainPlotWindow::setActiveViewer(QWidget* viewer)
|
|||||||
m_blockSlotSubWindowActivated = false;
|
m_blockSlotSubWindowActivated = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
caf::PdmUiTreeView* RiuMainPlotWindow::projectTreeView()
|
|
||||||
{
|
|
||||||
return m_projectTreeView;
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -631,22 +623,22 @@ void RiuMainPlotWindow::selectedObjectsChanged()
|
|||||||
{
|
{
|
||||||
firstSelectedObject = dynamic_cast<caf::PdmObjectHandle*>(uiItems[0]);
|
firstSelectedObject = dynamic_cast<caf::PdmObjectHandle*>(uiItems[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pdmUiPropertyView->showProperties(firstSelectedObject);
|
m_pdmUiPropertyView->showProperties(firstSelectedObject);
|
||||||
|
|
||||||
if (uiItems.size() == 1)
|
if (uiItems.size() == 1 && m_allowActiveViewChangeFromSelection)
|
||||||
{
|
{
|
||||||
// Find the reservoir view or the Plot that the selected item is within
|
// Find the reservoir view or the Plot that the selected item is within
|
||||||
|
|
||||||
if (!firstSelectedObject)
|
if (!firstSelectedObject)
|
||||||
{
|
{
|
||||||
caf::PdmFieldHandle* selectedField = dynamic_cast<caf::PdmFieldHandle*>(uiItems[0]);
|
caf::PdmFieldHandle* selectedField = dynamic_cast<caf::PdmFieldHandle*>(uiItems[0]);
|
||||||
if (selectedField)
|
if (selectedField) firstSelectedObject = selectedField->ownerObject();
|
||||||
firstSelectedObject = selectedField->ownerObject();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!firstSelectedObject)
|
if (!firstSelectedObject) return;
|
||||||
return;
|
|
||||||
|
|
||||||
|
|
||||||
RimViewWindow* selectedWindow = dynamic_cast<RimViewWindow*>(firstSelectedObject);
|
RimViewWindow* selectedWindow = dynamic_cast<RimViewWindow*>(firstSelectedObject);
|
||||||
if (!selectedWindow)
|
if (!selectedWindow)
|
||||||
{
|
{
|
||||||
@ -714,13 +706,6 @@ void RiuMainPlotWindow::restoreTreeViewState()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RiuMainPlotWindow::selectAsCurrentItem(caf::PdmObject* object)
|
|
||||||
{
|
|
||||||
m_projectTreeView->selectAsCurrentItem(object);
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
@ -730,14 +715,6 @@ void RiuMainPlotWindow::setDefaultWindowSize()
|
|||||||
resize(1000, 810);
|
resize(1000, 810);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RiuMainPlotWindow::setExpanded(const caf::PdmUiItem* uiItem, bool expanded)
|
|
||||||
{
|
|
||||||
m_projectTreeView->setExpanded(uiItem, expanded);
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -55,7 +55,7 @@ class RiuMainPlotWindow : public RiuMainWindowBase
|
|||||||
public:
|
public:
|
||||||
RiuMainPlotWindow();
|
RiuMainPlotWindow();
|
||||||
|
|
||||||
virtual QString mainWindowName();
|
QString mainWindowName() override;
|
||||||
|
|
||||||
void initializeGuiNewProjectLoaded();
|
void initializeGuiNewProjectLoaded();
|
||||||
void cleanupGuiBeforeProjectClose();
|
void cleanupGuiBeforeProjectClose();
|
||||||
@ -65,15 +65,10 @@ public:
|
|||||||
void addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry) override;
|
void addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry) override;
|
||||||
void setActiveViewer(QWidget* subWindow) override;
|
void setActiveViewer(QWidget* subWindow) override;
|
||||||
|
|
||||||
caf::PdmUiTreeView* projectTreeView();
|
|
||||||
|
|
||||||
void hideAllDockWindows();
|
void hideAllDockWindows();
|
||||||
|
|
||||||
void selectAsCurrentItem(caf::PdmObject* object);
|
|
||||||
|
|
||||||
void setDefaultWindowSize();
|
void setDefaultWindowSize();
|
||||||
|
|
||||||
void setExpanded(const caf::PdmUiItem* uiItem, bool expanded = true);
|
|
||||||
|
|
||||||
RimMdiWindowGeometry windowGeometryForViewer(QWidget* viewer) override;
|
RimMdiWindowGeometry windowGeometryForViewer(QWidget* viewer) override;
|
||||||
|
|
||||||
@ -87,7 +82,7 @@ public:
|
|||||||
void updateSummaryPlotToolBar();
|
void updateSummaryPlotToolBar();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void closeEvent(QCloseEvent* event);
|
void closeEvent(QCloseEvent* event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setPdmRoot(caf::PdmObject* pdmRoot);
|
void setPdmRoot(caf::PdmObject* pdmRoot);
|
||||||
@ -121,7 +116,6 @@ private:
|
|||||||
|
|
||||||
QMenu* m_windowMenu;
|
QMenu* m_windowMenu;
|
||||||
|
|
||||||
caf::PdmUiTreeView* m_projectTreeView;
|
|
||||||
caf::PdmUiToolBarEditor* m_summaryPlotToolBarEditor;
|
caf::PdmUiToolBarEditor* m_summaryPlotToolBarEditor;
|
||||||
std::unique_ptr<caf::PdmUiDragDropInterface> m_dragDropInterface;
|
std::unique_ptr<caf::PdmUiDragDropInterface> m_dragDropInterface;
|
||||||
|
|
||||||
|
@ -149,6 +149,14 @@ RiuMainWindow* RiuMainWindow::instance()
|
|||||||
return sm_mainWindowInstance;
|
return sm_mainWindowInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QString RiuMainWindow::mainWindowName()
|
||||||
|
{
|
||||||
|
return "RiuMainWindow";
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -1297,7 +1305,7 @@ void RiuMainWindow::selectedObjectsChanged()
|
|||||||
|
|
||||||
m_pdmUiPropertyView->showProperties(firstSelectedObject);
|
m_pdmUiPropertyView->showProperties(firstSelectedObject);
|
||||||
|
|
||||||
if (uiItems.size() == 1)
|
if (uiItems.size() == 1 && m_allowActiveViewChangeFromSelection)
|
||||||
{
|
{
|
||||||
// Find the reservoir view or the Plot that the selected item is within
|
// Find the reservoir view or the Plot that the selected item is within
|
||||||
|
|
||||||
@ -1619,14 +1627,6 @@ void RiuMainWindow::showProcessMonitorDockPanel()
|
|||||||
showDockPanel(DOCK_PANEL_NAME_PROCESS_MONITOR);
|
showDockPanel(DOCK_PANEL_NAME_PROCESS_MONITOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RiuMainWindow::selectAsCurrentItem(const caf::PdmObject* object)
|
|
||||||
{
|
|
||||||
m_projectTreeView->selectAsCurrentItem(object);
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -78,7 +78,7 @@ public:
|
|||||||
|
|
||||||
static RiuMainWindow* instance();
|
static RiuMainWindow* instance();
|
||||||
|
|
||||||
virtual QString mainWindowName() { return "RiuMainWindow"; }
|
QString mainWindowName() override;
|
||||||
|
|
||||||
void initializeGuiNewProjectLoaded();
|
void initializeGuiNewProjectLoaded();
|
||||||
void cleanupGuiCaseClose();
|
void cleanupGuiCaseClose();
|
||||||
@ -93,12 +93,10 @@ public:
|
|||||||
void refreshAnimationActions();
|
void refreshAnimationActions();
|
||||||
void updateScaleValue();
|
void updateScaleValue();
|
||||||
|
|
||||||
caf::PdmUiTreeView* projectTreeView() { return m_projectTreeView;}
|
|
||||||
RiuProcessMonitor* processMonitor();
|
RiuProcessMonitor* processMonitor();
|
||||||
|
|
||||||
void hideAllDockWindows();
|
void hideAllDockWindows();
|
||||||
|
|
||||||
void selectAsCurrentItem(const caf::PdmObject* object);
|
|
||||||
|
|
||||||
void selectedCases(std::vector<RimCase*>& cases);
|
void selectedCases(std::vector<RimCase*>& cases);
|
||||||
|
|
||||||
@ -108,7 +106,7 @@ public:
|
|||||||
|
|
||||||
void setExpanded(const caf::PdmUiItem* uiItem, bool expanded = true);
|
void setExpanded(const caf::PdmUiItem* uiItem, bool expanded = true);
|
||||||
|
|
||||||
RimMdiWindowGeometry windowGeometryForViewer(QWidget* viewer);
|
RimMdiWindowGeometry windowGeometryForViewer(QWidget* viewer) override;
|
||||||
|
|
||||||
void tileWindows();
|
void tileWindows();
|
||||||
bool isAnyMdiSubWindowVisible();
|
bool isAnyMdiSubWindowVisible();
|
||||||
@ -247,7 +245,6 @@ private slots:
|
|||||||
public:
|
public:
|
||||||
void setPdmRoot(caf::PdmObject* pdmRoot);
|
void setPdmRoot(caf::PdmObject* pdmRoot);
|
||||||
private:
|
private:
|
||||||
caf::PdmUiTreeView* m_projectTreeView;
|
|
||||||
|
|
||||||
std::unique_ptr<caf::PdmUiDragDropInterface> m_dragDropInterface;
|
std::unique_ptr<caf::PdmUiDragDropInterface> m_dragDropInterface;
|
||||||
|
|
||||||
|
@ -21,11 +21,15 @@
|
|||||||
#include "RiaVersionInfo.h"
|
#include "RiaVersionInfo.h"
|
||||||
|
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
#include "cafPdmUiTreeView.h"
|
||||||
|
#include "cafPdmObject.h"
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RiuMainWindowBase::RiuMainWindowBase()
|
RiuMainWindowBase::RiuMainWindowBase()
|
||||||
|
: m_projectTreeView(nullptr)
|
||||||
|
, m_allowActiveViewChangeFromSelection(true)
|
||||||
{
|
{
|
||||||
setDockNestingEnabled(true);
|
setDockNestingEnabled(true);
|
||||||
}
|
}
|
||||||
@ -96,3 +100,21 @@ QString RiuMainWindowBase::registryFolderName()
|
|||||||
QString regFolder = QString("%1/%2").arg(versionName).arg(mainWindowName());
|
QString regFolder = QString("%1/%2").arg(versionName).arg(mainWindowName());
|
||||||
return regFolder;
|
return regFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RiuMainWindowBase::selectAsCurrentItem(const caf::PdmObject* object, bool allowActiveViewChange)
|
||||||
|
{
|
||||||
|
m_allowActiveViewChangeFromSelection = allowActiveViewChange;
|
||||||
|
m_projectTreeView->selectAsCurrentItem(object);
|
||||||
|
m_allowActiveViewChangeFromSelection = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RiuMainWindowBase::setExpanded(const caf::PdmUiItem* uiItem, bool expanded)
|
||||||
|
{
|
||||||
|
m_projectTreeView->setExpanded(uiItem, expanded);
|
||||||
|
}
|
||||||
|
@ -22,6 +22,13 @@
|
|||||||
|
|
||||||
struct RimMdiWindowGeometry;
|
struct RimMdiWindowGeometry;
|
||||||
|
|
||||||
|
namespace caf
|
||||||
|
{
|
||||||
|
class PdmObject;
|
||||||
|
class PdmUiTreeView;
|
||||||
|
class PdmUiItem;
|
||||||
|
}
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
///
|
///
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
@ -44,6 +51,16 @@ public:
|
|||||||
void saveWinGeoAndDockToolBarLayout();
|
void saveWinGeoAndDockToolBarLayout();
|
||||||
void showWindow();
|
void showWindow();
|
||||||
|
|
||||||
|
caf::PdmUiTreeView* projectTreeView() { return m_projectTreeView;}
|
||||||
|
void setExpanded(const caf::PdmUiItem* uiItem, bool expanded = true);
|
||||||
|
|
||||||
|
void selectAsCurrentItem(const caf::PdmObject* object, bool allowActiveViewChange = true);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
caf::PdmUiTreeView* m_projectTreeView;
|
||||||
|
bool m_allowActiveViewChangeFromSelection; // To be used in selectedObjectsChanged() to control
|
||||||
|
// whether to select the corresponding active view or not
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString registryFolderName();
|
QString registryFolderName();
|
||||||
};
|
};
|
||||||
|
@ -571,11 +571,9 @@ void RiuViewerCommands::handlePickAction(int winPosX, int winPosY, Qt::KeyboardM
|
|||||||
intersectionHit = true;
|
intersectionHit = true;
|
||||||
intersectionTriangleHit = crossSectionSourceInfo->triangle(firstPartTriangleIndex);
|
intersectionTriangleHit = crossSectionSourceInfo->triangle(firstPartTriangleIndex);
|
||||||
|
|
||||||
if (!dynamic_cast<Rim2dIntersectionView*>(m_viewer->ownerViewWindow()))
|
bool allowActiveViewChange = dynamic_cast<Rim2dIntersectionView*>(m_viewer->ownerViewWindow()) == nullptr;
|
||||||
{
|
|
||||||
RiuMainWindow::instance()->selectAsCurrentItem(crossSectionSourceInfo->crossSection());
|
RiuMainWindow::instance()->selectAsCurrentItem(crossSectionSourceInfo->crossSection(), allowActiveViewChange);
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (intersectionBoxSourceInfo)
|
else if (intersectionBoxSourceInfo)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user