// 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