Improve UI labels for grid slices in radial and Cartesian modes

Enhance slice feature constructors and UI logic to support context-aware labeling for both Cartesian and radial grids. Axis and slice labels now clearly indicate both physical and index names (e.g., "Radial (I)", "Theta (J)"). Context menus and filter UIs display the appropriate labels based on grid type, improving clarity and usability.
This commit is contained in:
Magne Sjaastad committed 2026-02-03 20:14:12 +01:00
1 parent bda3522bd4
commit 058918a85e
8 files changed
+51 -18

No files matched your search

@@ -94,9 +94,9 @@ QString RimCellRangeFilter::fullName() const
{
bool isRadialGrid = isMainGridRadial();
auto axisI = isRadialGrid ? "R" : "I";
auto axisJ = isRadialGrid ? "θ" : "J";
auto axisK = isRadialGrid ? "Z" : "K";
auto axisI = isRadialGrid ? "R (I)" : "I";
auto axisJ = isRadialGrid ? "θ (J)" : "J";
auto axisK = isRadialGrid ? "Z (K)" : "K";
auto makePostfix = [&]() -> QString
{
@@ -333,13 +333,13 @@ void RimCellRangeFilter::defineUiOrdering( QString uiConfigName, caf::PdmUiOrder
if ( isRadialGrid )
{
label = QString( "I (Radial) Active Cell Range %1 to %2, %3 cells" ).arg( min.x() ).arg( max.x() ).arg( max.x() - min.x() + 1 );
label = QString( "Radial (I) Active Cell Range %1 to %2, %3 cells" ).arg( min.x() ).arg( max.x() ).arg( max.x() - min.x() + 1 );
m_labelI.uiCapability()->setUiName( label );
label = QString( "J (Angular) Active Cell Range %1 to %2, %3 cells" ).arg( min.y() ).arg( max.y() ).arg( max.y() - min.y() + 1 );
label = QString( "Theta (J) Active Cell Range %1 to %2, %3 cells" ).arg( min.y() ).arg( max.y() ).arg( max.y() - min.y() + 1 );
m_labelJ.uiCapability()->setUiName( label );
label = QString( "K (Height) Active Cell Range %1 to %2, %3 cells" ).arg( min.z() ).arg( max.z() ).arg( max.z() - min.z() + 1 );
label = QString( "Height (K) Active Cell Range %1 to %2, %3 cells" ).arg( min.z() ).arg( max.z() ).arg( max.z() - min.z() + 1 );
m_labelK.uiCapability()->setUiName( label );
}
else
@@ -358,9 +358,9 @@ void RimCellRangeFilter::defineUiOrdering( QString uiConfigName, caf::PdmUiOrder
{
if ( isRadialGrid )
{
m_labelI.uiCapability()->setUiName( "I (Radial)" );
m_labelJ.uiCapability()->setUiName( "J (Angular)" );
m_labelK.uiCapability()->setUiName( "K (Height)" );
m_labelI.uiCapability()->setUiName( "Radial (I)" );
m_labelJ.uiCapability()->setUiName( "Theta (J)" );
m_labelK.uiCapability()->setUiName( "Height (K)" );
}
else
{