Source Code (Use browser search to find items of interest.)

Class Index

amor'AmorListBoxItem (./kdetoys/amor/amordialog.h:69)

class AmorListBoxItem : public QListBoxItem
{
public:
    AmorListBoxItem(const char *s, const QPixmap p)
        : QListBoxItem(), mPixmap(p)
        { setText(s); }

protected:
    virtual void paint(QPainter *);
    virtual int height(const QListBox *) const;
    virtual int width(const QListBox *) const;
    virtual const QPixmap *pixmap() { return &mPixmap; }

private:
    QPixmap mPixmap;
};

amor'AmorListBoxItem::paint() (./kdetoys/amor/amordialog.cpp:282)

void AmorListBoxItem::paint( QPainter *p )
{
    p->drawPixmap( 3, 0, mPixmap );
    QFontMetrics fm = p->fontMetrics();
    int yPos;                       // vertical text position
    if ( mPixmap.height() < fm.height() )
        yPos = fm.ascent() + fm.leading()/2;
    else
        yPos = mPixmap.height()/2 - fm.height()/2 + fm.ascent();
    p->drawText( mPixmap.width() + 5, yPos, text() );
}


amor'AmorListBoxItem::height() (./kdetoys/amor/amordialog.cpp:294)

int AmorListBoxItem::height(const QListBox *lb ) const
{
    return QMAX( mPixmap.height(), lb->fontMetrics().lineSpacing() + 1 );
}


amor'AmorListBoxItem::width() (./kdetoys/amor/amordialog.cpp:299)

int AmorListBoxItem::width(const QListBox *lb ) const
{
    return mPixmap.width() + lb->fontMetrics().width( text() ) + 6;
}