--- /dev/null
+// 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 <SALOMEconfig.h>
+#include CORBA_CLIENT_HEADER(SMESH_Homard)
+#include CORBA_SERVER_HEADER(SMESH_Mesh)
+#include <SALOME_GenericObj_wrap.hxx>
+
+#include <SalomeApp_Module.h>
+
+#include <QtCore/QVariant>
+#include <QtWidgets/QApplication>
+#include <QtWidgets/QCheckBox>
+#include <QtWidgets/QComboBox>
+#include <QtWidgets/QDialog>
+#include <QtWidgets/QFormLayout>
+#include <QtWidgets/QGridLayout>
+#include <QtWidgets/QGroupBox>
+#include <QtWidgets/QHBoxLayout>
+#include <QtWidgets/QHeaderView>
+#include <QtWidgets/QLabel>
+#include <QtWidgets/QLineEdit>
+#include <QtWidgets/QPushButton>
+#include <QtWidgets/QRadioButton>
+#include <QtWidgets/QSpacerItem>
+#include <QtWidgets/QTableWidget>
+#include <QtWidgets/QWidget>
+#include <QtWidgets/QTabWidget>
+#include <QtWidgets/QSpinBox>
+
+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