mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-04-02 06:24:28 +05:00
234 lines
6.2 KiB
C++
234 lines
6.2 KiB
C++
// 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 AddBoundaryCAO(QString newBoundary);
|
|
void AddBoundaryAn(QString newBoundary);
|
|
void AddBoundaryDi(QString newBoundary);
|
|
|
|
protected:
|
|
QString myWorkingDir;
|
|
|
|
SMESHHOMARD::HOMARD_Cas_var myCase;
|
|
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(bool fixCase);
|
|
|
|
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();
|
|
|
|
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
|
|
QPushButton *PBBoundaryCAOEdit;
|
|
QPushButton *PBBoundaryCAOHelp;
|
|
QComboBox *CBBoundaryCAO;
|
|
QPushButton *PBBoundaryCAONew;
|
|
QGroupBox *GBBoundaryN; // Non CAO boundary
|
|
QGroupBox *GBBoundaryD;
|
|
QComboBox *CBBoundaryDi;
|
|
QPushButton *PBBoundaryDiEdit;
|
|
QPushButton *PBBoundaryDiHelp;
|
|
QPushButton *PBBoundaryDiNew;
|
|
QGroupBox *GBBoundaryA;
|
|
QFormLayout *formLayout;
|
|
QTableWidget *TWBoundary;
|
|
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);
|
|
~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
|