src/hbcore/primitives/hbframeitem.cpp
changeset 5 627c4a0fd0e7
parent 1 f7ac710697a9
child 21 4633027730f5
equal deleted inserted replaced
3:11d3954df52a 5:627c4a0fd0e7
    28 #include "hbframedrawerpool_p.h"
    28 #include "hbframedrawerpool_p.h"
    29 #include <QPainter>
    29 #include <QPainter>
    30 #include <QGraphicsWidget>
    30 #include <QGraphicsWidget>
    31 
    31 
    32 /*!
    32 /*!
    33 	@stable
    33     @stable
    34     @hbcore
    34     @hbcore
    35     \class HbFrameItem
    35     \class HbFrameItem
    36     \brief A graphics item that draws a frame using the given HbFrameDrawer instance.
    36     \brief A graphics item that draws a frame using the given HbFrameDrawer instance.
    37     
    37 
    38     This class is not intended to be derived from.
    38     This class is not intended to be derived from.
    39 
    39 
    40     Example of how to create a graphics frame item and use it.
    40     Example of how to create a graphics frame item and use it.
    41 
    41 
    42     \dontinclude ultimatecodesnippet/ultimatecodesnippet.cpp
    42     \dontinclude ultimatecodesnippet/ultimatecodesnippet.cpp
    77 {
    77 {
    78     init();
    78     init();
    79 }
    79 }
    80 
    80 
    81 HbFrameItemPrivate::HbFrameItemPrivate(HbFrameItem *q, HbFrameDrawer *drawer)
    81 HbFrameItemPrivate::HbFrameItemPrivate(HbFrameItem *q, HbFrameDrawer *drawer)
    82     : item(q),        
    82     : item(q),
    83       frameDrawer(drawer)
    83       frameDrawer(drawer)
    84 {
    84 {
    85     init();
    85     init();
    86 }
    86 }
    87 
    87 
    99     destroyFrameDrawer();
    99     destroyFrameDrawer();
   100 }
   100 }
   101 
   101 
   102 void HbFrameItemPrivate::init()
   102 void HbFrameItemPrivate::init()
   103 {
   103 {
   104     item->setSizePolicy( QSizePolicy::Ignored, QSizePolicy::Ignored );
   104     item->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
   105 
   105 
   106     if ( QGraphicsWidget *parent = item->parentWidget() ) {
   106     if (QGraphicsWidget *parent = item->parentWidget()) {
   107         frameDrawer->setLayoutDirection(parent->layoutDirection());
   107         frameDrawer->setLayoutDirection(parent->layoutDirection());
   108     }
   108     }
   109 
   109 
   110     frameDrawer->setGraphicsItem(item);
   110     frameDrawer->setGraphicsItem(item);
   111 }
   111 }
   200     Q_UNUSED(widget);
   200     Q_UNUSED(widget);
   201 
   201 
   202     d->frameDrawer->paint(painter, boundingRect());
   202     d->frameDrawer->paint(painter, boundingRect());
   203 }
   203 }
   204 
   204 
   205  /*!
   205 /*!
   206     \reimp
   206    \reimp
   207  */
   207 */
   208 void HbFrameItem::changeEvent(QEvent *event)
   208 void HbFrameItem::changeEvent(QEvent *event)
   209 {
   209 {
   210     if ( event->type() == QEvent::LayoutDirectionChange ) {
   210     if (event->type() == QEvent::LayoutDirectionChange) {
   211         if ( QGraphicsWidget *parent = parentWidget() ) {
   211         if (QGraphicsWidget *parent = parentWidget()) {
   212             d->frameDrawer->setLayoutDirection( parent->layoutDirection() );
   212             d->frameDrawer->setLayoutDirection(parent->layoutDirection());
   213         }
   213         }
   214     } else if ( event->type() == HbEvent::ThemeChanged ) {
   214     } else if (event->type() == HbEvent::ThemeChanged) {
   215         d->frameDrawer->themeChanged();
   215         d->frameDrawer->themeChanged();
   216     }
   216     }
   217 
   217 
   218     switch (event->type()) {
   218     switch (event->type()) {
   219         // suppress events (optimize)
   219         // suppress events (optimize)
   221     case QEvent::PaletteChange:
   221     case QEvent::PaletteChange:
   222     case QEvent::ParentChange:
   222     case QEvent::ParentChange:
   223         break;
   223         break;
   224     case QEvent::StyleChange: // flow through
   224     case QEvent::StyleChange: // flow through
   225     default:
   225     default:
   226         HbWidgetBase::changeEvent( event );
   226         HbWidgetBase::changeEvent(event);
   227         break;
   227         break;
   228     }
   228     }
   229 }
   229 }
   230 
   230 
   231 
   231 
   232 QSizeF HbFrameItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
   232 QSizeF HbFrameItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
   233 {
   233 {
   234     if (which == Qt::MinimumSize) {
   234     if (which == Qt::MinimumSize) {
   235         return QSizeF( 0, 0 );
   235         return QSizeF(0, 0);
   236     } else if (which == Qt::PreferredSize ) {
   236     } else if (which == Qt::PreferredSize) {
   237         return QSizeF( 0, 0 );
   237         return QSizeF(0, 0);
   238     } else {
   238     } else {
   239         return HbWidgetBase::sizeHint( which, constraint );
   239         return HbWidgetBase::sizeHint(which, constraint);
   240     }
   240     }
   241 }
   241 }
   242 
   242 
   243 
   243 
   244 // End of File
   244 // End of File