foreach ( const int anId, anObsoleteIds ) {
myViewManagerMap.remove( anId );
myObjectStateMap.remove( anId );
+ myObjectDisplayOrderMap.remove( anId );
myShapesMap.remove( anId );
myVTKPrsMap.remove( anId );
}
theMenu->addAction( action( SetColorId ) );
theMenu->addSeparator();
}
-
- // Add copy action
- if( aModel->canCopy() ) {
- theMenu->addAction( action( CopyId ) );
- theMenu->addSeparator();
- }
} else if ( anAllAreProfiles ) {
theMenu->addAction( action( SelectedGeoreferencementId ) );
theMenu->addSeparator();
}
+ // Add copy action
+ QAction* aCopyAction = action( CopyId );
+ if( aCopyAction && aCopyAction->isEnabled() ) {
+ theMenu->addAction( action( CopyId ) );
+ theMenu->addSeparator();
+ }
+
+ // Add delete action
if( !anIsDummyObject3D )
theMenu->addAction( action( DeleteId ) );
+
theMenu->addSeparator();
if( anIsImage || anIsPolyline || anIsPolyline3D ||
theMenu->addAction( action( HideAllId ) );
theMenu->addSeparator();
}
+ if ( anIsOCCView ) {
+ theMenu->addSeparator();
+ theMenu->addAction( action( CopyViewerPositionId ) );
+ }
}
void HYDROGUI_Module::update( const int flags )
ObjectState& anObjectState = aEntry2ObjectStateMap[ anEntry ];
anObjectState.Visibility = theState;
+
+ // Remember the display order ( needed for Z layers assignment only )
+ QStringList& anObjectEntries = myObjectDisplayOrderMap[ theViewId ];
+ anObjectEntries.removeAll( anEntry );
+ if ( theState ) {
+ anObjectEntries.append( anEntry );
+ }
}
}
aDesktop->statusBar()->showMessage( tr("COORDINATES_INFO").arg( aX ).arg( anY ) );
}
}
+}
+
+/**
+ * Get the object display order. Needed for Z layers assignment only.
+ */
+int HYDROGUI_Module::getObjectDisplayOrder(
+ const int theViewId, const Handle(HYDROData_Entity)& theObject) const
+{
+ if( theObject.IsNull() )
+ return -1;
+
+ QString anEntry = HYDROGUI_DataObject::dataObjectEntry( theObject );
+ QStringList anObjectEntries = myObjectDisplayOrderMap.value( theViewId );
+
+ return anObjectEntries.indexOf( anEntry );
}
\ No newline at end of file