mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-26 01:10:36 +05:00
PAL10332 - references are interpreted as original objects in filters, dialogs, etc.
This commit is contained in:
parent
09694149f8
commit
49cd48980d
@ -54,7 +54,7 @@ bool GEOM_SelectionFilter::isOk( const SUIT_DataOwner* sOwner ) const
|
|||||||
// function : getObject
|
// function : getObject
|
||||||
// purpose :
|
// purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_SelectionFilter::getObject (const SUIT_DataOwner* sOwner) const
|
GEOM::GEOM_Object_ptr GEOM_SelectionFilter::getObject( const SUIT_DataOwner* sOwner, const bool extractReference ) const
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var anObj;
|
GEOM::GEOM_Object_var anObj;
|
||||||
|
|
||||||
@ -65,7 +65,10 @@ GEOM::GEOM_Object_ptr GEOM_SelectionFilter::getObject (const SUIT_DataOwner* sOw
|
|||||||
_PTR(Study) study = appStudy->studyDS();
|
_PTR(Study) study = appStudy->studyDS();
|
||||||
QString entry = owner->entry();
|
QString entry = owner->entry();
|
||||||
|
|
||||||
_PTR(SObject) aSO (study->FindObjectID(entry.latin1()));
|
_PTR(SObject) aSO (study->FindObjectID(entry.latin1())), aRefSO;
|
||||||
|
if( extractReference && aSO && aSO->ReferencedObject( aRefSO ) )
|
||||||
|
aSO = aRefSO;
|
||||||
|
|
||||||
if (aSO) {
|
if (aSO) {
|
||||||
std::string aValue = aSO->GetIOR();
|
std::string aValue = aSO->GetIOR();
|
||||||
if (strcmp(aValue.c_str(), "") != 0) {
|
if (strcmp(aValue.c_str(), "") != 0) {
|
||||||
|
@ -20,7 +20,7 @@ public:
|
|||||||
virtual bool isOk( const SUIT_DataOwner* ) const;
|
virtual bool isOk( const SUIT_DataOwner* ) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
GEOM::GEOM_Object_ptr getObject( const SUIT_DataOwner* ) const;
|
GEOM::GEOM_Object_ptr getObject( const SUIT_DataOwner*, const bool = true ) const;
|
||||||
bool getShape( const GEOM::GEOM_Object_ptr&, TopoDS_Shape& ) const;
|
bool getShape( const GEOM::GEOM_Object_ptr&, TopoDS_Shape& ) const;
|
||||||
|
|
||||||
bool contains( const int ) const;
|
bool contains( const int ) const;
|
||||||
|
@ -232,7 +232,7 @@ void GEOMToolsGUI::OnEditDelete()
|
|||||||
SalomeApp_SelectionMgr* aSelMgr = app->selectionMgr();
|
SalomeApp_SelectionMgr* aSelMgr = app->selectionMgr();
|
||||||
SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>( app->activeStudy() );
|
SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>( app->activeStudy() );
|
||||||
if ( aSelMgr && appStudy ) {
|
if ( aSelMgr && appStudy ) {
|
||||||
aSelMgr->selectedObjects( selected );
|
aSelMgr->selectedObjects( selected, QString::null, false );
|
||||||
if ( !selected.IsEmpty() ) {
|
if ( !selected.IsEmpty() ) {
|
||||||
_PTR(Study) aStudy = appStudy->studyDS();
|
_PTR(Study) aStudy = appStudy->studyDS();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user