forked from RyanWei0224/VerilogGenerator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bincheck.cpp
60 lines (53 loc) · 1.16 KB
/
bincheck.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "bincheck.h"
BinCheck::BinCheck(const QString &no,
const QString &yes, bool canSelectNull,
QWidget *parent) : QGroupBox(parent){
box0=new QRadioButton(no,this);
box1=new QRadioButton(yes,this);
layout=new QHBoxLayout(this);
layout->addWidget(box0);
layout->addWidget(box1);
layout->setSpacing(6);
layout->setContentsMargins(6,6,6,6);
setLayout(layout);
if(canSelectNull){
box0->setAutoExclusive(false);
connect(box0,&QAbstractButton::toggled,this,&BinCheck::setBox0);
connect(box1,&QAbstractButton::toggled,this,&BinCheck::setBox1);
}else{
box0->setChecked(true);
}
_selNull=canSelectNull;
}
void BinCheck::set(bool yes){
if(yes)
box1->setChecked(true);
else
box0->setChecked(true);
}
void BinCheck::reset(){
if(_selNull){
box0->setChecked(false);
box1->setChecked(false);
}
}
int BinCheck::get(){
if(box1->isChecked())
return 1;
else if(box0->isChecked())
return 0;
else
return -1;
}
BinCheck::~BinCheck(){
/*printf("Clear!\n");
fflush(stdout);*/
}
void BinCheck::setBox0(bool checked){
if(checked)
box1->setChecked(false);
}
void BinCheck::setBox1(bool checked){
if(checked)
box0->setChecked(false);
}