pdatetimeedit.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "pdatetimeedit.h"
00021
00022 #include <qdatetimeedit.h>
00023 #include <qpainter.h>
00024 #include <qlayout.h>
00025
00026 namespace PropertyLib{
00027
00028 PDateTimeEdit::PDateTimeEdit(MultiProperty* property, QWidget* parent, const char* name): PropertyWidget(property, parent, name)
00029 {
00030 QHBoxLayout *l = new QHBoxLayout(this, 0, 0);
00031 m_edit = new QDateTimeEdit(this);
00032 m_edit->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
00033 l->addWidget(m_edit);
00034
00035 connect(m_edit, SIGNAL(valueChanged(const QDateTime&)), this, SLOT(updateProperty(const QDateTime&)));
00036 }
00037
00038 QVariant PDateTimeEdit::value() const
00039 {
00040 return QVariant(m_edit->dateTime());
00041 }
00042
00043 void PDateTimeEdit::drawViewer(QPainter* p, const QColorGroup& cg, const QRect& r, const QVariant& value)
00044 {
00045 p->setPen(Qt::NoPen);
00046 p->setBrush(cg.background());
00047 p->drawRect(r);
00048 p->drawText(r, Qt::AlignLeft | Qt::AlignVCenter | Qt::SingleLine, value.toDateTime().toString(Qt::LocalDate));
00049 }
00050
00051 void PDateTimeEdit::setValue(const QVariant& value, bool emitChange)
00052 {
00053 disconnect(m_edit, SIGNAL(valueChanged(const QDateTime&)), this, SLOT(updateProperty(const QDateTime&)));
00054 m_edit->setDateTime(value.toDateTime());
00055 connect(m_edit, SIGNAL(valueChanged(const QDateTime&)), this, SLOT(updateProperty(const QDateTime&)));
00056 if (emitChange)
00057 emit propertyChanged(m_property, value);
00058 }
00059
00060 void PDateTimeEdit::updateProperty(const QDateTime &val)
00061 {
00062 emit propertyChanged(m_property, QVariant(val));
00063 }
00064
00065 }
00066
00067 #include "pdatetimeedit.moc"
This file is part of the documentation for KDevelop Version 3.1.2.