X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_AddQuadraticElementDlg.h;h=991b220fbb86e09b767748458287dfbbbf98e4d4;hp=987a98c0a81528ad54f654819172a5e6e9bbc9ae;hb=2b96c0d91199618fec51a5771e7713cabb1a19ff;hpb=57b43b4d010e2d0a1529d3c131bbb9d416e63258 diff --git a/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h b/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h index 987a98c0a..991b220fb 100644 --- a/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h +++ b/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h @@ -1,12 +1,14 @@ -// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // -// This library is distributed in the hope that it will be useful +// This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. @@ -15,118 +17,131 @@ // 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.salome-platform.org/ +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +// SMESH SMESHGUI : GUI for SMESH component +// File : SMESHGUI_AddMeshElementDlg.h +// Author : Nicolas REJNERI, Open CASCADE S.A.S. // -#ifndef DIALOGBOX_ADD_QUADRATIC_ELEMENT_H -#define DIALOGBOX_ADD_QUADRATIC_ELEMENT_H +#ifndef SMESHGUI_ADDQUADRATICELEMENTDLG_H +#define SMESHGUI_ADDQUADRATICELEMENTDLG_H + +// SMESH includes +#include "SMESH_SMESHGUI.hxx" +#include "SMDSAbs_ElementType.hxx" -#include "LightApp_SelectionMgr.h" +// Qt includes +#include -// QT Includes -#include -#include +// IDL includes +#include +#include CORBA_SERVER_HEADER(SMESH_Mesh) -class QButtonGroup; +class QComboBox; +class QFrame; class QGroupBox; +class QLabel; class QLineEdit; class QPushButton; class QRadioButton; class QCheckBox; -class QTable; +class QTableWidget; class SMESHGUI; class SMESH_Actor; class SVTK_Selector; +class LightApp_SelectionMgr; -namespace SMESH{ - struct TElementSimulation; +namespace SMESH +{ + struct TElementSimulationQuad; } -// IDL Headers -#include -#include CORBA_SERVER_HEADER(SMESH_Mesh) - -enum { QUAD_EDGE, QUAD_TRIANGLE, QUAD_QUADRANGLE, QUAD_TETRAHEDRON, QUAD_PYRAMID, QUAD_PENTAHEDRON, QUAD_HEXAHEDRON }; - //================================================================================= // class : SMESHGUI_AddQuadraticElementDlg // purpose : //================================================================================= -class SMESHGUI_AddQuadraticElementDlg : public QDialog +class SMESHGUI_EXPORT SMESHGUI_AddQuadraticElementDlg : public QDialog { - Q_OBJECT + Q_OBJECT public: - SMESHGUI_AddQuadraticElementDlg( SMESHGUI* theModule, - const int theType, - const char* = 0, - bool modal = FALSE, WFlags fl = 0 ); - ~SMESHGUI_AddQuadraticElementDlg(); - + SMESHGUI_AddQuadraticElementDlg( SMESHGUI*, const SMDSAbs_EntityType ); + ~SMESHGUI_AddQuadraticElementDlg(); + private: - void Init (); - void closeEvent (QCloseEvent*); - void hideEvent (QHideEvent*); /* ESC key */ - void enterEvent (QEvent*); /* mouse enter the QWidget */ - void displaySimulation(); - void UpdateTable( bool theConersValidity = true ); - bool IsValid(); - - SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ - LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ - int myNbCorners; /* The required number of corners */ - bool myBusy; - SVTK_Selector* mySelector; - - SMESH::SMESH_Mesh_var myMesh; - SMESH_Actor* myActor; - SMESH::TElementSimulation* mySimulation; - - int myType; - bool myIsEditCorners; - - QButtonGroup* GroupConstructors; - QRadioButton* myRadioButton1; + typedef QList GrpList; - QGroupBox* GroupArguments; - QLineEdit* myCornerNodes; - QPushButton* mySelectButton; - QTable* myTable; - QCheckBox* myReverseCB; + void Init(); + void enterEvent( QEvent* ); /* mouse enter the QWidget */ + void keyPressEvent( QKeyEvent* ); + void displaySimulation(int = -1, int = -1); + void UpdateTable( bool = true ); + bool IsValid(); + void updateButtons(); - QGroupBox* GroupButtons; - QPushButton* buttonOk; - QPushButton* buttonCancel; - QPushButton* buttonApply; - QPushButton * buttonHelp; - - QString myHelpFileName; - -private slots: + bool isValid(); - void onTextChange(const QString&); - void onCellTextChange(int, int); - void onReverse( int ); - void onCellDoubleClicked(int, int, int, const QPoint&); + SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ + LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ + int myNbCorners; /* The required number of corners */ + int myNbMidFaceNodes; + int myNbCenterNodes; + bool myBusy; + SVTK_Selector* mySelector; - void ClickOnOk(); - void ClickOnCancel(); - void ClickOnApply(); - void ClickOnHelp(); - void SetEditCorners() ; - void SelectionIntoArgument() ; - void DeactivateActiveDialog() ; - void ActivateThisDialog() ; -}; - -class SMESHGUI_IdEditItem: public QTableItem -{ -public: - SMESHGUI_IdEditItem(QTable* table, EditType et, const QString& text ): - QTableItem(table, et, text) {}; - ~SMESHGUI_IdEditItem() {}; + SMESH::SMESH_Mesh_var myMesh; + SMESH_Actor* myActor; + SMESH::TElementSimulationQuad* mySimulation; + QString myEntry; + GrpList myGroups; + + SMDSAbs_EntityType myGeomType; + QLineEdit* myCurrentLineEdit; + + QGroupBox* GroupConstructors; + QRadioButton* myRadioButton1; + + QGroupBox* GroupArguments; + QPushButton* myCornerSelectButton; + QLineEdit* myCornerNodes; + QLabel* myMidFaceLabel; + QPushButton* myMidFaceSelectButton; + QLineEdit* myMidFaceNodes; + QLabel* myCenterLabel; + QPushButton* myCenterSelectButton; + QLineEdit* myCenterNode; + QTableWidget* myTable; + QCheckBox* myReverseCB; + + QGroupBox* GroupGroups; + QLabel* TextLabel_GroupName; + QComboBox* ComboBox_GroupName; + + QGroupBox* GroupButtons; + QPushButton* buttonOk; + QPushButton* buttonCancel; + QPushButton* buttonApply; + QPushButton* buttonHelp; + + QString myHelpFileName; + +protected slots: + virtual void reject(); - QWidget* createEditor() const; +private slots: + void onTextChange( const QString& ); + void onCellTextChange( int, int ); + void onReverse( int ); + void onCellDoubleClicked( int, int ); + + void ClickOnOk(); + bool ClickOnApply(); + void ClickOnHelp(); + void SetCurrentSelection(); + void SelectionIntoArgument(); + void DeactivateActiveDialog(); + void ActivateThisDialog(); }; - -#endif // DIALOGBOX_ADD_QUADRATIC_ELEMENT_H +#endif // SMESHGUI_ADDQUADRATICELEMENTDLG_H