bool anIsImage = false;
bool anIsImportedImage = false;
- bool anIsCompositeImage = false;
+ bool anIsImageHasRefs = false;
bool anIsFusedImage = false;
bool anIsCutImage = false;
bool anIsSplittedImage = false;
if( !anImage.IsNull() )
{
anIsImportedImage = anImage->HasLocalPoints() && !anImage->IsSelfSplitted();
- anIsCompositeImage = anImage->NbReferences() > 0;
+ anIsImageHasRefs = anImage->HasReferences();
if( HYDROData_OperationsFactory* aFactory = HYDROData_OperationsFactory::Factory() )
{
if( ImageComposer_Operator* anOperator = aFactory->Operator( anImage ) )
anIsSplittedImage = true;
}
}
- anIsMustBeUpdatedImage = anImage->MustBeUpdated();
+ anIsMustBeUpdatedImage = anImage->IsMustBeUpdated();
}
}
else if( anObject->GetKind() == KIND_POLYLINE )
{
if( anIsImportedImage )
theMenu->addAction( action( EditImportedImageId ) );
- else if( anIsCompositeImage )
+ else if( anIsImageHasRefs )
{
if( anIsFusedImage )
theMenu->addAction( action( EditFusedImageId ) );
theMenu->addAction( action( ExportImageId ) );
theMenu->addSeparator();
+ if( anIsImageHasRefs )
+ {
+ theMenu->addAction( action( RemoveImageRefsId ) );
+ theMenu->addSeparator();
+ }
+
theMenu->addAction( action( FuseImagesId ) );
theMenu->addAction( action( CutImagesId ) );
theMenu->addAction( action( SplitImageId ) );
return;
ListOfShapes& aViewShapes = myShapesMap[ theViewId ];
+ Handle(HYDROData_Entity) anObject;
for ( int i = 0; i < aViewShapes.length(); )
{
HYDROGUI_Shape* aShape = aViewShapes.at( i );
- if ( aShape && IsEqual( aShape->getObject(), theObject ) )
+ anObject = aShape->getObject();
+ if ( aShape && (!anObject.IsNull()) && IsEqual( anObject, theObject ) )
{
delete aShape;
aViewShapes.removeAt( i );
//aViewPort->setViewLabelPosition( GraphicsView_ViewPort::VLP_BottomLeft, true );
}
- if( aRole != VMR_TransformImage )
+ if( aRole != VMR_TransformImage && aRole != VMR_ReferenceImage )
update( UF_Viewer );
aViewer->activateTransform( GraphicsView_Viewer::FitAll );