1*4882a593Smuzhiyun #include "basewidget.h"
2*4882a593Smuzhiyun #include <QStyleOption>
3*4882a593Smuzhiyun #include <QPainter>
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun static int _id_widget = 0;
6*4882a593Smuzhiyun
BaseWidget(QWidget * parent)7*4882a593Smuzhiyun BaseWidget::BaseWidget(QWidget *parent) : QWidget(parent)
8*4882a593Smuzhiyun {
9*4882a593Smuzhiyun #ifndef DEVICE_EVB
10*4882a593Smuzhiyun setWindowFlags(Qt::FramelessWindowHint);
11*4882a593Smuzhiyun setAttribute(Qt::WA_TranslucentBackground, true);
12*4882a593Smuzhiyun #endif
13*4882a593Smuzhiyun setMouseTracking(true);
14*4882a593Smuzhiyun }
15*4882a593Smuzhiyun
paintEvent(QPaintEvent *)16*4882a593Smuzhiyun void BaseWidget::paintEvent(QPaintEvent *)
17*4882a593Smuzhiyun {
18*4882a593Smuzhiyun /* Slove the problem which 'setStyleSheet' and 'Q_OBJECT' can co-exist
19*4882a593Smuzhiyun The below code used to repaint widgets when change became. */
20*4882a593Smuzhiyun QStyleOption opt;
21*4882a593Smuzhiyun opt.init(this);
22*4882a593Smuzhiyun QPainter p(this);
23*4882a593Smuzhiyun style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
24*4882a593Smuzhiyun }
25*4882a593Smuzhiyun
setBackgroundColor(int rValue,int gValue,int bValue)26*4882a593Smuzhiyun void BaseWidget::setBackgroundColor(int rValue, int gValue, int bValue)
27*4882a593Smuzhiyun {
28*4882a593Smuzhiyun _id_widget++;
29*4882a593Smuzhiyun QString styleStr;
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun setObjectName(QString::number(_id_widget));
32*4882a593Smuzhiyun styleStr.append("#").append(QString::number(_id_widget)).append("{background-color:rgb(")
33*4882a593Smuzhiyun .append(QString::number(rValue)).append(",")
34*4882a593Smuzhiyun .append(QString::number(gValue)).append(",")
35*4882a593Smuzhiyun .append(QString::number(bValue)).append(");")
36*4882a593Smuzhiyun .append("}");
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun setStyleSheet(styleStr);
39*4882a593Smuzhiyun }
40*4882a593Smuzhiyun
setWidgetFontBold(QWidget * widget)41*4882a593Smuzhiyun void BaseWidget::setWidgetFontBold(QWidget *widget)
42*4882a593Smuzhiyun {
43*4882a593Smuzhiyun QFont font = widget->font();
44*4882a593Smuzhiyun font.setBold(true);
45*4882a593Smuzhiyun widget->setFont(font);
46*4882a593Smuzhiyun }
47*4882a593Smuzhiyun
setWidgetFontSize(QWidget * widget,int size)48*4882a593Smuzhiyun void BaseWidget::setWidgetFontSize(QWidget *widget, int size)
49*4882a593Smuzhiyun {
50*4882a593Smuzhiyun QFont font = widget->font();
51*4882a593Smuzhiyun font.setPixelSize(size);
52*4882a593Smuzhiyun widget->setFont(font);
53*4882a593Smuzhiyun }
54*4882a593Smuzhiyun
mousePressEvent(QMouseEvent * e)55*4882a593Smuzhiyun void BaseWidget::mousePressEvent(QMouseEvent *e)
56*4882a593Smuzhiyun {
57*4882a593Smuzhiyun QWidget::mousePressEvent(e);
58*4882a593Smuzhiyun }
59*4882a593Smuzhiyun
mouseMoveEvent(QMouseEvent * e)60*4882a593Smuzhiyun void BaseWidget::mouseMoveEvent(QMouseEvent *e)
61*4882a593Smuzhiyun {
62*4882a593Smuzhiyun QWidget::mouseMoveEvent(e);
63*4882a593Smuzhiyun }
64*4882a593Smuzhiyun
mouseReleaseEvent(QMouseEvent * e)65*4882a593Smuzhiyun void BaseWidget::mouseReleaseEvent(QMouseEvent *e)
66*4882a593Smuzhiyun {
67*4882a593Smuzhiyun QWidget::mouseReleaseEvent(e);
68*4882a593Smuzhiyun }
69