Back to index

salome-smesh  6.5.0
SMESHGUI_NodesDlg.h
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 // SMESH SMESHGUI : GUI for SMESH component
00024 // File   : SMESHGUI_NodesDlg.h
00025 // Author : Nicolas REJNERI, Open CASCADE S.A.S.
00026 //
00027 #ifndef SMESHGUI_NODESDLG_H
00028 #define SMESHGUI_NODESDLG_H
00029 
00030 // SMESH includes
00031 #include "SMESH_SMESHGUI.hxx"
00032 
00033 // Qt includes
00034 #include <QDialog>
00035 
00036 // IDL includes
00037 #include <SALOMEconfig.h>
00038 #include CORBA_SERVER_HEADER(SMESH_Mesh)
00039 
00040 class QComboBox;
00041 class QGroupBox;
00042 class QLabel;
00043 class QPushButton;
00044 class QRadioButton;
00045 
00046 class SMESHGUI;
00047 class SVTK_Selector;
00048 class SMESHGUI_SpinBox;
00049 class LightApp_SelectionMgr;
00050 
00051 namespace SMESH 
00052 {
00053   struct TNodeSimulation;
00054 }
00055 
00056 //=================================================================================
00057 // class    : SMESHGUI_NodesDlg
00058 // purpose  :
00059 //=================================================================================
00060 class SMESHGUI_EXPORT SMESHGUI_NodesDlg : public QDialog
00061 { 
00062   Q_OBJECT
00063 
00064 public:
00065   SMESHGUI_NodesDlg( SMESHGUI* );
00066   ~SMESHGUI_NodesDlg();
00067 
00068 private:
00069   typedef QList<SMESH::SMESH_GroupBase_var> GrpList;
00070   
00071   LightApp_SelectionMgr*  mySelectionMgr;
00072   SVTK_Selector*          mySelector;
00073   SMESHGUI*               mySMESHGUI;
00074   
00075   SMESH::SMESH_Mesh_var   myMesh;
00076   SMESH::TNodeSimulation* mySimulation;
00077   QString                 myEntry;
00078   GrpList                 myGroups;
00079 
00080   void                    Init();
00081   void                    enterEvent( QEvent* );
00082   void                    closeEvent( QCloseEvent* );
00083   void                    hideEvent ( QHideEvent* );
00084   void                    keyPressEvent( QKeyEvent* );
00085   
00086   bool                    isValid();
00087 
00088   QGroupBox*              GroupConstructors;
00089   QRadioButton*           Constructor1;
00090   QGroupBox*              GroupCoordinates;
00091   SMESHGUI_SpinBox*       SpinBox_X;
00092   SMESHGUI_SpinBox*       SpinBox_Y;
00093   SMESHGUI_SpinBox*       SpinBox_Z;
00094   
00095   QLabel*                 TextLabel_X;
00096   QLabel*                 TextLabel_Y;
00097   QLabel*                 TextLabel_Z;
00098 
00099   QGroupBox*              GroupGroups;
00100   QLabel*                 TextLabel_GroupName;
00101   QComboBox*              ComboBox_GroupName;
00102 
00103   QGroupBox*              GroupButtons;
00104   QPushButton*            buttonApply;
00105   QPushButton*            buttonOk;
00106   QPushButton*            buttonCancel;
00107   QPushButton*            buttonHelp;
00108 
00109   QString                 myHelpFileName;
00110 
00111 private slots:
00112   void                    ClickOnOk();
00113   void                    ClickOnCancel();
00114   bool                    ClickOnApply();
00115   void                    ClickOnHelp();
00116   void                    DeactivateActiveDialog();
00117   void                    ActivateThisDialog();
00118   void                    SelectionIntoArgument();
00119   void                    ValueChangedInSpinBox( double );
00120 };
00121 
00122 #endif // SMESHGUI_NODESDLG_H