Version: 9.16.0
SMESHGUI_CreatePatternDlg.h
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// File : SMESHGUI_CreatePatternDlg.h
24// Author : Sergey LITONIN, Open CASCADE S.A.S.
25//
26#ifndef SMESHGUI_CREATEPATTERNDLG_H
27#define SMESHGUI_CREATEPATTERNDLG_H
28
29// SMESH includes
30#include "SMESH_SMESHGUI.hxx"
31
32// Qt includes
33#include <QDialog>
34
35// IDL includes
36#include <SALOMEconfig.h>
37#include CORBA_SERVER_HEADER(SMESH_Mesh)
38#include CORBA_SERVER_HEADER(SMESH_Pattern)
39
41class SALOMEDSClient_SObject;
42
43class QLineEdit;
44class QRadioButton;
45class QCheckBox;
46class QButtonGroup;
47class SVTK_Selector;
48class LightApp_SelectionMgr;
49class SMESHGUI;
50
57{
58 Q_OBJECT
59
60public:
61 enum { Type_2d, Type_3d };
62
63public:
66
67 void Init( const int );
68 QString GetPatternName() const;
69 SMESH::SMESH_Pattern_ptr GetPattern();
70 void SetMesh( SMESH::SMESH_Mesh_ptr );
71
72signals:
73 void NewPattern();
74 void Close();
75
76private:
77 void enterEvent( QEvent* );
78 void keyPressEvent( QKeyEvent* );
79
80private slots:
81 void onOk();
82 void onSave();
83 void reject();
84 void onHelp();
85
86 void onDeactivate();
87
88 void onSelectionDone();
89 void onTypeChanged( int );
90 void onProject( bool );
91 void onSelBtnClicked();
92
93private:
94 QWidget* createButtonFrame( QWidget* );
95 QWidget* createMainFrame( QWidget* );
96 void displayPreview();
97 void erasePreview();
98 void activateSelection();
99 QString autoExtension( const QString& ) const;
100 bool isValid();
101 bool loadFromObject( const bool = true );
102 QString getDefaultName() const;
103 GEOM::GEOM_Object_ptr getGeom( SALOMEDSClient_SObject* ) const;
104
105private:
106 QButtonGroup* myTypeGrp;
107 QRadioButton* mySwitch2d;
108 QRadioButton* mySwitch3d;
109
110 QLineEdit* myMeshEdit;
111 QLineEdit* myName;
112
114
115 QCheckBox* myProjectChk;
116
118 LightApp_SelectionMgr* mySelectionMgr;
120
121 SMESH::SMESH_Mesh_var myMesh;
122 SMESH::SMESH_subMesh_var mySubMesh;
123 GEOM::GEOM_Object_var myGeomObj;
124
125 SMESH::SMESH_Pattern_var myPattern;
127
129};
130
131#endif // SMESHGUI_CREATEPATTERNDLG_H
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Class : SMESHGUI_CreatePatternDlg Description : Dialog to specify filters for VTK viewer.
Definition: SMESHGUI_CreatePatternDlg.h:57
LightApp_SelectionMgr * mySelectionMgr
Definition: SMESHGUI_CreatePatternDlg.h:118
QRadioButton * mySwitch2d
Definition: SMESHGUI_CreatePatternDlg.h:107
SMESHGUI_PatternWidget * myPicture2d
Definition: SMESHGUI_CreatePatternDlg.h:113
QButtonGroup * myTypeGrp
Definition: SMESHGUI_CreatePatternDlg.h:106
SMESH::SMESH_Mesh_var myMesh
Definition: SMESHGUI_CreatePatternDlg.h:121
SMESH::SMESH_Pattern_var myPattern
Definition: SMESHGUI_CreatePatternDlg.h:125
QString myHelpFileName
Definition: SMESHGUI_CreatePatternDlg.h:128
GEOM::GEOM_Object_var myGeomObj
Definition: SMESHGUI_CreatePatternDlg.h:123
QLineEdit * myName
Definition: SMESHGUI_CreatePatternDlg.h:111
int myType
Definition: SMESHGUI_CreatePatternDlg.h:119
GEOM::GEOM_Object_ptr getGeom(SALOMEDSClient_SObject *) const
bool myIsLoaded
Definition: SMESHGUI_CreatePatternDlg.h:126
@ Type_2d
Definition: SMESHGUI_CreatePatternDlg.h:61
QLineEdit * myMeshEdit
Definition: SMESHGUI_CreatePatternDlg.h:110
QCheckBox * myProjectChk
Definition: SMESHGUI_CreatePatternDlg.h:115
SMESH::SMESH_subMesh_var mySubMesh
Definition: SMESHGUI_CreatePatternDlg.h:122
SMESHGUI * mySMESHGUI
Definition: SMESHGUI_CreatePatternDlg.h:117
QRadioButton * mySwitch3d
Definition: SMESHGUI_CreatePatternDlg.h:108
Definition: SMESHGUI_PatternWidget.h:49
Definition: SMESHGUI.h:84
SMESH::SMESH_Pattern_var GetPattern()
Definition: SMESHGUI_PatternUtils.cxx:34