X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_SymmetryDlg.h;h=0c56ecbb40ebf3df811be47aa9d595a70c12c41a;hp=b0ec7a97910f933aace84141b21f211cfdc2ad35;hb=e85e13ee2a8e2484050471ff8e4dea298abe481a;hpb=57b43b4d010e2d0a1529d3c131bbb9d416e63258 diff --git a/src/SMESHGUI/SMESHGUI_SymmetryDlg.h b/src/SMESHGUI/SMESHGUI_SymmetryDlg.h index b0ec7a979..0c56ecbb4 100644 --- a/src/SMESHGUI/SMESHGUI_SymmetryDlg.h +++ b/src/SMESHGUI/SMESHGUI_SymmetryDlg.h @@ -1,43 +1,41 @@ -// SMESH SMESHGUI : GUI for SMESH component +// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE // -// 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) 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_SymmetryDlg.h -// Author : Michael ZORIN -// Module : SMESH -// $Header: - -#ifndef DIALOGBOX_SYMMETRY_H -#define DIALOGBOX_SYMMETRY_H -#include "LightApp_SelectionMgr.h" +// SMESH SMESHGUI : GUI for SMESH component +// File : SMESHGUI_SymmetryDlg.h +// Author : Michael ZORIN, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_SYMMETRYDLG_H +#define SMESHGUI_SYMMETRYDLG_H -#include "SMESH_LogicalFilter.hxx" +// SMESH includes +#include "SMESH_SMESHGUI.hxx" +#include "SMESHGUI_PreviewDlg.h" -// QT Includes -#include +// IDL includes +#include +#include CORBA_SERVER_HEADER(SMESH_Mesh) +#include CORBA_SERVER_HEADER(SMESH_MeshEditor) -class QGridLayout; -class QHBoxLayout; class QButtonGroup; class QGroupBox; class QLabel; @@ -45,110 +43,120 @@ class QLineEdit; class QPushButton; class QRadioButton; class QCheckBox; -class SMESHGUI_SpinBox; class SMESHGUI; +class SMESHGUI_IdValidator; +class SMESHGUI_SpinBox; +class SMESHGUI_FilterDlg; class SMESH_Actor; -class SVTK_ViewWindow; class SVTK_Selector; - -// IDL Headers -#include -#include CORBA_SERVER_HEADER(SMESH_Mesh) - +class LightApp_SelectionMgr; +class SMESH_LogicalFilter; //================================================================================= // class : SMESHGUI_SymmetryDlg // purpose : //================================================================================= -class SMESHGUI_SymmetryDlg : public QDialog +class SMESHGUI_EXPORT SMESHGUI_SymmetryDlg : public SMESHGUI_MultiPreviewDlg { - Q_OBJECT + Q_OBJECT public: - SMESHGUI_SymmetryDlg( SMESHGUI*, - const char* name = 0, - bool modal = FALSE, - WFlags fl = 0); - ~SMESHGUI_SymmetryDlg(); + SMESHGUI_SymmetryDlg( SMESHGUI* ); + ~SMESHGUI_SymmetryDlg(); private: - void Init (bool ResetControls = true); - void closeEvent (QCloseEvent*); - void enterEvent (QEvent*); /* mouse enter the QWidget */ - void hideEvent (QHideEvent*); /* ESC key */ - int GetConstructorId(); - bool IsMirrorOk(); - - SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ - LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ - int myNbOkElements; /* to check when elements are defined */ - QString myElementsId; - SVTK_Selector* mySelector; - - QWidget* myEditCurrentArgument; /* Current LineEdit */ - - bool myBusy; - SMESH::SMESH_Mesh_var myMesh; - SMESH_Actor* myActor; - SMESH_LogicalFilter* myMeshOrSubMeshOrGroupFilter; + void Init( bool = true ); + void enterEvent( QEvent* ); /* mouse enter the QWidget */ + void keyPressEvent( QKeyEvent* ); + int GetConstructorId(); + bool IsMirrorOk(); + void setNewMeshName(); + + void getMirror(SMESH::AxisStruct& theMirror, SMESH::SMESH_MeshEditor::MirrorType& aMirrorType); + + bool isValid(); + + SMESHGUI_IdValidator* myIdValidator; + LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ + int myNbOkElements; /* to check when elements are defined */ + QString myElementsId; + SVTK_Selector* mySelector; + + QWidget* myEditCurrentArgument; /* Current LineEdit */ + + QList myObjects; + QList myObjectsNames; + QList myMeshes; + + bool myBusy; + SMESH_Actor* myActor; + SMESH_LogicalFilter* myMeshOrSubMeshOrGroupFilter; - QButtonGroup* GroupConstructors; - QRadioButton* RadioButton1; - QRadioButton* RadioButton2; - QRadioButton* RadioButton3; - QGroupBox* GroupButtons; - QPushButton* buttonOk; - QPushButton* buttonCancel; - QPushButton* buttonApply; - QPushButton* buttonHelp; - QGroupBox* GroupArguments; - QGroupBox* GroupMirror; - QLabel* TextLabelElements; - QPushButton* SelectElementsButton; - QLineEdit* LineEditElements; - QCheckBox* CheckBoxMesh; - - QLabel* TextLabelPoint; - QPushButton* SelectPointButton; - QLabel* TextLabelX; - SMESHGUI_SpinBox* SpinBox_X; - QLabel* TextLabelY; - SMESHGUI_SpinBox* SpinBox_Y; - QLabel* TextLabelZ; - SMESHGUI_SpinBox* SpinBox_Z; - QLabel* TextLabelVector; - QPushButton* SelectVectorButton; - QLabel* TextLabelDX; - SMESHGUI_SpinBox* SpinBox_DX; - QLabel* TextLabelDY; - SMESHGUI_SpinBox* SpinBox_DY; - QLabel* TextLabelDZ; - SMESHGUI_SpinBox* SpinBox_DZ; + QGroupBox* ConstructorsBox; + QButtonGroup* GroupConstructors; + QRadioButton* RadioButton1; + QRadioButton* RadioButton2; + QRadioButton* RadioButton3; + QGroupBox* GroupButtons; + QPushButton* buttonOk; + QPushButton* buttonCancel; + QPushButton* buttonApply; + QPushButton* buttonHelp; + QGroupBox* GroupArguments; + QGroupBox* GroupMirror; + QLabel* TextLabelElements; + QPushButton* SelectElementsButton; + QLineEdit* LineEditElements; + QCheckBox* CheckBoxMesh; + + QLabel* TextLabelPoint; + QPushButton* SelectPointButton; + QLabel* TextLabelX; + SMESHGUI_SpinBox* SpinBox_X; + QLabel* TextLabelY; + SMESHGUI_SpinBox* SpinBox_Y; + QLabel* TextLabelZ; + SMESHGUI_SpinBox* SpinBox_Z; + QLabel* TextLabelVector; + QPushButton* SelectVectorButton; + QLabel* TextLabelDX; + SMESHGUI_SpinBox* SpinBox_DX; + QLabel* TextLabelDY; + SMESHGUI_SpinBox* SpinBox_DY; + QLabel* TextLabelDZ; + SMESHGUI_SpinBox* SpinBox_DZ; - QCheckBox* CheckBoxCopy; + QGroupBox* ActionBox; + QButtonGroup* ActionGroup; + QCheckBox* MakeGroupsCheck; + QLineEdit* LineEditNewMesh; - QString myHelpFileName; + QString myHelpFileName; - private slots: - - void ConstructorsClicked(int constructorId); - void ClickOnOk(); - void ClickOnCancel(); - void ClickOnApply(); - void ClickOnHelp(); - void SetEditCurrentArgument() ; - void SelectionIntoArgument() ; - void DeactivateActiveDialog() ; - void ActivateThisDialog() ; - void onTextChange(const QString&); - void onSelectMesh(bool toSelectMesh); - void onVectorChanged(); - -protected: - QGridLayout* SMESHGUI_SymmetryDlgLayout; - QGridLayout* GroupConstructorsLayout; - QGridLayout* GroupButtonsLayout; - QGridLayout* GroupArgumentsLayout; + QPushButton* myFilterBtn; + SMESHGUI_FilterDlg* myFilterDlg; + +protected slots: + virtual void onDisplaySimulation( bool ); + virtual void reject(); + void onFilterAccepted(); + +private slots: + void ConstructorsClicked( int ); + void ClickOnOk(); + bool ClickOnApply(); + void ClickOnHelp(); + void SetEditCurrentArgument(); + void SelectionIntoArgument(); + void DeactivateActiveDialog(); + void ActivateThisDialog(); + void onTextChange( const QString& ); + void onSelectMesh( bool ); + void onVectorChanged(); + void onActionClicked( int ); + void onOpenView(); + void onCloseView(); + void setFilters(); }; -#endif // DIALOGBOX_SYMMETRY_H +#endif // SMESHGUI_SYMMETRYDLG_H