Add quick access dock widget

This commit is contained in:
Magne Sjaastad
2024-10-18 14:41:19 +02:00
parent 4ff5aaf381
commit 2e305bd762
7 changed files with 58 additions and 1 deletions

View File

@@ -139,6 +139,14 @@ QString RiuDockWidgetTools::mainWindowUndoStackName()
return "dockUndoStack_mainWindow";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiuDockWidgetTools::mainWindowQuickAccessName()
{
return "dockQuickAccess_mainWindow";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -147,6 +155,14 @@ QString RiuDockWidgetTools::plotMainWindowPlotManagerName()
return "dockSummaryPlotManager";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiuDockWidgetTools::plotWindowQuickAccessName()
{
return "dockQuickAccess_plotWindow";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -383,6 +399,8 @@ QIcon RiuDockWidgetTools::dockIcon( const QString dockWidgetName )
return QIcon( ":/graph.svg" );
else if ( dockWidgetName == plotMainWindowCloudTreeName() )
return QIcon( ":/Cloud.svg" );
else if ( dockWidgetName == plotWindowQuickAccessName() || dockWidgetName == mainWindowQuickAccessName() )
return QIcon( ":/pin.svg" );
return QIcon( ":/view.svg" );
}

View File

@@ -58,6 +58,7 @@ public:
static QString mainWindowMessagesName();
static QString mainWindowMohrsCirclePlotName();
static QString mainWindowUndoStackName();
static QString mainWindowQuickAccessName();
static QString mainWindowProjectTreeName();
static QString mainWindowDataSourceTreeName();
@@ -74,6 +75,7 @@ public:
static QString plotMainWindowMessagesName();
static QString plotMainWindowUndoStackName();
static QString plotMainWindowPlotManagerName();
static QString plotWindowQuickAccessName();
static QString dockState3DEclipseName();
static QString dockState3DGeoMechName();

View File

@@ -29,6 +29,7 @@
#include "RicGridCalculatorDialog.h"
#include "QuickAccess/RimQuickAccessCollection.h"
#include "Rim2dIntersectionView.h"
#include "Rim3dView.h"
#include "RimCellEdgeColors.h"
@@ -188,6 +189,11 @@ RiuMainWindow::~RiuMainWindow()
{
m_pdmUiPropertyView->showProperties( nullptr );
}
if ( m_quickAccessView )
{
m_quickAccessView->showProperties( nullptr );
}
}
//--------------------------------------------------------------------------------------------------
@@ -239,6 +245,8 @@ void RiuMainWindow::initializeGuiNewProjectLoaded()
m_pdmUiPropertyView->currentObject()->uiCapability()->updateConnectedEditors();
}
m_quickAccessView->showProperties( RimQuickAccessCollection::instance() );
if ( statusBar() && !RiaRegressionTestRunner::instance()->isRunningRegressionTests() )
{
statusBar()->showMessage( "Ready ..." );
@@ -295,6 +303,11 @@ void RiuMainWindow::cleanupGuiCaseClose()
m_pdmUiPropertyView->showProperties( nullptr );
}
if ( m_quickAccessView )
{
m_quickAccessView->showProperties( nullptr );
}
for ( auto& additionalProjectView : m_additionalProjectViews )
{
RiuProjectAndPropertyView* projPropView = dynamic_cast<RiuProjectAndPropertyView*>( additionalProjectView->widget() );
@@ -808,6 +821,15 @@ void RiuMainWindow::createDockPanels()
dockManager()->addDockWidget( ads::DockWidgetArea::BottomDockWidgetArea, dockWidget, leftArea );
}
{
auto dockWidget =
RiuDockWidgetTools::createDockWidget( "Quick Access", RiuDockWidgetTools::mainWindowQuickAccessName(), dockManager() );
m_quickAccessView = new caf::PdmUiPropertyView( dockWidget );
dockWidget->setWidget( m_quickAccessView );
dockManager()->addDockWidget( ads::DockWidgetArea::BottomDockWidgetArea, dockWidget, leftArea );
}
#ifdef USE_ODB_API
{
auto dockWidget =
@@ -1534,6 +1556,9 @@ void RiuMainWindow::selectedObjectsChanged()
projectTree->treeView()->setFocus();
}
}
// The update of quick access view is depending on active view, and must be done after the active view is set
m_quickAccessView->showProperties( RimQuickAccessCollection::instance() );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -261,6 +261,7 @@ public:
private:
caf::PdmObject* m_pdmRoot;
caf::PdmUiPropertyView* m_pdmUiPropertyView;
caf::PdmUiPropertyView* m_quickAccessView;
QComboBox* m_scaleFactor;