- if ( anObj->hasEntry() ) {
- QAD_Study* ActiveStudy = QAD_Application::getDesktop()->getActiveStudy();
- SALOMEDS::Study_var aStudy = ActiveStudy->getStudyDocument();
- SALOMEDS::SObject_var obj = aStudy->FindObjectID( anObj->getEntry() );
+ const SalomeApp_DataOwner* owner =
+ dynamic_cast<const SalomeApp_DataOwner*>(theDataOwner);
+ SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>
+ (SUIT_Session::session()->activeApplication()->activeStudy());
+
+ if (owner && appStudy) {
+ _PTR(Study) study = appStudy->studyDS();
+ QString entry = owner->entry();
+
+ _PTR(SObject) obj (study->FindObjectID(entry.latin1()));
+ if (!obj) return false;
+
+ _PTR(SObject) objFather = obj->GetFather();
+ _PTR(SComponent) objComponent = obj->GetFatherComponent();
+
+ if( objComponent->ComponentDataType()!="SMESH" )
+ return false;