-// GEOM GEOMGUI : GUI for Geometry component
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// 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.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// 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
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
+// 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.
//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// File : DisplayGUI.h
-// Author : Damien COQUERET
-// Module : GEOM
-// $Header:
+// GEOM GEOMGUI : GUI for Geometry component
+// File : DisplayGUI.h
+// Author : Damien COQUERET, Open CASCADE S.A.S.
+//
#ifndef DISPLAYGUI_H
#define DISPLAYGUI_H
-#include "GEOMBase.h"
+#include "GEOMGUI.h"
//=================================================================================
-// class : GEOMBase_Display
+// class : DisplayGUI
// purpose :
//=================================================================================
-class DisplayGUI : public QObject
-{
- Q_OBJECT /* for QT compatibility */
-public :
- DisplayGUI();
+class SUIT_ViewWindow;
+
+class DisplayGUI : public GEOMGUI
+{
+public:
+ DisplayGUI( GeometryGUI* );
~DisplayGUI();
- static bool OnGUIEvent(int theCommandID, QAD_Desktop* parent);
- static void BuildPresentation(const Handle(SALOME_InteractiveObject)& theIO);
+ // Dispatch menu command
+ bool OnGUIEvent( int, SUIT_Desktop* );
- 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, SUIT_ViewWindow* = 0 );
+ // Get display mode of the viewer (current viewer if <viewWindow> - 0 )
+ int GetDisplayMode( SUIT_ViewWindow* = 0 );
+ // Invert display mode ( shadin <-> wireframe ) for the viewer
+ // (current viewer if <viewWindow> = 0 )
+ void InvertDisplayMode( SUIT_ViewWindow* = 0 );
- GEOMBase* myGeomBase;
- GEOMContext* myGeomGUI;
- GEOM::GEOM_Gen_var myGeom; /* Current Geom Component */
+ // VECTOR MODE methods
+ // Set vectror mode for the viewer
+ void SetVectorMode( const bool, SUIT_ViewWindow* = 0 );
+ // Get vector mode of the viewer
+ int GetVectorMode( SUIT_ViewWindow* = 0 );
+ // Invert vector mode ( shadin <-> wireframe ) for the viewer
+ // Set display mode for selected objects in the viewer given
+ // (current viewer if <viewWindow> = 0 )
+ void ChangeDisplayMode( const int, SUIT_ViewWindow* = 0 );
};
-#endif
+#endif // DISPLAYGUI_H