X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_HomardAdaptDlg.h;fp=src%2FSMESHGUI%2FSMESHGUI_HomardAdaptDlg.h;h=64242c133a96831a38055e0e3bf6bf9d7ddb3945;hb=b33bc07ec283e49acd5e9b162229a60d800db01d;hp=0000000000000000000000000000000000000000;hpb=5254ada6efb07cb0b805fcc25f3d3f6982bda6f1;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.h b/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.h new file mode 100644 index 000000000..64242c133 --- /dev/null +++ b/src/SMESHGUI/SMESHGUI_HomardAdaptDlg.h @@ -0,0 +1,241 @@ +// Copyright (C) 2011-2021 CEA/DEN, EDF R&D +// +// 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 +// + +#ifndef SMESHGUI_HOMARDADAPTDLG_HXX +#define SMESHGUI_HOMARDADAPTDLG_HXX + +#include "SMESH_SMESHGUI.hxx" + +#include +#include CORBA_CLIENT_HEADER(SMESH_Homard) +#include CORBA_SERVER_HEADER(SMESH_Mesh) +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class SMESHGUI_HomardAdaptArguments; +class SMESHGUI_HomardAdaptAdvanced; + +//================================================================================= +// class : SMESHGUI_HomardAdaptDlg +// purpose : +//================================================================================= +class SMESHGUI_EXPORT SMESHGUI_HomardAdaptDlg : public QDialog +{ + Q_OBJECT + + public: + SMESHGUI_HomardAdaptDlg(SMESHHOMARD::HOMARD_Gen_ptr theHomardGen); + ~SMESHGUI_HomardAdaptDlg(); + + void setMyMesh(SMESH::SMESH_Mesh_var); + SMESH::SMESH_Mesh_var getMyMesh(); + + void AddBoundaryCAO(QString newBoundary); + void AddBoundaryAn(QString newBoundary); + void AddBoundaryDi(QString newBoundary); + + protected: + QString myWorkingDir; + + SMESHHOMARD::HOMARD_Cas_var myCase; + SMESHHOMARD::HOMARD_Hypothesis_var myHypothesis; + SMESHHOMARD::HOMARD_Iteration_var myIteration; + SALOME::GenericObj_wrap< SMESHHOMARD::HOMARD_Gen > myHomardGen; + + virtual void InitConnect(); + virtual void InitBoundarys(); + + public slots: + virtual void SetFileName(); + + virtual void SetBoundaryNo(); + virtual void SetBoundaryCAO(); + virtual void SetBoundaryNonCAO(); + + virtual void PushBoundaryCAONew(); + virtual void PushBoundaryCAOEdit(); + virtual void PushBoundaryCAOHelp(); + + virtual void SetBoundaryD(); + virtual void PushBoundaryDiNew(); + virtual void PushBoundaryDiEdit(); + virtual void PushBoundaryDiHelp(); + + virtual void SetBoundaryA(); + virtual void PushBoundaryAnNew(); + virtual void PushBoundaryAnEdit(); + virtual void PushBoundaryAnHelp(); + + bool CheckCase(); + + virtual void PushOnOK(); + virtual bool PushOnApply(); + virtual void PushOnHelp(); + + void selectionChanged(); + void updateSelection(); + + private: + SMESHGUI_HomardAdaptArguments* myArgs; + SMESHGUI_HomardAdaptAdvanced* myAdvOpt; + + SMESH::SMESH_Mesh_var myMesh; + + QPushButton *buttonHelp; + QPushButton *buttonApply; + QPushButton *buttonOk; + QPushButton *buttonCancel; +}; + +//================================================================================= +// class : SMESHGUI_HomardAdaptArguments +// purpose : +//================================================================================= +class SMESHGUI_HomardAdaptArguments : public QWidget +{ + Q_OBJECT + +public: + enum ModeIn { MedFile, Browser }; + + SMESHGUI_HomardAdaptArguments (QWidget* parent); + ~SMESHGUI_HomardAdaptArguments(); + + void setupUi(QWidget *CreateCase); + +public: + // Mesh In + QButtonGroup* myInMeshGroup; + QRadioButton* myInMedFileRadio; + QRadioButton* myInBrowserRadio; + + QPushButton* mySelectInMedFileButton; + QLineEdit* mySelectInMedFileLineEdit; // LEFileName + + QLineEdit* myInBrowserObject; + + // Mesh Out + QLineEdit* myOutMeshNameLineEdit; + QCheckBox* myOutMedFileChk; + + QPushButton* mySelectOutMedFileButton; + QLineEdit* mySelectOutMedFileLineEdit; + + QCheckBox* myOutPublishChk; + + // Conformity type + QRadioButton *RBConforme; + QRadioButton *RBNonConforme; + + // Boundary type + QGroupBox *GBTypeBoun; + QRadioButton *RBBoundaryNo; + QRadioButton *RBBoundaryCAO; + QRadioButton *RBBoundaryNonCAO; + QHBoxLayout *hboxLayout3; + QCheckBox *CBBoundaryD; + QCheckBox *CBBoundaryA; + + QGroupBox *GBBoundaryC; // CAO boundary + QGridLayout *_2; + QPushButton *PBBoundaryCAOEdit; + QPushButton *PBBoundaryCAOHelp; + QComboBox *CBBoundaryCAO; + QPushButton *PBBoundaryCAONew; + QGroupBox *GBBoundaryN; // Non CAO boundary + QGroupBox *GBBoundaryD; + QGridLayout *gridLayout; + QComboBox *CBBoundaryDi; + QPushButton *PBBoundaryDiEdit; + QPushButton *PBBoundaryDiHelp; + QPushButton *PBBoundaryDiNew; + QGroupBox *GBBoundaryA; + QFormLayout *formLayout; + QTableWidget *TWBoundary; + QGridLayout *gridLayout1; + QPushButton *PBBoundaryAnEdit; + QPushButton *PBBoundaryAnNew; + QPushButton *PBBoundaryAnHelp; + +signals: + void updateSelection(); + +private slots: + void modeInChanged(int); + void clear(); + void onOutMedFileChk(int); + void onOutPublishChk(int); + void onSelectOutMedFileButton(); +}; + +//================================================================================= +// class : SMESHGUI_HomardAdaptAdvanced +// purpose : +//================================================================================= +class SMESHGUI_HomardAdaptAdvanced : public QWidget +{ + Q_OBJECT + +public: + SMESHGUI_HomardAdaptAdvanced(QWidget* = 0, Qt::WindowFlags = 0); + ~SMESHGUI_HomardAdaptAdvanced(); + + void setupWidget(); + +public: + QGroupBox *logGroupBox; + + QLabel *workingDirectoryLabel; + QLineEdit *workingDirectoryLineEdit; + QPushButton *workingDirectoryPushButton; + + QLabel *verboseLevelLabel; + QSpinBox *verboseLevelSpin; + + QCheckBox *logInFileCheck; + QCheckBox *removeLogOnSuccessCheck; + + QCheckBox *keepWorkingFilesCheck; + +private slots: + void onWorkingDirectoryPushButton(); +}; + +#endif // SMESHGUI_HOMARDADAPTDLG_HXX