Version: 9.16.0
SMESHGUI_SymmetryDlg.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_SymmetryDlg.h
25// Author : Michael ZORIN, Open CASCADE S.A.S.
26//
27#ifndef SMESHGUI_SYMMETRYDLG_H
28#define SMESHGUI_SYMMETRYDLG_H
29
30// SMESH includes
31#include "SMESH_SMESHGUI.hxx"
32#include "SMESHGUI_PreviewDlg.h"
33
34// IDL includes
35#include <SALOMEconfig.h>
36#include CORBA_SERVER_HEADER(SMESH_Mesh)
37#include CORBA_SERVER_HEADER(SMESH_MeshEditor)
38
39class QButtonGroup;
40class QGroupBox;
41class QLabel;
42class QLineEdit;
43class QPushButton;
44class QRadioButton;
45class QCheckBox;
46class SMESHGUI;
50class SMESH_Actor;
51class SVTK_Selector;
52class LightApp_SelectionMgr;
54
55//=================================================================================
56// class : SMESHGUI_SymmetryDlg
57// purpose :
58//=================================================================================
60{
61 Q_OBJECT
62
63public:
66
67private:
68 void Init( bool = true );
69 void enterEvent( QEvent* ); /* mouse enter the QWidget */
70 void keyPressEvent( QKeyEvent* );
71 int GetConstructorId();
72 bool IsMirrorOk();
73 void setNewMeshName();
74
75 void getMirror(SMESH::AxisStruct& theMirror, SMESH::SMESH_MeshEditor::MirrorType& aMirrorType);
76
77 bool isValid();
78
80 LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
81 int myNbOkElements; /* to check when elements are defined */
82 QString myElementsId;
83 SVTK_Selector* mySelector;
84
85 QWidget* myEditCurrentArgument; /* Current LineEdit */
86
87 QList<SMESH::SMESH_IDSource_var> myObjects;
88 QList<QString> myObjectsNames;
89 QList<SMESH::SMESH_Mesh_var> myMeshes;
90
91 bool myBusy;
94
96 QButtonGroup* GroupConstructors;
97 QRadioButton* RadioButton1;
98 QRadioButton* RadioButton2;
99 QRadioButton* RadioButton3;
101 QPushButton* buttonOk;
102 QPushButton* buttonCancel;
103 QPushButton* buttonApply;
104 QPushButton* buttonHelp;
110 QCheckBox* CheckBoxMesh;
111
113 QPushButton* SelectPointButton;
121 QPushButton* SelectVectorButton;
128
130 QButtonGroup* ActionGroup;
131 QCheckBox* MakeGroupsCheck;
132 QLineEdit* LineEditNewMesh;
133
135
136 QPushButton* myFilterBtn;
138
139protected slots:
140 virtual void onDisplaySimulation( bool );
141 virtual void reject();
142 void onFilterAccepted();
143
144private slots:
145 void ConstructorsClicked( int );
146 void ClickOnOk();
147 bool ClickOnApply();
148 void ClickOnHelp();
149 void SetEditCurrentArgument();
150 void SelectionIntoArgument();
151 void DeactivateActiveDialog();
152 void ActivateThisDialog();
153 void onTextChange( const QString& );
154 void onSelectMesh( bool );
155 void onVectorChanged();
156 void onActionClicked( int );
157 void onOpenView();
158 void onCloseView();
159 void setFilters();
160};
161
162#endif // SMESHGUI_SYMMETRYDLG_H
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Class : SMESHGUI_FilterDlg Description : Dialog to specify filters for VTK viewer.
Definition: SMESHGUI_FilterDlg.h:217
Definition: SMESHGUI_IdValidator.h:39
Definition: SMESHGUI_PreviewDlg.h:72
void onCloseView()
Definition: SMESHGUI_PreviewDlg.cxx:259
virtual void onDisplaySimulation(bool)
Definition: SMESHGUI_PreviewDlg.cxx:215
Definition: SMESHGUI_SpinBox.h:48
Definition: SMESHGUI_SymmetryDlg.h:60
SMESHGUI_SpinBox * SpinBox_DX
Definition: SMESHGUI_SymmetryDlg.h:123
QLabel * TextLabelElements
Definition: SMESHGUI_SymmetryDlg.h:107
QString myHelpFileName
Definition: SMESHGUI_SymmetryDlg.h:134
QList< SMESH::SMESH_IDSource_var > myObjects
Definition: SMESHGUI_SymmetryDlg.h:87
QRadioButton * RadioButton2
Definition: SMESHGUI_SymmetryDlg.h:98
QRadioButton * RadioButton3
Definition: SMESHGUI_SymmetryDlg.h:99
QList< SMESH::SMESH_Mesh_var > myMeshes
Definition: SMESHGUI_SymmetryDlg.h:89
QLabel * TextLabelVector
Definition: SMESHGUI_SymmetryDlg.h:120
QLabel * TextLabelDZ
Definition: SMESHGUI_SymmetryDlg.h:126
QPushButton * buttonOk
Definition: SMESHGUI_SymmetryDlg.h:101
SMESH_LogicalFilter * myMeshOrSubMeshOrGroupFilter
Definition: SMESHGUI_SymmetryDlg.h:93
QLabel * TextLabelZ
Definition: SMESHGUI_SymmetryDlg.h:118
QButtonGroup * GroupConstructors
Definition: SMESHGUI_SymmetryDlg.h:96
SMESH_Actor * myActor
Definition: SMESHGUI_SymmetryDlg.h:92
bool myBusy
Definition: SMESHGUI_SymmetryDlg.h:91
QCheckBox * MakeGroupsCheck
Definition: SMESHGUI_SymmetryDlg.h:131
int myNbOkElements
Definition: SMESHGUI_SymmetryDlg.h:81
QString myElementsId
Definition: SMESHGUI_SymmetryDlg.h:82
QLabel * TextLabelDX
Definition: SMESHGUI_SymmetryDlg.h:122
SMESHGUI_FilterDlg * myFilterDlg
Definition: SMESHGUI_SymmetryDlg.h:137
QWidget * myEditCurrentArgument
Definition: SMESHGUI_SymmetryDlg.h:85
QPushButton * myFilterBtn
Definition: SMESHGUI_SymmetryDlg.h:136
QLabel * TextLabelY
Definition: SMESHGUI_SymmetryDlg.h:116
QPushButton * SelectPointButton
Definition: SMESHGUI_SymmetryDlg.h:113
SVTK_Selector * mySelector
Definition: SMESHGUI_SymmetryDlg.h:83
QGroupBox * ConstructorsBox
Definition: SMESHGUI_SymmetryDlg.h:95
QPushButton * buttonCancel
Definition: SMESHGUI_SymmetryDlg.h:102
QGroupBox * ActionBox
Definition: SMESHGUI_SymmetryDlg.h:129
QGroupBox * GroupButtons
Definition: SMESHGUI_SymmetryDlg.h:100
QLineEdit * LineEditElements
Definition: SMESHGUI_SymmetryDlg.h:109
QButtonGroup * ActionGroup
Definition: SMESHGUI_SymmetryDlg.h:130
QList< QString > myObjectsNames
Definition: SMESHGUI_SymmetryDlg.h:88
QPushButton * buttonApply
Definition: SMESHGUI_SymmetryDlg.h:103
SMESHGUI_SpinBox * SpinBox_Y
Definition: SMESHGUI_SymmetryDlg.h:117
QLabel * TextLabelPoint
Definition: SMESHGUI_SymmetryDlg.h:112
QLabel * TextLabelX
Definition: SMESHGUI_SymmetryDlg.h:114
SMESHGUI_SpinBox * SpinBox_Z
Definition: SMESHGUI_SymmetryDlg.h:119
SMESHGUI_SpinBox * SpinBox_X
Definition: SMESHGUI_SymmetryDlg.h:115
SMESHGUI_SpinBox * SpinBox_DZ
Definition: SMESHGUI_SymmetryDlg.h:127
QCheckBox * CheckBoxMesh
Definition: SMESHGUI_SymmetryDlg.h:110
SMESHGUI_IdValidator * myIdValidator
Definition: SMESHGUI_SymmetryDlg.h:79
QGroupBox * GroupArguments
Definition: SMESHGUI_SymmetryDlg.h:105
QPushButton * SelectVectorButton
Definition: SMESHGUI_SymmetryDlg.h:121
QGroupBox * GroupMirror
Definition: SMESHGUI_SymmetryDlg.h:106
SMESHGUI_SpinBox * SpinBox_DY
Definition: SMESHGUI_SymmetryDlg.h:125
QPushButton * SelectElementsButton
Definition: SMESHGUI_SymmetryDlg.h:108
QLabel * TextLabelDY
Definition: SMESHGUI_SymmetryDlg.h:124
QPushButton * buttonHelp
Definition: SMESHGUI_SymmetryDlg.h:104
LightApp_SelectionMgr * mySelectionMgr
Definition: SMESHGUI_SymmetryDlg.h:80
QRadioButton * RadioButton1
Definition: SMESHGUI_SymmetryDlg.h:97
QLineEdit * LineEditNewMesh
Definition: SMESHGUI_SymmetryDlg.h:132
Definition: SMESHGUI.h:84
Definition: SMESH_Actor.h:56
Definition: SMESH_LogicalFilter.hxx:36
MirrorType
Definition: SMESH_MeshEditor.idl:671
Definition: SMESH_Mesh.idl:101