QWidgetPluginImpl.cpp [plain text]
#include "config.h"
#include "QWidgetPluginImpl.h"
#include <QWidget>
QWidgetPluginImpl::~QWidgetPluginImpl()
{
m_widget->deleteLater();
}
void QWidgetPluginImpl::update(const QRect &rect)
{
m_widget->update(rect);
}
void QWidgetPluginImpl::setGeometryAndClip(const QRect &geometry, const QRect &clipRect, bool isVisible)
{
m_widget->setGeometry(geometry);
if (!clipRect.isNull()) {
QRect clip(clipRect.intersected(m_widget->rect()));
m_widget->setMask(QRegion(clip));
}
m_widget->update();
setVisible(isVisible);
}
void QWidgetPluginImpl::setVisible(bool visible)
{
QRegion mask = m_widget->mask();
m_widget->setVisible(visible && !mask.isEmpty());
}
void QWidgetPluginImpl::setStyleSheet(const QString &stylesheet)
{
m_widget->setStyleSheet(stylesheet);
}
void QWidgetPluginImpl::setWidgetParent(QObject *parent)
{
if (!parent->isWidgetType())
return;
m_widget->setParent(qobject_cast<QWidget*>(parent));
}
QObject* QWidgetPluginImpl::handle() const
{
return m_widget;
}
#include "moc_QWidgetPluginImpl.cpp"