src/hbwidgets/itemviews/hbabstractitemview.h
changeset 1 f7ac710697a9
parent 0 16d8024aca5e
child 2 06ff229162e9
equal deleted inserted replaced
0:16d8024aca5e 1:f7ac710697a9
    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     {
    72     {
    74     {
    73         None               = 0x00000,
    75         None               = 0x00000,
    74         Appear             = 0x00001,
    76         Appear             = 0x00001,
    75         Disappear          = 0x00002,
    77         Disappear          = 0x00002,
    76         TouchDown          = 0x00004,
    78         TouchDown          = 0x00004,
       
    79         Expand             = 0x00008,
       
    80         Collapse           = 0x00010,
    77         All                = 0xFFFFF
    81         All                = 0xFFFFF
    78     };
    82     };
    79 
    83 
    80     Q_DECLARE_FLAGS(ItemAnimations, ItemAnimation)
    84     Q_DECLARE_FLAGS(ItemAnimations, ItemAnimation)
    81 
    85 
   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)