]> SALOME platform Git repositories - modules/geom.git/blobdiff - src/BooleanGUI/BooleanGUI.h
Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / BooleanGUI / BooleanGUI.h
index 6fb9cde55ec0686eb48471d470d2d342eedfc943..d7773d16a203de1811763b8752f3f22600d9e381 100644 (file)
 //  File   : BooleanGUI.h
 //  Author : Damien COQUERET
 //  Module : GEOM
-//  $Header
+//  $Header$
 
 #ifndef BOOLEANGUI_H
 #define BOOLEANGUI_H
 
-#include "GEOMBase.h"
+#include "GEOMGUI.h"
 
 //=================================================================================
 // class    : BooleanGUI
 // purpose  :
 //=================================================================================
-class BooleanGUI : public QObject
+class BooleanGUI : public GEOMGUI
 {
-  Q_OBJECT /* for QT compatibility */
+protected:
+  BooleanGUI(); // hide constructor to avoid direct creation
 
-public :
-  BooleanGUI();
-  ~BooleanGUI();
+public:
+  enum BooleanOperation { COMMON = 1, CUT = 2, FUSE = 3, SECTION = 4 };
 
-  static bool OnGUIEvent(int theCommandID, QAD_Desktop* parent);
+  ~BooleanGUI();
 
-  void MakeBooleanAndDisplay(GEOM::GEOM_Shape_ptr Shape1,
-                            GEOM::GEOM_Shape_ptr Shape2,
-                            const short operation);
+  // Get the only BooleanGUI object
+  static BooleanGUI* GetBooleanGUI();
 
-  GEOMBase* myGeomBase;
-  GEOMContext* myGeomGUI;
-  GEOM::GEOM_Gen_var myGeom;   /* Current Geom Component */
+  bool OnGUIEvent(int theCommandID, QAD_Desktop* parent);
 
+private:
+  static BooleanGUI* myGUIObject;        // the only BooleanGUI object
 };
 
 #endif