radioapp/radiowidgets/inc/radiostripbase.h
branchGCC_SURGE
changeset 37 451b2e1545b2
parent 19 afea38384506
parent 33 11b6825f0862
equal deleted inserted replaced
26:6bcf277166c1 37:451b2e1545b2
    27 
    27 
    28 // Class declaration
    28 // Class declaration
    29 class RadioStripBase : public HbScrollArea
    29 class RadioStripBase : public HbScrollArea
    30 {
    30 {
    31     Q_OBJECT
    31     Q_OBJECT
    32     Q_PROPERTY( int autoScrollTime READ autoScrollTime WRITE setAutoScrollTime )
    32     Q_PROPERTY(int autoScrollTime READ autoScrollTime WRITE setAutoScrollTime)
    33 
    33 
    34 public:
    34 public:
    35 
    35 
    36     virtual ~RadioStripBase();
    36     virtual ~RadioStripBase();
    37 
    37 
    40 
    40 
    41     void setModel( QAbstractItemModel* model );
    41     void setModel( QAbstractItemModel* model );
    42     QAbstractItemModel* model() const;
    42     QAbstractItemModel* model() const;
    43 
    43 
    44     void setCyclic( bool isCyclic );
    44     void setCyclic( bool isCyclic );
    45     void setSpacing( qreal spacing );
    45     void setOverlap( qreal overlap );
    46     void setAutoCenter( bool autoCenter );
    46     void setAutoCenter( bool autoCenter );
    47     void setItemSize( const QSizeF& size );
    47     void setItemSize( const QSizeF& size );
    48     void setIndex( int index, bool animateToCenter );
    48     void setIndex( int index, bool animateToCenter );
    49 
    49 
    50 protected:
    50 protected:
    58 // from base class QGraphicsItem
    58 // from base class QGraphicsItem
    59 
    59 
    60     void mousePressEvent( QGraphicsSceneMouseEvent* event );
    60     void mousePressEvent( QGraphicsSceneMouseEvent* event );
    61     void mouseReleaseEvent( QGraphicsSceneMouseEvent* event );
    61     void mouseReleaseEvent( QGraphicsSceneMouseEvent* event );
    62 
    62 
    63 private slots:
       
    64 
       
    65     void scrollPositionChanged( QPointF newPosition );
       
    66 
       
    67 private:
    63 private:
    68 
    64 
    69     Q_DISABLE_COPY( RadioStripBase )
    65     Q_DISABLE_COPY( RadioStripBase )
    70 
    66 
       
    67 // from base class HbScrollArea
       
    68 
       
    69     bool scrollByAmount( const QPointF& delta );
       
    70 
    71     virtual void updateItemPrimitive( QGraphicsItem* itemToUpdate, int itemIndex ) = 0;
    71     virtual void updateItemPrimitive( QGraphicsItem* itemToUpdate, int itemIndex ) = 0;
    72     virtual QGraphicsItem* createItemPrimitive( QGraphicsItem *parent ) = 0;
    72     virtual QGraphicsItem* createItemPrimitive( QGraphicsItem *parent ) = 0;
    73 
    73 
    74     virtual void scrollPosChanged( QPointF newPosition ) = 0;
    74     virtual void scrollPosChanged() = 0;
    75 
    75 
    76     void moveAllItemsToPool();
    76     void moveAllItemsToPool();
    77 
    77 
    78     void populateAndLayout();
    78     void populateAndLayout();
    79 
    79 
   102     QAbstractItemModel*     mModel;
   102     QAbstractItemModel*     mModel;
   103 
   103 
   104     bool                    mIsCyclic;
   104     bool                    mIsCyclic;
   105     bool                    mAutoCenter;
   105     bool                    mAutoCenter;
   106 
   106 
   107     qreal                   mSpacing;
   107     qreal                   mOverlap;
   108 
   108 
   109     QSizeF                  mItemSize;
   109     QSizeF                  mItemSize;
   110 
   110 
   111     QList<QGraphicsItem*>   mItemPool;
   111     QList<QGraphicsItem*>   mItemPool;
   112     QGraphicsWidget*        mItemPoolParent;
   112     QGraphicsWidget*        mItemPoolParent;