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

Class Index

karchie'KNumCheckButton (./kdenetwork/karchie/ktablistbox.h:55)

class KNumCheckButton : public QWidget
{
    Q_OBJECT
public:
    KNumCheckButton( QWidget *_parent = 0L, const char *name = 0L );
    ~KNumCheckButton() {};
    void setText( const QString& );
     
signals:
    void        selected();
    void        deselected();    
    /** leftbutton=true if is a leftbutton, =false if is a rightbutton
    *   centerbutton doubleclick events aren't emitted.
    */
    void	doubleclick(bool leftbutton);

protected:
    virtual void leaveEvent( QEvent *_ev );
    virtual void enterEvent( QEvent *_ev );
    virtual void mousePressEvent( QMouseEvent * );
    virtual void mouseDoubleClickEvent( QMouseEvent * );
    virtual void paintEvent( QPaintEvent *event);    
    
 private:    
    bool raised;
    QString     btext;
};


//--------------------------------------------------

karchie'KNumCheckButton::KNumCheckButton() (./kdenetwork/karchie/ktablistbox.cpp:1802)

KNumCheckButton::KNumCheckButton( QWidget *_parent, const char *name )
    : QWidget(_parent, name)
{
  int t=fontMetrics().height();
  resize(t,t);
  setText(QString::fromLatin1(" "));
  raised = FALSE;
  setFocusPolicy( NoFocus );
}


karchie'KNumCheckButton::setText() (./kdenetwork/karchie/ktablistbox.cpp:1812)

void KNumCheckButton::setText( const QString& text )
{
  btext=text;
  repaint();
}


karchie'KNumCheckButton::enterEvent() (./kdenetwork/karchie/ktablistbox.cpp:1818)

void KNumCheckButton::enterEvent( QEvent* )
{
      raised = TRUE;
      repaint(FALSE);
}


karchie'KNumCheckButton::leaveEvent() (./kdenetwork/karchie/ktablistbox.cpp:1824)

void KNumCheckButton::leaveEvent( QEvent * )
{
  if( raised != FALSE )
    {
      raised = FALSE;
      repaint();
    }
}


karchie'KNumCheckButton::mousePressEvent() (./kdenetwork/karchie/ktablistbox.cpp:1833)

void KNumCheckButton::mousePressEvent( QMouseEvent *e)
{
  if(e->button() == LeftButton)
    emit selected();
  else if(e->button() == RightButton)
    emit deselected();
}


karchie'KNumCheckButton::mouseDoubleClickEvent() (./kdenetwork/karchie/ktablistbox.cpp:1841)

void KNumCheckButton::mouseDoubleClickEvent (QMouseEvent *e)
{
  if(e->button() == LeftButton)
    emit doubleclick(true);
  else if(e->button() == RightButton)
    emit doubleclick(false);
}


karchie'KNumCheckButton::paintEvent() (./kdenetwork/karchie/ktablistbox.cpp:1849)

void KNumCheckButton::paintEvent( QPaintEvent *event )
{
  QPainter painter;
  QFont font,oldfont;

  painter.begin( this );
  painter.setClipRect( event->rect() );

  if ( raised )
    {
      QBrush   brush( white );
      qDrawShadeRect( &painter, 0, 0, width(), height(), colorGroup(),
                      TRUE, 1,1, &brush );
    }
  else
      qDrawShadeRect( &painter, 0, 0, width(), height(), colorGroup(),
                      TRUE, 1,1, 0L );
  int tf = AlignCenter;
  oldfont=painter.font();
  font=oldfont;
  font.setPointSize(height()-7);
  painter.setFont(font);
  painter.drawText(0, 0, width(), height(), tf, btext);
  painter.setFont(oldfont);
  painter.end();
}