25 #include <QButtonGroup>
26 #include <QGridLayout>
27 #include <QHBoxLayout>
31 #include "kcalc_bitset.moc"
43 QPainter painter(
this);
44 QPen pen(palette().text(), 2);
45 pen.setJoinStyle(Qt::MiterJoin);
49 painter.setBrush(palette().text());
51 painter.setBrush(palette().base());
54 painter.drawRect(rect().adjusted(1, 1, -1, -1));
63 setFrameStyle(QFrame::Panel | QFrame::Sunken);
65 bit_button_group_ =
new QButtonGroup(
this);
66 connect(bit_button_group_, SIGNAL(buttonClicked(
int)), SLOT(
slotToggleBit(
int)));
70 if (fnt.pointSize() > 6) {
71 fnt.setPointSize(fnt.pointSize() - 1);
75 QGridLayout *layout =
new QGridLayout(
this);
77 layout->setSpacing(0);
81 for (
int rows = 0; rows < 2; rows++) {
82 for (
int cols = 0; cols < 4; cols++) {
84 QHBoxLayout *
const wordlayout =
new QHBoxLayout();
85 wordlayout->setMargin(2);
86 wordlayout->setSpacing(2);
87 layout->addLayout(wordlayout, rows, cols);
89 for (
int bit = 0; bit < 8; bit++) {
91 wordlayout->addWidget(tmpBitButton);
92 bit_button_group_->addButton(tmpBitButton, bitCounter);
97 QLabel *label =
new QLabel(
this);
98 label->setText(QString::number(bitCounter + 1));
100 wordlayout->addWidget(label);
111 if (value_ == value) {
119 for (
int i = 0; i < 64; i++) {
120 if(
BitButton *bb = qobject_cast<BitButton*>(bit_button_group_->button(i))) {
121 bb->setOn(value & 1);
141 const quint64 nv =
getValue() ^(1LL << bit);
void setValue(quint64 value)
KCalcBitset(QWidget *parent=0)
void valueChanged(quint64 value)
void slotToggleBit(int bit)