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

Class Index

kwin'B2Button (./kdebase/kwin/clients/b2/b2client.h:13)

class B2Button : public QButton
{
public:
    B2Button(QWidget *parent=0, const char *name=0)
        : QButton(parent, name){useMiniIcon = false;}
    B2Button(KPixmap *pix, KPixmap *pixDown, QWidget *parent=0, const char *name=0);
    void setBg(const QColor &c){bg = c; setBackgroundColor(c);}
    void setPixmaps(KPixmap *pix, KPixmap *pixDown);
    void setToggle(){setToggleType(Toggle);}
    void setActive(bool on){setOn(on);}
    void setUseMiniIcon(){useMiniIcon = true;}
    QSize sizeHint() const;
    QSizePolicy sizePolicy() const;
protected:
    virtual void drawButton(QPainter *p);
    void drawButtonLabel(QPainter *){;}
    bool useMiniIcon;
    KPixmap *pNorm, *pDown;
    QColor bg; //only use one color (the rest is pixmap) so forget QPalette ;)
};


kwin'B2Button::B2Button() (./kdebase/kwin/clients/b2/b2client.cpp:176)

B2Button::B2Button(KPixmap *pix, KPixmap *pixDown, QWidget *parent,
                   const char *name)
    : QButton(parent, name)
{
    pNorm = pix;
    pDown = pixDown;
    setFixedSize(16, 16);
    setFocusPolicy(NoFocus);
    resize(16, 16);
}


kwin'B2Button::sizeHint() (./kdebase/kwin/clients/b2/b2client.cpp:187)

QSize B2Button::sizeHint() const
{
    return(QSize(16, 16));
}


kwin'B2Button::sizePolicy() (./kdebase/kwin/clients/b2/b2client.cpp:192)

QSizePolicy B2Button::sizePolicy() const
{
    return(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
}



kwin'B2Button::drawButton() (./kdebase/kwin/clients/b2/b2client.cpp:198)

void B2Button::drawButton(QPainter *p)
{
    p->fillRect(rect(), bg);
    // hehe, nasty casts - I'm such a bad boy ;-)
    if(useMiniIcon && !(((B2Client*)parent())->miniIcon().isNull())){
        QPixmap miniIcon = ((B2Client*)parent())->miniIcon();
        p->drawPixmap((width()-miniIcon.width())/2,
                      (height()-miniIcon.height())/2, miniIcon);
    }
    else{
        if(isOn() || isDown())
            p->drawPixmap((width()-pDown->width())/2,
                          (height()-pDown->height())/2, *pDown);
        else
            p->drawPixmap((width()-pNorm->width())/2,
                          (height()-pNorm->height())/2, *pNorm);
    }
}


kwin'B2Button::setPixmaps() (./kdebase/kwin/clients/b2/b2client.cpp:217)

void B2Button::setPixmaps(KPixmap *pix, KPixmap *pixDown)
{
    pNorm = pix;
    pDown = pixDown;
    repaint(false);
}