Skin class now emits a signal when a skin has (hopefully) been loaded.

Widgets interested in such events handle the signal and update their
pixmaps accordingly.
This commit is contained in:
Daniel Svensson 2006-02-18 04:15:45 +01:00
parent 1b1cf78647
commit 9fb1376afe
15 changed files with 391 additions and 273 deletions

View file

@ -14,6 +14,22 @@ NumberDisplay::NumberDisplay (QWidget *parent, uint w, uint startpx) : PixWidget
setNumber (0,0);
}
void
NumberDisplay::setPixmaps (Skin *skin)
{
QBrush b (Qt::TexturePattern);
b.setTexture (skin->getNumber (10));
QPainter paint;
paint.begin (&m_pixmap);
paint.fillRect (m_pixmap.rect (), b);
paint.drawPixmap (m_startpx, 0, skin->getNumber (m_n1));
paint.drawPixmap (m_startpx+12, 0, skin->getNumber (m_n2));
paint.end();
update ();
}
void
NumberDisplay::setNumber (uint n1, uint n2)
{
@ -22,17 +38,7 @@ NumberDisplay::setNumber (uint n1, uint n2)
m_n1 = n1;
m_n2 = n2;
QBrush b (Qt::TexturePattern);
b.setTexture (mw->getSkin ()->getNumber (10));
QPainter paint;
paint.begin (&m_pixmap);
paint.fillRect (m_pixmap.rect (), b);
paint.drawPixmap (m_startpx, 0, mw->getSkin ()->getNumber (n1));
paint.drawPixmap (m_startpx+12, 0, mw->getSkin ()->getNumber (n2));
paint.end();
update ();
setPixmaps (mw->getSkin());
}
NumberDisplay::~NumberDisplay ()