Salome HOME
Copyright update: 2016
[modules/hexablock.git] / src / HEXABLOCKGUI / HEXABLOCKGUI.hxx
index b0451661df67ae94f586be9503c84d3cb2fd19ed..9b88c6aa04829f7988e54a87ea7266df05a3d594 100755 (executable)
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2016  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -20,6 +20,8 @@
 #ifndef _HEXABLOCKGUI_HXX_
 #define _HEXABLOCKGUI_HXX_
 
+#include "HEXABLOCKGUI_Export.hxx"
+
 #include <iostream>
 #include <map>
 #include <set>
@@ -28,7 +30,6 @@
 #include <QModelIndex>
 #include <QDockWidget>
 
-
 #include "klinkitemselectionmodel.hxx"
 
 #include <OB_Browser.h>
@@ -44,6 +45,7 @@
 #include "HEXABLOCKGUI_OCCSelector.h"
 #include "hexa_base.hxx"
 
+class QDir;
 
 // #include CORBA_CLIENT_HEADER(HEXABLOCK_Gen)  // Abu Juin 2013
 
@@ -113,7 +115,7 @@ class OCCViewer_ViewWindow;
 class LightApp_VTKSelector;
 
 
-class HexaExport HEXABLOCKGUI : public SalomeApp_Module
+class HEXABLOCK_EXPORT HEXABLOCKGUI : public SalomeApp_Module
 {
   Q_OBJECT
 
@@ -126,6 +128,7 @@ public:
   enum ViewType {
       VTK,
       OCC,
+      VTK_OCC,
       UNKNOWN
   };
 
@@ -171,6 +174,7 @@ public:
 
   void initialMenus();
   void showAllMenus();
+  void setAllMenusEnabled(bool enable);
   void updateSelectors();
 
   void switchModel(HEXABLOCK::GUI::VtkDocumentGraphicView* dgview);
@@ -199,6 +203,11 @@ public:
   void showLawInfoDialog(HEXA_NS::Law* law);
   void showPropagationInfoDialog(HEXA_NS::Propagation* propagation);
 
+  void showVtkActor();
+  void showOccActor();
+  void hideVtkActor();
+  void hideOccActor();
+
 public slots:
   bool deactivateModule( SUIT_Study* theStudy);
   bool activateModule( SUIT_Study* theStudy);
@@ -210,6 +219,12 @@ public slots:
   void showGroupsMenus(bool show);
   void showMeshMenus(bool show);
 
+  void enableDocumentMenus(bool enable);
+  void enablePatternMenus(bool enable);
+  void enableAssociationMenus(bool enable);
+  void enableGroupsMenus(bool enable);
+  void enableMeshMenus(bool enable);
+
 protected slots:
   void onWindowActivated( SUIT_ViewWindow* svw);
   void onWindowClosed( SUIT_ViewWindow* svw);
@@ -218,7 +233,6 @@ protected slots:
   virtual void                        onViewManagerRemoved( SUIT_ViewManager* );
 
   void onSelectionChanged( const QItemSelection & selected, const QItemSelection & deselected );
-  void showActor();
   void hideActor();
   void showOnlyActor();
 
@@ -319,7 +333,7 @@ private:
       if (docGView == NULL)
           return NULL;
       if (!occPrs.contains(docGView))
-          occPrs[docGView] = new SOCC_Prs();
+          occPrs[docGView] = new SOCC_Prs(0);
       return occPrs[docGView];
   }
 
@@ -479,6 +493,7 @@ private:
 
   bool _isSaved;
   bool moduleActivatedOnce;
+  bool menusEnabled;
 
   QDir* loadDocLastPath;
   QDir* saveDocLastPath;