Skip to content

Commit e80d8c3

Browse files
committed
Merge branch 'dd_symbology_help'
2 parents 4c7f51e + c054c30 commit e80d8c3

File tree

5 files changed

+162
-78
lines changed

5 files changed

+162
-78
lines changed

src/gui/symbology-ng/qgsdatadefinedsymboldialog.cpp

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
#include <QComboBox>
66
#include <QPushButton>
77

8-
QgsDataDefinedSymbolDialog::QgsDataDefinedSymbolDialog( const QMap< QString, QPair< QString, QString > >& properties, const QgsVectorLayer* vl,
9-
QWidget* parent, Qt::WindowFlags f ): QDialog( parent, f ), mVectorLayer( vl )
8+
QgsDataDefinedSymbolDialog::QgsDataDefinedSymbolDialog( const QList< DataDefinedSymbolEntry >& entries, const QgsVectorLayer* vl, QWidget * parent, Qt::WindowFlags f ): QDialog( parent, f ), mVectorLayer( vl )
109
{
1110
setupUi( this );
1211

@@ -16,26 +15,26 @@ QgsDataDefinedSymbolDialog::QgsDataDefinedSymbolDialog( const QMap< QString, QPa
1615
attributeFields = mVectorLayer->pendingFields();
1716
}
1817

19-
mTableWidget->setRowCount( properties.size() );
18+
mTableWidget->setRowCount( entries.size() );
2019

2120
int i = 0;
22-
QMap< QString, QPair< QString, QString > >::const_iterator it = properties.constBegin();
23-
for ( ; it != properties.constEnd(); ++it )
21+
QList< DataDefinedSymbolEntry >::const_iterator entryIt = entries.constBegin();
22+
for ( ; entryIt != entries.constEnd(); ++entryIt )
2423
{
2524
//check box
2625
QCheckBox* cb = new QCheckBox( this );
27-
cb->setChecked( !it.value().second.isEmpty() );
26+
cb->setChecked( !entryIt->initialValue.isEmpty() );
2827
mTableWidget->setCellWidget( i, 0, cb );
2928
mTableWidget->setColumnWidth( 0, cb->width() );
3029

3130

3231
//property name
33-
QTableWidgetItem* propertyItem = new QTableWidgetItem( it.value().first );
34-
propertyItem->setData( Qt::UserRole, it.key() );
32+
QTableWidgetItem* propertyItem = new QTableWidgetItem( entryIt->title );
33+
propertyItem->setData( Qt::UserRole, entryIt->property );
3534
mTableWidget->setItem( i, 1, propertyItem );
3635

3736
//attribute list
38-
QString expressionString = it.value().second;
37+
QString expressionString = entryIt->initialValue;
3938
QComboBox* attributeComboBox = new QComboBox( this );
4039
attributeComboBox->addItem( QString() );
4140
for ( int j = 0; j < attributeFields.count(); ++j )
@@ -59,6 +58,11 @@ QgsDataDefinedSymbolDialog::QgsDataDefinedSymbolDialog( const QMap< QString, QPa
5958
QPushButton* expressionButton = new QPushButton( "...", this );
6059
QObject::connect( expressionButton, SIGNAL( clicked() ), this, SLOT( expressionButtonClicked() ) );
6160
mTableWidget->setCellWidget( i, 3, expressionButton );
61+
62+
//help text
63+
QTableWidgetItem* helpItem = new QTableWidgetItem( entryIt->helpText );
64+
mTableWidget->setItem( i, 4, helpItem );
65+
6266
++i;
6367
}
6468
}
@@ -158,3 +162,23 @@ int QgsDataDefinedSymbolDialog::comboIndexForExpressionString( const QString& ex
158162
}
159163
return comboIndex;
160164
}
165+
166+
QString QgsDataDefinedSymbolDialog::doubleHelpText()
167+
{
168+
return tr( "double" );
169+
}
170+
171+
QString QgsDataDefinedSymbolDialog::colorHelpText()
172+
{
173+
return tr( "'<red>,<green>,<blue>,<alpha>'" );
174+
}
175+
176+
QString QgsDataDefinedSymbolDialog::offsetHelpText()
177+
{
178+
return "<x>,<y>";
179+
}
180+
181+
QString QgsDataDefinedSymbolDialog::fileNameHelpText()
182+
{
183+
return tr( "'<filename>'" );
184+
}

src/gui/symbology-ng/qgsdatadefinedsymboldialog.h

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,33 @@
77
class QgsVectorLayer;
88
class QComboBox;
99

