Source Code (Use browser search to find items of interest.)
Class Index
kdf'MyPopupMenu (./kdeutils/kdf/kwikdisk.h:62)
class MyPopupMenu : public QPopupMenu
{
Q_OBJECT
public:
MyPopupMenu(QWidget *parent=0, const char *name=0);
~MyPopupMenu( void );
void setToolTip(int id, const QString *text );
QRect itemRectangle( int id );
int activeIndex( void );
private slots:
void registerActiveItem( int id );
private:
int mCurrentId;
int mCurrentIndex;
MyToolTip *mToolTip;
QIntDict<QString> mToolTipStrings;
};
/***************************************************************/
kdf'MyPopupMenu::MyPopupMenu() (./kdeutils/kdf/kwikdisk.cpp:92)
MyPopupMenu::MyPopupMenu(QWidget *parent, const char *name)
: QPopupMenu(parent,name), mCurrentId(-1), mCurrentIndex(-1)
{
mToolTip = new MyToolTip(this);
mToolTipStrings.setAutoDelete(true);
connect(this,SIGNAL(highlighted(int)),this,SLOT(registerActiveItem(int)));
}
kdf'MyPopupMenu::~MyPopupMenu() (./kdeutils/kdf/kwikdisk.cpp:101)
MyPopupMenu::~MyPopupMenu( void )
{
delete mToolTip;
}
kdf'MyPopupMenu::itemRectangle() (./kdeutils/kdf/kwikdisk.cpp:107)
QRect MyPopupMenu::itemRectangle( int id )
{
int x = contentsRect().x();
int y = contentsRect().y();
int w = contentsRect().width();
for( QMenuItemListIt it( *mitems ); it.current() != 0; ++it )
{
if( it.current()->id() == id )
{
return( QRect( x, y, w, itemHeight(it.current())) );
}
y += itemHeight(it.current());
}
return( QRect(0,0,0,0) );
}
kdf'MyPopupMenu::setToolTip() (./kdeutils/kdf/kwikdisk.cpp:126)
void MyPopupMenu::setToolTip( int id, const QString *text )
{
if( text != 0 )
{
mToolTipStrings.replace( id, text );
}
}
kdf'MyPopupMenu::registerActiveItem() (./kdeutils/kdf/kwikdisk.cpp:135)
void MyPopupMenu::registerActiveItem( int id )
{
mCurrentIndex = indexOf(id);
if( id != -1 && id != mCurrentId )
{
QRect r = itemRectangle(id);
if( r.height() > 0 )
{
QString *str = mToolTipStrings[id];
if( str != 0 )
{
mToolTip->setPossibleTip( r, *str );
mCurrentId = id;
}
}
}
}
kdf'MyPopupMenu::activeIndex() (./kdeutils/kdf/kwikdisk.cpp:155)
int MyPopupMenu::activeIndex( void )
{
return( mCurrentIndex );
}
/***************************************************************/
/***************************************************************/
/***************************************************************/