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>                             */
/*                                                                     */
/***********************************************************************/