1 //////////////////////////////////////////////////
2 // //
3 // Emu64 //
4 // von Thorsten Kattanek //
5 // //
6 // #file: widget_bit_leiste.cpp //
7 // //
8 // Dieser Sourcecode ist Copyright geschützt! //
9 // Geistiges Eigentum von Th.Kattanek //
10 // //
11 // Letzte Änderung am 18.05.2014 //
12 // www.emu64.de //
13 // //
14 //////////////////////////////////////////////////
15
16 #include <QPainter>
17
18 #include "widget_bit_leiste.h"
19 #include "ui_widget_bit_leiste.h"
20
WidgetBitLeiste(QWidget * parent)21 WidgetBitLeiste::WidgetBitLeiste(QWidget *parent) :
22 QWidget(parent),
23 ui(new Ui::WidgetBitLeiste),
24 value(0),
25 Enabled(false)
26 {
27 ui->setupUi(this);
28 }
29
~WidgetBitLeiste()30 WidgetBitLeiste::~WidgetBitLeiste()
31 {
32 delete ui;
33 }
34
paintEvent(QPaintEvent *)35 void WidgetBitLeiste::paintEvent(QPaintEvent *)
36 {
37 QPainter p(this);
38 p.setPen(QColor(0,50,0));
39 p.setBrush(QBrush(Qt::SolidPattern));
40 p.drawRect(0,0,this->width(),this->height());
41
42 if(Enabled)
43 {
44 p.setPen(QColor(0,255,0));
45 unsigned char v = value;
46 unsigned char m = 128;
47
48 for(int i=0;i<8;i++)
49 {
50 if(v&m) p.drawLine(2+i*2,0,3+i*2,0);
51 m = m >> 1;
52 }
53 }
54 }
55
SetValue(unsigned short v)56 void WidgetBitLeiste::SetValue(unsigned short v)
57 {
58 value = v;
59 update();
60 }
61
EnableBitLeiste(bool status)62 void WidgetBitLeiste::EnableBitLeiste(bool status)
63 {
64 Enabled = status;
65 update();
66 }
67