Version: 9.16.0
SMESHGUI_RevolutionDlg.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_RevolutionDlg.h
25// Author : Michael ZORIN, Open CASCADE S.A.S.
26//
27#ifndef SMESHGUI_REVOLUTIONDLG_H
28#define SMESHGUI_REVOLUTIONDLG_H
29
30// SMESH includes
31#include "SMESH_SMESHGUI.hxx"
32#include "SMESHGUI_PreviewDlg.h"
33
34// SALOME GUI includes
35#include <SALOME_InteractiveObject.hxx>
36
37// Qt includes
38#include <QMap>
39
40// IDL includes
41#include <SALOMEconfig.h>
42#include CORBA_SERVER_HEADER(SMESH_Mesh)
43
44class LightApp_SelectionMgr;
45class QAction;
46class QButtonGroup;
47class QCheckBox;
48class QGroupBox;
49class QLabel;
50class QLineEdit;
51class QMenu;
52class QPushButton;
53class QRadioButton;
54class SALOME_Actor;
55class SMESHGUI;
61class SMESH_Actor;
63class SVTK_Selector;
64class SalomeApp_IntSpinBox;
65
66//=================================================================================
67// class : SMESHGUI_RevolutionDlg
68// purpose :
69//=================================================================================
71{
72 Q_OBJECT
73
74public:
77
78private:
79 enum {NONE_SELECT, POINT_SELECT, FACE_SELECT};
80
81 void Init( bool = true);
82 void enterEvent( QEvent* ); /* mouse enter the QWidget */
83 void keyPressEvent( QKeyEvent* );
85 bool IsAxisOk();
86
87 bool isValid();
88
89 LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
90 SVTK_Selector* mySelector;
91 QWidget* myEditCurrentArgument; /* Current argument */
92
95 QPushButton* buttonOk;
96 QPushButton* buttonCancel;
97 QPushButton* buttonApply;
98 QPushButton* buttonHelp;
101 QCheckBox* MakeGroupsCheck;
103 QButtonGroup* GroupAngle;
104 QRadioButton* RadioButton3;
105 QRadioButton* RadioButton4;
106
108 QPushButton* SelectPointButton;
116 QPushButton* SelectVectorButton;
123
127 SalomeApp_IntSpinBox* SpinBox_NbSteps;
130
132 QMap<QAction*,int> myMenuActions;
134
135
137
138protected slots:
139 virtual void onDisplaySimulation( bool );
140 virtual void reject();
141
142private slots:
143 void CheckIsEnable();
144 void ClickOnOk();
145 bool ClickOnApply();
146 void ClickOnHelp();
147 void SetEditCurrentArgument();
148 void SelectionIntoArgument();
149 void DeactivateActiveDialog();
150 void ActivateThisDialog();
151 void onAngleTextChange( const QString& );
152 void onSelectVectorMenu( QAction* );
153 void onSelectVectorButton();
154 void onOpenView();
155 void onCloseView();
156};
157
158#endif // SMESHGUI_REVOLUTIONDLG_H
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Definition: SMESHGUI_ExtrusionDlg.h:70
Class : SMESHGUI_FilterDlg Description : Dialog to specify filters for VTK viewer.
Definition: SMESHGUI_FilterDlg.h:217
Definition: SMESHGUI_IdValidator.h:39
Displayer of the mesh edition preview.
Definition: SMESHGUI_MeshEditPreview.h:47
Definition: SMESHGUI_PreviewDlg.h:44
virtual void onDisplaySimulation(bool)
Definition: SMESHGUI_PreviewDlg.cxx:104
void onOpenView()
Definition: SMESHGUI_PreviewDlg.cxx:144
void onCloseView()
Definition: SMESHGUI_PreviewDlg.cxx:132
Definition: SMESHGUI_RevolutionDlg.h:71
QPushButton * buttonCancel
Definition: SMESHGUI_RevolutionDlg.h:96
QLabel * TextLabelDY
Definition: SMESHGUI_RevolutionDlg.h:119
SMESHGUI_SpinBox * SpinBox_Angle
Definition: SMESHGUI_RevolutionDlg.h:125
int myVectorDefinition
Definition: SMESHGUI_RevolutionDlg.h:133
QLabel * TextLabelNbSteps
Definition: SMESHGUI_RevolutionDlg.h:126
SMESHGUI_SpinBox * SpinBox_DZ
Definition: SMESHGUI_RevolutionDlg.h:122
LightApp_SelectionMgr * mySelectionMgr
Definition: SMESHGUI_RevolutionDlg.h:89
QLabel * TextLabelX
Definition: SMESHGUI_RevolutionDlg.h:109
QPushButton * SelectPointButton
Definition: SMESHGUI_RevolutionDlg.h:108
QLabel * TextLabelAngle
Definition: SMESHGUI_RevolutionDlg.h:124
QPushButton * buttonOk
Definition: SMESHGUI_RevolutionDlg.h:95
QLabel * TextLabelTolerance
Definition: SMESHGUI_RevolutionDlg.h:128
QGroupBox * GroupAngleBox
Definition: SMESHGUI_RevolutionDlg.h:102
QLabel * TextLabelVector
Definition: SMESHGUI_RevolutionDlg.h:115
QGroupBox * GroupAxis
Definition: SMESHGUI_RevolutionDlg.h:100
QLabel * TextLabelZ
Definition: SMESHGUI_RevolutionDlg.h:113
SMESHGUI_SpinBox * SpinBox_Tolerance
Definition: SMESHGUI_RevolutionDlg.h:129
QString myHelpFileName
Definition: SMESHGUI_RevolutionDlg.h:136
QLabel * TextLabelPoint
Definition: SMESHGUI_RevolutionDlg.h:107
SMESHGUI_SpinBox * SpinBox_Z
Definition: SMESHGUI_RevolutionDlg.h:114
QMap< QAction *, int > myMenuActions
Definition: SMESHGUI_RevolutionDlg.h:132
SMESHGUI_SpinBox * SpinBox_X
Definition: SMESHGUI_RevolutionDlg.h:110
QPushButton * buttonHelp
Definition: SMESHGUI_RevolutionDlg.h:98
QLabel * TextLabelY
Definition: SMESHGUI_RevolutionDlg.h:111
SMESHGUI_SpinBox * SpinBox_DX
Definition: SMESHGUI_RevolutionDlg.h:118
SMESHGUI_SpinBox * SpinBox_DY
Definition: SMESHGUI_RevolutionDlg.h:120
SVTK_Selector * mySelector
Definition: SMESHGUI_RevolutionDlg.h:90
QLabel * TextLabelDX
Definition: SMESHGUI_RevolutionDlg.h:117
QPushButton * buttonApply
Definition: SMESHGUI_RevolutionDlg.h:97
QWidget * myEditCurrentArgument
Definition: SMESHGUI_RevolutionDlg.h:91
QGroupBox * GroupButtons
Definition: SMESHGUI_RevolutionDlg.h:94
QMenu * SelectVectorMenu
Definition: SMESHGUI_RevolutionDlg.h:131
QRadioButton * RadioButton3
Definition: SMESHGUI_RevolutionDlg.h:104
QLabel * TextLabelDZ
Definition: SMESHGUI_RevolutionDlg.h:121
SalomeApp_IntSpinBox * SpinBox_NbSteps
Definition: SMESHGUI_RevolutionDlg.h:127
QGroupBox * GroupArguments
Definition: SMESHGUI_RevolutionDlg.h:99
QCheckBox * MakeGroupsCheck
Definition: SMESHGUI_RevolutionDlg.h:101
QRadioButton * RadioButton4
Definition: SMESHGUI_RevolutionDlg.h:105
QPushButton * SelectVectorButton
Definition: SMESHGUI_RevolutionDlg.h:116
QButtonGroup * GroupAngle
Definition: SMESHGUI_RevolutionDlg.h:103
SMESHGUI_3TypesSelector * SelectorWdg
Definition: SMESHGUI_RevolutionDlg.h:93
SMESHGUI_SpinBox * SpinBox_Y
Definition: SMESHGUI_RevolutionDlg.h:112
Definition: SMESHGUI_SpinBox.h:48
Definition: SMESHGUI.h:84
Definition: SMESH_Actor.h:56
Definition: SMESH_LogicalFilter.hxx:36