From 132db2bb1e1bbb1e2c19fc22a4702eea4ee70900 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 26 Apr 2018 20:05:42 +0200 Subject: [PATCH] #2798 Dock Widgets : Improve menus and handling of tabbed dock widgets Create dock widgets based on static names Build Windows menu based on static names Wire up toggleView actions to RiuDockWidgetTools Change dock widget visibility based on view --- .../Application/RiaApplication.cpp | 9 +- .../UserInterface/RiuMainPlotWindow.cpp | 18 +- .../UserInterface/RiuMainWindow.cpp | 211 +++++++----------- .../UserInterface/RiuMainWindowBase.cpp | 29 ++- .../UserInterface/RiuMainWindowBase.h | 26 ++- 5 files changed, 141 insertions(+), 152 deletions(-) diff --git a/ApplicationCode/Application/RiaApplication.cpp b/ApplicationCode/Application/RiaApplication.cpp index 7907a8b94f..13dc8cd302 100644 --- a/ApplicationCode/Application/RiaApplication.cpp +++ b/ApplicationCode/Application/RiaApplication.cpp @@ -72,6 +72,7 @@ #include "RimWellPltPlot.h" #include "RimWellRftPlot.h" +#include "RiuDockWidgetTools.h" #include "RiuMainPlotWindow.h" #include "RiuMainWindow.h" #include "RiuProcessMonitor.h" @@ -195,12 +196,13 @@ RiaApplication::RiaApplication(int& argc, char** argv) //-------------------------------------------------------------------------------------------------- RiaApplication::~RiaApplication() { + RiuDockWidgetTools::instance()->saveDockWidgetsState(); + deleteMainPlotWindow(); delete m_preferences; } - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -209,7 +211,6 @@ RiaApplication* RiaApplication::instance() return static_castqApp; } - //-------------------------------------------------------------------------------------------------- /// Return -1 if unit test is not executed, returns 0 if test passed, returns 1 if tests failed //-------------------------------------------------------------------------------------------------- @@ -1074,8 +1075,6 @@ bool RiaApplication::openOdbCaseFromFile(const QString& fileName) return true; } - - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1167,6 +1166,8 @@ RimViewWindow* RiaApplication::activePlotWindow() const void RiaApplication::setActiveReservoirView(Rim3dView* rv) { m_activeReservoirView = rv; + + RiuDockWidgetTools::instance()->changeDockWidgetVisibilityBasedOnView(rv); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/UserInterface/RiuMainPlotWindow.cpp b/ApplicationCode/UserInterface/RiuMainPlotWindow.cpp index 8d0af790e6..ef2c97a978 100644 --- a/ApplicationCode/UserInterface/RiuMainPlotWindow.cpp +++ b/ApplicationCode/UserInterface/RiuMainPlotWindow.cpp @@ -394,6 +394,12 @@ void RiuMainPlotWindow::createDockPanels() setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea); + + QList dockWidgets = findChildren(); + for (QDockWidget* dock : dockWidgets) + { + connect(dock->toggleViewAction(), SIGNAL(triggered()), SLOT(slotDockWidgetToggleViewActionTriggered())); + } } //-------------------------------------------------------------------------------------------------- @@ -596,17 +602,9 @@ void RiuMainPlotWindow::slotBuildWindowActions() m_windowMenu->clear(); QList dockWidgets = findChildren(); - - int i = 0; - foreach (QDockWidget* dock, dockWidgets) + for (QDockWidget* dock : dockWidgets) { - if (dock) - { - if (i == 4) - m_windowMenu->addSeparator(); - m_windowMenu->addAction(dock->toggleViewAction()); - ++i; - } + m_windowMenu->addAction(dock->toggleViewAction()); } m_windowMenu->addSeparator(); diff --git a/ApplicationCode/UserInterface/RiuMainWindow.cpp b/ApplicationCode/UserInterface/RiuMainWindow.cpp index e5a2152cc3..9e722848a3 100644 --- a/ApplicationCode/UserInterface/RiuMainWindow.cpp +++ b/ApplicationCode/UserInterface/RiuMainWindow.cpp @@ -84,10 +84,7 @@ #include #include #include - - -#define DOCK_PANEL_NAME_PROCESS_MONITOR "dockProcessMonitor" - +#include "RiuDockWidgetTools.h" //================================================================================================== @@ -367,39 +364,30 @@ void RiuMainWindow::createMenus() QMenu* importMenu = fileMenu->addMenu("&Import"); - - QMenu* importEclipseMenu = importMenu->addMenu(QIcon(":/Case48x48.png"), "Eclipse Cases"); - importEclipseMenu->addAction(cmdFeatureMgr->action("RicImportEclipseCaseFeature")); - importEclipseMenu->addAction(cmdFeatureMgr->action("RicImportEclipseCasesFeature")); - importEclipseMenu->addAction(cmdFeatureMgr->action("RicImportEclipseCaseTimeStepFilterFeature")); - importEclipseMenu->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseFeature")); - importEclipseMenu->addAction(cmdFeatureMgr->action("RicCreateGridCaseGroupFeature")); - importEclipseMenu->addAction(cmdFeatureMgr->action("RicCreateGridCaseGroupFromFilesFeature")); - + importMenu->addAction(cmdFeatureMgr->action("RicImportEclipseCaseFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportEclipseCasesFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportEclipseCaseTimeStepFilterFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportInputEclipseCaseFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicCreateGridCaseGroupFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicCreateGridCaseGroupFromFilesFeature")); + importMenu->addSeparator(); #ifdef USE_ODB_API + importMenu->addAction(cmdFeatureMgr->action("RicImportGeoMechCaseFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportElementPropertyFeature")); importMenu->addSeparator(); - QMenu* importGeoMechMenu = importMenu->addMenu(QIcon(":/GeoMechCase48x48.png"), "Geo Mechanical Cases"); - importGeoMechMenu->addAction(cmdFeatureMgr->action("RicImportGeoMechCaseFeature")); - importGeoMechMenu->addAction(cmdFeatureMgr->action("RicImportElementPropertyFeature")); #endif + importMenu->addAction(cmdFeatureMgr->action("RicImportSummaryCaseFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportSummaryCasesFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportEnsembleFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportObservedDataInMenuFeature")); importMenu->addSeparator(); - QMenu* importSummaryMenu = importMenu->addMenu(QIcon(":/SummaryCase48x48.png"), "Summary Cases"); - importSummaryMenu->addAction(cmdFeatureMgr->action("RicImportSummaryCaseFeature")); - importSummaryMenu->addAction(cmdFeatureMgr->action("RicImportSummaryCasesFeature")); - importSummaryMenu->addAction(cmdFeatureMgr->action("RicImportEnsembleFeature")); - importSummaryMenu->addAction(cmdFeatureMgr->action("RicImportObservedDataInMenuFeature")); - + importMenu->addAction(cmdFeatureMgr->action("RicWellPathsImportFileFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicWellPathsImportSsihubFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicWellLogsImportFileFeature")); importMenu->addSeparator(); - QMenu* importWellMenu = importMenu->addMenu(QIcon(":/Well.png"), "Wells"); - importWellMenu->addAction(cmdFeatureMgr->action("RicWellPathsImportFileFeature")); - importWellMenu->addAction(cmdFeatureMgr->action("RicWellPathsImportSsihubFeature")); - importWellMenu->addAction(cmdFeatureMgr->action("RicWellLogsImportFileFeature")); - - importMenu->addSeparator(); - QMenu* importFormationsMenu = importMenu->addMenu(QIcon(":/FormationCollection16x16.png"), "Formations"); - importFormationsMenu->addAction(cmdFeatureMgr->action("RicImportFormationNamesFeature")); - importFormationsMenu->addAction(cmdFeatureMgr->action("RicWellPathFormationsImportFileFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicImportFormationNamesFeature")); + importMenu->addAction(cmdFeatureMgr->action("RicWellPathFormationsImportFileFeature")); QMenu* exportMenu = fileMenu->addMenu("&Export"); exportMenu->addAction(cmdFeatureMgr->action("RicSnapshotViewToFileFeature")); @@ -575,9 +563,11 @@ void RiuMainWindow::createToolBars() void RiuMainWindow::createDockPanels() { + auto dwt = RiuDockWidgetTools::instance(); + { QDockWidget* dockWidget = new QDockWidget("Project Tree", this); - dockWidget->setObjectName("dockWidget"); + dockWidget->setObjectName(dwt->projectTreeName()); dockWidget->setAllowedAreas(Qt::AllDockWidgetAreas); m_projectTreeView = new caf::PdmUiTreeView(this); @@ -615,7 +605,7 @@ void RiuMainWindow::createDockPanels() { QDockWidget* dockWidget = new QDockWidget("Property Editor", this); - dockWidget->setObjectName("dockWidget"); + dockWidget->setObjectName(dwt->propertyEditorName()); dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); m_pdmUiPropertyView = new caf::PdmUiPropertyView(dockWidget); @@ -625,84 +615,84 @@ void RiuMainWindow::createDockPanels() } { - QDockWidget* dockPanel = new QDockWidget("Result Info", this); - dockPanel->setObjectName("dockResultInfoPanel"); - dockPanel->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); - m_resultInfoPanel = new RiuResultInfoPanel(dockPanel); - dockPanel->setWidget(m_resultInfoPanel); + QDockWidget* dockWidget = new QDockWidget("Result Info", this); + dockWidget->setObjectName(dwt->resultInfoName()); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); + m_resultInfoPanel = new RiuResultInfoPanel(dockWidget); + dockWidget->setWidget(m_resultInfoPanel); - addDockWidget(Qt::BottomDockWidgetArea, dockPanel); + addDockWidget(Qt::BottomDockWidgetArea, dockWidget); } { - QDockWidget* dockPanel = new QDockWidget("Process Monitor", this); - dockPanel->setObjectName(DOCK_PANEL_NAME_PROCESS_MONITOR); - dockPanel->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); - m_processMonitor = new RiuProcessMonitor(dockPanel); - dockPanel->setWidget(m_processMonitor); + QDockWidget* dockWidget = new QDockWidget("Process Monitor", this); + dockWidget->setObjectName(dwt->processMonitorName()); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); + m_processMonitor = new RiuProcessMonitor(dockWidget); + dockWidget->setWidget(m_processMonitor); - addDockWidget(Qt::BottomDockWidgetArea, dockPanel); - dockPanel->hide(); + addDockWidget(Qt::BottomDockWidgetArea, dockWidget); + dockWidget->hide(); } { - QDockWidget* dockPanel = new QDockWidget("Result Plot", this); - dockPanel->setObjectName("dockTimeHistoryPanel"); - dockPanel->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); - m_resultQwtPlot = new RiuResultQwtPlot(dockPanel); - dockPanel->setWidget(m_resultQwtPlot); + QDockWidget* dockWidget = new QDockWidget("Result Plot", this); + dockWidget->setObjectName(dwt->resultPlotName()); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); + m_resultQwtPlot = new RiuResultQwtPlot(dockWidget); + dockWidget->setWidget(m_resultQwtPlot); - addDockWidget(Qt::BottomDockWidgetArea, dockPanel); - resultPlotDock = dockPanel; + addDockWidget(Qt::BottomDockWidgetArea, dockWidget); + resultPlotDock = dockWidget; } #ifdef USE_ODB_API { - QDockWidget* dockPanel = new QDockWidget("Mohr's Circle Plot", this); - dockPanel->setObjectName("dockTimeHistoryPanel"); - dockPanel->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); - m_mohrsCirclePlot = new RiuMohrsCirclePlot(dockPanel); - dockPanel->setWidget(m_mohrsCirclePlot); + QDockWidget* dockWidget = new QDockWidget("Mohr's Circle Plot", this); + dockWidget->setObjectName(dwt->mohrsCirclePlotName()); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); + m_mohrsCirclePlot = new RiuMohrsCirclePlot(dockWidget); + dockWidget->setWidget(m_mohrsCirclePlot); - addDockWidget(Qt::BottomDockWidgetArea, dockPanel); - mohrsCirclePlotDock = dockPanel; + addDockWidget(Qt::BottomDockWidgetArea, dockWidget); + mohrsCirclePlotDock = dockWidget; - dockPanel->hide(); + dockWidget->hide(); } #endif { - QDockWidget* dockPanel = new QDockWidget("Relative Permeability Plot", this); - dockPanel->setObjectName("dockRelativePermeabilityPlotPanel"); - dockPanel->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); - m_relPermPlotPanel = new RiuRelativePermeabilityPlotPanel(dockPanel); - dockPanel->setWidget(m_relPermPlotPanel); + QDockWidget* dockWidget = new QDockWidget("Relative Permeability Plot", this); + dockWidget->setObjectName(dwt->relPermPlotName()); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); + m_relPermPlotPanel = new RiuRelativePermeabilityPlotPanel(dockWidget); + dockWidget->setWidget(m_relPermPlotPanel); - addDockWidget(Qt::BottomDockWidgetArea, dockPanel); - relPermPlotDock = dockPanel; + addDockWidget(Qt::BottomDockWidgetArea, dockWidget); + relPermPlotDock = dockWidget; } { - QDockWidget* dockPanel = new QDockWidget("PVT Plot", this); - dockPanel->setObjectName("dockPvtPlotPanel"); - dockPanel->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); - m_pvtPlotPanel = new RiuPvtPlotPanel(dockPanel); - dockPanel->setWidget(m_pvtPlotPanel); + QDockWidget* dockWidget = new QDockWidget("PVT Plot", this); + dockWidget->setObjectName(dwt->pvtPlotName()); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); + m_pvtPlotPanel = new RiuPvtPlotPanel(dockWidget); + dockWidget->setWidget(m_pvtPlotPanel); - addDockWidget(Qt::BottomDockWidgetArea, dockPanel); - pvtPlotDock = dockPanel; + addDockWidget(Qt::BottomDockWidgetArea, dockWidget); + pvtPlotDock = dockWidget; } { QDockWidget* dockWidget = new QDockWidget("Messages", this); - dockWidget->setObjectName("dockMessages"); + dockWidget->setObjectName(dwt->messagesName()); m_messagePanel = new RiuMessagePanel(dockWidget); dockWidget->setWidget(m_messagePanel); addDockWidget(Qt::BottomDockWidgetArea, dockWidget); dockWidget->hide(); } - setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea); // Tabify docks @@ -714,6 +704,11 @@ void RiuMainWindow::createDockPanels() tabifyDockWidget(relPermPlotDock, resultPlotDock); #endif + QList dockWidgets = findChildren(); + for (QDockWidget* dock : dockWidgets) + { + connect(dock->toggleViewAction(), SIGNAL(triggered()), SLOT(slotDockWidgetToggleViewActionTriggered())); + } } //-------------------------------------------------------------------------------------------------- @@ -1270,18 +1265,20 @@ void RiuMainWindow::slotBuildWindowActions() m_windowMenu->addAction(m_newPropertyView); m_windowMenu->addSeparator(); - QList dockWidgets = findChildren(); + auto dwt = RiuDockWidgetTools::instance(); - int i = 0; - foreach (QDockWidget* dock, dockWidgets) - { - if (dock) - { - if (i == 4) m_windowMenu->addSeparator(); - m_windowMenu->addAction(dock->toggleViewAction()); - ++i; - } - } + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->projectTreeName())); + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->propertyEditorName())); + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->messagesName())); + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->processMonitorName())); + + m_windowMenu->addSeparator(); + + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->resultInfoName())); + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->resultPlotName())); + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->relPermPlotName())); + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->pvtPlotName())); + m_windowMenu->addAction(dwt->toggleActionForWidget(this, dwt->mohrsCirclePlotName())); m_windowMenu->addSeparator(); QAction* cascadeWindowsAction = new QAction("Cascade Windows", this); @@ -1406,42 +1403,6 @@ void RiuMainWindow::hideAllDockWindows() } } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -/*void RiuMainWindow::slotOpenMultipleCases() -{ -#if 1 - QAction* action = caf::CmdFeatureManager::instance()->action("RicCreateGridCaseGroupFeature"); - CVF_ASSERT(action); - - action->trigger(); - -#else // Code to fast generate a test project - RiaApplication* app = RiaApplication::instance(); - - QStringList gridFileNames; - - if (1) - { - gridFileNames += RiaDefines::mockModelBasicWithResults(); - gridFileNames += RiaDefines::mockModelBasicWithResults(); - gridFileNames += RiaDefines::mockModelBasicWithResults(); - } - else - { - gridFileNames += "d:/Models/Statoil/MultipleRealisations/Case_with_10_timesteps/Real0/BRUGGE_0000.EGRID"; - gridFileNames += "d:/Models/Statoil/MultipleRealisations/Case_with_10_timesteps/Real10/BRUGGE_0010.EGRID"; - gridFileNames += "d:/Models/Statoil/MultipleRealisations/Case_with_10_timesteps/Real30/BRUGGE_0030.EGRID"; - gridFileNames += "d:/Models/Statoil/MultipleRealisations/Case_with_10_timesteps/Real40/BRUGGE_0040.EGRID"; - } - - app->addEclipseCases(gridFileNames); -#endif - -} -*/ //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1635,7 +1596,7 @@ void RiuMainWindow::updateUiFieldsFromActiveResult(caf::PdmObjectHandle* objectT //-------------------------------------------------------------------------------------------------- void RiuMainWindow::showProcessMonitorDockPanel() { - showDockPanel(DOCK_PANEL_NAME_PROCESS_MONITOR); + showDockPanel(RiuDockWidgetTools::instance()->processMonitorName()); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/UserInterface/RiuMainWindowBase.cpp b/ApplicationCode/UserInterface/RiuMainWindowBase.cpp index 709e68234c..93e4ac482b 100644 --- a/ApplicationCode/UserInterface/RiuMainWindowBase.cpp +++ b/ApplicationCode/UserInterface/RiuMainWindowBase.cpp @@ -20,9 +20,13 @@ #include "RiaVersionInfo.h" -#include -#include "cafPdmUiTreeView.h" +#include "RiuDockWidgetTools.h" + #include "cafPdmObject.h" +#include "cafPdmUiTreeView.h" + +#include +#include //-------------------------------------------------------------------------------------------------- /// @@ -118,3 +122,24 @@ void RiuMainWindowBase::setExpanded(const caf::PdmUiItem* uiItem, bool expanded) { m_projectTreeView->setExpanded(uiItem, expanded); } + +//-------------------------------------------------------------------------------------------------- +/// +/// +//-------------------------------------------------------------------------------------------------- +void RiuMainWindowBase::slotDockWidgetToggleViewActionTriggered() +{ + if (!sender()) return; + + auto dockWidget = dynamic_cast(sender()->parent()); + if (dockWidget) + { + if (dockWidget->isVisible()) + { + // Raise the dock widget to make it visible if the widget is part of a tab widget + dockWidget->raise(); + } + + RiuDockWidgetTools::instance()->setDockWidgetVisibility(dockWidget->objectName(), dockWidget->isVisible()); + } +} diff --git a/ApplicationCode/UserInterface/RiuMainWindowBase.h b/ApplicationCode/UserInterface/RiuMainWindowBase.h index 5ac3f39663..bef70f453a 100644 --- a/ApplicationCode/UserInterface/RiuMainWindowBase.h +++ b/ApplicationCode/UserInterface/RiuMainWindowBase.h @@ -39,28 +39,32 @@ class RiuMainWindowBase : public QMainWindow public: RiuMainWindowBase(); - virtual QString mainWindowName() = 0; + virtual QString mainWindowName() = 0; - virtual void removeViewer( QWidget* viewer ) = 0; - virtual void addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry)= 0; - virtual void setActiveViewer(QWidget* subWindow) = 0; + virtual void removeViewer( QWidget* viewer ) = 0; + virtual void addViewer(QWidget* viewer, const RimMdiWindowGeometry& windowsGeometry)= 0; + virtual void setActiveViewer(QWidget* subWindow) = 0; virtual RimMdiWindowGeometry windowGeometryForViewer(QWidget* viewer) = 0; - void loadWinGeoAndDockToolBarLayout(); - void saveWinGeoAndDockToolBarLayout(); - void showWindow(); + void loadWinGeoAndDockToolBarLayout(); + void saveWinGeoAndDockToolBarLayout(); + 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); + void selectAsCurrentItem(const caf::PdmObject* object, bool allowActiveViewChange = true); + +protected slots: + void slotDockWidgetToggleViewActionTriggered(); protected: - caf::PdmUiTreeView* m_projectTreeView; - bool m_allowActiveViewChangeFromSelection; // To be used in selectedObjectsChanged() to control + caf::PdmUiTreeView* m_projectTreeView; + bool m_allowActiveViewChangeFromSelection; // To be used in selectedObjectsChanged() to control // whether to select the corresponding active view or not + private: - QString registryFolderName(); + QString registryFolderName(); };