20#include "pcolorbutton.h"
26#include <kcolorbutton.h>
28#include <tqpushbutton.h>
32#include <tqcolordialog.h>
36PColorButton::PColorButton(MultiProperty* property, TQWidget* parent,
const char* name)
37 :PropertyWidget(property, parent, name)
39 TQHBoxLayout *l =
new TQHBoxLayout(
this, 0, 0);
41 m_edit =
new KColorButton(
this);
42 connect(m_edit, TQ_SIGNAL(changed(
const TQColor&)),
this, TQ_SLOT(updateProperty(
const TQColor&)));
44 m_edit =
new TQPushButton(
this);
45 connect(m_edit, TQ_SIGNAL(clicked()),
this, TQ_SLOT(changeColor()));
48 m_edit->setSizePolicy(TQSizePolicy::MinimumExpanding, TQSizePolicy::MinimumExpanding);
52TQVariant PColorButton::value()
const
55 return TQVariant(m_edit->color());
57 return TQVariant(m_color);
61void PColorButton::drawViewer(TQPainter* p,
const TQColorGroup& cg,
const TQRect& r,
const TQVariant& value)
66 p->setPen(TQt::NoPen);
67 p->setBrush(cg.background());
70 p->setBrush(value.toColor());
71 p->setPen(TQt::SolidLine);
73 r2.setTopLeft(r.topLeft() + TQPoint(5,5));
74 r2.setBottomRight(r.bottomRight() - TQPoint(5,5));
78void PColorButton::setValue(
const TQVariant& value,
bool emitChange)
81 disconnect(m_edit, TQ_SIGNAL(changed(
const TQColor&)),
this, TQ_SLOT(updateProperty(
const TQColor&)));
82 m_edit->setColor(value.toColor());
83 connect(m_edit, TQ_SIGNAL(changed(
const TQColor&)),
this, TQ_SLOT(updateProperty(
const TQColor&)));
85 m_color = value.toColor();
86 m_edit->setText(m_color.name());
90 m_edit->setIconSet(px);
93 emit propertyChanged(m_property, value);
97void PColorButton::updateProperty(
const TQColor &
100 emit propertyChanged(m_property, value());
103void PColorButton::changeColor()
106 m_color = TQColorDialog::getColor(m_color,
this);
107 updateProperty(m_color);
108 m_edit->setText(m_color.name());
112 m_edit->setIconSet(px);
119#include "pcolorbutton.moc"
Namespace which contain property editing classes.