X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_ExtrusionDlg.h;h=c3acc56d0c3f57e3c2e3cefef9befe2aadeed81b;hp=cebdaefb78232321cd01d818f8b733df4e35c146;hb=ea8a0289f14641c23d515de68aa4fdc24a6208ba;hpb=b33324fe602b1fe1158c14a866c3802df12370fa diff --git a/src/SMESHGUI/SMESHGUI_ExtrusionDlg.h b/src/SMESHGUI/SMESHGUI_ExtrusionDlg.h index cebdaefb7..c3acc56d0 100644 --- a/src/SMESHGUI/SMESHGUI_ExtrusionDlg.h +++ b/src/SMESHGUI/SMESHGUI_ExtrusionDlg.h @@ -1,128 +1,166 @@ -// SMESH SMESHGUI : GUI for SMESH component +// Copyright (C) 2007-2014 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_ExtrusionDlg.h -// Author : Michael ZORIN -// Module : SMESH -// $Header: -#ifndef DIALOGBOX_EXTRUSION_H -#define DIALOGBOX_EXTRUSION_H +// SMESH SMESHGUI : GUI for SMESH component +// File : SMESHGUI_ExtrusionDlg.h +// Author : Michael ZORIN, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_EXTRUSIONDLG_H +#define SMESHGUI_EXTRUSIONDLG_H -#include "SalomeApp_SelectionMgr.h" -#include "SUIT_SelectionFilter.h" +// SMESH includes +#include "SMESH_SMESHGUI.hxx" +#include "SMESHGUI_PreviewDlg.h" -// QT Includes -#include +// SALOME GUI includes +#include + +// IDL includes +#include +#include CORBA_SERVER_HEADER(SMESH_Mesh) -class QGridLayout; class QButtonGroup; class QRadioButton; class QGroupBox; class QLabel; class QLineEdit; class QCheckBox; -class QSpinBox; class QPushButton; class SMESHGUI; class SMESH_Actor; +class SMESHGUI_IdValidator; class SMESHGUI_SpinBox; -class SVTK_ViewWindow; +class SMESHGUI_FilterDlg; class SVTK_Selector; - -// IDL Headers -#include -#include CORBA_SERVER_HEADER(SMESH_Mesh) +class LightApp_SelectionMgr; +class SUIT_SelectionFilter; +class SalomeApp_IntSpinBox; //================================================================================= // class : SMESHGUI_ExtrusionDlg // purpose : //================================================================================= -class SMESHGUI_ExtrusionDlg : public QDialog +class SMESHGUI_EXPORT SMESHGUI_ExtrusionDlg : public SMESHGUI_PreviewDlg { Q_OBJECT public: - SMESHGUI_ExtrusionDlg (SMESHGUI*, - bool modal = FALSE); + SMESHGUI_ExtrusionDlg( SMESHGUI* ); ~SMESHGUI_ExtrusionDlg(); private: - void Init (bool ResetControls = true); - void enterEvent (QEvent*); /* mouse enter the QWidget */ - int GetConstructorId(); - //void closeEvent (QCloseEvent*); - //void hideEvent (QHideEvent*); /* ESC key */ - - SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ - SalomeApp_SelectionMgr* mySelectionMgr; /* User shape selection */ - QLineEdit* myEditCurrentArgument; /* Current LineEdit */ - QString myElementsId; - int myNbOkElements; /* to check when elements are defined */ - SVTK_Selector* mySelector; - - bool myBusy; - SMESH::SMESH_Mesh_var myMesh; - SMESH_Actor* myActor; - SUIT_SelectionFilter* myMeshOrSubMeshOrGroupFilter; + void Init( bool = true ); + void enterEvent( QEvent* ); /* mouse enter the QWidget */ + void keyPressEvent( QKeyEvent* ); + int GetConstructorId(); + void getExtrusionVector(SMESH::DirStruct& aVector); + + bool isValid(); + bool isValuesValid(); + + SMESHGUI_IdValidator* myIdValidator; + LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ + QWidget* myEditCurrentArgument; /* Current argument editor */ + int myNbOkElements; /* to check when elements are defined */ + SVTK_Selector* mySelector; + + SMESH::SMESH_IDSource_var mySelectedObject; + + bool myBusy; + SMESH::SMESH_Mesh_var myMesh; + SMESH::long_array_var myElementsId; + SMESH_Actor* myActor; + Handle(SALOME_InteractiveObject) myIO; + SUIT_SelectionFilter* myMeshOrSubMeshOrGroupFilter0D; + SUIT_SelectionFilter* myMeshOrSubMeshOrGroupFilter1D; + SUIT_SelectionFilter* myMeshOrSubMeshOrGroupFilter2D; // widgets - QButtonGroup* GroupConstructors; - QRadioButton* RadioButton1; - QRadioButton* RadioButton2; - - QGroupBox* GroupArguments; - QLabel* TextLabelElements; - QPushButton* SelectElementsButton; - QLineEdit* LineEditElements; - QCheckBox* CheckBoxMesh; - QLabel* TextLabelVector; - QLabel* TextLabelDx; - SMESHGUI_SpinBox* SpinBox_Dx; - QLabel* TextLabelDy; - SMESHGUI_SpinBox* SpinBox_Dy; - QLabel* TextLabelDz; - SMESHGUI_SpinBox* SpinBox_Dz; - QLabel* TextLabelNbSteps; - QSpinBox* SpinBox_NbSteps; - - QGroupBox* GroupButtons; - QPushButton* buttonOk; - QPushButton* buttonCancel; - QPushButton* buttonApply; - + QGroupBox* ConstructorsBox; + QButtonGroup* GroupConstructors; + QRadioButton* RadioButton0; + QRadioButton* RadioButton1; + QRadioButton* RadioButton2; + QRadioButton* RadioButton3; + QRadioButton* RadioButton4; + + QGroupBox* GroupArguments; + QGroupBox* GroupDimensions; + QLabel* TextLabelElements; + QPushButton* SelectElementsButton; + QLineEdit* LineEditElements; + QCheckBox* CheckBoxMesh; + QLabel* TextLabelVector; + QLabel* TextLabelDistance; + QPushButton* SelectVectorButton; + QLabel* TextLabelDx; + SMESHGUI_SpinBox* SpinBox_Dx; + QLabel* TextLabelDy; + SMESHGUI_SpinBox* SpinBox_Dy; + QLabel* TextLabelDz; + SMESHGUI_SpinBox* SpinBox_Dz; + QLabel* TextLabelVx; + SMESHGUI_SpinBox* SpinBox_Vx; + QLabel* TextLabelVy; + SMESHGUI_SpinBox* SpinBox_Vy; + QLabel* TextLabelVz; + SMESHGUI_SpinBox* SpinBox_Vz; + QLabel* TextLabelDist; + SMESHGUI_SpinBox* SpinBox_VDist; + QLabel* TextLabelNbSteps; + SalomeApp_IntSpinBox* SpinBox_NbSteps; + QCheckBox* MakeGroupsCheck; + + QGroupBox* GroupButtons; + QPushButton* buttonOk; + QPushButton* buttonCancel; + QPushButton* buttonApply; + QPushButton* buttonHelp; + + QString myHelpFileName; + QString myIDs; + + QPushButton* myFilterBtn; + SMESHGUI_FilterDlg* myFilterDlg; + +protected slots: + virtual void onDisplaySimulation( bool ); + virtual void reject(); + private slots: - void ConstructorsClicked (int); - void ClickOnOk(); - bool ClickOnApply(); - void ClickOnCancel(); - void SetEditCurrentArgument(); - void SelectionIntoArgument(); - void DeactivateActiveDialog(); - void ActivateThisDialog(); - void onTextChange (const QString&); - void onSelectMesh (bool toSelectMesh); + void ConstructorsClicked( int ); + void CheckIsEnable(); + void ClickOnOk(); + bool ClickOnApply(); + void ClickOnHelp(); + void ClickOnRadio(); + void SetEditCurrentArgument(); + void SelectionIntoArgument(); + void DeactivateActiveDialog(); + void ActivateThisDialog(); + void onTextChange( const QString& ); + void onSelectMesh( bool ); + void setFilters(); }; -#endif // DIALOGBOX_EXTRUSION_H +#endif // SMESHGUI_EXTRUSIONDLG_H