+int HYDROGUI_Module::getViewManagerId( SUIT_ViewManager* theViewManager )
+{
+ ViewManagerMapIterator anIter( myViewManagerMap );
+ while( anIter.hasNext() )
+ {
+ int anId = anIter.next().key();
+ const ViewManagerInfo& anInfo = anIter.value();
+ if( anInfo.first == theViewManager )
+ return anId;
+ }
+ return -1;
+}
+
+HYDROGUI_Module::ViewManagerRole HYDROGUI_Module::getViewManagerRole( SUIT_ViewManager* theViewManager )
+{
+ int anId = getViewManagerId( theViewManager );
+ if( anId != -1 )
+ {
+ const ViewManagerInfo& anInfo = myViewManagerMap[ anId ];
+ return anInfo.second;
+ }
+ return VMR_Unknown;
+}
+
+void HYDROGUI_Module::setViewManagerRole( SUIT_ViewManager* theViewManager,
+ const ViewManagerRole theRole )
+{
+ int anId = getViewManagerId( theViewManager );
+ if( anId != -1 )
+ {
+ ViewManagerInfo& anInfo = myViewManagerMap[ anId ];
+ anInfo.second = theRole;
+ }
+}
+
+bool HYDROGUI_Module::isObjectVisible( const int theViewId,
+ const Handle(HYDROData_Object)& theObject )
+{
+ if( theObject.IsNull() )
+ return false;
+
+ ViewId2Name2ObjectStateMap::const_iterator anIter1 = myObjectStateMap.find( theViewId );
+ if( anIter1 != myObjectStateMap.end() )
+ {
+ const Name2ObjectStateMap& aName2ObjectStateMap = anIter1.value();
+ Name2ObjectStateMap::const_iterator anIter2 = aName2ObjectStateMap.find( theObject->GetName());
+ if( anIter2 != aName2ObjectStateMap.end() )
+ {
+ const ObjectState& anObjectState = anIter2.value();
+ return anObjectState.Visibility;
+ }
+ }
+ return false;
+}
+
+void HYDROGUI_Module::setObjectVisible( const int theViewId,
+ const Handle(HYDROData_Object)& theObject,
+ const bool theState )
+{
+ if( !theObject.IsNull() )
+ {
+ Name2ObjectStateMap& aName2ObjectStateMap = myObjectStateMap[ theViewId ];
+ ObjectState& anObjectState = aName2ObjectStateMap[ theObject->GetName() ];
+ anObjectState.Visibility = theState;
+ }
+}
+