src/hbwidgets/itemviews/hblistviewitem_p.h
changeset 21 4633027730f5
parent 2 06ff229162e9
child 30 80e4d18b72f5
equal deleted inserted replaced
7:923ff622b8b9 21:4633027730f5
    25 
    25 
    26 #ifndef HBLISTVIEWITEMPRIVATE_H
    26 #ifndef HBLISTVIEWITEMPRIVATE_H
    27 #define HBLISTVIEWITEMPRIVATE_H
    27 #define HBLISTVIEWITEMPRIVATE_H
    28 
    28 
    29 #include <hbmainwindow.h>
    29 #include <hbmainwindow.h>
       
    30 #include <hbstyleoptionlistviewitem_p.h>
    30 
    31 
    31 #include "hblistviewitem.h"
    32 #include "hblistviewitem.h"
    32 #include "hbabstractviewitem_p.h"
    33 #include "hbabstractviewitem_p.h"
    33 #include "hbabstractitemview.h"
    34 #include "hbabstractitemview.h"
    34 
    35 
    35 class HbStyleOptionListViewItem;
       
    36 
       
    37 class QGraphicsItem;
    36 class QGraphicsItem;
    38 
    37 
    39 class HbListViewItemShared : public HbAbstractViewItemShared
    38 class HbListViewItemShared : public HbAbstractViewItemShared
    40 {
    39 {
    41     public:
    40 public:
    42 
    41 
    43         HbListViewItemShared() :
    42     HbListViewItemShared() :
    44             HbAbstractViewItemShared(),
    43         HbAbstractViewItemShared(),
    45             mTextFormat(Qt::PlainText),
    44         mTextFormat(Qt::PlainText),
    46             mStretchingStyle(HbListViewItem::NoStretching),
    45         mStretchingStyle(HbListViewItem::NoStretching),
    47             mGraphicsSize(HbListViewItem::MediumIcon),
    46         mGraphicsSize(HbListViewItem::MediumIcon),
    48             mMinimumSecondaryTextRowCount(-1),
    47         mMinimumSecondaryTextRowCount(-1),
    49             mMaximumSecondaryTextRowCount(-1)
    48         mMaximumSecondaryTextRowCount(-1),
    50         {
    49         mListStyleOption(0)
    51         }
    50     {
       
    51         mListStyleOption = new HbStyleOptionListViewItem;
       
    52     }
    52 
    53 
    53         Qt::TextFormat    mTextFormat;
    54     ~HbListViewItemShared()
    54         HbListViewItem::StretchingStyle mStretchingStyle;
    55     {
    55         HbListViewItem::GraphicsSize mGraphicsSize;
    56         delete mListStyleOption;
    56         int mMinimumSecondaryTextRowCount;
    57     }
    57         int mMaximumSecondaryTextRowCount;
    58 
       
    59 
       
    60 public:
       
    61 
       
    62     Qt::TextFormat    mTextFormat;
       
    63     HbListViewItem::StretchingStyle mStretchingStyle;
       
    64     HbListViewItem::GraphicsSize mGraphicsSize;
       
    65     int mMinimumSecondaryTextRowCount;
       
    66     int mMaximumSecondaryTextRowCount;
       
    67     HbStyleOptionListViewItem *mListStyleOption;
    58 };
    68 };
    59 
    69 
    60 class HbListViewItemPrivate : public HbAbstractViewItemPrivate
    70 class HbListViewItemPrivate : public HbAbstractViewItemPrivate
    61 {
    71 {
    62     Q_DECLARE_PUBLIC(HbListViewItem)
    72     Q_DECLARE_PUBLIC(HbListViewItem)
    78     void setDecorationRole(const QVariant &value,
    88     void setDecorationRole(const QVariant &value,
    79                            const int index);
    89                            const int index);
    80     void setDisplayRole(const QString &value,
    90     void setDisplayRole(const QString &value,
    81                         const int index);
    91                         const int index);
    82 
    92 
    83     inline HbStyle::Primitive displayPrimitive() const {
    93     inline HbStylePrivate::Primitive displayPrimitive() const {
    84         HbStyle::Primitive primitive = HbStyle::P_ListViewItem_text;
    94         HbStylePrivate::Primitive primitive = HbStylePrivate::P_ListViewItem_text;
    85         const HbListViewItemShared *sd = static_cast<const HbListViewItemShared *>(mSharedData.constData());
    95         const HbListViewItemShared *sd = static_cast<const HbListViewItemShared *>(mSharedData.constData());
    86 
    96 
    87         if (sd->mTextFormat != Qt::PlainText) {
    97         if (sd->mTextFormat != Qt::PlainText) {
    88             primitive = HbStyle::P_ListViewItem_richtext;
    98             primitive = HbStylePrivate::P_ListViewItem_richtext;
    89         }
    99         }
    90         return primitive;
   100         return primitive;
    91     }
   101     }
    92 
   102 
    93     inline bool isLandscape() const {
   103     inline bool isLandscape() const {
    99         }
   109         }
   100         return false;
   110         return false;
   101     }
   111     }
   102 
   112 
   103     inline bool isStretching() const {
   113     inline bool isStretching() const {
   104         if (    isLandscape()
   114         if (static_cast<const HbListViewItemShared*>(mSharedData.constData())->mStretchingStyle == HbListViewItem::StretchLandscape
   105             &&  static_cast<const HbListViewItemShared*>(mSharedData.constData())->mStretchingStyle == HbListViewItem::StretchLandscape) {
   115             && isLandscape()) {
   106             return true;
   116             return true;
   107         }
   117         }
   108         return false;
   118         return false;
   109     }
   119     }
   110 
   120 
   113         return !(   graphicsSize == HbListViewItem::Thumbnail
   123         return !(   graphicsSize == HbListViewItem::Thumbnail
   114                 ||  graphicsSize == HbListViewItem::WideThumbnail
   124                 ||  graphicsSize == HbListViewItem::WideThumbnail
   115                 ||  isStretching()); 
   125                 ||  isStretching()); 
   116     }
   126     }
   117 
   127 
   118     inline HbStyle::Primitive decorationPrimitive(const QVariant& decoration) {
   128     inline HbStylePrivate::Primitive decorationPrimitive(const QVariant& decoration) {
   119         HbStyle::Primitive primitive = HbStyle::P_None;
   129         HbStylePrivate::Primitive primitive = HbStylePrivate::P_None;
   120 
   130 
   121         if (decoration.isValid()) {
   131         if (decoration.isValid()) {
   122             if (decoration.canConvert<HbIcon>() || decoration.canConvert<QIcon>()) {
   132             if (decoration.canConvert<HbIcon>() || decoration.canConvert<QIcon>()) {
   123                 primitive = HbStyle::P_ListViewItem_icon;
   133                 primitive = HbStylePrivate::P_ListViewItem_icon;
   124             }
   134             }
   125         }
   135         }
   126         return primitive;
   136         return primitive;
   127     }
   137     }
   128 
   138