X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_ObjSelector.cxx;h=d855bc2172c51e57b837148ce55980f2580adc74;hb=81c9f5cdf82909d0aebd2c491c50fa7516cc80b7;hp=f3b0ae6992d5880c8b7742f0d54f0a457110343d;hpb=58dcd27e75266f5734ce96619682d2a41fb520ad;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_ObjSelector.cxx b/src/HYDROGUI/HYDROGUI_ObjSelector.cxx index f3b0ae69..d855bc21 100644 --- a/src/HYDROGUI/HYDROGUI_ObjSelector.cxx +++ b/src/HYDROGUI/HYDROGUI_ObjSelector.cxx @@ -26,6 +26,8 @@ #include "HYDROGUI_Module.h" #include "HYDROGUI_Tool.h" +#include + #include #include @@ -41,10 +43,12 @@ HYDROGUI_ObjSelector::HYDROGUI_ObjSelector( HYDROGUI_Module* theModule, const ObjectKind theObjectKind, - QWidget* theParent ) + QWidget* theParent, + const int theObjectFlags) : QAbstractButton( theParent ), myObjectKind( theObjectKind ), - myModule( theModule ) + myModule( theModule ), + myObjectFlags( theObjectFlags ) { QHBoxLayout* aLayout = new QHBoxLayout( this ); aLayout->setMargin( 0 ); @@ -103,7 +107,16 @@ void HYDROGUI_ObjSelector::OnSelectionChanged() if( !anObject.IsNull() ) if( myObjectKind == KIND_UNKNOWN || myObjectKind == anObject->GetKind() ) { - anObjName = anObject->GetName(); + if ( myObjectKind == KIND_POLYLINEXY && ( myObjectFlags & ClosedPolyline ) ) { + // check if the polyline is closed + Handle(HYDROData_PolylineXY) aPolylineObj = + Handle(HYDROData_PolylineXY)::DownCast( anObject ); + if ( !aPolylineObj.IsNull() && aPolylineObj->IsClosed() ) { + anObjName = aPolylineObj->GetName(); + } + } else { + anObjName = anObject->GetName(); + } // Check if the same object has not been selected in other selectors of the same parent widget. if ( !anObjName.isEmpty() ) @@ -127,6 +140,7 @@ void HYDROGUI_ObjSelector::OnSelectionChanged() void HYDROGUI_ObjSelector::SetName( const QString& theName ) { myObjName->setText( theName ); + emit selectionChanged(); } QString HYDROGUI_ObjSelector::GetName() const