X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MultiEditDlg.h;h=4f6af1af1edc6357d7af17e496be1dbf32d2745a;hb=bb5c11a5ede32160ebb18549daab96801c236d12;hp=09134549338501707bdb0cc7ea885e0d0fd8d8e7;hpb=b33324fe602b1fe1158c14a866c3802df12370fa;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MultiEditDlg.h b/src/SMESHGUI/SMESHGUI_MultiEditDlg.h index 091345493..4f6af1af1 100755 --- a/src/SMESHGUI/SMESHGUI_MultiEditDlg.h +++ b/src/SMESHGUI/SMESHGUI_MultiEditDlg.h @@ -1,94 +1,93 @@ -// 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 +// Copyright (C) 2007-2013 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. +// +// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File : SMESHGUI_MultiEditDlg.h -// Author : Sergey LITONIN -// Module : SMESH - -#ifndef SMESHGUI_MultiEditDlg_H -#define SMESHGUI_MultiEditDlg_H +// File : SMESHGUI_MultiEditDlg.h +// Author : Sergey LITONIN, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_MULTIEDITDLG_H +#define SMESHGUI_MULTIEDITDLG_H -#include +// SMESH includes +#include "SMESH_SMESHGUI.hxx" -#include "SUIT_SelectionFilter.h" +// Qt includes +#include +// OCCT includes #include +// IDL includes #include #include CORBA_SERVER_HEADER(SMESH_Mesh) +#include CORBA_SERVER_HEADER(SMESH_MeshEditor) +class SMESHGUI; class SMESHGUI_FilterDlg; -class QCheckBox; -class QGroupBox; -class QListBox; -class QFrame; -class QLineEdit; class SMESHGUI_SpinBox; -class QPushButton; -class QButtonGroup; -class QObject; class SMESH_Actor; -class SALOME_Actor; -class SalomeApp_SelectionMgr; -class SMESHGUI; -class SMESH_Actor; +class LightApp_SelectionMgr; +class SALOME_Actor; class SVTK_Selector; -class SVTK_ViewWindow; -/* - Class : SMESHGUI_MultiEditDlg - Description : Base class for dialogs of diagonal inversion and - union of two neighboring triangles -*/ +class QListWidget; +class QComboBox; +class QCheckBox; +class QGroupBox; +class QLineEdit; +class QPushButton; +class QButtonGroup; -class SMESHGUI_MultiEditDlg : public QDialog -{ +/*! + * Class : SMESHGUI_MultiEditDlg + * Description : Base class for dialogs of diagonal inversion and + * union of two neighboring triangles + */ + +class SMESHGUI_EXPORT SMESHGUI_MultiEditDlg : public QDialog +{ Q_OBJECT public: - SMESHGUI_MultiEditDlg(SMESHGUI* theModule, - const int, - const bool = false, - const char* = 0 ); - virtual ~SMESHGUI_MultiEditDlg(); + SMESHGUI_MultiEditDlg( SMESHGUI*, const int, const bool = false ); + virtual ~SMESHGUI_MultiEditDlg(); - void Init() ; + void Init(); - bool eventFilter( QObject* object, QEvent* event ); + bool eventFilter( QObject*, QEvent* ); signals: void ListContensChanged(); protected slots: - void onOk(); virtual bool onApply(); - virtual void onClose(); + virtual void reject(); + void onHelp(); void onDeactivate(); void onSelectionDone(); - + void onFilterBtn(); void onAddBtn(); void onRemoveBtn(); @@ -99,94 +98,107 @@ protected slots: virtual void onToAllChk(); void onFilterAccepted(); void on3d2dChanged(int); - -protected: - void closeEvent( QCloseEvent* e ) ; - void enterEvent ( QEvent * ) ; - void hideEvent ( QHideEvent * ); /* ESC key */ - QFrame* createButtonFrame( QWidget* ); - QFrame* createMainFrame ( QWidget*, const bool ); - bool isValid( const bool ) const; - SMESH::long_array_var getIds(); + SMESH::NumericalFunctor_ptr getNumericalFunctor(); + +protected: + void enterEvent( QEvent * ); + void keyPressEvent( QKeyEvent* ); + QWidget* createButtonFrame( QWidget* ); + QWidget* createMainFrame( QWidget*, const bool ); + virtual bool isValid( const bool ); + SMESH::long_array_var getIds(SMESH::SMESH_IDSource_var& obj); void updateButtons(); void setSelectionMode(); - virtual bool isIdValid( const int theID ) const; - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ) = 0; + virtual bool isIdValid( const int ) const; + virtual bool process( SMESH::SMESH_MeshEditor_ptr, + const SMESH::long_array& , + SMESH::SMESH_IDSource_ptr obj) = 0; int entityType(); - -protected: +protected: QPushButton* myOkBtn; QPushButton* myApplyBtn; QPushButton* myCloseBtn; + QPushButton* myHelpBtn; SMESH_Actor* myActor; SMESH::SMESH_Mesh_var myMesh; - - SalomeApp_SelectionMgr* mySelectionMgr; + + LightApp_SelectionMgr* mySelectionMgr; SVTK_Selector* mySelector; SMESHGUI* mySMESHGUI; QGroupBox* mySelGrp; - - QListBox* myListBox; + QGroupBox* myCriterionGrp; + + QWidget* myChoiceWidget; + QButtonGroup* myGroupChoice; + QComboBox* myComboBoxFunctor; + + QListWidget* 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; bool myBusy; int myEntityType; + + QString myHelpFileName; }; -/* - 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(SMESHGUI* theModule, - const char* = 0); - virtual ~SMESHGUI_ChangeOrientationDlg(); + SMESHGUI_ChangeOrientationDlg( SMESHGUI* ); + 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& , + SMESH::SMESH_IDSource_ptr obj); }; -/* - 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(SMESHGUI* theModule, - const char* = 0); - virtual ~SMESHGUI_UnionOfTrianglesDlg(); + SMESHGUI_UnionOfTrianglesDlg( SMESHGUI* ); + virtual ~SMESHGUI_UnionOfTrianglesDlg(); protected: + virtual bool isValid( const bool ); + virtual bool process( SMESH::SMESH_MeshEditor_ptr, + const SMESH::long_array&, + SMESH::SMESH_IDSource_ptr obj ); - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); +private: + SMESHGUI_SpinBox* myMaxAngleSpin; }; /* @@ -198,25 +210,44 @@ class SMESHGUI_CuttingOfQuadsDlg : public SMESHGUI_MultiEditDlg Q_OBJECT public: - SMESHGUI_CuttingOfQuadsDlg(SMESHGUI* theModule, - const char* = 0); - virtual ~SMESHGUI_CuttingOfQuadsDlg(); + SMESHGUI_CuttingOfQuadsDlg( SMESHGUI* ); + 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& , + SMESH::SMESH_IDSource_ptr obj); + protected slots: - virtual void onClose(); - void onPreviewChk(); + virtual void reject(); + 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; +}; + +/*! + * Class : SMESHGUI_CuttingIntoTetraDlg + * Description : Split all volumes into tetrahedrons + */ +class SMESHGUI_CuttingIntoTetraDlg : public SMESHGUI_MultiEditDlg +{ + Q_OBJECT + +public: + SMESHGUI_CuttingIntoTetraDlg( SMESHGUI* ); + virtual ~SMESHGUI_CuttingIntoTetraDlg(); + +protected: + virtual bool process( SMESH::SMESH_MeshEditor_ptr, + const SMESH::long_array&, + SMESH::SMESH_IDSource_ptr obj ); }; -#endif +#endif // SMESHGUI_MULTIEDITDLG_H