X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshPatternDlg.h;h=a0a9bd439bdead29c5415ee5e340b1bd67b349b2;hp=1c1787b0cac7e3ece63d094059c90d9c3e0b5428;hb=30ce546b0c5099ad1112929e2db94810e683e54b;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f diff --git a/src/SMESHGUI/SMESHGUI_MeshPatternDlg.h b/src/SMESHGUI/SMESHGUI_MeshPatternDlg.h index 1c1787b0c..a0a9bd439 100755 --- a/src/SMESHGUI/SMESHGUI_MeshPatternDlg.h +++ b/src/SMESHGUI/SMESHGUI_MeshPatternDlg.h @@ -1,169 +1,180 @@ -// 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 -// -// -// -// File : SMESHGUI_MeshPatternDlg.h -// Author : Sergey LITONIN -// Module : SMESH - - -#ifndef SMESHGUI_MeshPatternDlg_H -#define SMESHGUI_MeshPatternDlg_H - -#include - -// IDL Headers -#include -#include CORBA_SERVER_HEADER(GEOM_Gen) -#include CORBA_SERVER_HEADER(SMESH_Mesh) -#include CORBA_SERVER_HEADER(SMESH_Pattern) - -class QCloseEvent; -class QFrame; -class QLineEdit; -class SMESHGUI_SpinBox; -class QPushButton; -class SALOME_Selection; -class QRadioButton; -class QCheckBox; -class QButtonGroup; -class QLabel; -class SMESHGUI_CreatePatternDlg; -class SMESHGUI_PatternWidget; -class vtkUnstructuredGrid; -class SALOME_Actor; - -/* - Class : SMESHGUI_MeshPatternDlg - Description : Dialog to specify filters for VTK viewer -*/ - -class SMESHGUI_MeshPatternDlg : public QDialog -{ - Q_OBJECT - - // Pattern type - enum { Type_2d, Type_3d }; - - // selection input - enum { Mesh, Object, Vertex1, Vertex2 }; - -public: - SMESHGUI_MeshPatternDlg( QWidget*, - SALOME_Selection*, - const char* = 0 ); - virtual ~SMESHGUI_MeshPatternDlg(); - - void Init( SALOME_Selection* ); - -private slots: - - void onOk(); - bool onApply(); - void onClose(); - - void onDeactivate(); - - void onSelectionDone(); - void onSelInputChanged(); - - void onTypeChanged( int ); - void onOpen(); - void onNew(); - void onReverse( bool ); - void onPreview( bool ); - void onOkCreationDlg(); - void onCloseCreationDlg(); - -private: - - QFrame* createButtonFrame( QWidget* ); - QFrame* createMainFrame ( QWidget* ); - void displayPreview(); - vtkUnstructuredGrid* getGrid(); - void erasePreview(); - void updateWgState(); - bool loadFromFile( const QString& ); - void activateSelection(); - QStringList prepareFilters() const; - QString autoExtension( const QString& theFileName ) const; - void closeEvent( QCloseEvent* e ) ; - void enterEvent ( QEvent * ) ; - bool isValid( const bool theMess = true ); - void resetSelInput(); - -private: - - QPushButton* myOkBtn; - QPushButton* myApplyBtn; - QPushButton* myCloseBtn; - - QButtonGroup* myTypeGrp; - QRadioButton* mySwitch2d; - QRadioButton* mySwitch3d; - - QMap< int, QPushButton* > mySelBtn; - QMap< int, QLineEdit* > mySelEdit; - QMap< int, QLabel* > mySelLbl; - - QLineEdit* myName; - QPushButton* myOpenBtn; - QPushButton* myNewBtn; - - QCheckBox* myReverseChk; - SMESHGUI_PatternWidget* myPicture2d; - QFrame* myPicture3d; - QLabel* myPreview3d; - - QCheckBox* myPreviewChk; - - SALOME_Selection* mySelection; - int mySelInput; - int myNbPoints; - int myType; - bool myIsCreateDlgOpen; - - SMESH::SMESH_Mesh_var myMesh; - GEOM::GEOM_Object_var myMeshShape; - QMap< int, GEOM::GEOM_Object_var > myGeomObj; - - SMESHGUI_CreatePatternDlg* myCreationDlg; - SMESH::SMESH_Pattern_var myPattern; - SALOME_Actor* myPreviewActor; -}; - -#endif - - - - - - - - - - - - - - - - - +// Copyright (C) 2007-2016 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, 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. +// +// 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_MeshPatternDlg.h +// Author : Sergey LITONIN, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_MESHPATTERNDLG_H +#define SMESHGUI_MESHPATTERNDLG_H + +// SMESH includes +#include "SMESH_SMESHGUI.hxx" + +// Qt includes +#include +#include + +// IDL includes +#include +#include CORBA_SERVER_HEADER(SMESH_Mesh) +#include CORBA_SERVER_HEADER(SMESH_Pattern) + +class QFrame; +class QLineEdit; +class QPushButton; +class QRadioButton; +class QCheckBox; +class QButtonGroup; +class QLabel; +class SalomeApp_IntSpinBox; +class vtkUnstructuredGrid; +class SALOME_Actor; +class SVTK_Selector; +class LightApp_SelectionMgr; +class SMESHGUI; +class SMESHGUI_CreatePatternDlg; +class SMESHGUI_PatternWidget; + +/* + Class : SMESHGUI_MeshPatternDlg + Description : Dialog to specify filters for VTK viewer +*/ + +class SMESHGUI_EXPORT SMESHGUI_MeshPatternDlg : public QDialog +{ + Q_OBJECT + + // Pattern type + enum { Type_2d, Type_3d }; + + // selection input + enum { Mesh, Object, Vertex1, Vertex2, Ids }; + +public: + SMESHGUI_MeshPatternDlg( SMESHGUI* ); + virtual ~SMESHGUI_MeshPatternDlg(); + + void Init(); + +protected slots: + virtual void reject(); + +private slots: + void onOk(); + bool onApply(); + void onHelp(); + + void onDeactivate(); + + void onSelectionDone(); + void onSelInputChanged(); + + void onTypeChanged( int ); + void onModeToggled( bool ); + void onOpen(); + void onNew(); + void onReverse( bool ); + void onPreview( bool ); + void onOkCreationDlg(); + void onCloseCreationDlg(); + void onTextChanged( const QString& ); + void onNodeChanged( int ); + void onOpenView(); + void onCloseView(); + +private: + QWidget* createButtonFrame( QWidget* ); + QWidget* createMainFrame( QWidget* ); + void displayPreview(); + vtkUnstructuredGrid* getGrid(); + void erasePreview(); + void updateWgState(); + bool loadFromFile( const QString& ); + void activateSelection(); + QStringList prepareFilters() const; + QString autoExtension( const QString& ) const; + void enterEvent( QEvent* ); + void keyPressEvent( QKeyEvent* ); + bool isValid( const bool = true ); + void resetSelInput(); + bool isRefine() const; + + bool getIds( QList& ) const; + int getNode( bool = false ) const; + +private: + QPushButton* myOkBtn; + QPushButton* myApplyBtn; + QPushButton* myCloseBtn; + QPushButton* myHelpBtn; + + QButtonGroup* myTypeGrp; + QRadioButton* mySwitch2d; + QRadioButton* mySwitch3d; + + QCheckBox* myRefine; + + QFrame* myRefineGrp; + SalomeApp_IntSpinBox* myNode1; + SalomeApp_IntSpinBox* myNode2; + QLabel* myNode2Lbl; + + QFrame* myGeomGrp; + QMap mySelBtn; + QMap mySelEdit; + QMap mySelLbl; + + QWidget* myMainFrame; + + QLineEdit* myName; + QPushButton* myOpenBtn; + QPushButton* myNewBtn; + + QCheckBox* myReverseChk; + QCheckBox* myCreatePolygonsChk; + QCheckBox* myCreatePolyedrsChk; + SMESHGUI_PatternWidget* myPicture2d; + QLabel* myPicture3d; + + QCheckBox* myPreviewChk; + + SMESHGUI* mySMESHGUI; + SVTK_Selector* mySelector; + LightApp_SelectionMgr* mySelectionMgr; + int mySelInput; + int myNbPoints; + int myType; + bool myIsCreateDlgOpen; + bool myBusy; + + SMESH::SMESH_Mesh_var myMesh; + GEOM::GEOM_Object_var myMeshShape; + QMap myGeomObj; + + SMESHGUI_CreatePatternDlg* myCreationDlg; + SMESH::SMESH_Pattern_var myPattern; + SALOME_Actor* myPreviewActor; + + QString myHelpFileName; +}; + +#endif // SMESHGUI_MESHPATTERNDLG_H