10+
11+
1012
class GUI_EXPORT QgsDataDefinedSymbolDialog: public QDialog, private Ui::QgsDataDefinedSymbolDialog
1113
{
1214
Q_OBJECT
1315
public:
14-
QgsDataDefinedSymbolDialog( const QMap< QString, QPair< QString, QString > >& properties, const QgsVectorLayer* vl, QWidget * parent = 0, Qt::WindowFlags f = 0 );
16+
17+
struct DataDefinedSymbolEntry
18+
{
19+
DataDefinedSymbolEntry( const QString& p, const QString& t, const QString& v, const QString& h ):
20+
property( p ), title( t ), initialValue( v ), helpText( h ) {}
21+
QString property;
22+
QString title;
23+
QString initialValue;
24+
QString helpText;
25+
};
26+
27+
QgsDataDefinedSymbolDialog( const QList< DataDefinedSymbolEntry >& entries, const QgsVectorLayer* vl, QWidget * parent = 0, Qt::WindowFlags f = 0 );
1528
~QgsDataDefinedSymbolDialog();
1629
QMap< QString, QString > dataDefinedProperties() const;
1730

31+
//common help texts
32+
static QString doubleHelpText();
33+
static QString colorHelpText();
34+
static QString offsetHelpText();
35+
static QString fileNameHelpText();
36+
1837
private slots:
1938
void expressionButtonClicked();
2039

src/gui/symbology-ng/qgsellipsesymbollayerv2widget.cpp

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -211,16 +211,23 @@ void QgsEllipseSymbolLayerV2Widget::on_mDataDefinedPropertiesButton_clicked()
211211
return;
212212
}
213213

214-
QMap<QString, QPair< QString, QString> > dataDefinedProperties;
215-
dataDefinedProperties.insert( "width", qMakePair( tr( "Symbol width" ), mLayer->dataDefinedPropertyString( "width" ) ) );
216-
dataDefinedProperties.insert( "height", qMakePair( tr( "Symbol height" ), mLayer->dataDefinedPropertyString( "height" ) ) );
217-
dataDefinedProperties.insert( "rotation", qMakePair( tr( "Rotation" ), mLayer->dataDefinedPropertyString( "rotation" ) ) );
218-
dataDefinedProperties.insert( "outline_width", qMakePair( tr( "Outline width" ), mLayer->dataDefinedPropertyString( "outline_width" ) ) );
219-
dataDefinedProperties.insert( "fill_color", qMakePair( tr( "Fill color" ), mLayer->dataDefinedPropertyString( "fill_color" ) ) );
220-
dataDefinedProperties.insert( "outline_color", qMakePair( tr( "Border color" ), mLayer->dataDefinedPropertyString( "outline_color" ) ) );
221-
dataDefinedProperties.insert( "symbol_name", qMakePair( tr( "Symbol name" ), mLayer->dataDefinedPropertyString( "symbol_name" ) ) );
222-
dataDefinedProperties.insert( "offset", qMakePair( tr( "Offset" ), mLayer->dataDefinedPropertyString( "offset" ) ) );
223-
214+
QList< QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry > dataDefinedProperties;
215+
dataDefinedProperties << QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry( "width", tr( "Symbol width" ), mLayer->dataDefinedPropertyString( "width" ),
216+
QgsDataDefinedSymbolDialog::doubleHelpText() );
217+
dataDefinedProperties << QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry( "height", tr( "Symbol height" ), mLayer->dataDefinedPropertyString( "height" ),
218+
QgsDataDefinedSymbolDialog::doubleHelpText() );
219+
dataDefinedProperties << QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry( "rotation", tr( "Rotation" ), mLayer->dataDefinedPropertyString( "rotation" ),
220+
QgsDataDefinedSymbolDialog::doubleHelpText() );
221+
dataDefinedProperties << QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry( "outline_width", tr( "Outline width" ), mLayer->dataDefinedPropertyString( "outline_width" ),
222+
QgsDataDefinedSymbolDialog::doubleHelpText() );
223+
dataDefinedProperties << QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry( "fill_color", tr( "Fill color" ), mLayer->dataDefinedPropertyString( "fill_color" ),
224+
QgsDataDefinedSymbolDialog::colorHelpText() );
225+
dataDefinedProperties << QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry( "outline_color", tr( "Border color" ), mLayer->dataDefinedPropertyString( "outline_color" ),
226+
QgsDataDefinedSymbolDialog::colorHelpText() );
227+
dataDefinedProperties << QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry( "symbol_name", tr( "Symbol name" ), mLayer->dataDefinedPropertyString( "symbol_name" ),
228+
"'circle'|'rectangle'|'cross'|'triangle'" );
229+
dataDefinedProperties << QgsDataDefinedSymbolDialog::DataDefinedSymbolEntry( "offset", tr( "Offset" ), mLayer->dataDefinedPropertyString( "offset" ),
230+
QgsDataDefinedSymbolDialog::offsetHelpText() );
224231
QgsDataDefinedSymbolDialog d( dataDefinedProperties, mVectorLayer );
225232
if ( d.exec() == QDialog::Accepted )
226233
{

0 commit comments

Comments
 (0)