X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_ObjSelector.cxx;h=a79c1f6b2d1cea3102cc98d318992090a2396f54;hb=ca0e09c1e1bb19c9855e2f3839243da36097ee1c;hp=95c4aa600cb05b7100e2c7edda9b7e763c6eb69c;hpb=d6aeef5b61d85b44493cd5d93ed9870cc513e68f;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_ObjSelector.cxx b/src/HYDROGUI/HYDROGUI_ObjSelector.cxx index 95c4aa60..a79c1f6b 100644 --- a/src/HYDROGUI/HYDROGUI_ObjSelector.cxx +++ b/src/HYDROGUI/HYDROGUI_ObjSelector.cxx @@ -21,21 +21,34 @@ // #include "HYDROGUI_ObjSelector.h" + +#include "HYDROGUI_DataModel.h" #include "HYDROGUI_Module.h" +#include "HYDROGUI_Tool.h" #include + #include #include #include +#include +#include + #include #include #include -HYDROGUI_ObjSelector::HYDROGUI_ObjSelector( HYDROGUI_Module* theModule, QWidget* theParent ) -: QAbstractButton( theParent ), myModule( theModule ) +HYDROGUI_ObjSelector::HYDROGUI_ObjSelector( HYDROGUI_Module* theModule, + const ObjectKind theObjectKind, + QWidget* theParent ) +: QAbstractButton( theParent ), + myObjectKind( theObjectKind ), + myModule( theModule ) { QHBoxLayout* aLayout = new QHBoxLayout( this ); + aLayout->setMargin( 0 ); + aLayout->setSpacing( 5 ); myBtn = new QToolButton( this ); myBtn->setCheckable( true ); myBtn->setChecked( false ); @@ -44,6 +57,9 @@ HYDROGUI_ObjSelector::HYDROGUI_ObjSelector( HYDROGUI_Module* theModule, QWidget* aLayout->addWidget( myBtn, 0 ); aLayout->addWidget( myObjName, 1 ); + SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr(); + myBtn->setIcon( QIcon( aResMgr->loadPixmap( "HYDRO", tr( "SELECT_ICO" ) ) ) ); + SUIT_SelectionMgr* aSelMgr = theModule->getApp()->selectionMgr(); connect( myBtn, SIGNAL( toggled( bool ) ), this, SLOT( OnToggled( bool ) ) ); @@ -82,24 +98,32 @@ void HYDROGUI_ObjSelector::OnSelectionChanged() if( !myBtn->isChecked() ) return; - SUIT_SelectionMgr* aSelMgr = myModule->getApp()->selectionMgr(); - SUIT_DataOwnerPtrList anOwners; - aSelMgr->selected( anOwners ); - QString anObjName; - foreach( SUIT_DataOwner* anOwner, anOwners ) - { - LightApp_GVDataOwner* aGrDOwner = dynamic_cast( anOwner ); - if( aGrDOwner ) - { - anObjName = aGrDOwner->object()->getName(); - break; - } - } - myObjName->setText( anObjName ); + Handle(HYDROData_Object) anObject = HYDROGUI_Tool::GetSelectedObject( myModule ); + if( !anObject.IsNull() ) + if( myObjectKind == KIND_UNKNOWN || myObjectKind == anObject->GetKind() ) + anObjName = anObject->GetName(); + + SetName( anObjName ); +} + +void HYDROGUI_ObjSelector::SetName( const QString& theName ) +{ + myObjName->setText( theName ); } QString HYDROGUI_ObjSelector::GetName() const { return myObjName->text(); } + +void HYDROGUI_ObjSelector::Clear() +{ + myObjName->clear(); + myBtn->setChecked( false ); +} + +void HYDROGUI_ObjSelector::SetChecked( const bool theState ) +{ + myBtn->setChecked( theState ); +}