Added SmallNumberDisplay class

This commit is contained in:
Tobias Rundstrom 2006-02-19 16:25:45 -03:00
parent a709689b3d
commit 722158f10c
6 changed files with 132 additions and 2 deletions

View file

@ -23,6 +23,14 @@ MainDisplay::MainDisplay (QWidget *parent) : SkinDisplay(parent)
m_number2 = new NumberDisplay (this, 24, 0);
m_number2->move (78, 26);
m_kbps = new SmallNumberDisplay (this, 15);
m_kbps->move (111, 43);
m_kbps->setNumber ('1', '2', '8');
m_khz = new SmallNumberDisplay (this, 10);
m_khz->move (156, 43);
m_khz->setNumber ('4', '4');
}
void

View file

@ -20,6 +20,7 @@ class MainDisplay;
#include "TextBar.h"
#include "MainWindow.h"
#include "NumberDisplay.h"
#include "SmallNumberDisplay.h"
using namespace std;
@ -34,6 +35,9 @@ class MainDisplay : public SkinDisplay
NumberDisplay *m_number;
NumberDisplay *m_number2;
SmallNumberDisplay *m_kbps;
SmallNumberDisplay *m_khz;
public slots:
void setPixmaps(Skin *skin);
protected:

View file

@ -45,3 +45,4 @@ NumberDisplay::~NumberDisplay ()
{
}

65
SmallNumberDisplay.cpp Normal file
View file

@ -0,0 +1,65 @@
#include "SmallNumberDisplay.h"
SmallNumberDisplay::SmallNumberDisplay (QWidget *parent, int w) : PixWidget (parent)
{
m_w = w;
setMinimumSize (w, 6);
setMaximumSize (w, 6);
m_pixmap = QPixmap (w, 6);
}
void
SmallNumberDisplay::setPixmaps (Skin *skin)
{
m_skin = skin;
drawNumber ();
}
void
SmallNumberDisplay::setNumber (char i1, char i2, char i3)
{
m_nums[0] = i1;
m_nums[1] = i2;
m_nums[2] = i3;
m_num = 3;
drawNumber ();
update ();
}
void
SmallNumberDisplay::setNumber (char i1, char i2)
{
m_nums[0] = i1;
m_nums[1] = i2;
m_num = 2;
drawNumber ();
update ();
}
void
SmallNumberDisplay::drawNumber ()
{
if (!m_skin) {
return;
}
QPainter paint;
paint.begin (&m_pixmap);
paint.drawPixmap (m_pixmap.rect (),
m_skin->getItem (Skin::TEXTBG),
m_pixmap.rect ());
for (int i = 0; i < m_num; i++) {
paint.drawPixmap (QRect (i*5, 0, 4, 6),
m_skin->getLetter (m_nums[i]),
m_skin->getLetter (m_nums[i]).rect ());
}
paint.end ();
}

28
SmallNumberDisplay.h Normal file
View file

@ -0,0 +1,28 @@
#include "PixWidget.h"
#include <QPainter>
class SmallNumberDisplay : public PixWidget
{
Q_OBJECT;
public:
SmallNumberDisplay (QWidget *parent, int w);
~SmallNumberDisplay () { };
void setNumber (char i1, char i2, char i3);
void setNumber (char i1, char i2);
public slots:
void setPixmaps (Skin *skin);
private:
char m_nums[2];
int m_num;
int m_w;
void drawNumber (void);
Skin *m_skin;
};

View file

@ -1,5 +1,29 @@
SOURCES += XmmsQT4.cpp PixWidget.cpp Skin.cpp MainWindow.cpp Display.cpp MainDisplay.cpp TitleBar.cpp Button.cpp TextBar.cpp NumberDisplay.cpp XMMSHandler.cpp
HEADERS += XmmsQT4.h PixWidget.h Skin.h MainWindow.h Display.h MainDisplay.h TitleBar.h Button.h TextBar.h NumberDisplay.h XMMSHandler.h
SOURCES += XmmsQT4.cpp \
PixWidget.cpp \
Skin.cpp \
MainWindow.cpp \
Display.cpp \
MainDisplay.cpp \
TitleBar.cpp \
Button.cpp \
TextBar.cpp \
NumberDisplay.cpp \
XMMSHandler.cpp \
SmallNumberDisplay.cpp
HEADERS += XmmsQT4.h \
PixWidget.h \
Skin.h \
MainWindow.h \
Display.h \
MainDisplay.h \
TitleBar.h \
Button.h \
TextBar.h \
NumberDisplay.h \
XMMSHandler.h \
SmallNumberDisplay.h
CONFIG += link_pkgconfig
CONFIG += debug
QMAKE_CFLAGS_WARN_OFF += -Wno-unused-parameter