X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MultiEditDlg.h;h=5e6c663268867ea8e5c1bd2bb7c19bd9a97b8c02;hp=a35f517581394077e001ba7bf6fb2f8f69762878;hb=81a502af8470190be359d6491a20796dbad5bb97;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f diff --git a/src/SMESHGUI/SMESHGUI_MultiEditDlg.h b/src/SMESHGUI/SMESHGUI_MultiEditDlg.h index a35f51758..5e6c66326 100755 --- a/src/SMESHGUI/SMESHGUI_MultiEditDlg.h +++ b/src/SMESHGUI/SMESHGUI_MultiEditDlg.h @@ -1,21 +1,21 @@ // Copyright (C) 2003 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 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 -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// 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 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 +// +// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org // // // @@ -28,56 +28,68 @@ #define SMESHGUI_MultiEditDlg_H #include -#include "SMESH_TypeFilter.hxx" + +#include "SUIT_SelectionFilter.h" + #include #include #include CORBA_SERVER_HEADER(SMESH_Mesh) +#include CORBA_SERVER_HEADER(SMESH_Filter) -class QCloseEvent; +class SMESHGUI; class SMESHGUI_FilterDlg; +class SMESHGUI_SpinBox; + +class SMESH_Actor; + +class LightApp_SelectionMgr; +class SALOME_Actor; +class SVTK_Selector; +class SVTK_ViewWindow; + +class QFrame; +class QObject; +class QListBox; +class QComboBox; class QCheckBox; class QGroupBox; -class QListBox; -class QFrame; class QLineEdit; -class SMESHGUI_SpinBox; class QPushButton; -class SALOME_Selection; -class SMESH_Actor; -class SALOME_Actor; +class QButtonGroup; -/* - Class : SMESHGUI_MultiEditDlg - Description : Base class for dialogs of diagonal inversion and - union of two neighboring triangles -*/ +/*! + * Class : SMESHGUI_MultiEditDlg + * Description : Base class for dialogs of diagonal inversion and + * union of two neighboring triangles + */ class SMESHGUI_MultiEditDlg : public QDialog -{ +{ Q_OBJECT public: - SMESHGUI_MultiEditDlg( QWidget*, - SALOME_Selection*, - const int, - const char* = 0 ); + SMESHGUI_MultiEditDlg(SMESHGUI* theModule, + const int, + const bool = false, + const char* = 0 ); virtual ~SMESHGUI_MultiEditDlg(); - void Init( SALOME_Selection* ) ; + void Init(); + + bool eventFilter( QObject* object, QEvent* event ); signals: void ListContensChanged(); protected slots: - void onOk(); virtual bool onApply(); virtual void onClose(); void onDeactivate(); void onSelectionDone(); - + void onFilterBtn(); void onAddBtn(); void onRemoveBtn(); @@ -87,92 +99,100 @@ protected slots: void onGroupChk(); virtual void onToAllChk(); void onFilterAccepted(); - -protected: + void on3d2dChanged(int); + SMESH::NumericalFunctor_ptr getNumericalFunctor(); + +protected: void closeEvent( QCloseEvent* e ) ; - void enterEvent ( QEvent * ) ; + void enterEvent ( QEvent * ) ; void hideEvent ( QHideEvent * ); /* ESC key */ QFrame* createButtonFrame( QWidget* ); - QFrame* createMainFrame ( QWidget* ); + QFrame* createMainFrame ( QWidget*, const bool ); bool isValid( const bool ) const; SMESH::long_array_var getIds(); void updateButtons(); void setSelectionMode(); virtual bool isIdValid( const int theID ) const; virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ) = 0; - -protected: + int entityType(); +protected: QPushButton* myOkBtn; QPushButton* myApplyBtn; QPushButton* myCloseBtn; - SALOME_Selection* mySelection; - SMESH::SMESH_Mesh_var myMesh; SMESH_Actor* myActor; - + SMESH::SMESH_Mesh_var myMesh; + + LightApp_SelectionMgr* mySelectionMgr; + SVTK_Selector* mySelector; + SMESHGUI* mySMESHGUI; + QGroupBox* mySelGrp; - + QGroupBox* myCriterionGrp; + + QButtonGroup* myGroupChoice; + QComboBox* myComboBoxFunctor; + QListBox* myListBox; QPushButton* myFilterBtn; QPushButton* myAddBtn; QPushButton* myRemoveBtn; QPushButton* mySortBtn; - + QCheckBox* myToAllChk; - + QButtonGroup* myEntityTypeGrp; + QCheckBox* mySubmeshChk; QPushButton* mySubmeshBtn; QLineEdit* mySubmesh; - + QCheckBox* myGroupChk; QPushButton* myGroupBtn; QLineEdit* myGroup; - + SMESHGUI_FilterDlg* myFilterDlg; TColStd_MapOfInteger myIds; int myFilterType; - Handle(SMESH_TypeFilter) mySubmeshFilter; - Handle(SMESH_TypeFilter) myGroupFilter; bool myBusy; + int myEntityType; }; -/* - Class : SMESHGUI_ChangeOrientationDlg - Description : Modification of orientation of faces -*/ +/*! + * Class : SMESHGUI_ChangeOrientationDlg + * Description : Modification of orientation of faces + */ class SMESHGUI_ChangeOrientationDlg : public SMESHGUI_MultiEditDlg -{ +{ Q_OBJECT public: - SMESHGUI_ChangeOrientationDlg( QWidget*, - SALOME_Selection*, - const char* = 0 ); - virtual ~SMESHGUI_ChangeOrientationDlg(); + SMESHGUI_ChangeOrientationDlg(SMESHGUI* theModule, + const char* = 0); + virtual ~SMESHGUI_ChangeOrientationDlg(); protected: - - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); + virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); }; -/* - Class : SMESHGUI_UnionOfTrianglesDlg - Description : Construction of quadrangles by automatic association of triangles -*/ +/*! + * Class : SMESHGUI_UnionOfTrianglesDlg + * Description : Construction of quadrangles by automatic association of triangles + */ class SMESHGUI_UnionOfTrianglesDlg : public SMESHGUI_MultiEditDlg { Q_OBJECT public: - SMESHGUI_UnionOfTrianglesDlg( QWidget*, - SALOME_Selection*, - const char* = 0 ); - virtual ~SMESHGUI_UnionOfTrianglesDlg(); + SMESHGUI_UnionOfTrianglesDlg(SMESHGUI* theModule, + const char* = 0); + virtual ~SMESHGUI_UnionOfTrianglesDlg(); protected: + virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); +private: + SMESHGUI_SpinBox* myMaxAngleSpin; }; /* @@ -184,26 +204,25 @@ class SMESHGUI_CuttingOfQuadsDlg : public SMESHGUI_MultiEditDlg Q_OBJECT public: - SMESHGUI_CuttingOfQuadsDlg( QWidget*, - SALOME_Selection*, - const char* = 0 ); - virtual ~SMESHGUI_CuttingOfQuadsDlg(); + SMESHGUI_CuttingOfQuadsDlg(SMESHGUI* theModule, + const char* = 0); + virtual ~SMESHGUI_CuttingOfQuadsDlg(); protected: - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); - + virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); + protected slots: - virtual void onClose(); - void onPreviewChk(); + virtual void onClose(); + void onCriterionRB(); + void onPreviewChk(); private: - void displayPreview(); - void erasePreview(); - + void displayPreview(); + void erasePreview(); + private: - QCheckBox* myUseDiagChk; - SALOME_Actor* myPreviewActor; - QCheckBox* myPreviewChk; + SALOME_Actor* myPreviewActor; + QCheckBox* myPreviewChk; }; #endif