X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FDisplayGUI%2FDisplayGUI.h;h=2ad5a05aec3cfb7ecbbd42f000bc4cb801c00ae7;hb=d2046800b5f3ab6a56c3b9a72766f5d317a235e7;hp=1c4aef11100142d574c0a0729f73ed51d1a5b28d;hpb=c577ca78d7a6e286526662cf54df6de1f4f2f449;p=modules%2Fgeom.git diff --git a/src/DisplayGUI/DisplayGUI.h b/src/DisplayGUI/DisplayGUI.h index 1c4aef111..2ad5a05ae 100644 --- a/src/DisplayGUI/DisplayGUI.h +++ b/src/DisplayGUI/DisplayGUI.h @@ -1,66 +1,79 @@ -// GEOM GEOMGUI : GUI for Geometry component +// Copyright (C) 2007-2008 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 +// +// GEOM GEOMGUI : GUI for Geometry component +// File : DisplayGUI.h +// Author : Damien COQUERET, Open CASCADE S.A.S. // -// File : DisplayGUI.h -// Author : Damien COQUERET -// Module : GEOM -// $Header: - #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 - 0 ) + void SetDisplayMode( const int, SUIT_ViewWindow* = 0 ); + // Get display mode of the viewer (current viewer if - 0 ) + int GetDisplayMode( SUIT_ViewWindow* = 0 ); + // Invert display mode ( shadin <-> wireframe ) for the viewer + // (current viewer if = 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 = 0 ) + void ChangeDisplayMode( const int, SUIT_ViewWindow* = 0 ); }; -#endif +#endif // DISPLAYGUI_H