Salome HOME
PAL12608: Add possibility to check geometry of a shape.
[modules/geom.git] / src / DisplayGUI / DisplayGUI.h
index 1c4aef11100142d574c0a0729f73ed51d1a5b28d..2ed2ccad49fd4da620e5f74043df46be8d287424 100644 (file)
 //  License along with this library; if not, write to the Free Software 
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
 // 
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 //
 //
 //  File   : DisplayGUI.h
 //  Author : Damien COQUERET
 //  Module : GEOM
-//  $Header
+//  $Header$
 
 #ifndef DISPLAYGUI_H
 #define DISPLAYGUI_H
 
+#include "GEOMGUI.h"
 #include "GEOMBase.h"
-
+//#ifdef WNT
+//#include <SALOME_WNT.hxx>
+//#else
+//#define SALOME_WNT_EXPORT
+//#endif
+#if defined WNT && defined WIN32 && defined SALOME_WNT_EXPORTS
+#define DISPLAYGUI_WNT_EXPORT __declspec( dllexport )
+#else
+#define DISPLAYGUI_WNT_EXPORT
+#endif
 //=================================================================================
 // class    : GEOMBase_Display
 // purpose  :
 //=================================================================================
-class DisplayGUI : public QObject
+//class QAD_ViewFrame;
+class SUIT_ViewWindow;
+class DisplayGUI : public GEOMGUI
 {
-  Q_OBJECT /* for QT compatibility */
+protected:
+  DisplayGUI( GeometryGUI* parent ); // hide constructor to avoid direct creation
 
 public :
-  DisplayGUI();
   ~DisplayGUI();
 
-  static bool OnGUIEvent(int theCommandID, QAD_Desktop* parent);
-  static void BuildPresentation(const Handle(SALOME_InteractiveObject)& theIO);
+  // Get the only DisplayGUI object
+  static DisplayGUI* GetDisplayGUI( GeometryGUI* parent );
+
+  // Dispatch menu command
+  bool OnGUIEvent(int theCommandID, SUIT_Desktop* parent);
 
-  void OnDisplayAll(bool onlyPreviousDisplayedObject = false);
-  void OnVTKDisplayOnly();
-  void OnDisplayOnly();
-  void OnErase();
+  // Display all GEOM objects
+  void DisplayAll();
+  // Erase all GEOM objects
+  void EraseAll();
+  // Display selected GEOM objects
+  void Display();
+  // Display selected GEOM objects and erase other
+  void DisplayOnly();
+  // Erase selected GEOM objects
+  void Erase();
 
-  /* Method opening context for any sub shape selection */
-  bool PrepareSubShapeSelection(const int SubShapeType, Standard_Integer& returnLocalContextId);
-  /* Method opening context for sub shape selection on an argument shape */
-  bool PrepareSubShapeSelectionArgumentShape(const TopoDS_Shape& aShape, const int SubShapeType,
-                                            Standard_Integer& returnLocalContextId);
+  // DISPLAY MODE methods : 0 - wireframe, 1 - shading
+  // Set display mode for the viewer (current viewer if <viewWindow> - 0 )
+  void SetDisplayMode( const int mode, SUIT_ViewWindow* viewWindow = 0 );
+  // Get display mode of the viewer (current viewer if <viewWindow> - 0 )
+  int  GetDisplayMode( SUIT_ViewWindow* viewWindow = 0 );
+  // Invert display mode ( shadin <-> wireframe ) for the viewer 
+  // (current viewer if <viewWindow> = 0 )
+  void InvertDisplayMode( SUIT_ViewWindow* viewWindow = 0 );
 
-  GEOMBase* myGeomBase;
-  GEOMContext* myGeomGUI;
-  GEOM::GEOM_Gen_var myGeom;   /* Current Geom Component */
+  // Set display mode for selected objects in the viewer given
+  // (current viewer if <viewWindow> = 0 )
+  void ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindo = 0 );
 
+private:
+  static DisplayGUI* myGUIObject;        // the only DisplayGUI object
 };
 
 #endif