32 |
32 |
33 #include <QItemSelectionModel> |
33 #include <QItemSelectionModel> |
34 |
34 |
35 class HbAbstractItemViewPrivate; |
35 class HbAbstractItemViewPrivate; |
36 class HbAbstractViewItem; |
36 class HbAbstractViewItem; |
|
37 class HbAbstractViewItemPrivate; |
37 class HbAbstractItemContainer; |
38 class HbAbstractItemContainer; |
38 class HbModelIterator; |
39 class HbModelIterator; |
39 |
40 |
40 class HB_WIDGETS_EXPORT HbAbstractItemView : public HbScrollArea |
41 class HB_WIDGETS_EXPORT HbAbstractItemView : public HbScrollArea |
41 { |
42 { |
47 Q_PROPERTY(bool itemRecycling READ itemRecycling WRITE setItemRecycling) |
48 Q_PROPERTY(bool itemRecycling READ itemRecycling WRITE setItemRecycling) |
48 Q_PROPERTY(SelectionMode selectionMode READ selectionMode WRITE setSelectionMode) |
49 Q_PROPERTY(SelectionMode selectionMode READ selectionMode WRITE setSelectionMode) |
49 Q_PROPERTY(QString layoutName READ layoutName WRITE setLayoutName) |
50 Q_PROPERTY(QString layoutName READ layoutName WRITE setLayoutName) |
50 Q_PROPERTY(bool uniformItemSizes READ uniformItemSizes WRITE setUniformItemSizes) |
51 Q_PROPERTY(bool uniformItemSizes READ uniformItemSizes WRITE setUniformItemSizes) |
51 Q_PROPERTY(ItemAnimations enabledAnimations READ enabledAnimations WRITE setEnabledAnimations) |
52 Q_PROPERTY(ItemAnimations enabledAnimations READ enabledAnimations WRITE setEnabledAnimations) |
|
53 Q_PROPERTY(bool longPressEnabled READ longPressEnabled WRITE setLongPressEnabled ) |
52 |
54 |
53 public: |
55 public: |
54 |
56 |
55 enum SelectionMode |
57 enum SelectionMode |
56 { |
58 { |
106 SelectionMode selectionMode() const; |
110 SelectionMode selectionMode() const; |
107 |
111 |
108 void setItemRecycling(bool enabled); |
112 void setItemRecycling(bool enabled); |
109 bool itemRecycling() const; |
113 bool itemRecycling() const; |
110 |
114 |
|
115 using HbScrollArea::isVisible; |
111 bool isVisible(const QModelIndex &index) const; |
116 bool isVisible(const QModelIndex &index) const; |
112 bool isVisible(HbAbstractViewItem *item) const; |
117 bool isVisible(HbAbstractViewItem *item) const; |
|
118 |
113 HbAbstractViewItem *currentViewItem() const; |
119 HbAbstractViewItem *currentViewItem() const; |
114 |
120 |
115 HbAbstractViewItem *itemByIndex(const QModelIndex &index) const; |
121 HbAbstractViewItem *itemByIndex(const QModelIndex &index) const; |
116 |
122 |
117 virtual void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) = 0; |
123 virtual void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) = 0; |
133 |
139 |
134 HbModelIterator *modelIterator() const; |
140 HbModelIterator *modelIterator() const; |
135 |
141 |
136 void setEnabledAnimations(ItemAnimations flags); |
142 void setEnabledAnimations(ItemAnimations flags); |
137 ItemAnimations enabledAnimations() const; |
143 ItemAnimations enabledAnimations() const; |
|
144 |
|
145 void setLongPressEnabled(bool enabled); |
|
146 bool longPressEnabled() const; |
138 |
147 |
139 public slots: |
148 public slots: |
140 void setCurrentIndex(const QModelIndex &index, |
149 void setCurrentIndex(const QModelIndex &index, |
141 QItemSelectionModel::SelectionFlags selectionFlag |
150 QItemSelectionModel::SelectionFlags selectionFlag |
142 = QItemSelectionModel::NoUpdate); |
151 = QItemSelectionModel::NoUpdate); |
162 QGraphicsItem *parent = 0); |
171 QGraphicsItem *parent = 0); |
163 virtual QItemSelectionModel::SelectionFlags selectionCommand( |
172 virtual QItemSelectionModel::SelectionFlags selectionCommand( |
164 const HbAbstractViewItem *item, |
173 const HbAbstractViewItem *item, |
165 const QEvent *event); |
174 const QEvent *event); |
166 bool event(QEvent *e); |
175 bool event(QEvent *e); |
167 void mousePressEvent(QGraphicsSceneMouseEvent *event); |
176 void gestureEvent(QGestureEvent *event); |
168 void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); |
|
169 void mouseMoveEvent(QGraphicsSceneMouseEvent *event); |
|
170 void focusOutEvent(QFocusEvent *event); |
|
171 |
|
172 virtual void upGesture(int value); |
|
173 virtual void downGesture(int value); |
|
174 virtual void leftGesture(int value); |
|
175 virtual void rightGesture(int value); |
|
176 |
177 |
177 virtual void emitActivated(const QModelIndex &modelIndex); |
178 virtual void emitActivated(const QModelIndex &modelIndex); |
178 virtual void emitPressed(const QModelIndex &modelIndex); |
179 virtual void emitPressed(const QModelIndex &modelIndex); |
179 virtual void emitReleased(const QModelIndex &modelIndex); |
180 virtual void emitReleased(const QModelIndex &modelIndex); |
180 |
181 |
205 virtual void columnsInserted(const QModelIndex &parent, int start, int end); |
206 virtual void columnsInserted(const QModelIndex &parent, int start, int end); |
206 |
207 |
207 virtual void columnsAboutToBeRemoved(const QModelIndex &index, int start, int end); |
208 virtual void columnsAboutToBeRemoved(const QModelIndex &index, int start, int end); |
208 virtual void columnsRemoved(const QModelIndex &parent, int start, int end); |
209 virtual void columnsRemoved(const QModelIndex &parent, int start, int end); |
209 |
210 |
210 virtual void panGesture(const QPointF &point); |
211 virtual void itemPressed(const QPointF &pos); |
211 virtual void longPressGesture(const QPointF &point); |
212 virtual void itemReleased(const QPointF &pos); |
|
213 virtual void itemActivated(const QPointF &pos); |
|
214 virtual void itemLongPressed(const QPointF &pos); |
|
215 |
|
216 virtual void itemCreated(HbAbstractViewItem *item); |
|
217 |
|
218 virtual void modelLayoutChanged(); |
212 |
219 |
213 private: |
220 private: |
214 Q_DECLARE_PRIVATE_D(d_ptr, HbAbstractItemView) |
221 Q_DECLARE_PRIVATE_D(d_ptr, HbAbstractItemView) |
215 Q_DISABLE_COPY(HbAbstractItemView) |
222 Q_DISABLE_COPY(HbAbstractItemView) |
216 Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed()) |
223 Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed()) |
217 Q_PRIVATE_SLOT(d_func(), void _q_layoutChanged()) |
|
218 Q_PRIVATE_SLOT(d_func(), void _q_animationEnabled()) |
224 Q_PRIVATE_SLOT(d_func(), void _q_animationEnabled()) |
219 Q_PRIVATE_SLOT(d_func(), void _q_animationFinished(const HbEffect::EffectStatus &status)) |
225 Q_PRIVATE_SLOT(d_func(), void _q_animationFinished(const HbEffect::EffectStatus &status)) |
|
226 Q_PRIVATE_SLOT(d_func(), void _q_scrolling(QPointF newPosition)) |
|
227 Q_PRIVATE_SLOT(d_func(), void _q_scrollingEnded()) |
|
228 Q_PRIVATE_SLOT(d_func(), void _q_scrollingStarted()) |
220 |
229 |
221 friend class HbAbstractItemContainer; |
230 friend class HbAbstractItemContainer; |
|
231 friend class HbAbstractViewItemPrivate; |
222 }; |
232 }; |
223 |
233 |
224 Q_DECLARE_METATYPE(HbAbstractItemView::SelectionMode) |
234 Q_DECLARE_METATYPE(HbAbstractItemView::SelectionMode) |
225 |
235 |
226 Q_DECLARE_OPERATORS_FOR_FLAGS(HbAbstractItemView::ItemAnimations) |
236 Q_DECLARE_OPERATORS_FOR_FLAGS(HbAbstractItemView::ItemAnimations) |