X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_SmoothingDlg.h;h=792134d3833bc303fa810ac0873ad043cea82ba1;hp=fafade3f33bb697de5a0213232b154507d5572e4;hb=4c65637b3ba0be986e1ce6e952689b2686475b2f;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f diff --git a/src/SMESHGUI/SMESHGUI_SmoothingDlg.h b/src/SMESHGUI/SMESHGUI_SmoothingDlg.h index fafade3f3..792134d38 100644 --- a/src/SMESHGUI/SMESHGUI_SmoothingDlg.h +++ b/src/SMESHGUI/SMESHGUI_SmoothingDlg.h @@ -1,41 +1,45 @@ -// 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. // -// File : SMESHGUI_SmoothingDlg.h -// Author : Michael ZORIN -// Module : SMESH -// $Header: +// 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 +// + +// SMESH SMESHGUI : GUI for SMESH component +// File : SMESHGUI_SmoothingDlg.h +// Author : Michael ZORIN, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_SMOOTHINGDLG_H +#define SMESHGUI_SMOOTHINGDLG_H -#ifndef DIALOGBOX_SMOOTHING_H -#define DIALOGBOX_SMOOTHING_H +// SMESH includes +#include "SMESH_SMESHGUI.hxx" -#include "SALOME_Selection.h" -#include "SMESH_LogicalFilter.hxx" -// QT Includes -#include +// Qt includes +#include + +// SALOME GUI includes +#include + +// IDL includes +#include +#include CORBA_SERVER_HEADER(SMESH_Mesh) -class QGridLayout; -class QButtonGroup; class QGroupBox; class QLabel; class QLineEdit; @@ -43,88 +47,96 @@ class QPushButton; class QRadioButton; class QComboBox; class QCheckBox; -class QSpinBox; -class SMESHGUI_SpinBox; class SMESHGUI; +class SalomeApp_IntSpinBox; +class SMESHGUI_IdValidator; +class SMESHGUI_SpinBox; +class SMESHGUI_FilterDlg; class SMESH_Actor; - - -// IDL Headers -#include -#include CORBA_SERVER_HEADER(SMESH_Mesh) - +class SVTK_Selector; +class LightApp_SelectionMgr; +class SMESH_LogicalFilter; //================================================================================= // class : SMESHGUI_SmoothingDlg // purpose : //================================================================================= -class SMESHGUI_SmoothingDlg : public QDialog +class SMESHGUI_EXPORT SMESHGUI_SmoothingDlg : public QDialog { - Q_OBJECT + Q_OBJECT public: - SMESHGUI_SmoothingDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 ); - ~SMESHGUI_SmoothingDlg(); + SMESHGUI_SmoothingDlg( SMESHGUI* ); + ~SMESHGUI_SmoothingDlg(); private: + void Init(); + void enterEvent( QEvent* ); /* mouse enter the QWidget */ + void keyPressEvent( QKeyEvent* ); + void setFilters( const bool theIsElem ); + + bool isValid(); + + SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ + SMESHGUI_IdValidator* myIdValidator; + LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ + int myNbOkElements; /* to check when elements are defined */ + int myNbOkNodes; /* to check when fixed nodes are defined */ + int myConstructorId; /* Current constructor id = radio button id */ + QLineEdit* myEditCurrentArgument; /* Current LineEdit */ + SVTK_Selector* mySelector; + + SMESH::SMESH_IDSource_var mySelectedObject; + + bool myBusy; + SMESH::SMESH_Mesh_var myMesh; + SMESH_Actor* myActor; + Handle(SALOME_InteractiveObject) myIO; + SMESH_LogicalFilter* myMeshOrSubMeshOrGroupFilter; + + QGroupBox* GroupConstructors; + QRadioButton* Constructor1; + QGroupBox* GroupButtons; + QPushButton* buttonOk; + QPushButton* buttonCancel; + QPushButton* buttonApply; + QPushButton* buttonHelp; + QGroupBox* GroupArguments; + QLabel* TextLabelElements; + QPushButton* SelectElementsButton; + QLineEdit* LineEditElements; + QCheckBox* CheckBoxMesh; + QLabel* TextLabelNodes; + QPushButton* SelectNodesButton; + QLineEdit* LineEditNodes; + QLabel* TextLabelMethod; + QComboBox* ComboBoxMethod; + QLabel* TextLabelLimit; + SalomeApp_IntSpinBox* SpinBox_IterationLimit; + QLabel* TextLabelAspectRatio; + SMESHGUI_SpinBox* SpinBox_AspectRatio; + QCheckBox* CheckBoxParametric; + + QString myHelpFileName; + + QPushButton* myElemFilterBtn; + SMESHGUI_FilterDlg* myFilterDlg; + +protected slots: + virtual void reject(); - void Init() ; - void closeEvent( QCloseEvent* e ) ; - void enterEvent ( QEvent * ) ; /* mouse enter the QWidget */ - void hideEvent ( QHideEvent * ); /* ESC key */ - - SMESHGUI* mySMESHGUI ; /* Current SMESHGUI object */ - SALOME_Selection* mySelection ; /* User shape selection */ - QString myElementsId; - int myNbOkElements ; /* to check when elements are defined */ - int myNbOkNodes ; /* to check when fixed nodes are defined */ - int myConstructorId ; /* Current constructor id = radio button id */ - QLineEdit* myEditCurrentArgument; /* Current LineEdit */ - - bool myBusy; - SMESH::SMESH_Mesh_var myMesh; - SMESH_Actor* myActor; - Handle(SMESH_LogicalFilter) myMeshOrSubMeshOrGroupFilter; - - QButtonGroup* GroupConstructors; - QRadioButton* Constructor1; - QGroupBox* GroupButtons; - QPushButton* buttonOk; - QPushButton* buttonCancel; - QPushButton* buttonApply; - QGroupBox* GroupArguments; - QLabel* TextLabelElements; - QPushButton* SelectElementsButton; - QLineEdit* LineEditElements; - QCheckBox* CheckBoxMesh; - QLabel* TextLabelNodes; - QPushButton* SelectNodesButton; - QLineEdit* LineEditNodes; - QLabel* TextLabelMethod; - QComboBox* ComboBoxMethod; - QLabel* TextLabelLimit; - QSpinBox* SpinBox_IterationLimit; - QLabel* TextLabelAspectRatio; - SMESHGUI_SpinBox* SpinBox_AspectRatio; - private slots: - - void ConstructorsClicked(int constructorId); - void ClickOnOk(); - void ClickOnCancel(); - void ClickOnApply(); - void SetEditCurrentArgument() ; - void SelectionIntoArgument() ; - void DeactivateActiveDialog() ; - void ActivateThisDialog() ; - void onTextChange(const QString&); - void onSelectMesh(bool toSelectMesh); - -protected: - QGridLayout* SMESHGUI_SmoothingDlgLayout; - QGridLayout* GroupConstructorsLayout; - QGridLayout* GroupButtonsLayout; - QGridLayout* GroupArgumentsLayout; + void ClickOnOk(); + bool ClickOnApply(); + void ClickOnHelp(); + void SetEditCurrentArgument(); + void SelectionIntoArgument(); + void DeactivateActiveDialog(); + void ActivateThisDialog(); + void onTextChange( const QString& ); + void onSelectMesh( bool ); + void setElemFilters(); + void setNodeFilters(); }; -#endif // DIALOGBOX_SMOOTHING_H +#endif // SMESHGUI_SMOOTHINGDLG_H