src/hbwidgets/itemviews/hbabstractitemview_p.h
changeset 34 ed14f46c0e55
parent 2 06ff229162e9
equal deleted inserted replaced
31:7516d6d86cf5 34:ed14f46c0e55
    37 // We mean it.
    37 // We mean it.
    38 //
    38 //
    39 
    39 
    40 #include "hbabstractitemview.h"
    40 #include "hbabstractitemview.h"
    41 #include "hbscrollarea_p.h"
    41 #include "hbscrollarea_p.h"
       
    42 #include "hbemptyviewwidget_p.h"
    42 #include <hbeffect.h>
    43 #include <hbeffect.h>
    43 
    44 
    44 #include <QItemSelectionModel>
    45 #include <QItemSelectionModel>
    45 #include <QPointer>
    46 #include <QPointer>
    46 #include <QPersistentModelIndex>
    47 #include <QPersistentModelIndex>
    53 QT_END_NAMESPACE
    54 QT_END_NAMESPACE
    54 
    55 
    55 class HbAbstractItemContainer;
    56 class HbAbstractItemContainer;
    56 class HbAbstractViewItem;
    57 class HbAbstractViewItem;
    57 class HbModelIterator;
    58 class HbModelIterator;
       
    59 class HbPanGesture;
    58 
    60 
    59 class HbAbstractItemViewPrivate : public HbScrollAreaPrivate
    61 class HbAbstractItemViewPrivate : public HbScrollAreaPrivate
    60 {
    62 {
    61     Q_DECLARE_PUBLIC(HbAbstractItemView)
    63     Q_DECLARE_PUBLIC(HbAbstractItemView)
    62 
    64 
   123     void resetContainer();
   125     void resetContainer();
   124     void startAppearEffect(const QString &itemType, const QString &effectEvent, const QModelIndex &parent, int start, int end);
   126     void startAppearEffect(const QString &itemType, const QString &effectEvent, const QModelIndex &parent, int start, int end);
   125 
   127 
   126     virtual bool animationEnabled(bool insertOperation);
   128     virtual bool animationEnabled(bool insertOperation);
   127 
   129 
   128     virtual void ensureVisible(QPointF position, qreal xMargin, qreal yMargin);
   130     virtual void ensureVisible(const QPointF &position, qreal xMargin, qreal yMargin);
   129 
   131 
   130     void _q_modelDestroyed();
   132     void _q_modelDestroyed();
   131     void _q_animationEnabled();
   133     void _q_animationEnabled();
   132     void _q_animationFinished(const HbEffect::EffectStatus &status);
   134     void _q_animationFinished(const HbEffect::EffectStatus &status);
   133     void _q_scrolling(QPointF newPosition);
   135     void _q_scrolling(QPointF newPosition);
   134     void _q_scrollingEnded();
   136     void _q_scrollingEnded();
   135     void _q_scrollingStarted();
   137     void _q_scrollingStarted();
       
   138     void _q_itemAboutToBeDeleted(HbAbstractViewItem *item);
   136 
   139 
   137     void setContentPosition(qreal value, Qt::Orientation orientation, bool animate);
   140     void setContentPosition(qreal value, Qt::Orientation orientation, bool animate);
   138 
   141 
   139     virtual bool panTriggered(QGestureEvent *event);
   142     virtual bool panTriggered(QGestureEvent *event);
       
   143 
       
   144     int calculatePanningDirection(HbPanGesture *gesture);
       
   145     bool isBouncebackOngoing();
   140 
   146 
   141 public:
   147 public:
   142     QPersistentModelIndex mCurrentIndex;
   148     QPersistentModelIndex mCurrentIndex;
   143 
   149 
   144     HbAbstractItemView::SelectionMode mSelectionMode;
   150     HbAbstractItemView::SelectionMode mSelectionMode;
   176     bool mLongPressEnabled;
   182     bool mLongPressEnabled;
   177 
   183 
   178     bool mOrigFriction;
   184     bool mOrigFriction;
   179     bool mDoingContiguousSelection;
   185     bool mDoingContiguousSelection;
   180     QPointF mPositionInContiguousSelection;
   186     QPointF mPositionInContiguousSelection;
       
   187 
       
   188     bool mItemPixmapCacheEnabled;
       
   189 
       
   190     HbAbstractItemView::IconLoadPolicy mIconLoadPolicy;
       
   191 
       
   192     HbEmptyViewWidget *mEmptyView;
       
   193     int mPanningDirection;
       
   194     QPersistentModelIndex mStartSelectionIndex;
   181 
   195 
   182 private:
   196 private:
   183     static HbAbstractItemViewPrivate *d_ptr(HbAbstractItemView *abstractItemView) {
   197     static HbAbstractItemViewPrivate *d_ptr(HbAbstractItemView *abstractItemView) {
   184         Q_ASSERT(abstractItemView);
   198         Q_ASSERT(abstractItemView);
   185         return abstractItemView->d_func();
   199         return abstractItemView->d_func();
   186     }
   200     }
   187     friend class HbGridItemContainer;
   201     friend class HbGridItemContainer;
   188     friend class HbAbstractItemContainerPrivate;
   202     friend class HbAbstractItemContainerPrivate;
       
   203     friend class HbIndexFeedbackPrivate;
   189 };
   204 };
   190 
   205 
   191 
   206 
   192 Q_DECLARE_OPERATORS_FOR_FLAGS( HbAbstractItemViewPrivate::ItemViewOptions )
   207 Q_DECLARE_OPERATORS_FOR_FLAGS( HbAbstractItemViewPrivate::ItemViewOptions )
   193 Q_DECLARE_OPERATORS_FOR_FLAGS( HbAbstractItemViewPrivate::SelectionSettings )
   208 Q_DECLARE_OPERATORS_FOR_FLAGS( HbAbstractItemViewPrivate::SelectionSettings )