55
|
1 |
/****************************************************************************
|
|
2 |
**
|
|
3 |
** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
|
|
4 |
** All rights reserved.
|
|
5 |
** Contact: Nokia Corporation (developer.feedback@nokia.com)
|
|
6 |
**
|
|
7 |
** This file is part of the HbCore module of the UI Extensions for Mobile.
|
|
8 |
**
|
|
9 |
** GNU Lesser General Public License Usage
|
|
10 |
** This file may be used under the terms of the GNU Lesser General Public
|
|
11 |
** License version 2.1 as published by the Free Software Foundation and
|
|
12 |
** appearing in the file LICENSE.LGPL included in the packaging of this file.
|
|
13 |
** Please review the following information to ensure the GNU Lesser General
|
|
14 |
** Public License version 2.1 requirements will be met:
|
|
15 |
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
16 |
**
|
|
17 |
** In addition, as a special exception, Nokia gives you certain additional
|
|
18 |
** rights. These rights are described in the Nokia Qt LGPL Exception
|
|
19 |
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
20 |
**
|
|
21 |
** If you have questions regarding the use of this file, please contact
|
|
22 |
** Nokia at developer.feedback@nokia.com.
|
|
23 |
**
|
|
24 |
****************************************************************************/
|
|
25 |
|
|
26 |
#ifndef HBSTYLE_H
|
|
27 |
#define HBSTYLE_H
|
|
28 |
|
|
29 |
#include <hbglobal.h>
|
|
30 |
#include <QWindowsStyle>
|
|
31 |
#include <QGraphicsItem>
|
|
32 |
#include <QStyleOptionGraphicsItem>
|
|
33 |
#include <hbicon.h>
|
|
34 |
#include <hbdeviceprofile.h>
|
|
35 |
|
|
36 |
class HbStylePrivate;
|
|
37 |
class HbStyleParameters;
|
|
38 |
class HbStyleOption;
|
|
39 |
class HbWidgetBase;
|
|
40 |
class HbWidget;
|
|
41 |
class HbStyleParameters;
|
|
42 |
|
|
43 |
extern qreal param_value;
|
|
44 |
|
|
45 |
class HbStyle : public QObject
|
|
46 |
{
|
|
47 |
Q_OBJECT
|
|
48 |
public:
|
|
49 |
HbStyle();
|
|
50 |
~HbStyle();
|
|
51 |
|
|
52 |
// HbStyle::Primitive enums are DEPRECATED
|
|
53 |
enum Primitive
|
|
54 |
{
|
|
55 |
P_None,
|
|
56 |
P_PushButton_icon,
|
|
57 |
P_PushButton_text,
|
|
58 |
P_PushButton_additionaltext,
|
|
59 |
P_PushButton_background,
|
|
60 |
P_PushButton_toucharea,
|
|
61 |
P_PushButton_focus,
|
|
62 |
P_DataGroup_background,
|
|
63 |
P_DataGroupComboBackground,
|
|
64 |
P_DataGroup_heading,
|
|
65 |
P_DataGroup_description,
|
|
66 |
P_DataForm_heading,
|
|
67 |
P_DataForm_heading_background,
|
|
68 |
P_DataForm_description,
|
|
69 |
P_DataGroup_icon,
|
|
70 |
P_ToolButton_frame,
|
|
71 |
P_ToolButton_text,
|
|
72 |
P_ToolButton_icon,
|
|
73 |
P_Slider_thumb,
|
|
74 |
P_SliderElement_text,
|
|
75 |
P_SliderElement_icon,
|
|
76 |
P_SliderElement_increase,
|
|
77 |
P_SliderElement_decrease,
|
|
78 |
P_Slider_groove,
|
|
79 |
P_Slider_progressgroove,
|
|
80 |
P_ItemViewItem_checkbox,
|
|
81 |
P_ItemViewItem_radiobutton,
|
|
82 |
P_ItemViewItem_selection,
|
|
83 |
P_LineEdit_frame_normal,
|
|
84 |
P_LineEdit_frame_highlight,
|
|
85 |
P_TextEdit_frame_normal,
|
|
86 |
P_TextEdit_frame_highlight,
|
|
87 |
P_Edit_text,
|
|
88 |
P_Label_text,
|
|
89 |
P_Label_icon,
|
|
90 |
P_MenuItem_frame,
|
|
91 |
P_MenuItem_focus,
|
|
92 |
P_MenuItem_text,
|
|
93 |
P_MenuItem_submenuindicator,
|
|
94 |
P_MenuItem_checkindicator,
|
|
95 |
P_MenuItem_separator,
|
|
96 |
P_ScrollBar_groove,
|
|
97 |
P_ScrollBar_handle,
|
|
98 |
P_ScrollBar_toucharea,
|
|
99 |
P_Popup_background,
|
|
100 |
P_Popup_background_weak,
|
|
101 |
P_Popup_heading_frame,
|
|
102 |
P_ToolTip_background,
|
|
103 |
P_MessageBox_icon,
|
|
104 |
P_ItemViewItem_background,
|
|
105 |
P_ListViewItem_text,
|
|
106 |
P_ListViewItem_richtext,
|
|
107 |
P_ListViewItem_icon,
|
|
108 |
P_ItemHighlight_background,
|
|
109 |
P_ToolBarExtension_background,
|
|
110 |
P_GridViewItem_text,
|
|
111 |
P_GridViewItem_icon,
|
|
112 |
P_CheckBox_text,
|
|
113 |
P_CheckBox_icon,
|
|
114 |
P_CheckBox_toucharea,
|
|
115 |
P_Fade_background,
|
|
116 |
P_TitlePane_background,
|
|
117 |
P_TitlePane_text,
|
|
118 |
P_TitlePane_icon,
|
|
119 |
P_TitleBar_toucharea,
|
|
120 |
P_SignalIndicator_icon,
|
|
121 |
P_SignalLevel_background,
|
|
122 |
P_SignalLevel_icon,
|
|
123 |
P_BatteryIndicator_icon,
|
|
124 |
P_BatteryLevel_background,
|
|
125 |
P_BatteryLevel_icon,
|
|
126 |
P_IndicatorGroup_icon1,
|
|
127 |
P_IndicatorGroup_icon2,
|
|
128 |
P_IndicatorGroup_icon3,
|
|
129 |
P_IndicatorGroup_icon4,
|
|
130 |
P_ProgressBar_frame,
|
|
131 |
P_ProgressBar_track,
|
|
132 |
P_ProgressBar_waittrack,
|
|
133 |
P_ProgressBar_mintext,
|
|
134 |
P_ProgressBar_maxtext,
|
|
135 |
P_NavigationButton_background,
|
|
136 |
P_IndicatorButton_background,
|
|
137 |
P_IndicatorButton_handleindication,
|
|
138 |
P_ItemViewItem_frame,
|
|
139 |
P_SelectionControl_selectionstart,
|
|
140 |
P_SelectionControl_selectionend,
|
|
141 |
P_TreeViewItem_expandicon,
|
|
142 |
P_Label_richtext,
|
|
143 |
P_RatingSlider_track,
|
|
144 |
P_RatingSlider_frame,
|
|
145 |
P_RatingSlider_toucharea,
|
|
146 |
P_ProgressSlider_frame,
|
|
147 |
P_ProgressSlider_track,
|
|
148 |
P_ProgressSlider_slidertrack,
|
|
149 |
P_ProgressSlider_toucharea,
|
|
150 |
P_ProgressSliderHandle_background, // deprecated
|
|
151 |
P_ProgressSliderHandle_icon,
|
|
152 |
P_ProgressSliderHandle_toucharea,
|
|
153 |
P_RatingSlider_layout,
|
|
154 |
P_ScrollArea_continuationbottom,
|
|
155 |
P_ScrollArea_continuationtop,
|
|
156 |
P_ScrollArea_continuationleft,
|
|
157 |
P_ScrollArea_continuationright,
|
|
158 |
P_ItemViewItem_focus,
|
|
159 |
P_NotificationDialog_icon,
|
|
160 |
P_NotificationDialog_text,
|
|
161 |
P_NotificationDialog_title,
|
|
162 |
P_NotificationDialog_frame,
|
|
163 |
P_ComboBox_background,
|
|
164 |
P_ComboBoxPopup_background,
|
|
165 |
P_ComboBoxButton_toucharea,
|
|
166 |
P_ComboBox_text,
|
|
167 |
P_DataItem_background,
|
|
168 |
P_DataItem_separator,
|
|
169 |
P_ColorGridViewItem_colorIcon,
|
|
170 |
P_ColorGridViewItem_borderIcon,
|
|
171 |
P_ColorGridViewItem_checkIcon,
|
|
172 |
P_ComboBox_button,
|
|
173 |
P_ProgressDialog_icon,
|
|
174 |
P_ProgressDialog_text,
|
|
175 |
P_DataItem_label,
|
|
176 |
P_DataItem_description,
|
|
177 |
P_SliderElement_touchincrease,
|
|
178 |
P_SliderElement_touchdecrease,
|
|
179 |
P_SliderElement_touchhandle,
|
|
180 |
P_SliderElement_touchgroove,
|
|
181 |
P_SliderTickMark_majoricon,
|
|
182 |
P_SliderTickMark_minoricon,
|
|
183 |
P_SliderTickMark_majorlabel,
|
|
184 |
P_SliderTickMark_minorlabel,
|
|
185 |
P_QueryInputMode_image,
|
|
186 |
P_GroupBoxHeading_icon,
|
|
187 |
P_GroupBoxHeading_text,
|
|
188 |
P_GroupBoxMarquee_text,
|
|
189 |
P_GroupBoxHeading_background,
|
|
190 |
P_GroupBoxContent_background,
|
|
191 |
P_DataItem_icon,
|
|
192 |
P_ItemViewItem_touchmultiselection,
|
|
193 |
P_TumbleView_background,
|
|
194 |
P_TumbleView_frame,
|
|
195 |
P_TumbleView_highlight,
|
|
196 |
P_DateTimePicker_background,
|
|
197 |
P_DateTimePicker_frame,
|
|
198 |
P_DateTimePicker_separator,
|
|
199 |
P_IndexFeedback_popup_text,
|
|
200 |
P_IndexFeedback_popup_background,
|
|
201 |
P_SliderPopup_background,
|
|
202 |
P_StatusBar_background,
|
|
203 |
P_StatusBar_timetext,
|
|
204 |
P_InputDialog_text,
|
|
205 |
P_InputDialog_additionaltext,
|
|
206 |
P_Last, // Keep this always as the LAST item in the active primitives list!
|
|
207 |
|
|
208 |
P_Deprecated = 0x000f0000,
|
|
209 |
// Deprecated enumerations
|
|
210 |
// These are DEPRECATED, replace or remove from widget/app sources !!
|
|
211 |
P_ProgressBar_toucharea = P_ProgressSlider_toucharea, // DEPRECATED
|
|
212 |
P_ProgressBar_slidertrack = P_ProgressSlider_track, // DEPRECATED
|
|
213 |
P_ProgressSlider_handleicon = P_ProgressSliderHandle_icon, // DEPRECATED
|
|
214 |
P_InputDialog_additional_text = P_InputDialog_additionaltext, //deprecated
|
|
215 |
|
|
216 |
P_NotUsed = 0x00f00000,
|
|
217 |
P_MessageBox_text, //deprecated ,not used.
|
|
218 |
P_ProgressSlider_handle, // DEPRECATED, NOT USED
|
|
219 |
P_ProgressBar_text, // DEPRECATED, NOT USED
|
|
220 |
|
|
221 |
P_CustomBase = 0x0f000000
|
|
222 |
};
|
|
223 |
|
|
224 |
virtual QGraphicsItem *createPrimitive(HbStyle::Primitive primitive,
|
|
225 |
QGraphicsItem *parent = 0) const
|
|
226 |
{
|
|
227 |
Q_UNUSED(primitive);
|
|
228 |
Q_UNUSED(parent);
|
|
229 |
return 0;
|
|
230 |
}
|
|
231 |
virtual void updatePrimitive(QGraphicsItem *item,
|
|
232 |
HbStyle::Primitive primitive, const QStyleOption *option) const
|
|
233 |
{
|
|
234 |
Q_UNUSED(item);
|
|
235 |
Q_UNUSED(primitive);
|
|
236 |
Q_UNUSED(option);
|
|
237 |
}
|
|
238 |
|
|
239 |
int registerPlugin(const QString &pluginName)
|
|
240 |
{
|
|
241 |
Q_UNUSED(pluginName);
|
|
242 |
return 0;
|
|
243 |
}
|
|
244 |
void unregisterPlugin(const QString &pluginName)
|
|
245 |
{
|
|
246 |
Q_UNUSED(pluginName);
|
|
247 |
}
|
|
248 |
|
|
249 |
static void setItemName(QGraphicsItem *item, const QString &name)
|
|
250 |
{
|
|
251 |
Q_UNUSED(item);
|
|
252 |
Q_UNUSED(name);
|
|
253 |
}
|
|
254 |
static QString itemName(const QGraphicsItem *item)
|
|
255 |
{
|
|
256 |
Q_UNUSED(item);
|
|
257 |
return "";
|
|
258 |
}
|
|
259 |
|
|
260 |
bool parameter(const QString ¶m, qreal &value,
|
|
261 |
const HbDeviceProfile &profile = HbDeviceProfile()) const
|
|
262 |
{
|
|
263 |
Q_UNUSED(param);
|
|
264 |
Q_UNUSED(value);
|
|
265 |
Q_UNUSED(profile);
|
|
266 |
value = param_value;
|
|
267 |
return false;
|
|
268 |
}
|
|
269 |
void parameters(HbStyleParameters ¶ms,
|
|
270 |
const HbDeviceProfile &profile = HbDeviceProfile()) const
|
|
271 |
{
|
|
272 |
Q_UNUSED(params);
|
|
273 |
Q_UNUSED(profile);
|
|
274 |
}
|
|
275 |
|
|
276 |
void widgetParameters(HbStyleParameters ¶ms, HbWidget* widget) const
|
|
277 |
{
|
|
278 |
Q_UNUSED(params);
|
|
279 |
Q_UNUSED(widget);
|
|
280 |
}
|
|
281 |
|
|
282 |
protected:
|
|
283 |
|
|
284 |
virtual void polish(HbWidget *widget, HbStyleParameters ¶ms)
|
|
285 |
{
|
|
286 |
Q_UNUSED(params);
|
|
287 |
Q_UNUSED(widget);
|
|
288 |
}
|
|
289 |
virtual void updateThemedParams(HbWidget *widget)
|
|
290 |
{
|
|
291 |
Q_UNUSED(widget);
|
|
292 |
}
|
|
293 |
virtual bool hasOrientationSpecificStyleRules(HbWidget *widget)
|
|
294 |
{
|
|
295 |
Q_UNUSED(widget);
|
|
296 |
return false;
|
|
297 |
}
|
|
298 |
|
|
299 |
HbStyle(HbStylePrivate &dd, QStyle *parent)
|
|
300 |
{
|
|
301 |
Q_UNUSED(dd);
|
|
302 |
Q_UNUSED(parent);
|
|
303 |
}
|
|
304 |
|
|
305 |
};
|
|
306 |
|
|
307 |
#endif // HBSTYLE_H
|