1 /************************************************************************
3 * Copyright 2010 Jakob Leben (jakob.leben@gmail.com)
5 * This file is part of SuperCollider Qt GUI.
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 ************************************************************************/
22 #include "BasicWidgets.h"
23 #include "../QcWidgetFactory.h"
25 #include <QPaintEvent>
28 QC_DECLARE_QWIDGET_FACTORY( QcDefaultWidget
);
29 QC_DECLARE_QWIDGET_FACTORY( QcHLayoutWidget
);
30 QC_DECLARE_QWIDGET_FACTORY( QcVLayoutWidget
);
32 void QcSimpleWidget::setBackground( const QColor
&c
)
37 setAttribute(Qt::WA_OpaquePaintEvent
, c
.isValid() && c
.alpha() == 255);
41 void QcSimpleWidget::paintEvent( QPaintEvent
*e
)
43 if (!_bkg
.isValid()) return;
46 p
.fillRect(e
->rect(), _bkg
);
49 class QcCustomPaintedFactory
: public QcWidgetFactory
<QcCustomPainted
>
52 virtual void initialize( QWidgetProxy
*p
, QcCustomPainted
*w
)
54 QObject::connect( w
, SIGNAL(painting(QPainter
*)),
55 p
, SLOT(customPaint(QPainter
*)) );
59 QC_DECLARE_FACTORY( QcCustomPainted
, QcCustomPaintedFactory
);