1 // SMESH SMESHGUI : GUI for SMESH 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
25 // Author : Nicolas REJNERI
29 #ifndef SMESHGUI_HeaderFile
30 #define SMESHGUI_HeaderFile
33 #include "SALOMEGUI.h"
34 #include "SALOME_InteractiveObject.hxx"
42 //=================================================================================
45 //=================================================================================
46 class SMESHGUI : public SALOMEGUI
51 QAD_Desktop* myDesktop;
52 QAD_Study* myActiveStudy;
53 QDialog* myActiveDialogBox;
56 bool myAutomaticUpdate;
59 SMESHGUI( const QString& name = "", QObject* parent = 0 );
60 static SMESHGUI* GetSMESHGUI() ;
63 QAD_Desktop* GetDesktop() ;
64 QAD_Study* GetActiveStudy() ;
65 bool ActiveStudyLocked();
67 QDialog* GetActiveDialogBox() ;
68 void SetActiveDialogBox(QDialog* aDlg) ;
71 void SetState(int aState) ;
72 bool DefineDlgPosition(QWidget* aDlg, int& x, int& y) ;
74 virtual bool OnGUIEvent (int theCommandID, QAD_Desktop* parent);
75 virtual bool OnMousePress (QMouseEvent* pe, QAD_Desktop* parent, QAD_StudyFrame* studyFrame);
76 virtual bool OnMouseMove (QMouseEvent* pe, QAD_Desktop* parent, QAD_StudyFrame* studyFrame);
77 virtual bool OnKeyPress (QKeyEvent* pe, QAD_Desktop* parent, QAD_StudyFrame* studyFrame);
78 virtual bool ActiveStudyChanged( QAD_Desktop* parent );
79 virtual bool SetSettings ( QAD_Desktop* parent );
80 virtual void DefinePopup ( QString & theContext, QString & theParent, QString & theObject );
81 virtual bool CustomPopup ( QAD_Desktop* parent, QPopupMenu* popup, const QString & theContext,
82 const QString & theParent, const QString & theObject );
83 virtual void BuildPresentation ( const Handle(SALOME_InteractiveObject)& theIO,
85 virtual void SupportedViewType (int* buffer, int bufferSize);
86 virtual void Deactivate ();
88 /* Non modal dialog boxes magement */
89 void EmitSignalDeactivateDialog() ;
90 void EmitSignalStudyFrameChanged() ;
91 void EmitSignalCloseAllDialogs() ;
94 void SignalDeactivateActiveDialog() ;
95 void SignalStudyFrameChanged() ;
96 void SignalCloseAllDialogs() ;