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 );
}





/***************************************************************/
/***************************************************************/
/***************************************************************/