--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qhbstyle/qhbstyle_p.h Mon May 03 13:18:40 2010 +0300
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, version 2.1 of the License.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not,
+* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
+*
+* Description:
+*
+*/
+#ifndef QHBSTYLE_P_H
+#define QHBSTYLE_P_H
+
+#include "qhbstyle.h"
+
+#ifndef QT_NO_STYLE_HB
+
+QT_BEGIN_NAMESPACE
+
+class HbStyle;
+class QParallelAnimationGroup;
+
+enum Item {
+ SP_Arrow,
+ SP_BoxButton,
+ SP_CheckBoxIndicator,
+ SP_CurrentFolderIcon,
+ SP_ErasedNoteIcon,
+ SP_ErrorNoteIcon,
+ SP_HeaderOrderIndicator,
+ SP_InfoNoteIcon,
+ SP_ItemDecoration,
+ SP_LargeMemoryCardIcon,
+ SP_MenuIndicator,
+ SP_MenuSeparator,
+ SP_NewSmallFolderIcon,
+ SP_OkNoteIcon,
+ SP_QueryNoteIcon,
+ SP_RadioButtonIndicator,
+ SP_SelectedIndicator,
+ SP_SeparatorLine,
+ SP_SliderHandle,
+ SP_SliderTick,
+ SP_SmallFileIcon,
+ SP_SmallFolderIcon,
+ SP_SubMenuIndicator,
+ SP_TreeViewCollapsed,
+ SP_TreeViewExpanded,
+ SP_WarningNoteIcon,
+};
+
+enum MultiPartItem {
+ SM_BoxFrame,
+ SM_Dialog,
+ SM_GroupBox,
+ SM_GroupBoxTitle,
+ SM_HeaderItem,
+ SM_ItemViewHighlight,
+ SM_ItemViewItem,
+ SM_LineEdit,
+ SM_ListParent,
+ SM_Menu,
+ SM_MenuItem,
+ SM_MenuScroller,
+ SM_Panel,
+ SM_ProgressBarGroove,
+ SM_ProgressBarIndicator,
+ SM_PushButton,
+ SM_ScrollBarGroove,
+ SM_ScrollBarHandle,
+ SM_SliderGroove,
+ SM_SliderProgress,
+ SM_TableItem,
+ SM_TabShape,
+ SM_TextEdit, //todo: or combine this and SM_LineEdit to "SM_TextEditor"?
+ SM_ThemeBackground,
+ SM_ToolBar,
+ SM_ToolBarButton,
+ SM_ToolButton,
+ SM_ToolTip,
+};
+
+enum ItemState {
+ SS_Active = 0x000001, // "On"
+ SS_Inactive = 0x000002, // "Off"
+ SS_Pressed = 0x000004,
+ SS_Latched = 0x000008, // similar to SS_Pressed, but state remains ("toggled")
+ SS_Disabled = 0x000010,
+ SS_Filled = 0x000020,
+ SS_Horizontal = 0x000040,
+ SS_Vertical = 0x000080,
+ SS_Selected = 0x000100, // item is selected (not necessarily focused)
+ SS_Beginning = 0x000200, // beginning part of multipart item
+ SS_Middle = 0x000400, // middle part of multipart item
+ SS_End = 0x000800, // end part of multipart item
+ SS_Flipped = 0x001000, // 180 degree rotation
+ SS_Mirrored = 0x002000, // graphic is drawn mirrored
+ SS_Down = 0x004000,
+ SS_Up = 0x008000,
+ SS_Left = 0x010000,
+ SS_Right = 0x020000,
+ SS_RotatedRight = 0x040000,
+ SS_RotatedLeft = 0x080000,
+ SS_Edited = 0x100000,
+ SS_Alternate = 0x200000,
+ SS_Focused = 0x400000 // item is focused (not necessarily selected)
+};
+
+Q_DECLARE_FLAGS(ItemStates, ItemState)
+
+class QHbStylePrivate //: public QObjectPrivate
+{
+ //Q_DECLARE_PUBLIC(QHbStyle)
+
+public:
+ QHbStylePrivate();
+
+ virtual ~QHbStylePrivate();
+
+ //Call HbStyle styleManager to avoid name confusion
+ HbStyle* styleManager();
+ void setStyleManager(HbStyle* style);
+
+ QParallelAnimationGroup* animationGroup();
+
+ //These return true if drawing was done by the style successfully.
+ bool drawItem(Item part, QPainter *painter, const QRect &rect, ItemStates state = ItemStates(SS_Active | SS_Horizontal), const QColor &color = QColor(QColor::Invalid));
+ bool drawMultiPartItem(MultiPartItem multiPart, QPainter *painter, const QRect &rect, ItemStates state = ItemStates(SS_Active | SS_Horizontal));
+
+ bool isDialog(const QWidget *widget);
+ bool hbParameter(const QString ¶meterName, int &value);
+ void polishFont(QWidget *widget);
+
+private:
+ HbStyle *m_styleManager;
+ HbFrameDrawer *m_frameDrawer;
+ QParallelAnimationGroup* m_animationGroup;
+
+ //QHbStyle *q_ptr;
+};
+
+QT_END_NAMESPACE
+
+#endif // QT_NO_STYLE_HB
+
+#endif //QHBSTYLE_P_H