00001 // Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE 00002 // 00003 // This library is free software; you can redistribute it and/or 00004 // modify it under the terms of the GNU Lesser General Public 00005 // License as published by the Free Software Foundation; either 00006 // version 2.1 of the License. 00007 // 00008 // This library is distributed in the hope that it will be useful, 00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 // Lesser General Public License for more details. 00012 // 00013 // You should have received a copy of the GNU Lesser General Public 00014 // License along with this library; if not, write to the Free Software 00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00016 // 00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com 00018 // 00019 00020 // SMESH SMESHGUI : GUI for SMESH component 00021 // File : SMESHGUI_WhatIsDlg.h 00022 // Author : Vladimir TURIN, Open CASCADE S.A.S. 00023 // 00024 #ifndef SMESHGUI_WHATISDLG_H 00025 #define SMESHGUI_WHATISDLG_H 00026 00027 // Qt includes 00028 #include <QDialog> 00029 00030 // IDL includes 00031 #include <SALOMEconfig.h> 00032 #include CORBA_SERVER_HEADER(SMESH_Mesh) 00033 00034 class QGroupBox; 00035 class QLabel; 00036 class QLineEdit; 00037 class QPushButton; 00038 class QRadioButton; 00039 class QTextBrowser; 00040 class SMESHGUI; 00041 class SMESH_Actor; 00042 class SVTK_Selector; 00043 class LightApp_SelectionMgr; 00044 class SMESH_LogicalFilter; 00045 00046 //================================================================================= 00047 // class : SMESHGUI_WhatIsDlg 00048 // purpose : 00049 //================================================================================= 00050 class SMESHGUI_WhatIsDlg : public QDialog 00051 { 00052 Q_OBJECT 00053 00054 public: 00055 SMESHGUI_WhatIsDlg( SMESHGUI* ); 00056 ~SMESHGUI_WhatIsDlg(); 00057 00058 private: 00059 void Init( bool = true ); 00060 void closeEvent( QCloseEvent* ); 00061 void enterEvent( QEvent* ); /* mouse enter the QWidget */ 00062 void hideEvent( QHideEvent* ); /* ESC key */ 00063 void keyPressEvent( QKeyEvent* ); 00064 00065 SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ 00066 LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ 00067 00068 SVTK_Selector* mySelector; 00069 00070 bool myBusy; 00071 SMESH::SMESH_Mesh_var myMesh; 00072 SMESH_Actor* myActor; 00073 SMESH_LogicalFilter* myMeshOrSubMeshOrGroupFilter; 00074 00075 QGroupBox* GroupSelections; 00076 QRadioButton* RadioButtonNodes; 00077 QRadioButton* RadioButtonElements; 00078 QGroupBox* GroupButtons; 00079 QPushButton* buttonOk; 00080 QPushButton* buttonHelp; 00081 QGroupBox* GroupArguments; 00082 QGroupBox* GroupMesh; 00083 QLabel* TextLabelElements; 00084 QLineEdit* LineEditElements; 00085 QLabel* MeshLabel; 00086 QLineEdit* MeshName; 00087 00088 QTextBrowser* Info; 00089 00090 QString myHelpFileName; 00091 00092 private slots: 00093 void SelectionsClicked( int ); 00094 void ClickOnOk(); 00095 void ClickOnCancel(); 00096 void ClickOnHelp(); 00097 void SelectionIntoArgument(); 00098 void DeactivateActiveDialog(); 00099 void ActivateThisDialog(); 00100 void onTextChange( const QString& ); 00101 }; 00102 00103 #endif // SMESHGUI_WHATISDLG_H