X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_AddQuadraticElementDlg.h;h=917b042b460a153d7d32d901da5963833a6efcb7;hp=a048a6760baaf5f62b84c464455b21d4aa1decf4;hb=HEAD;hpb=0635c9fc80f67d1e5dc0e94ec85f487286a92070 diff --git a/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h b/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h index a048a6760..b85842172 100644 --- a/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h +++ b/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h @@ -1,24 +1,25 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// 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. +// 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, or (at your option) any later version. // -// 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. +// 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. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// 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/ or email : webmaster.salome@opencascade.com +// 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. @@ -28,6 +29,7 @@ // SMESH includes #include "SMESH_SMESHGUI.hxx" +#include "SMDSAbs_ElementType.hxx" // Qt includes #include @@ -36,7 +38,10 @@ #include #include CORBA_SERVER_HEADER(SMESH_Mesh) +class QComboBox; +class QFrame; class QGroupBox; +class QLabel; class QLineEdit; class QPushButton; class QRadioButton; @@ -49,12 +54,9 @@ class LightApp_SelectionMgr; namespace SMESH { - struct TElementSimulation; + struct TElementSimulationQuad; } -enum { QUAD_EDGE, QUAD_TRIANGLE, QUAD_QUADRANGLE, QUAD_TETRAHEDRON, - QUAD_PYRAMID, QUAD_PENTAHEDRON, QUAD_HEXAHEDRON }; - //================================================================================= // class : SMESHGUI_AddQuadraticElementDlg // purpose : @@ -64,13 +66,13 @@ class SMESHGUI_EXPORT SMESHGUI_AddQuadraticElementDlg : public QDialog Q_OBJECT public: - SMESHGUI_AddQuadraticElementDlg( SMESHGUI*, const int ); + SMESHGUI_AddQuadraticElementDlg( SMESHGUI*, const SMDSAbs_EntityType ); ~SMESHGUI_AddQuadraticElementDlg(); private: + typedef QList GrpList; + void Init(); - void closeEvent( QCloseEvent* ); - void hideEvent( QHideEvent* ); /* ESC key */ void enterEvent( QEvent* ); /* mouse enter the QWidget */ void keyPressEvent( QKeyEvent* ); void displaySimulation(); @@ -78,28 +80,44 @@ private: bool IsValid(); void updateButtons(); + bool isValid(); + 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; SMESH::SMESH_Mesh_var myMesh; SMESH_Actor* myActor; - SMESH::TElementSimulation* mySimulation; + SMESH::TElementSimulationQuad* mySimulation; + QString myEntry; + GrpList myGroups; - int myType; - bool myIsEditCorners; + SMDSAbs_EntityType myGeomType; + QLineEdit* myCurrentLineEdit; QGroupBox* GroupConstructors; QRadioButton* myRadioButton1; QGroupBox* GroupArguments; + QPushButton* myCornerSelectButton; QLineEdit* myCornerNodes; - QPushButton* mySelectButton; + 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; @@ -108,6 +126,9 @@ private: QString myHelpFileName; +protected slots: + virtual void reject(); + private slots: void onTextChange( const QString& ); void onCellTextChange( int, int ); @@ -115,13 +136,14 @@ private slots: void onCellDoubleClicked( int, int ); void ClickOnOk(); - void ClickOnCancel(); - void ClickOnApply(); + bool ClickOnApply(); void ClickOnHelp(); - void SetEditCorners(); + void SetCurrentSelection(); void SelectionIntoArgument(); void DeactivateActiveDialog(); void ActivateThisDialog(); + void onOpenView(); + void onCloseView(); }; #endif // SMESHGUI_ADDQUADRATICELEMENTDLG_H