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