Salome HOME
Update for gcc4.1
[modules/geom.git] / src / DisplayGUI / DisplayGUI.h
index 1c4aef11100142d574c0a0729f73ed51d1a5b28d..981c1c58f0a80b48e2af502e69298bcf8b5ba70c 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: 
 
 #ifndef DISPLAYGUI_H
 #define DISPLAYGUI_H
 
+#include "GEOMGUI.h"
 #include "GEOMBase.h"
 
+#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 */
-
-public :
-  DisplayGUI();
+public:
+  DisplayGUI( GeometryGUI* parent );
   ~DisplayGUI();
 
-  static bool OnGUIEvent(int theCommandID, QAD_Desktop* parent);
-  static void BuildPresentation(const Handle(SALOME_InteractiveObject)& theIO);
-
-  void OnDisplayAll(bool onlyPreviousDisplayedObject = false);
-  void OnVTKDisplayOnly();
-  void OnDisplayOnly();
-  void OnErase();
+  // Dispatch menu command
+  bool OnGUIEvent(int theCommandID, SUIT_Desktop* parent);
 
-  /* 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 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();
 
-  GEOMBase* myGeomBase;
-  GEOMContext* myGeomGUI;
-  GEOM::GEOM_Gen_var myGeom;   /* Current Geom Component */
+  // 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 );
 
+  // Set display mode for selected objects in the viewer given
+  // (current viewer if <viewWindow> = 0 )
+  void ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindo = 0 );
 };
 
 #endif