X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FDisplayGUI%2FDisplayGUI.h;h=2ed2ccad49fd4da620e5f74043df46be8d287424;hb=6e638ed22140cb8c1a65e73c43541e44b2aa3bf5;hp=1c4aef11100142d574c0a0729f73ed51d1a5b28d;hpb=c577ca78d7a6e286526662cf54df6de1f4f2f449;p=modules%2Fgeom.git diff --git a/src/DisplayGUI/DisplayGUI.h b/src/DisplayGUI/DisplayGUI.h index 1c4aef111..2ed2ccad4 100644 --- a/src/DisplayGUI/DisplayGUI.h +++ b/src/DisplayGUI/DisplayGUI.h @@ -17,50 +17,76 @@ // 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 +//#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 - 0 ) + void SetDisplayMode( const int mode, SUIT_ViewWindow* viewWindow = 0 ); + // Get display mode of the viewer (current viewer if - 0 ) + int GetDisplayMode( SUIT_ViewWindow* viewWindow = 0 ); + // Invert display mode ( shadin <-> wireframe ) for the viewer + // (current viewer if = 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 = 0 ) + void ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindo = 0 ); +private: + static DisplayGUI* myGUIObject; // the only DisplayGUI object }; #endif