1 // VISU VISUGUI : GUI of VISU component
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : VisuGUI_Module.h
29 #ifndef VisuGUI_Module_HeaderFile
30 #define VisuGUI_Module_HeaderFile
33 #include "STD_Application.h"
34 #include "SALOMEDSClient_SObject.hxx"
36 class SUIT_ViewManager;
37 class SVTK_ViewManager;
38 class SVTK_ViewWindow;
40 #include "MED_SharedPtr.hxx"
45 typedef MED::SharedPtr<Viewer> PViewer;
47 typedef std::map<SUIT_ViewManager*,PViewer> TViewerMap;
50 //! This class inherits base VisuGUI.
51 /*! Used to display, erase end edit presentations in the VVTK viewer. */
52 class VisuGUI_Module: public VisuGUI
56 friend class VISU::Viewer;
66 eventFilter( QObject * theWatched, QEvent * theEvent );
68 //! Redifined method of the module initializing.
71 initialize( CAM_Application* );
73 //! Redefined method of creating prefernces.
80 preferencesChanged( const QString&, const QString& );
84 getViewManager(const QString& theType,
85 const bool theIsCreate);
88 //! Reimplemented method of the module deactivation.
91 deactivateModule( SUIT_Study* );
93 //! Reimplemented method of the module activation.
96 activateModule( SUIT_Study* );
99 //! Create preferences for Gauss Points presentation.
102 createGaussPointsPreferences();
104 //! Create preferences for Outside Cursor Gauss Points presentations.
107 createInsideCursorPreferences();
111 createOutsideCursorPreferences();
113 //! Create preferences for Picking.
116 createPickingPreferences();
118 //! Create preferences for Space Mouse.
121 createSpaceMousePreferences();
123 //! Create preferences for Recorder.
126 createRecorderPreferences();
130 onCreateViewManager();
133 onLastViewClosed(SUIT_ViewManager*);
136 OnCreateGaussPoints();
139 OnViewCreated(SUIT_ViewWindow*);
142 OnViewManagerAdded(SUIT_ViewManager*);
144 //! Reimplemented method of the Gauss Points edition.
149 //! Reimplemented method of the Gauss Points displaying.
154 //! Reimplemented method of the Gauss Points displaying only.
159 //! Reimplemented method of the Gauss Points full erasing.
164 //! Reimplemented method of the Gauss Points erasing.
169 //! Virtual method of saving configuration.
172 OnSaveConfiguration();
174 //! Virtual method of overwriting configuration.
177 OnOverwriteConfiguration();
179 //! Virtual method of restoring configuration.
182 OnRestoreConfiguration();
185 VISU::TViewerMap myViewerMap;
186 _PTR(SObject) myConfigSObject;
188 void setProperty( SVTK_ViewWindow*, const QString& ); // set a property (speed_increment, etc ) for SVTK ViewWindow
189 void setProperty( SVTK_ViewManager*, const QString& ); // set a property for SVTK ViewWindow // set only 1 property for all ViewWindows of given view manager