@@ -95,13 +95,6 Window::Window(QWidget* parent) : | |||
|
95 | 95 | baseLayout->addItem(settingsLayout, 0, 3, 2, 1); |
|
96 | 96 | //create charts |
|
97 | 97 | |
|
98 | int i = m_widgetHash.count(); | |
|
99 | foreach(QGraphicsProxyWidget* widget , m_widgetHash) { | |
|
100 | widget->setZValue(i--); | |
|
101 | widget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); | |
|
102 | } | |
|
103 | ||
|
104 | ||
|
105 | 98 | Charts::ChartList list = Charts::chartList(); |
|
106 | 99 | |
|
107 | 100 | for(int i = 0 ; i < 6 ; ++i) |
@@ -133,13 +126,13 Window::~Window() | |||
|
133 | 126 | |
|
134 | 127 | void Window::connectSignals() |
|
135 | 128 | { |
|
136 | connect(m_themeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); | |
|
137 | connect(m_antialiasCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); | |
|
138 | connect(m_openGLCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); | |
|
139 | connect(m_zoomCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); | |
|
140 | connect(m_scrollCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); | |
|
141 | connect(m_animatedComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); | |
|
142 | connect(m_legendComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); | |
|
129 | QObject::connect(m_themeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); | |
|
130 | QObject::connect(m_antialiasCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); | |
|
131 | QObject::connect(m_openGLCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); | |
|
132 | QObject::connect(m_zoomCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); | |
|
133 | QObject::connect(m_scrollCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateUI())); | |
|
134 | QObject::connect(m_animatedComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); | |
|
135 | QObject::connect(m_legendComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateUI())); | |
|
143 | 136 | } |
|
144 | 137 | |
|
145 | 138 | DataTable Window::generateRandomData(int listCount, int valueMax, int valueCount) const |
@@ -188,10 +181,10 void Window::createProxyWidgets() | |||
|
188 | 181 | m_widgetHash["scrollCheckBox"] = m_scene->addWidget(m_scrollCheckBox); |
|
189 | 182 | } |
|
190 | 183 | |
|
191 |
QComboBox* Window::createThemeBox() |
|
|
184 | QComboBox* Window::createThemeBox() | |
|
192 | 185 | { |
|
193 | 186 | // settings layoutQGLWidgetβ |
|
194 |
QComboBox* themeComboBox = new |
|
|
187 | QComboBox* themeComboBox = new ComboBox(this); | |
|
195 | 188 | themeComboBox->addItem("Light", QChart::ChartThemeLight); |
|
196 | 189 | themeComboBox->addItem("Blue Cerulean", QChart::ChartThemeBlueCerulean); |
|
197 | 190 | themeComboBox->addItem("Dark", QChart::ChartThemeDark); |
@@ -202,10 +195,10 QComboBox* Window::createThemeBox() const | |||
|
202 | 195 | return themeComboBox; |
|
203 | 196 | } |
|
204 | 197 | |
|
205 |
QComboBox* Window::createAnimationBox() |
|
|
198 | QComboBox* Window::createAnimationBox() | |
|
206 | 199 | { |
|
207 | 200 | // settings layout |
|
208 |
QComboBox* animationComboBox = new |
|
|
201 | QComboBox* animationComboBox = new ComboBox(this); | |
|
209 | 202 | animationComboBox->addItem("No Animations", QChart::NoAnimation); |
|
210 | 203 | animationComboBox->addItem("GridAxis Animations", QChart::GridAxisAnimations); |
|
211 | 204 | animationComboBox->addItem("Series Animations", QChart::SeriesAnimations); |
@@ -213,9 +206,9 QComboBox* Window::createAnimationBox() const | |||
|
213 | 206 | return animationComboBox; |
|
214 | 207 | } |
|
215 | 208 | |
|
216 |
QComboBox* Window::createLegendBox() |
|
|
209 | QComboBox* Window::createLegendBox() | |
|
217 | 210 | { |
|
218 |
QComboBox* legendComboBox = new |
|
|
211 | QComboBox* legendComboBox = new ComboBox(this); | |
|
219 | 212 | legendComboBox->addItem("No Legend ", 0); |
|
220 | 213 | legendComboBox->addItem("Legend Top", Qt::AlignTop); |
|
221 | 214 | legendComboBox->addItem("Legend Bottom", Qt::AlignBottom); |
@@ -428,3 +421,13 void Window::mouseReleaseEvent(QMouseEvent *event) | |||
|
428 | 421 | } |
|
429 | 422 | } |
|
430 | 423 | } |
|
424 | ||
|
425 | void Window::comboBoxFocused(QComboBox *combobox) | |
|
426 | { | |
|
427 | foreach(QGraphicsProxyWidget* widget , m_widgetHash) { | |
|
428 | if(widget->widget()==combobox) | |
|
429 | widget->setZValue(2.0); | |
|
430 | else | |
|
431 | widget->setZValue(0.0); | |
|
432 | } | |
|
433 | } |
@@ -23,8 +23,8 | |||
|
23 | 23 | #include <QMainWindow> |
|
24 | 24 | #include <QChartGlobal> |
|
25 | 25 | #include <QHash> |
|
26 | #include <QComboBox> | |
|
26 | 27 | |
|
27 | class QComboBox; | |
|
28 | 28 | class QCheckBox; |
|
29 | 29 | class QGraphicsRectItem; |
|
30 | 30 | class QGraphicsScene; |
@@ -41,6 +41,7 typedef QList<DataList> DataTable; | |||
|
41 | 41 | |
|
42 | 42 | QTCOMMERCIALCHART_USE_NAMESPACE |
|
43 | 43 | |
|
44 | ||
|
44 | 45 | class Window: public QMainWindow |
|
45 | 46 | { |
|
46 | 47 | Q_OBJECT |
@@ -54,11 +55,12 private Q_SLOTS: | |||
|
54 | 55 | |
|
55 | 56 | private: |
|
56 | 57 | DataTable generateRandomData(int listCount,int valueMax,int valueCount) const; |
|
57 |
QComboBox* createThemeBox() |
|
|
58 |
QComboBox* createAnimationBox() |
|
|
59 |
QComboBox* createLegendBox() |
|
|
58 | QComboBox* createThemeBox(); | |
|
59 | QComboBox* createAnimationBox(); | |
|
60 | QComboBox* createLegendBox(); | |
|
60 | 61 | void connectSignals(); |
|
61 | 62 | void createProxyWidgets(); |
|
63 | void comboBoxFocused(QComboBox *combox); | |
|
62 | 64 | |
|
63 | 65 | protected: |
|
64 | 66 | void mousePressEvent(QMouseEvent *event); |
@@ -91,6 +93,24 private: | |||
|
91 | 93 | bool m_isZooming; |
|
92 | 94 | bool m_scroll; |
|
93 | 95 | bool m_zoom; |
|
96 | ||
|
97 | friend class ComboBox; | |
|
98 | }; | |
|
99 | ||
|
100 | class ComboBox: public QComboBox | |
|
101 | { | |
|
102 | public: | |
|
103 | ComboBox(Window* window,QWidget *parent = 0):QComboBox(parent),m_window(window) | |
|
104 | {} | |
|
105 | ||
|
106 | protected: | |
|
107 | void focusInEvent(QFocusEvent *e) | |
|
108 | { | |
|
109 | QComboBox::focusInEvent(e); | |
|
110 | m_window->comboBoxFocused(this); | |
|
111 | } | |
|
112 | private: | |
|
113 | Window* m_window; | |
|
94 | 114 | }; |
|
95 | 115 | |
|
96 | 116 | #endif |
General Comments 0
You need to be logged in to leave comments.
Login now