comparison examples/opengl/hellogl/window.d @ 357:9784459f0750

An attempt (failed due to optlink) to improve locality of declarations exported from QtD executables Q_CLASSINFO implementation Now Qtd can be built on Windows
author Max Samukha <maxter@spambox.com>
date Wed, 02 Jun 2010 19:38:05 +0300
parents 7a3c43424dca
children
comparison
equal deleted inserted replaced
356:12cec2d14e1c 357:9784459f0750
38 import qt.gui.QWidget; 38 import qt.gui.QWidget;
39 import qt.gui.QSlider; 39 import qt.gui.QSlider;
40 import qt.gui.QHBoxLayout; 40 import qt.gui.QHBoxLayout;
41 41
42 import glwidget; 42 import glwidget;
43 import std.stdio;
43 44
44 class Window : public QWidget 45 class Window : public QWidget
45 { 46 {
46 public: 47 public:
47 this() 48 this()
48 { 49 {
49 glWidget = new GLWidget; 50 glWidget = new GLWidget;
50 51
51 xSlider = createSlider(); 52 xSlider = createSlider();
52 ySlider = createSlider(); 53 ySlider = createSlider();
53 zSlider = createSlider(); 54 zSlider = createSlider();
54 55
55 connect(xSlider, "valueChanged", glWidget, "setXRotation"); 56 connect(xSlider, "valueChanged", glWidget, "setXRotation");
56 connect(glWidget, "xRotationChanged", xSlider, "setValue"); 57 connect(glWidget, "xRotationChanged", xSlider, "setValue");
57 connect(ySlider, "valueChanged", glWidget, "setYRotation"); 58 connect(ySlider, "valueChanged", glWidget, "setYRotation");
58 connect(glWidget, "yRotationChanged", ySlider, "setValue"); 59 connect(glWidget, "yRotationChanged", ySlider, "setValue");
59 connect(zSlider, "valueChanged", glWidget, "setZRotation"); 60 connect(zSlider, "valueChanged", glWidget, "setZRotation");
60 connect(glWidget, "zRotationChanged", zSlider, "setValue"); 61 connect(glWidget, "zRotationChanged", zSlider, "setValue");
61 62 writeln("connected");
63
62 QHBoxLayout mainLayout = new QHBoxLayout; 64 QHBoxLayout mainLayout = new QHBoxLayout;
63 mainLayout.addWidget(glWidget); 65 mainLayout.addWidget(glWidget);
64 mainLayout.addWidget(xSlider); 66 mainLayout.addWidget(xSlider);
65 mainLayout.addWidget(ySlider); 67 mainLayout.addWidget(ySlider);
66 mainLayout.addWidget(zSlider); 68 mainLayout.addWidget(zSlider);
67 setLayout(mainLayout); 69 setLayout(mainLayout);
68 70
69 xSlider.setValue(15 * 16); 71 xSlider.setValue(15 * 16);
70 ySlider.setValue(345 * 16); 72 ySlider.setValue(345 * 16);
71 zSlider.setValue(0 * 16); 73 zSlider.setValue(0 * 16);
72 setWindowTitle(tr("Hello GL")); 74 setWindowTitle(tr("Hello GL"));
73 } 75 }
74 76
75 private: 77 private:
76 QSlider createSlider() 78 QSlider createSlider()
77 { 79 {
78 auto slider = new QSlider(Qt.Vertical); 80 auto slider = new QSlider(Qt.Vertical);
79 slider.setRange(0, 360 * 16); 81 slider.setRange(0, 360 * 16);
81 slider.setPageStep(15 * 16); 83 slider.setPageStep(15 * 16);
82 slider.setTickInterval(15 * 16); 84 slider.setTickInterval(15 * 16);
83 slider.setTickPosition(QSlider.TicksRight); 85 slider.setTickPosition(QSlider.TicksRight);
84 return slider; 86 return slider;
85 } 87 }
86 88
87 GLWidget glWidget; 89 GLWidget glWidget;
88 QSlider xSlider; 90 QSlider xSlider;
89 QSlider ySlider; 91 QSlider ySlider;
90 QSlider zSlider; 92 QSlider zSlider;
91 93
92 mixin Q_OBJECT; 94 mixin Q_OBJECT;
93 } 95 }