X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_ExtrusionAlongPathDlg.h;h=199c8752eb67e3e02fc3688d72cf4771eb8ce5dd;hp=c0b5b898ff6c3fcbd7ca278173f91ace0aeed92a;hb=38a77c4a9810f4715212368ac53315689ba9150f;hpb=79b1ac2b6df9117f16f11d444b1f165d477a1813 diff --git a/src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h b/src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h index c0b5b898f..199c8752e 100644 --- a/src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h +++ b/src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h @@ -1,41 +1,39 @@ -// SMESH SMESHGUI : GUI for SMESH component +// Copyright (C) 2007-2015 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// 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_ExtrusionAlongPathDlg.h -// Author : Vadim SANDLER -// Module : SMESH -// $Header: -#ifndef DIALOGBOX_EXTRUSION_PATH_H -#define DIALOGBOX_EXTRUSION_PATH_H +// SMESH SMESHGUI : GUI for SMESH component +// File : SMESHGUI_ExtrusionAlongPathDlg.h +// Author : Vadim SANDLER, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_EXTRUSIONALONGPATHDLG_H +#define SMESHGUI_EXTRUSIONALONGPATHDLG_H +// SMESH includes #include "SMESH_SMESHGUI.hxx" +#include "SMESHGUI_PreviewDlg.h" -#include "LightApp_SelectionMgr.h" -#include "SUIT_SelectionFilter.h" - -// QT Includes -#include +// IDL includes +#include +#include CORBA_SERVER_HEADER(SMESH_Mesh) class QButtonGroup; class QRadioButton; @@ -44,131 +42,104 @@ class QLabel; class QToolButton; class QLineEdit; class QCheckBox; -class QListBox; +class QListWidget; class QPushButton; +class LightApp_SelectionMgr; class SMESHGUI; -class SMESH_Actor; +class SMESHGUI_3TypesSelector; +class SMESHGUI_FilterDlg; +class SMESHGUI_IdValidator; class SMESHGUI_SpinBox; -class SVTK_ViewWindow; +class SMESH_Actor; +class SUIT_SelectionFilter; class SVTK_Selector; - -// IDL Headers -#include -#include CORBA_SERVER_HEADER(SMESH_Mesh) - //================================================================================= // class : SMESHGUI_ExtrusionAlongPathDlg // purpose : //================================================================================= -class SMESHGUI_EXPORT SMESHGUI_ExtrusionAlongPathDlg : public QDialog +class SMESHGUI_EXPORT SMESHGUI_ExtrusionAlongPathDlg : public SMESHGUI_PreviewDlg { Q_OBJECT - class SetBusy { - public: - SetBusy (SMESHGUI_ExtrusionAlongPathDlg* _dlg) { myDlg = _dlg; myDlg->myBusy = true; } - ~SetBusy() { myDlg->myBusy = false; } - private: - SMESHGUI_ExtrusionAlongPathDlg* myDlg; - }; + class SetBusy; friend class SetBusy; public: - SMESHGUI_ExtrusionAlongPathDlg (SMESHGUI*, - bool modal = FALSE); + SMESHGUI_ExtrusionAlongPathDlg( SMESHGUI* ); ~SMESHGUI_ExtrusionAlongPathDlg(); - bool eventFilter (QObject* object, QEvent* event); + bool eventFilter( QObject*, QEvent* ); private: - void Init (bool ResetControls = true); - void enterEvent (QEvent*); /* mouse enter the QWidget */ - void keyPressEvent(QKeyEvent*); - int GetConstructorId(); - void SetEditCurrentArgument (QToolButton* button); - - SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ - LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ - SVTK_Selector* mySelector; - - QWidget* myEditCurrentArgument; /* Current argument */ - - bool myBusy; - SMESH::SMESH_Mesh_var myMesh; - SMESH_Actor* myMeshActor; - SMESH::SMESH_IDSource_var myIDSource; - SMESH::SMESH_Mesh_var myPathMesh; - GEOM::GEOM_Object_var myPathShape; - SUIT_SelectionFilter* myElementsFilter; - SUIT_SelectionFilter* myPathMeshFilter; - int myType; + void Init( bool = true ); + void enterEvent( QEvent* ); /* mouse enter the QWidget */ + void keyPressEvent( QKeyEvent* ); + void SetEditCurrentArgument( QPushButton* ); + + bool isValid(); + bool isValuesValid(); + + SMESH::double_array_var getAngles(); + + void updateLinearAngles(); + + SMESHGUI_IdValidator* myIdValidator; + LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ + SVTK_Selector* mySelector; + QWidget* myEditCurrentArgument; /* Current argument */ + + bool myBusy; + SMESH::SMESH_IDSource_var myPath; + SUIT_SelectionFilter* myPathMeshFilter; + QList myAnglesList; // widgets - QButtonGroup* GroupConstructors; - QRadioButton* Elements1dRB; - QRadioButton* Elements2dRB; - - QGroupBox* GroupArguments; - QLabel* ElementsLab; - QToolButton* SelectElementsButton; - QLineEdit* ElementsLineEdit; - QCheckBox* MeshCheck; - QGroupBox* PathGrp; - QLabel* PathMeshLab; - QToolButton* SelectPathMeshButton; - QLineEdit* PathMeshLineEdit; - QLabel* PathShapeLab; - QToolButton* SelectPathShapeButton; - QLineEdit* PathShapeLineEdit; - QLabel* StartPointLab; - QToolButton* SelectStartPointButton; - QLineEdit* StartPointLineEdit; - QCheckBox* LinearAnglesCheck; - QCheckBox* AnglesCheck; - QGroupBox* AnglesGrp; - QListBox* AnglesList; - QToolButton* AddAngleButton; - QToolButton* RemoveAngleButton; - SMESHGUI_SpinBox* AngleSpin; - QCheckBox* BasePointCheck; - QGroupBox* BasePointGrp; - QToolButton* SelectBasePointButton; - QLabel* XLab; - SMESHGUI_SpinBox* XSpin; - QLabel* YLab; - SMESHGUI_SpinBox* YSpin; - QLabel* ZLab; - SMESHGUI_SpinBox* ZSpin; - QCheckBox* MakeGroupsCheck; - - QGroupBox* GroupButtons; - QPushButton* OkButton; - QPushButton* ApplyButton; - QPushButton* CloseButton; - QPushButton* HelpButton; - - QString myHelpFileName; + SMESHGUI_3TypesSelector* SelectorWdg; + QGroupBox* GroupArguments; + QGroupBox* PathGrp; + QPushButton* SelectPathMeshButton; + QLineEdit* PathMeshLineEdit; + QPushButton* SelectStartPointButton; + QLineEdit* StartPointLineEdit; + QCheckBox* LinearAnglesCheck; + QGroupBox* AnglesGrp; + QListWidget* AnglesList; + QToolButton* AddAngleButton; + QToolButton* RemoveAngleButton; + SMESHGUI_SpinBox* AngleSpin; + QGroupBox* BasePointGrp; + QPushButton* SelectBasePointButton; + SMESHGUI_SpinBox* XSpin; + SMESHGUI_SpinBox* YSpin; + SMESHGUI_SpinBox* ZSpin; + QCheckBox* MakeGroupsCheck; + + QGroupBox* GroupButtons; + QPushButton* OkButton; + QPushButton* ApplyButton; + QPushButton* CloseButton; + QPushButton* HelpButton; + + QString myHelpFileName; protected slots: - void reject(); + void reject(); + virtual void onDisplaySimulation( bool ); 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(); - void onAnglesCheck(); - void onBasePointCheck(); - void OnAngleAdded(); - void OnAngleRemoved(); + void ClickOnOk(); + bool ClickOnApply(); + void ClickOnHelp(); + void CheckIsEnable(); + void SetEditCurrentArgument(); + void SelectionIntoArgument(); + void DeactivateActiveDialog(); + void ActivateThisDialog(); + void onTextChange( const QString& ); + void OnAngleAdded(); + void OnAngleRemoved(); }; -#endif // DIALOGBOX_EXTRUSION_PATH_H +#endif // SMESHGUI_EXTRUSIONALONGPATHDLG_H