Salome HOME
New files added.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Tool.cxx
index 29d053f046bb210563677941224d417d9c8f979d..3e11ed93c7fb9c6e41857d074af667362137a3ca 100644 (file)
@@ -23,6 +23,7 @@
 #include "HYDROGUI_Tool.h"
 
 #include "HYDROGUI_DataModel.h"
+#include "HYDROGUI_DataObject.h"
 #include "HYDROGUI_Module.h"
 #include "HYDROGUI_Prs.h"
 
@@ -193,6 +194,14 @@ void HYDROGUI_Tool::GetPrsSubObjects( HYDROGUI_Module* theModule,
     if( !anObject.IsNull() )
       theSeq.Append( anObject );
   }
+
+  anIterator = HYDROData_Iterator( aDocument, KIND_ZONE );
+  for( ; anIterator.More(); anIterator.Next() )
+  {
+    Handle(HYDROData_Object) anObject = anIterator.Current();
+    if( !anObject.IsNull() )
+      theSeq.Append( anObject );
+  }
 }
 
 HYDROGUI_Prs* HYDROGUI_Tool::GetPresentation( const Handle(HYDROData_Object)& theObj,
@@ -265,6 +274,32 @@ Handle(HYDROData_Object) HYDROGUI_Tool::GetSelectedObject( HYDROGUI_Module* theM
   return NULL;
 }
 
+ObjectKind HYDROGUI_Tool::GetSelectedPartition( HYDROGUI_Module* theModule )
+{
+  HYDROGUI_DataModel* aModel = theModule->getDataModel();
+
+  SUIT_SelectionMgr* aSelectionMgr = theModule->getApp()->selectionMgr();
+  SUIT_DataOwnerPtrList anOwners;
+  aSelectionMgr->selected( anOwners );
+
+  if( anOwners.size() != 1 )
+    return KIND_UNKNOWN;
+
+  if( LightApp_DataOwner* anOwner = dynamic_cast<LightApp_DataOwner*>( anOwners.first().operator->() ) )
+  {
+    QString anEntry = anOwner->entry();
+    QString aPrefix = HYDROGUI_DataObject::entryPrefix();
+    if( anEntry.left( aPrefix.length() ) == aPrefix )
+    {
+      anEntry.remove( aPrefix );
+      for( ObjectKind anObjectKind = KIND_UNKNOWN + 1; anObjectKind <= KIND_LAST; anObjectKind++ )
+        if( HYDROGUI_DataModel::partitionName( anObjectKind ) == anEntry )
+          return anObjectKind;
+    }
+  }
+  return KIND_UNKNOWN;
+}
+
 Handle(HYDROData_Object) HYDROGUI_Tool::FindObjectByName( HYDROGUI_Module* theModule,
                                                           const QString& theName,
                                                           const ObjectKind theObjectKind )