QGIS API Documentation  2.13.0-Master
qgscolorwidgetwrapper.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgscolorwidgetwrapper.cpp
3  --------------------------------------
4  Date : 5.1.2014
5  Copyright : (C) 2014 Matthias Kuhn
6  Email : matthias at opengis dot ch
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #include "qgscolorwidgetwrapper.h"
17 
19  : QgsEditorWidgetWrapper( vl, fieldIdx, editor, parent )
20  , mColorButton( nullptr )
21 {
22 }
23 
24 
26 {
27  QVariant v;
28 
29  if ( mColorButton )
30  v = mColorButton->color();
31 
32  return v;
33 }
34 
36 {
37  QgsColorButtonV2* button = new QgsColorButtonV2( parent );
38  button->setContext( QString( "editor" ) );
39  return button;
40 }
41 
43 {
44  mColorButton = qobject_cast<QgsColorButtonV2*>( editor );
45 
46  connect( mColorButton, SIGNAL( colorChanged( QColor ) ), this, SLOT( valueChanged() ) );
47 }
48 
50 {
51  return mColorButton;
52 }
53 
55 {
56  if ( mColorButton )
57  mColorButton->setColor( QColor( value.toString() ) );
58 }
A cross platform button subclass for selecting colors.
void valueChanged()
Will call the value() method to determine the emitted value.
void setContext(const QString &context)
Sets the context string for the color button.
Manages an editor widget Widget and wrapper share the same parent.
void setValue(const QVariant &value) override
QVariant value() const override
Will be used to access the widget&#39;s value.
void setColor(const QColor &color)
Sets the current color for the button.
void initWidget(QWidget *editor) override
This method should initialize the editor widget with runtime data.
bool valid() const override
Return true if the widget has been properly initialized.
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QObject * parent() const
Represents a vector layer which manages a vector based data sets.
QString toString() const
QWidget * createWidget(QWidget *parent) override
This method should create a new widget with the provided parent.
QgsColorWidgetWrapper(QgsVectorLayer *vl, int fieldIdx, QWidget *editor=nullptr, QWidget *parent=nullptr)