0023284: Using 'memcpy' on class that contains a virtual method
[occt.git] / samples / qt / Graphic3dDemo / inc / ShapeDlg.h
CommitLineData
7fd59977 1#ifndef SHAPEDLG_H
2#define SHAPEDLG_H
3
4#include <qdialog.h>
5
6#include <Aspect_TypeOfDegenerateModel.hxx>
7#include <V3d_View.hxx>
8#include <AIS_InteractiveContext.hxx>
9//#include <GUIA_Sphere.hxx>
10#include <Sphere_Sphere.hxx>
11
12class QLabel;
13class QComboBox;
14class QSpinBox;
15class QDoubleSpinBox;
16class QCheckBox;
17class ShapeDlg : public QDialog
18{
19 Q_OBJECT
20
21 enum { SolidEdgeId, DashEdgeId, DotEdgeId, DotDashEdgeId };
22
23 enum { NoDegId, TinyDegId, WireDegId, MarkerDegId, BBoxDegId };
24
25public:
26 ShapeDlg( QWidget* parent, Handle(V3d_View)&, Handle(AIS_InteractiveContext)& );
27 virtual ~ShapeDlg();
28
29private slots:
30 void onOk();
31 void onCancel();
32 void onHelp();
33 void onRadiusChanged( double );
34 void onItemsChanged( int );
35 void onPanesChanged( int );
36 void onDeflectionChanged( double );
37 void onText();
38 void onPositionChanged();
39protected:
40 void closeEvent ( QCloseEvent* );
41 void showEvent ( QShowEvent* );
42
43private:
44 void updateSphere();
45
46private:
47 /* ----- common section ----- */
48 Handle_V3d_View myView;
49 Handle_AIS_InteractiveContext myContext;
50 Handle_Sphere_Sphere myShape;
51 double myRadius;
52 double myDeflection;
53 int myNbPanes;
54 int myNbItems;
55 QDoubleSpinBox* myDefSpin;
56 QSpinBox* myPanesSpin;
57 QSpinBox* myItemsSpin;
58 QDoubleSpinBox* myXSpin;
59 QDoubleSpinBox* myYSpin;
60 QDoubleSpinBox* myZSpin;
61 QCheckBox* myVNormal;
62 QCheckBox* myVColor;
63 QCheckBox* myVTexel;
64 QCheckBox* myText;
65};
66
67#endif