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