31 #include <QMetaObject> 32 #include <QMetaProperty> 35 #include <QColorDialog> 47 , property_( property )
49 connect(
this, SIGNAL( textChanged(
const QString& )),
55 LineEditWithButton::paintEvent( event );
56 QPainter painter(
this );
57 painter.setPen( Qt::black );
64 int size = rect.height() - padding * 2 - 1;
66 painter->setBrush( color );
67 painter->drawRoundedRect( rect.x() + padding + 3, rect.y() + padding, size, size, 0, 0, Qt::AbsoluteSize );
77 QMargins marge = textMargins();
78 setTextMargins( height(), marge.top(), marge.right(), marge.bottom() );
84 if( new_color.isValid() )
107 QColor original_color = prop->
getColor();
109 QColorDialog* dialog =
new QColorDialog(
color_, parentWidget() );
111 connect( dialog, SIGNAL( currentColorChanged(
const QColor& )),
117 connect( dialog, SIGNAL( currentColorChanged(
const QColor& )),
118 parentWidget(), SLOT(
update() ));
130 if( dialog->exec() != QDialog::Accepted )
virtual QColor getColor() const
virtual void paintEvent(QPaintEvent *event)
virtual void onButtonClick()
virtual void resizeEvent(QResizeEvent *event)
void update(const std::string &key, const XmlRpc::XmlRpcValue &v)
ColorProperty * property_
static void paintColorBox(QPainter *painter, const QRect &rect, const QColor &color)
virtual bool setColor(const QColor &color)
QColor parseColor(const QString &color_string)
QString printColor(const QColor &color)
void setColor(const QColor &color)
ColorEditor(ColorProperty *property=0, QWidget *parent=0)