Version: 9.16.0
SMESHGUI_ExtrusionAlongPathDlg.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_ExtrusionAlongPathDlg.h
25// Author : Vadim SANDLER, Open CASCADE S.A.S.
26//
27#ifndef SMESHGUI_EXTRUSIONALONGPATHDLG_H
28#define SMESHGUI_EXTRUSIONALONGPATHDLG_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
38class QButtonGroup;
39class QRadioButton;
40class QGroupBox;
41class QLabel;
42class QToolButton;
43class QLineEdit;
44class QCheckBox;
45class QListWidget;
46class QPushButton;
47
48class LightApp_SelectionMgr;
49class SMESHGUI;
54class SMESH_Actor;
56class SVTK_Selector;
57
58//=================================================================================
59// class : SMESHGUI_ExtrusionAlongPathDlg
60// purpose :
61//=================================================================================
63{
64 Q_OBJECT
65
66 class SetBusy;
67 friend class SetBusy;
68
69public:
72
73 bool eventFilter( QObject*, QEvent* );
74
75private:
76 void Init( bool = true );
77 void enterEvent( QEvent* ); /* mouse enter the QWidget */
78 void keyPressEvent( QKeyEvent* );
79 void SetEditCurrentArgument( QPushButton* );
80
81 bool isValid();
82 bool isValuesValid();
83
84 SMESH::double_array_var getAngles();
85 SMESH::double_array_var getScales();
86
87 void updateLinearAngles();
88
90 LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
91 SVTK_Selector* mySelector;
92 QWidget* myEditCurrentArgument; /* Current argument */
93
94 bool myBusy;
95 SMESH::SMESH_IDSource_var myPath;
97 QList<double> myAnglesList;
98 QList<double> myScalesList;
99
100 // widgets
108
111 QListWidget* AnglesList;
112 QToolButton* AddAngleButton;
113 QToolButton* RemoveAngleButton;
115
118 QListWidget* ScalesList;
119 QToolButton* AddScaleButton;
120 QToolButton* RemoveScaleButton;
122
128 QCheckBox* MakeGroupsCheck;
129
131 QPushButton* OkButton;
132 QPushButton* ApplyButton;
133 QPushButton* CloseButton;
134 QPushButton* HelpButton;
135
137
138protected slots:
139 void reject();
140 virtual void onDisplaySimulation( bool );
141
142private slots:
143 void ClickOnOk();
144 bool ClickOnApply();
145 void ClickOnHelp();
146 void CheckIsEnable();
147 void SetEditCurrentArgument();
148 void SelectionIntoArgument();
149 void DeactivateActiveDialog();
150 void ActivateThisDialog();
151 void onTextChange( const QString& );
152 void OnAngleAdded();
153 void OnAngleRemoved();
154 void onOpenView();
155 void onCloseView();
156};
157
158#endif // SMESHGUI_EXTRUSIONALONGPATHDLG_H
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Definition: SMESHGUI_ExtrusionDlg.h:70
Definition: SMESHGUI_ExtrusionAlongPathDlg.cxx:90
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:63
QToolButton * AddAngleButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:112
QToolButton * AddScaleButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:119
SVTK_Selector * mySelector
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:91
SMESHGUI_SpinBox * YSpin
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:126
SMESHGUI_SpinBox * ScaleSpin
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:121
SMESHGUI_3TypesSelector * SelectorWdg
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:101
SMESHGUI_SpinBox * ZSpin
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:127
QPushButton * HelpButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:134
QPushButton * SelectPathMeshButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:104
QPushButton * ApplyButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:132
QGroupBox * GroupArguments
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:102
QToolButton * RemoveAngleButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:113
QToolButton * RemoveScaleButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:120
SUIT_SelectionFilter * myPathMeshFilter
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:96
QGroupBox * GroupButtons
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:130
SMESH::SMESH_IDSource_var myPath
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:95
QGroupBox * BasePointGrp
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:123
QLineEdit * StartPointLineEdit
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:107
QPushButton * OkButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:131
QCheckBox * LinearAnglesCheck
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:109
QList< double > myAnglesList
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:97
QListWidget * ScalesList
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:118
QGroupBox * AnglesGrp
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:110
QList< double > myScalesList
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:98
QPushButton * CloseButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:133
QWidget * myEditCurrentArgument
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:92
QCheckBox * MakeGroupsCheck
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:128
QPushButton * SelectBasePointButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:124
SMESHGUI_SpinBox * XSpin
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:125
bool myBusy
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:94
QListWidget * AnglesList
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:111
SMESHGUI_IdValidator * myIdValidator
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:89
SMESHGUI_SpinBox * AngleSpin
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:114
QLineEdit * PathMeshLineEdit
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:105
QString myHelpFileName
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:136
QCheckBox * LinearScalesCheck
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:116
LightApp_SelectionMgr * mySelectionMgr
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:90
QGroupBox * ScalesGrp
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:117
QGroupBox * PathGrp
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:103
QPushButton * SelectStartPointButton
Definition: SMESHGUI_ExtrusionAlongPathDlg.h:106
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: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_SpinBox.h:48
Definition: SMESHGUI.h:84
Definition: SMESH_Actor.h:56