Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'KSplitListItem (./kdelibs/kdeui/kkeydialog.h:49)
class KSplitListItem : public QObject, public QListBoxItem
{
Q_OBJECT
public:
KSplitListItem( const QString& s , int _id = 0 );
~KSplitListItem () {};
int getId() { return id; }
protected:
virtual void paint( QPainter* );
virtual int height( const QListBox* ) const;
virtual int width( const QListBox* ) const;
public slots:
void setWidth( int newWidth );
protected:
int halfWidth;
QString keyName;
QString actionName;
int id;
private:
class KSplitListItemPrivate;
KSplitListItemPrivate *d;
};
/**
* A list box that can report its width to the items it
* contains. Thus it can be used for multi column lists etc.
*
* @short A list box capable of multi-columns
*/
kdelibs'KSplitListItem::KSplitListItem() (./kdelibs/kdeui/kkeydialog.cpp:59)
KSplitListItem::KSplitListItem( const QString& s, int _id )
: QListBoxItem()
{
id = _id;
setText( s );
QString str( s );
int i = str.find( ':' );
actionName = str.left( i );
actionName.simplifyWhiteSpace();
str.remove( 0, i+1 );
keyName = str.simplifyWhiteSpace();
halfWidth = 0;
}
kdelibs'KSplitListItem::setWidth() (./kdelibs/kdeui/kkeydialog.cpp:78)
void KSplitListItem::setWidth( int newWidth )
{
halfWidth = newWidth/2;
}
kdelibs'KSplitListItem::paint() (./kdelibs/kdeui/kkeydialog.cpp:83)
void KSplitListItem::paint( QPainter *p )
{
QFontMetrics fm = p->fontMetrics();
int yPos; // vertical text position
yPos = fm.ascent() + fm.leading()/2;
p->drawText( 5, yPos, actionName );
p->drawText( 5 + halfWidth, yPos, keyName );
}
kdelibs'KSplitListItem::height() (./kdelibs/kdeui/kkeydialog.cpp:92)
int KSplitListItem::height(const QListBox *lb ) const
{
return lb->fontMetrics().lineSpacing() + 1;
}
kdelibs'KSplitListItem::width() (./kdelibs/kdeui/kkeydialog.cpp:97)
int KSplitListItem::width(const QListBox *lb ) const
{
return lb->fontMetrics().width( text() ) + 6;
}
/***********************************************************************/
/* KSplitList */
/* */
/* Added by Mark Donohoe <donohoe@kde.org> */
/* */
/***********************************************************************/