#11357 Reorganize menu in 3D view

Simplify menu text for range filter
Reorganize to improve readability
Simplify cell filter menu in Project Tree
This commit is contained in:
Magne Sjaastad
2024-09-16 09:26:25 +02:00
committed by Kristian Bendiksen
parent 9d66e6195e
commit 89bd3a8c90
11 changed files with 72 additions and 63 deletions

View File

@@ -26,6 +26,6 @@ CAF_CMD_SOURCE_INIT( RicNewCellRangeFilterFeature, "RicNewCellRangeFilterFeature
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RicNewCellRangeFilterFeature::RicNewCellRangeFilterFeature() RicNewCellRangeFilterFeature::RicNewCellRangeFilterFeature()
: RicNewRangeFilterSliceFeature( "New Range Filter", -1 ) : RicNewRangeFilterSliceFeature( "IJK Filter", -1 )
{ {
} }

View File

@@ -92,5 +92,5 @@ void RicNewPolygonFilterFeature::onActionTriggered( bool isChecked )
void RicNewPolygonFilterFeature::setupActionLook( QAction* actionToSetup ) void RicNewPolygonFilterFeature::setupActionLook( QAction* actionToSetup )
{ {
actionToSetup->setIcon( QIcon( ":/CellFilter_Polygon.png" ) ); actionToSetup->setIcon( QIcon( ":/CellFilter_Polygon.png" ) );
actionToSetup->setText( "New User Defined Polygon Filter" ); actionToSetup->setText( "User Defined Polygon Filter" );
} }

View File

@@ -18,10 +18,13 @@
#include "RicNewRangeFilterSliceFeature.h" #include "RicNewRangeFilterSliceFeature.h"
#include "RiaApplication.h"
#include "Rim3dView.h" #include "Rim3dView.h"
#include "RimCase.h" #include "RimCase.h"
#include "RimCellFilterCollection.h" #include "RimCellFilterCollection.h"
#include "RimCellRangeFilter.h" #include "RimCellRangeFilter.h"
#include "RimGridView.h"
#include "Riu3DMainWindowTools.h" #include "Riu3DMainWindowTools.h"
@@ -41,18 +44,31 @@ RicNewRangeFilterSliceFeature::RicNewRangeFilterSliceFeature( QString cmdText, i
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicNewRangeFilterSliceFeature::onActionTriggered( bool isChecked ) void RicNewRangeFilterSliceFeature::onActionTriggered( bool isChecked )
{ {
// Find the selected Cell Filter Collection RimCellFilterCollection* filterCollection = nullptr;
RimCase* sourceCase = nullptr;
std::vector<RimCellFilterCollection*> colls = caf::selectedObjectsByTypeStrict<RimCellFilterCollection*>(); std::vector<RimCellFilterCollection*> colls = caf::selectedObjectsByTypeStrict<RimCellFilterCollection*>();
if ( colls.empty() ) return; if ( !colls.empty() )
RimCellFilterCollection* filtColl = colls[0]; {
filterCollection = colls.front();
sourceCase = filterCollection->firstAncestorOrThisOfTypeAsserted<Rim3dView>()->ownerCase();
}
// and the case to use if ( !filterCollection )
RimCase* sourceCase = filtColl->firstAncestorOrThisOfTypeAsserted<Rim3dView>()->ownerCase(); {
// Find filter collection for active view
if ( sourceCase ) RimGridView* viewOrComparisonView = RiaApplication::instance()->activeMainOrComparisonGridView();
if ( !viewOrComparisonView ) return;
filterCollection = viewOrComparisonView->cellFilterCollection();
sourceCase = viewOrComparisonView->ownerCase();
}
if ( sourceCase && filterCollection )
{ {
int gridIndex = 0; int gridIndex = 0;
RimCellFilter* lastCreatedOrUpdated = filtColl->addNewCellRangeFilter( sourceCase, gridIndex, m_sliceDirection ); RimCellFilter* lastCreatedOrUpdated = filterCollection->addNewCellRangeFilter( sourceCase, gridIndex, m_sliceDirection );
if ( lastCreatedOrUpdated ) if ( lastCreatedOrUpdated )
{ {
Riu3DMainWindowTools::selectAsCurrentItem( lastCreatedOrUpdated ); Riu3DMainWindowTools::selectAsCurrentItem( lastCreatedOrUpdated );

View File

@@ -26,6 +26,6 @@ CAF_CMD_SOURCE_INIT( RicNewRangeFilterSliceIFeature, "RicNewRangeFilterSliceIFea
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RicNewRangeFilterSliceIFeature::RicNewRangeFilterSliceIFeature() RicNewRangeFilterSliceIFeature::RicNewRangeFilterSliceIFeature()
: RicNewRangeFilterSliceFeature( "New Range Filter - I slice", 0 ) : RicNewRangeFilterSliceFeature( "I Slice", 0 )
{ {
} }

View File

@@ -26,6 +26,6 @@ CAF_CMD_SOURCE_INIT( RicNewRangeFilterSliceJFeature, "RicNewRangeFilterSliceJFea
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RicNewRangeFilterSliceJFeature::RicNewRangeFilterSliceJFeature() RicNewRangeFilterSliceJFeature::RicNewRangeFilterSliceJFeature()
: RicNewRangeFilterSliceFeature( "New Range Filter - J slice", 1 ) : RicNewRangeFilterSliceFeature( "J Slice", 1 )
{ {
} }

View File

@@ -26,6 +26,6 @@ CAF_CMD_SOURCE_INIT( RicNewRangeFilterSliceKFeature, "RicNewRangeFilterSliceKFea
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RicNewRangeFilterSliceKFeature::RicNewRangeFilterSliceKFeature() RicNewRangeFilterSliceKFeature::RicNewRangeFilterSliceKFeature()
: RicNewRangeFilterSliceFeature( "New Range Filter - K slice", 2 ) : RicNewRangeFilterSliceFeature( "K Slice", 2 )
{ {
} }

View File

@@ -61,5 +61,5 @@ void RicNewUserDefinedFilterFeature::onActionTriggered( bool isChecked )
void RicNewUserDefinedFilterFeature::setupActionLook( QAction* actionToSetup ) void RicNewUserDefinedFilterFeature::setupActionLook( QAction* actionToSetup )
{ {
actionToSetup->setIcon( QIcon( ":/CellFilter_UserDefined.png" ) ); actionToSetup->setIcon( QIcon( ":/CellFilter_UserDefined.png" ) );
actionToSetup->setText( "New User Defined IJK Filter" ); actionToSetup->setText( "User Defined IJK Filter" );
} }

View File

@@ -61,5 +61,5 @@ void RicNewUserDefinedIndexFilterFeature::onActionTriggered( bool isChecked )
void RicNewUserDefinedIndexFilterFeature::setupActionLook( QAction* actionToSetup ) void RicNewUserDefinedIndexFilterFeature::setupActionLook( QAction* actionToSetup )
{ {
actionToSetup->setIcon( QIcon( ":/CellFilter_UserDefined.png" ) ); actionToSetup->setIcon( QIcon( ":/CellFilter_UserDefined.png" ) );
actionToSetup->setText( "New User Defined Index Filter" ); actionToSetup->setText( "User Defined Index Filter" );
} }

View File

@@ -139,7 +139,7 @@ void RimCellFilterCollection::appendMenuItems( caf::CmdFeatureMenuBuilder& menuB
menuBuilder << "RicPasteCellFiltersFeature"; menuBuilder << "RicPasteCellFiltersFeature";
menuBuilder << "Separator"; menuBuilder << "Separator";
menuBuilder.subMenuStart( "New Polygon Filter", QIcon( ":/CellFilter_Polygon.png" ) ); menuBuilder.subMenuStart( "Polygon Filter", QIcon( ":/CellFilter_Polygon.png" ) );
{ {
auto project = RimProject::current(); auto project = RimProject::current();
auto polygonCollection = project->activeOilField()->polygonCollection(); auto polygonCollection = project->activeOilField()->polygonCollection();
@@ -154,12 +154,12 @@ void RimCellFilterCollection::appendMenuItems( caf::CmdFeatureMenuBuilder& menuB
menuBuilder << "RicNewPolygonFilterFeature"; menuBuilder << "RicNewPolygonFilterFeature";
menuBuilder << "Separator"; menuBuilder << "Separator";
menuBuilder.subMenuStart( "Slice Filters" ); menuBuilder.subMenuStart( "Range Filter" );
menuBuilder << "RicNewRangeFilterSliceIFeature"; menuBuilder << "RicNewRangeFilterSliceIFeature";
menuBuilder << "RicNewRangeFilterSliceJFeature"; menuBuilder << "RicNewRangeFilterSliceJFeature";
menuBuilder << "RicNewRangeFilterSliceKFeature"; menuBuilder << "RicNewRangeFilterSliceKFeature";
menuBuilder.subMenuEnd();
menuBuilder << "RicNewCellRangeFilterFeature"; menuBuilder << "RicNewCellRangeFilterFeature";
menuBuilder.subMenuEnd();
menuBuilder << "RicNewCellIndexFilterFeature"; menuBuilder << "RicNewCellIndexFilterFeature";
menuBuilder << "Separator"; menuBuilder << "Separator";
menuBuilder << "RicNewUserDefinedFilterFeature"; menuBuilder << "RicNewUserDefinedFilterFeature";

View File

@@ -250,7 +250,7 @@ void RimPolygon::onColorTagClicked( const SignalEmitter* emitter, size_t index )
void RimPolygon::appendPolygonMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) void RimPolygon::appendPolygonMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder )
{ {
menuBuilder << "RicNewPolygonIntersectionFeature"; menuBuilder << "RicNewPolygonIntersectionFeature";
menuBuilder.addCmdFeature( "RicNewPolygonFilterFeature", "New Polygon Filter" ); menuBuilder.addCmdFeature( "RicNewPolygonFilterFeature", "Create Polygon Filter" );
menuBuilder << "Separator"; menuBuilder << "Separator";
menuBuilder << "RicDuplicatePolygonFeature"; menuBuilder << "RicDuplicatePolygonFeature";

View File

@@ -162,6 +162,9 @@ void RiuViewerCommands::setOwnerView( Rim3dView* owner )
m_reservoirView = owner; m_reservoirView = owner;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuViewerCommands::addCompareToViewMenu( caf::CmdFeatureMenuBuilder* menuBuilder ) void RiuViewerCommands::addCompareToViewMenu( caf::CmdFeatureMenuBuilder* menuBuilder )
{ {
auto* mainGridView = m_reservoirView.p(); auto* mainGridView = m_reservoirView.p();
@@ -266,18 +269,11 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
if ( firstHitPart && firstPartTriangleIndex != cvf::UNDEFINED_UINT ) if ( firstHitPart && firstPartTriangleIndex != cvf::UNDEFINED_UINT )
{ {
const RivSourceInfo* rivSourceInfo = dynamic_cast<const RivSourceInfo*>( firstHitPart->sourceInfo() ); const auto* rivSourceInfo = dynamic_cast<const RivSourceInfo*>( firstHitPart->sourceInfo() );
const auto* femSourceInfo = dynamic_cast<const RivFemPickSourceInfo*>( firstHitPart->sourceInfo() );
const RivFemPickSourceInfo* femSourceInfo = dynamic_cast<const RivFemPickSourceInfo*>( firstHitPart->sourceInfo() ); const auto* surfIntersectSourceInfo = dynamic_cast<const RivReservoirSurfaceIntersectionSourceInfo*>( firstHitPart->sourceInfo() );
const auto* crossSectionSourceInfo = dynamic_cast<const RivExtrudedCurveIntersectionSourceInfo*>( firstHitPart->sourceInfo() );
const RivReservoirSurfaceIntersectionSourceInfo* surfIntersectSourceInfo = const auto* intersectionBoxSourceInfo = dynamic_cast<const RivBoxIntersectionSourceInfo*>( firstHitPart->sourceInfo() );
dynamic_cast<const RivReservoirSurfaceIntersectionSourceInfo*>( firstHitPart->sourceInfo() );
const RivExtrudedCurveIntersectionSourceInfo* crossSectionSourceInfo =
dynamic_cast<const RivExtrudedCurveIntersectionSourceInfo*>( firstHitPart->sourceInfo() );
const RivBoxIntersectionSourceInfo* intersectionBoxSourceInfo =
dynamic_cast<const RivBoxIntersectionSourceInfo*>( firstHitPart->sourceInfo() );
if ( rivSourceInfo || femSourceInfo || crossSectionSourceInfo || intersectionBoxSourceInfo || surfIntersectSourceInfo ) if ( rivSourceInfo || femSourceInfo || crossSectionSourceInfo || intersectionBoxSourceInfo || surfIntersectSourceInfo )
{ {
@@ -308,12 +304,6 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
RiuSelectionItem* selItem = new RiuGeneralSelectionItem( surfIntersectSourceInfo->intersection() ); RiuSelectionItem* selItem = new RiuGeneralSelectionItem( surfIntersectSourceInfo->intersection() );
Riu3dSelectionManager::instance()->setSelectedItem( selItem, Riu3dSelectionManager::RUI_TEMPORARY ); Riu3dSelectionManager::instance()->setSelectedItem( selItem, Riu3dSelectionManager::RUI_TEMPORARY );
if ( gridView )
{
// menuBuilder << "RicHideSurfaceFeature"; // Not yet created...
// menuBuilder.addSeparator();
}
} }
else if ( crossSectionSourceInfo ) else if ( crossSectionSourceInfo )
{ {
@@ -383,21 +373,23 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
kSliceList.push_back( std::max( static_cast<int>( k + 1 ), 1 ) ); kSliceList.push_back( std::max( static_cast<int>( k + 1 ), 1 ) );
kSliceList.push_back( static_cast<int>( m_currentGridIdx ) ); kSliceList.push_back( static_cast<int>( m_currentGridIdx ) );
menuBuilder.subMenuStart( "Range Filter Slice", QIcon( ":/CellFilter_Range.png" ) ); menuBuilder.subMenuStart( "Range Filter", QIcon( ":/CellFilter_Range.png" ) );
menuBuilder.addCmdFeatureWithUserData( "RicNewRangeFilterSlice3dviewFeature", "I-slice Range Filter", iSliceList ); menuBuilder.addCmdFeatureWithUserData( "RicNewRangeFilterSlice3dviewFeature", "I Slice", iSliceList );
menuBuilder.addCmdFeatureWithUserData( "RicNewRangeFilterSlice3dviewFeature", "J-slice Range Filter", jSliceList ); menuBuilder.addCmdFeatureWithUserData( "RicNewRangeFilterSlice3dviewFeature", "J Slice", jSliceList );
menuBuilder.addCmdFeatureWithUserData( "RicNewRangeFilterSlice3dviewFeature", "K-slice Range Filter", kSliceList ); menuBuilder.addCmdFeatureWithUserData( "RicNewRangeFilterSlice3dviewFeature", "K Slice", kSliceList );
menuBuilder.addCmdFeature( "RicNewCellRangeFilterFeature", "IJK Filter" );
menuBuilder.subMenuEnd(); menuBuilder.subMenuEnd();
} }
menuBuilder << "RicNewPolygonFilter3dviewFeature"; // Property filter commands
menuBuilder.addCmdFeature( "RicCreatePolygonFeature", "Polygon" );
menuBuilder << "RicEclipsePropertyFilterNewInViewFeature"; menuBuilder << "RicEclipsePropertyFilterNewInViewFeature";
menuBuilder << "RicGeoMechPropertyFilterNewInViewFeature"; menuBuilder << "RicGeoMechPropertyFilterNewInViewFeature";
// Polygon commands
menuBuilder << "RicNewPolygonFilter3dviewFeature";
menuBuilder.addSeparator(); menuBuilder.addSeparator();
menuBuilder.subMenuStart( "Intersections", QIcon( ":/IntersectionXPlane16x16.png" ) ); menuBuilder.subMenuStart( "Intersections", QIcon( ":/IntersectionXPlane16x16.png" ) );
@@ -446,14 +438,15 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
menuBuilder << "RicToggleMeasurementModeFeature"; menuBuilder << "RicToggleMeasurementModeFeature";
menuBuilder << "RicTogglePolyMeasurementModeFeature"; menuBuilder << "RicTogglePolyMeasurementModeFeature";
menuBuilder.addCmdFeature( "RicCreatePolygonFeature", "Polygon" );
} }
} }
// Well log curve creation commands // Well log curve creation commands
if ( firstHitPart && firstHitPart->sourceInfo() ) if ( firstHitPart && firstHitPart->sourceInfo() )
{ {
RimWellPath* wellPath = nullptr; RimWellPath* wellPath = nullptr;
const RivWellPathSourceInfo* wellPathSourceInfo = dynamic_cast<const RivWellPathSourceInfo*>( firstHitPart->sourceInfo() ); const auto* wellPathSourceInfo = dynamic_cast<const RivWellPathSourceInfo*>( firstHitPart->sourceInfo() );
if ( wellPathSourceInfo ) if ( wellPathSourceInfo )
{ {
wellPath = wellPathSourceInfo->wellPath(); wellPath = wellPathSourceInfo->wellPath();
@@ -540,7 +533,7 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
menuBuilder << "RicDuplicateWellPathFeature"; menuBuilder << "RicDuplicateWellPathFeature";
} }
const RivSimWellPipeSourceInfo* eclipseWellSourceInfo = dynamic_cast<const RivSimWellPipeSourceInfo*>( firstHitPart->sourceInfo() ); const auto* eclipseWellSourceInfo = dynamic_cast<const RivSimWellPipeSourceInfo*>( firstHitPart->sourceInfo() );
if ( eclipseWellSourceInfo ) if ( eclipseWellSourceInfo )
{ {
RimSimWellInView* well = eclipseWellSourceInfo->well(); RimSimWellInView* well = eclipseWellSourceInfo->well();
@@ -597,11 +590,6 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
menuBuilder << "RicSelectColorResult"; menuBuilder << "RicSelectColorResult";
} }
} }
else
{
menuBuilder.addSeparator();
menuBuilder << "RicCreateTextAnnotationIn3dViewFeature";
}
if ( gridView ) if ( gridView )
{ {
@@ -613,19 +601,27 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event )
menuBuilder << "RicCreateGridCrossPlotFeature"; menuBuilder << "RicCreateGridCrossPlotFeature";
} }
menuBuilder.addSeparator(); menuBuilder.addSeparator();
menuBuilder.subMenuStart( "Export" );
menuBuilder << "RicExportEclipseInputGridFeature"; menuBuilder << "RicExportEclipseInputGridFeature";
menuBuilder << "RicSaveEclipseInputActiveVisibleCellsFeature"; menuBuilder << "RicSaveEclipseInputActiveVisibleCellsFeature";
menuBuilder << "RicSaveEclipseResultAsInputPropertyFeature"; menuBuilder << "RicSaveEclipseResultAsInputPropertyFeature";
menuBuilder << "RicExportContourMapToTextFeature";
menuBuilder.subMenuEnd();
menuBuilder.addSeparator();
#ifdef USE_QTCHARTS #ifdef USE_QTCHARTS
menuBuilder << "RicCreateGridStatisticsPlotFeature"; menuBuilder << "RicCreateGridStatisticsPlotFeature";
#endif #endif
menuBuilder << "RicShowGridStatisticsFeature"; menuBuilder << "RicShowGridStatisticsFeature";
menuBuilder << "RicSelectColorResult";
menuBuilder << "RicCopyGridStatisticsToClipboardFeature"; menuBuilder << "RicCopyGridStatisticsToClipboardFeature";
menuBuilder << "RicSelectColorResult";
} }
menuBuilder << "RicExportContourMapToTextFeature"; if ( firstHitPart )
{
menuBuilder.addSeparator();
menuBuilder << "RicCreateTextAnnotationIn3dViewFeature";
}
menuBuilder.appendToMenu( &menu ); menuBuilder.appendToMenu( &menu );
@@ -719,12 +715,10 @@ void RiuViewerCommands::handlePickAction( int winPosX, int winPosY, Qt::Keyboard
if ( firstHitPart && firstHitPart->sourceInfo() ) if ( firstHitPart && firstHitPart->sourceInfo() )
{ {
// clang-format off const auto* rivObjectSourceInfo = dynamic_cast<const RivObjectSourceInfo*>( firstHitPart->sourceInfo() );
const RivObjectSourceInfo* rivObjectSourceInfo = dynamic_cast<const RivObjectSourceInfo*>( firstHitPart->sourceInfo() ); const auto* eclipseWellSourceInfo = dynamic_cast<const RivSimWellPipeSourceInfo*>( firstHitPart->sourceInfo() );
const RivSimWellPipeSourceInfo* eclipseWellSourceInfo = dynamic_cast<const RivSimWellPipeSourceInfo*>( firstHitPart->sourceInfo() ); const auto* wellConnectionSourceInfo = dynamic_cast<const RivWellConnectionSourceInfo*>( firstHitPart->sourceInfo() );
const RivWellConnectionSourceInfo* wellConnectionSourceInfo = dynamic_cast<const RivWellConnectionSourceInfo*>( firstHitPart->sourceInfo() ); const auto* seismicSourceInfo = dynamic_cast<const RivSeismicSectionSourceInfo*>( firstHitPart->sourceInfo() );
const RivSeismicSectionSourceInfo* seismicSourceInfo = dynamic_cast<const RivSeismicSectionSourceInfo*>(firstHitPart->sourceInfo());
// clang-format on
if ( rivObjectSourceInfo ) if ( rivObjectSourceInfo )
{ {
@@ -813,21 +807,20 @@ void RiuViewerCommands::handlePickAction( int winPosX, int winPosY, Qt::Keyboard
RiuMainWindow::instance()->setResultInfo( resultInfoText ); RiuMainWindow::instance()->setResultInfo( resultInfoText );
} }
} }
else if ( const RivReservoirSurfaceIntersectionSourceInfo* surfIntersectSourceInfo = else if ( const auto* surfIntersectSourceInfo =
dynamic_cast<const RivReservoirSurfaceIntersectionSourceInfo*>( firstHitPart->sourceInfo() ) ) dynamic_cast<const RivReservoirSurfaceIntersectionSourceInfo*>( firstHitPart->sourceInfo() ) )
{ {
RiuMainWindow::instance()->selectAsCurrentItem( surfIntersectSourceInfo->intersection() ); RiuMainWindow::instance()->selectAsCurrentItem( surfIntersectSourceInfo->intersection() );
} }
else if ( const RivExtrudedCurveIntersectionSourceInfo* crossSectionSourceInfo = else if ( const auto* crossSectionSourceInfo =
dynamic_cast<const RivExtrudedCurveIntersectionSourceInfo*>( firstHitPart->sourceInfo() ) ) dynamic_cast<const RivExtrudedCurveIntersectionSourceInfo*>( firstHitPart->sourceInfo() ) )
{ {
bool allowActiveViewChange = dynamic_cast<Rim2dIntersectionView*>( m_viewer->ownerViewWindow() ) == nullptr; bool allowActiveViewChange = dynamic_cast<Rim2dIntersectionView*>( m_viewer->ownerViewWindow() ) == nullptr;
RiuMainWindow::instance()->selectAsCurrentItem( crossSectionSourceInfo->intersection(), allowActiveViewChange ); RiuMainWindow::instance()->selectAsCurrentItem( crossSectionSourceInfo->intersection(), allowActiveViewChange );
} }
else if ( const RivBoxIntersectionSourceInfo* intersectionBoxSourceInfo = else if ( const auto* intersectionBoxSourceInfo = dynamic_cast<const RivBoxIntersectionSourceInfo*>( firstHitPart->sourceInfo() ) )
dynamic_cast<const RivBoxIntersectionSourceInfo*>( firstHitPart->sourceInfo() ) )
{ {
RiuMainWindow::instance()->selectAsCurrentItem( intersectionBoxSourceInfo->intersectionBox() ); RiuMainWindow::instance()->selectAsCurrentItem( intersectionBoxSourceInfo->intersectionBox() );
} }