29 #include "hbwidget_p.h" |
29 #include "hbwidget_p.h" |
30 |
30 |
31 #include "hbinputbuttongroup.h" |
31 #include "hbinputbuttongroup.h" |
32 #include "hbinputbutton.h" |
32 #include "hbinputbutton.h" |
33 |
33 |
|
34 class HbDialog; |
|
35 class QTextLine; |
|
36 class QTextLayout; |
|
37 |
34 class HB_INPUT_PRIVATE_EXPORT HbInputButtonGroupPrivate : public HbWidgetPrivate |
38 class HB_INPUT_PRIVATE_EXPORT HbInputButtonGroupPrivate : public HbWidgetPrivate |
35 { |
39 { |
36 Q_DECLARE_PUBLIC(HbInputButtonGroup) |
40 Q_DECLARE_PUBLIC(HbInputButtonGroup) |
37 |
41 |
38 public: |
42 public: |
39 |
|
40 enum HbInputButtonTextType { |
|
41 ButtonTextTypeSingle, |
|
42 ButtonTextTypePrimary, |
|
43 ButtonTextTypeSecondaryFirstRow, |
|
44 ButtonTextTypeSecondarySecondRow, |
|
45 ButtonTextTypeLabel |
|
46 }; |
|
47 |
|
48 HbInputButtonGroupPrivate(); |
43 HbInputButtonGroupPrivate(); |
49 ~HbInputButtonGroupPrivate(); |
44 ~HbInputButtonGroupPrivate(); |
50 |
45 |
51 virtual void updateGraphics(const QSizeF &size); |
46 virtual void updateGraphics(const QSizeF &size); |
52 virtual void updateTextLayouts(const QSizeF &size); |
47 virtual void updateTextLayouts(const QSizeF &size); |
53 virtual void updateCustomActions(); |
48 virtual void updateCustomActions(); |
54 virtual void updateButtonGrid(const QSizeF &size); |
49 virtual void updateButtonGrid(const QSizeF &size); |
55 virtual void updateColorArray(); |
50 virtual void updateColorArray(); |
56 |
51 |
57 virtual void showButtonPreview(HbInputButton * const item); |
52 virtual void showButtonPreview(HbInputButton *const item); |
58 virtual void hideButtonPreview(HbInputButton * const item); |
53 virtual void hideButtonPreview(HbInputButton *const item); |
59 virtual void showCharacterSelectionPreview(HbInputButton * const item); |
54 virtual void showCharacterSelectionPreview(HbInputButton *const item); |
60 |
55 |
61 virtual void pressEvent(const QPointF &position, bool emitSignal = true); |
56 virtual void pressEvent(const QPointF &position, bool emitSignal = true); |
62 virtual void doublePressEvent(const QPointF &position, bool emitSignal = true); |
57 virtual void doublePressEvent(const QPointF &position, bool emitSignal = true); |
63 virtual void moveEvent(const QPointF &oldPosition, const QPointF &newPosition); |
58 virtual void moveEvent(const QPointF &oldPosition, const QPointF &newPosition); |
64 virtual void releaseEvent(const QPointF &position, bool emitSignal = true); |
59 virtual void releaseEvent(const QPointF &position, bool emitSignal = true); |
71 protected: |
66 protected: |
72 virtual void createPrimarySingleTextLayout(int index, const QHash<int, QString> &textContent, const QSizeF &size); |
67 virtual void createPrimarySingleTextLayout(int index, const QHash<int, QString> &textContent, const QSizeF &size); |
73 virtual void createPrimaryTextLayout(int index, const QHash<int, QString> &textContent, const QSizeF &size); |
68 virtual void createPrimaryTextLayout(int index, const QHash<int, QString> &textContent, const QSizeF &size); |
74 virtual void createSecondaryTextLayout(int index, const QHash<int, QString> &textContentt, const QSizeF &size); |
69 virtual void createSecondaryTextLayout(int index, const QHash<int, QString> &textContentt, const QSizeF &size); |
75 |
70 |
76 virtual void layoutTextLine(HbInputButtonTextType textType, const HbInputButton *button, const QSizeF &cellSize, |
71 virtual void layoutTextLine(HbInputButtonGroup::HbInputButtonTextType textType, const HbInputButton *button, const QSizeF &cellSize, |
77 QTextLine &textLine, const QSizeF &textSize); |
72 QTextLine &textLine, const QSizeF &textSize); |
78 |
73 |
79 virtual QString buttonGraphics(HbInputButton::HbInputButtonType type, HbInputButton::HbInputButtonState state); |
74 virtual QString buttonGraphics(HbInputButton::HbInputButtonType type, HbInputButton::HbInputButtonState state); |
80 virtual QString buttonColor(HbInputButton::HbInputButtonType type, HbInputButton::HbInputButtonState state); |
75 virtual QString buttonColor(HbInputButton::HbInputButtonType type, HbInputButton::HbInputButtonState state); |
81 |
76 |
82 virtual qreal fontSize(HbInputButtonTextType textType); |
77 virtual qreal fontSize(HbInputButtonGroup::HbInputButtonTextType textType); |
83 |
78 |
84 void startLongPress(int index); |
79 void startLongPress(int index); |
85 void cancelLongPress(int index); |
80 void cancelLongPress(int index); |
86 |
81 |
87 public: |
82 public: |
88 qreal mUnitValue; |
83 qreal mUnitValue; |
89 QList<HbFrameDrawer*> mButtonDrawers; |
84 QList<HbFrameDrawer *> mButtonDrawers; |
90 QList<QTextLayout*> mTextLayouts; |
85 QList<QTextLayout *> mTextLayouts; |
91 QList<QColor> mColors; |
86 QList<QColor> mColors; |
92 QList<QTimer*> mLongPressTimers; |
87 QList<QTimer *> mLongPressTimers; |
93 QList<int> mLongPressButtons; |
88 QList<int> mLongPressButtons; |
94 QSize mGridSize; |
89 QSize mGridSize; |
95 QList<HbInputButton*> mButtonData; |
90 QList<HbInputButton *> mButtonData; |
96 QList<int> mUsedCustomButtons; |
91 QList<int> mUsedCustomButtons; |
97 QList<HbAction*> mCustomActions; |
92 QList<HbAction *> mCustomActions; |
98 QHash<QPair<int, int>, int> mButtonGridPositions; |
93 QHash<QPair<int, int>, int> mButtonGridPositions; |
99 qreal mButtonBorderSize; |
94 qreal mButtonBorderSize; |
100 bool mEnabled; |
95 bool mEnabled; |
101 bool mButtonPreviewEnabled; |
96 bool mButtonPreviewEnabled; |
102 bool mCharacterSelectionPreviewEnabled; |
97 bool mCharacterSelectionPreviewEnabled; |
103 bool mMultiTouchEnabled; |
98 bool mMultiTouchEnabled; |
104 QHash<int, HbInputButtonGroup*> mButtonPreview; |
99 QHash<int, HbInputButtonGroup *> mButtonPreview; |
105 HbDialog *mCharacterSelectionPreview; |
100 HbDialog *mCharacterSelectionPreview; |
106 HbFrameDrawer *mBackground; |
101 HbFrameDrawer *mBackground; |
107 QList<HbKeyPressProbability> mProbabilities; |
102 QList<HbKeyPressProbability> mProbabilities; |
108 }; |
103 }; |
109 |
104 |