Version: 9.16.0
SMESHGUI_CopyMeshDlg.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// SMESH SMESHGUI : GUI for SMESH component
24// File : SMESHGUI_CopyMeshDlg.h
25//
26#ifndef SMESHGUI_CopyMeshDLG_H
27#define SMESHGUI_CopyMeshDLG_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_Gen)
39
40class QCheckBox;
41class QGroupBox;
42class QLabel;
43class QLineEdit;
44class QPushButton;
45class QButtonGroup;
46
47class SMESHGUI;
50class SMESH_Actor;
51class SVTK_Selector;
52class LightApp_SelectionMgr;
54
55//=================================================================================
56// class : SMESHGUI_CopyMeshDlg
57// purpose : copy some elements or a mesh object into a new mesh
58//=================================================================================
59
61{
62 Q_OBJECT
63
64 public:
67
68private:
69 void Init( bool = true );
70 void enterEvent( QEvent* ); /* mouse enter the QWidget */
71 void keyPressEvent( QKeyEvent* );
73 QString getErrorMsg( SMESH::string_array_var invalidEntries,
74 QStringList & entriesToBrowse );
75
76 bool isValid();
77 bool isWithGeomMode();
78
79 void setIsApplyAndClose( const bool theFlag );
80 bool isApplyAndClose() const;
81
82 SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */
84 LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
85 int myNbOkElements; /* to check when elements are defined */
86
87 SVTK_Selector* mySelector;
88
89 bool myBusy;
90 SMESH::SMESH_Mesh_var myMesh;
91 GEOM::GEOM_Object_var myNewGeometry;
94
95 SMESH::SMESH_IDSource_var mySelectedObject;
96
97 QButtonGroup* GroupConstructors;
98
102
103 QPushButton* buttonOk;
104 QPushButton* buttonCancel;
105 QPushButton* buttonApply;
106 QPushButton* buttonHelp;
107
111 QLineEdit* myMeshNameEdit;
112 QLineEdit* myGeomNameEdit;
113 QCheckBox* myIdSourceCheck;
115 QCheckBox* myReuseHypCheck;
117 QCheckBox* myKeepIdsCheck;
118
119 QPushButton* myFilterBtn;
121
123
125
126protected slots:
127 virtual void reject();
128
129private slots:
130 void ClickOnOk();
131 bool ClickOnApply();
132 void ClickOnHelp();
133 void SelectionIntoArgument();
134 void DeactivateActiveDialog();
135 void ActivateThisDialog();
136 void onConstructor( int );
137 void onTextChange( const QString& );
138 void onSelectIdSource( bool );
139 void setFilters();
140 void onOpenView();
141 void onCloseView();
142};
143
144#endif // SMESHGUI_CopyMeshDLG_H
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Definition: SMESHGUI_CopyMeshDlg.h:61
bool myIsApplyAndClose
Definition: SMESHGUI_CopyMeshDlg.h:124
QLineEdit * myMeshNameEdit
Definition: SMESHGUI_CopyMeshDlg.h:111
QLineEdit * myLineEditElements
Definition: SMESHGUI_CopyMeshDlg.h:110
QPushButton * buttonApply
Definition: SMESHGUI_CopyMeshDlg.h:105
QGroupBox * GroupArguments
Definition: SMESHGUI_CopyMeshDlg.h:100
QLabel * myTextLabelElements
Definition: SMESHGUI_CopyMeshDlg.h:108
QCheckBox * myCopyGroupsCheck
Definition: SMESHGUI_CopyMeshDlg.h:114
QCheckBox * myCopyElementsCheck
Definition: SMESHGUI_CopyMeshDlg.h:116
QCheckBox * myIdSourceCheck
Definition: SMESHGUI_CopyMeshDlg.h:113
QButtonGroup * GroupConstructors
Definition: SMESHGUI_CopyMeshDlg.h:97
SMESH::SMESH_IDSource_var mySelectedObject
Definition: SMESHGUI_CopyMeshDlg.h:95
QPushButton * buttonCancel
Definition: SMESHGUI_CopyMeshDlg.h:104
QGroupBox * ConstructorsBox
Definition: SMESHGUI_CopyMeshDlg.h:99
QPushButton * buttonOk
Definition: SMESHGUI_CopyMeshDlg.h:103
SUIT_SelectionFilter * myIdSourceFilter
Definition: SMESHGUI_CopyMeshDlg.h:93
QPushButton * myFilterBtn
Definition: SMESHGUI_CopyMeshDlg.h:119
SMESHGUI_IdValidator * myIdValidator
Definition: SMESHGUI_CopyMeshDlg.h:83
GEOM::GEOM_Object_var myNewGeometry
Definition: SMESHGUI_CopyMeshDlg.h:91
QGroupBox * GroupButtons
Definition: SMESHGUI_CopyMeshDlg.h:101
SMESH_Actor * myActor
Definition: SMESHGUI_CopyMeshDlg.h:92
SMESHGUI * mySMESHGUI
Definition: SMESHGUI_CopyMeshDlg.h:82
QLineEdit * myGeomNameEdit
Definition: SMESHGUI_CopyMeshDlg.h:112
QCheckBox * myKeepIdsCheck
Definition: SMESHGUI_CopyMeshDlg.h:117
LightApp_SelectionMgr * mySelectionMgr
Definition: SMESHGUI_CopyMeshDlg.h:84
bool myBusy
Definition: SMESHGUI_CopyMeshDlg.h:89
QCheckBox * myReuseHypCheck
Definition: SMESHGUI_CopyMeshDlg.h:115
QPushButton * buttonHelp
Definition: SMESHGUI_CopyMeshDlg.h:106
SVTK_Selector * mySelector
Definition: SMESHGUI_CopyMeshDlg.h:87
SMESHGUI_FilterDlg * myFilterDlg
Definition: SMESHGUI_CopyMeshDlg.h:120
QLabel * myGeomLabel
Definition: SMESHGUI_CopyMeshDlg.h:109
int myNbOkElements
Definition: SMESHGUI_CopyMeshDlg.h:85
QString myHelpFileName
Definition: SMESHGUI_CopyMeshDlg.h:122
SMESH::SMESH_Mesh_var myMesh
Definition: SMESHGUI_CopyMeshDlg.h:90
Class : SMESHGUI_FilterDlg Description : Dialog to specify filters for VTK viewer.
Definition: SMESHGUI_FilterDlg.h:217
Definition: SMESHGUI_IdValidator.h:39
Definition: SMESHGUI.h:84
Definition: SMESH_Actor.h:56