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

@ -290,6 +290,7 @@
<file>cloud-and-server.svg</file>
<file>Cloud.svg</file>
<file>CloudBlobs.svg</file>
<file>pin.svg</file>
</qresource>
<qresource prefix="/Shader">
<file>fs_CellFace.glsl</file>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="none">
<path stroke="#535358" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M28 11.333L20.667 4l-6.076 6.38a2 2 0 01-1.448.62H9.414c-.89 0-1.337 1.077-.707 1.707l10.586 10.586c.63.63 1.707.184 1.707-.707v-3.729a2 2 0 01.62-1.448L28 11.333zM14 18l-8 8"/>
</svg>

After

Width:  |  Height:  |  Size: 497 B

View File

@ -45,7 +45,7 @@
#include "PlotTemplates/RimPlotTemplateFolderItem.h"
#include "Polygons/RimPolygonCollection.h"
#include "QuickAccess/RimQuickAccessCollection.h"
#include "Rim2dIntersectionViewCollection.h"
#include "RimCellFilterCollection.h"
#include "RimCommandRouter.h"
@ -515,6 +515,12 @@ bool RiaApplication::loadProject( const QString& projectFileName, ProjectLoadAct
m_project->resolveReferencesRecursively();
m_project->initAfterReadRecursively();
if ( RimProject::current()->isProjectFileVersionEqualOrOlderThan( "2024.09.2" ) )
{
// Traverse objects recursively and add quick access fields for old projects
RimQuickAccessCollection::instance()->addQuickAccessFieldsRecursively( m_project.get() );
}
// Migrate all RimGridCases to RimFileSummaryCase
RimGridSummaryCase_obsolete::convertGridCasesToSummaryFileCases( m_project.get() );

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;