QString QgsDateTimeEditFactory::representValue( QgsVectorLayer* vl, int fieldIdx, const QgsEditorWidgetConfig& config, const QVariant& cache, const QVariant& value ) const { Q_UNUSED( vl ) Q_UNUSED( fieldIdx ) Q_UNUSED( cache ) QString result; if ( value.isNull() ) { QSettings settings; return settings.value( QStringLiteral( "qgis/nullValue" ), "NULL" ).toString(); } const QgsField field = vl->fields().at( fieldIdx ); const QString displayFormat = config.value( QStringLiteral( "display_format" ), QgsDateTimeEditConfig::defaultFormat( field.type() ) ).toString(); const QString fieldFormat = config.value( QStringLiteral( "field_format" ), QgsDateTimeEditConfig::defaultFormat( field.type() ) ).toString(); QDateTime date = QDateTime::fromString( value.toString(), fieldFormat ); if ( date.isValid() ) { result = date.toString( displayFormat ); } else { result = value.toString(); } return result; }
QString QgsDateTimeEditFactory::representValue( QgsVectorLayer* vl, int fieldIdx, const QgsEditorWidgetConfig& config, const QVariant& cache, const QVariant& value ) const { Q_UNUSED( vl ) Q_UNUSED( fieldIdx ) Q_UNUSED( cache ) QString result; if ( value.isNull() ) { QSettings settings; return settings.value( "qgis/nullValue", "NULL" ).toString(); } const QString displayFormat = config.value( "display_format", QGSDATETIMEEDIT_DATEFORMAT ).toString(); const QString fieldFormat = config.value( "field_format", QGSDATETIMEEDIT_DATEFORMAT ).toString(); QDateTime date = QDateTime::fromString( value.toString(), fieldFormat ); if ( date.isValid() ) { result = date.toString( displayFormat ); } else { result = value.toString(); } return result; }
QgsEditorWidgetConfig QgsValueMapConfigDlg::config() { QgsEditorWidgetConfig cfg; //store data to map for ( int i = 0; i < tableWidget->rowCount() - 1; i++ ) { QTableWidgetItem *ki = tableWidget->item( i, 0 ); QTableWidgetItem *vi = tableWidget->item( i, 1 ); if ( !ki ) continue; if ( !vi || vi->text().isNull() ) { cfg.insert( ki->text(), ki->text() ); } else { cfg.insert( vi->text(), ki->text() ); } } return cfg; }
QgsEditorWidgetConfig QgsUniqueValuesConfigDlg::config() { QgsEditorWidgetConfig cfg; cfg.insert( "Editable", editableUniqueValues->isChecked() ); return cfg; }
void QgsPhotoWidgetFactory::writeConfig( const QgsEditorWidgetConfig& config, QDomElement& configElement, QDomDocument& doc, const QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( doc ) Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) configElement.setAttribute( "Height", config.value( "Height", 0 ).toString() ); configElement.setAttribute( "Width", config.value( "Width", 0 ).toString() ); }
void QgsTextEditWidgetFactory::writeConfig( const QgsEditorWidgetConfig& config, QDomElement& configElement, QDomDocument& doc, const QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( doc ) Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) configElement.setAttribute( QStringLiteral( "IsMultiline" ), config.value( QStringLiteral( "IsMultiline" ), false ).toBool() ); configElement.setAttribute( QStringLiteral( "UseHtml" ), config.value( QStringLiteral( "UseHtml" ), false ).toBool() ); }
QgsEditorWidgetConfig QgsPhotoConfigDlg::config() { QgsEditorWidgetConfig cfg; cfg.insert( "Height", sbWidgetHeight->value() ); cfg.insert( "Width", sbWidgetWidth->value() ); return cfg; }
void QgsCheckboxWidgetFactory::writeConfig( const QgsEditorWidgetConfig& config, QDomElement& configElement, QDomDocument& doc, const QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( doc ) Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) configElement.setAttribute( QStringLiteral( "CheckedState" ), config.value( QStringLiteral( "CheckedState" ), "1" ).toString() ); configElement.setAttribute( QStringLiteral( "UncheckedState" ), config.value( QStringLiteral( "UncheckedState" ), "0" ).toString() ); }
QgsEditorWidgetConfig QgsTextEditConfigDlg::config() { QgsEditorWidgetConfig cfg; cfg.insert( "IsMultiline", mIsMultiline->isChecked() ); cfg.insert( "UseHtml", mUseHtml->isChecked() ); return cfg; }
QgsEditorWidgetConfig QgsUniqueValueWidgetFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig cfg; cfg.insert( "Editable", configElement.attribute( "Editable", "0" ) == "1" ); return cfg; }
void TestQgsField::editorWidgetSetup() { QgsField field; QgsEditorWidgetConfig config; config.insert( QStringLiteral( "a" ), "value_a" ); const QgsEditorWidgetSetup setup( QStringLiteral( "test" ), config ); field.setEditorWidgetSetup( setup ); QCOMPARE( field.editorWidgetSetup().type(), setup.type() ); QCOMPARE( field.editorWidgetSetup().config(), setup.config() ); }
QgsEditorWidgetConfig QgsTextEditWidgetFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig cfg; cfg.insert( QStringLiteral( "IsMultiline" ), configElement.attribute( QStringLiteral( "IsMultiline" ), QStringLiteral( "0" ) ) == QLatin1String( "1" ) ); cfg.insert( QStringLiteral( "UseHtml" ), configElement.attribute( QStringLiteral( "UseHtml" ), QStringLiteral( "0" ) ) == QLatin1String( "1" ) ); return cfg; }
QgsEditorWidgetConfig QgsDateTimeEditFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ); Q_UNUSED( fieldIdx ); QgsEditorWidgetConfig cfg; cfg.insert( "field_format", configElement.attribute( "field_format" ) ); cfg.insert( "display_format", configElement.attribute( "display_format" ) ); cfg.insert( "calendar_popup", configElement.attribute( "calendar_popup" ) == "1" ); return cfg; }
QgsEditorWidgetConfig QgsTextEditWidgetFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig cfg; cfg.insert( "IsMultiline", configElement.attribute( "IsMultiline", "0" ) == "1" ); cfg.insert( "UseHtml", configElement.attribute( "UseHtml", "0" ) == "1" ); return cfg; }
QgsEditorWidgetConfig QgsCheckboxWidgetFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig cfg; cfg.insert( QStringLiteral( "CheckedState" ), configElement.attribute( QStringLiteral( "CheckedState" ) ) ); cfg.insert( QStringLiteral( "UncheckedState" ), configElement.attribute( QStringLiteral( "UncheckedState" ) ) ); return cfg; }
QgsEditorWidgetConfig QgsPhotoWidgetFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig cfg; cfg.insert( "Height", configElement.attribute( "Height", 0 ).toInt() ); cfg.insert( "Width", configElement.attribute( "Width", 0 ).toInt() ); return cfg; }
QgsEditorWidgetConfig QgsDateTimeEditFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ); Q_UNUSED( fieldIdx ); QgsEditorWidgetConfig cfg; cfg.insert( QStringLiteral( "field_format" ), configElement.attribute( QStringLiteral( "field_format" ) ) ); cfg.insert( QStringLiteral( "display_format" ), configElement.attribute( QStringLiteral( "display_format" ) ) ); cfg.insert( QStringLiteral( "calendar_popup" ), configElement.attribute( QStringLiteral( "calendar_popup" ) ) == QLatin1String( "1" ) ); cfg.insert( QStringLiteral( "allow_null" ), configElement.attribute( QStringLiteral( "allow_null" ) ) == QLatin1String( "1" ) ); return cfg; }
QgsEditorWidgetConfig QgsRangeConfigDlg::config() { QgsEditorWidgetConfig cfg; switch ( layer()->fields().at( field() ).type() ) { case QVariant::Int: case QVariant::LongLong: cfg.insert( "Min", minimumSpinBox->value() ); cfg.insert( "Max", maximumSpinBox->value() ); cfg.insert( "Step", stepSpinBox->value() ); break; case QVariant::Double: cfg.insert( "Min", minimumDoubleSpinBox->value() ); cfg.insert( "Max", maximumDoubleSpinBox->value() ); cfg.insert( "Step", stepDoubleSpinBox->value() ); break; default: break; } cfg.insert( "Style", rangeWidget->itemData( rangeWidget->currentIndex() ).toString() ); cfg.insert( "AllowNull", allowNullCheckBox->isChecked() ); if ( suffixLineEdit->text() != "" ) { cfg.insert( "Suffix", suffixLineEdit->text() ); } return cfg; }
void QgsRelationReferenceFactory::writeConfig( const QgsEditorWidgetConfig& config, QDomElement& configElement, QDomDocument& doc, const QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( doc ); Q_UNUSED( layer ); Q_UNUSED( fieldIdx ); configElement.setAttribute( "AllowNULL", config["AllowNULL"].toBool() ); configElement.setAttribute( "OrderByValue", config["OrderByValue"].toBool() ); configElement.setAttribute( "ShowForm", config["ShowForm"].toBool() ); configElement.setAttribute( "Relation", config["Relation"].toString() ); configElement.setAttribute( "MapIdentification", config["MapIdentification"].toBool() ); configElement.setAttribute( "ReadOnly", config["ReadOnly"].toBool() ); if ( config.contains( "FilterFields" ) ) { QDomElement filterFields = doc.createElement( "FilterFields" ); Q_FOREACH ( const QString& field, config["FilterFields"].toStringList() ) { QDomElement fieldElem = doc.createElement( "field" ); fieldElem.setAttribute( "name", field ); filterFields.appendChild( fieldElem ); } configElement.appendChild( filterFields ); filterFields.setAttribute( "ChainFilters", config["ChainFilters"].toBool() ); }
QString QgsValueRelationWidgetFactory::representValue( QgsVectorLayer* vl, int fieldIdx, const QgsEditorWidgetConfig& config, const QVariant& cache, const QVariant& value ) const { Q_UNUSED( vl ) Q_UNUSED( fieldIdx ) QgsValueRelationWidgetWrapper::ValueRelationCache vrCache; if ( cache.isValid() ) { vrCache = cache.value<QgsValueRelationWidgetWrapper::ValueRelationCache>(); } else { vrCache = QgsValueRelationWidgetWrapper::createCache( config ); } if ( config.value( "AllowMulti" ).toBool() ) { QStringList keyList = value.toString().remove( QChar( '{' ) ).remove( QChar( '}' ) ).split( "," ); QStringList valueList; Q_FOREACH ( const QgsValueRelationWidgetWrapper::ValueRelationItem& item, vrCache ) { if ( keyList.contains( item.first.toString() ) ) { valueList << item.second; } } return valueList.join( ", " ).prepend( '{' ).append( '}' ); }
void QgsUniqueValueWidgetFactory::writeConfig( const QgsEditorWidgetConfig& config, QDomElement& configElement, QDomDocument& doc, const QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( doc ) Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) configElement.setAttribute( "Editable", config.value( "Editable", false ).toBool() ); }
QgsEditorWidgetConfig QgsValueMapWidgetFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig cfg; QDomNodeList nodes = configElement.elementsByTagName( "value" ); for ( unsigned int i = 0; i < nodes.length(); ++i ) { QDomElement elem = nodes.at( i ).toElement(); cfg.insert( elem.attribute( "key" ), elem.attribute( "value" ) ); } return cfg; }
QgsEditorWidgetConfig QgsRelReferenceConfigDlg::config() { QgsEditorWidgetConfig myConfig; myConfig.insert( "AllowNULL", mCbxAllowNull->isChecked() ); myConfig.insert( "ShowForm", mCbxShowForm->isChecked() ); myConfig.insert( "Relation", mComboRelation->itemData( mComboRelation->currentIndex() ) ); QString relName = mComboRelation->itemData( mComboRelation->currentIndex() ).toString(); QgsRelation relation = QgsProject::instance()->relationManager()->relation( relName ); if ( relation.isValid() ) { relation.referencedLayer()->setDisplayExpression( mTxtDisplayExpression->text() ); } return myConfig; }
void QgsValueMapWidgetWrapper::initWidget( QWidget* editor ) { mComboBox = qobject_cast<QComboBox*>( editor ); if ( mComboBox ) { const QgsEditorWidgetConfig cfg = config(); QgsEditorWidgetConfig::ConstIterator it = cfg.constBegin(); while ( it != cfg.constEnd() ) { mComboBox->addItem( it.key(), it.value() ); ++it; } connect( mComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( valueChanged() ) ); } }
QgsEditorWidgetConfig QgsValueRelationConfigDlg::config() { QgsEditorWidgetConfig cfg; cfg.insert( QStringLiteral( "Layer" ), mLayerName->currentLayer() ? mLayerName->currentLayer()->id() : QString() ); cfg.insert( QStringLiteral( "Key" ), mKeyColumn->currentField() ); cfg.insert( QStringLiteral( "Value" ), mValueColumn->currentField() ); cfg.insert( QStringLiteral( "AllowMulti" ), mAllowMulti->isChecked() ); cfg.insert( QStringLiteral( "AllowNull" ), mAllowNull->isChecked() ); cfg.insert( QStringLiteral( "OrderByValue" ), mOrderByValue->isChecked() ); cfg.insert( QStringLiteral( "FilterExpression" ), mFilterExpression->toPlainText() ); cfg.insert( QStringLiteral( "UseCompleter" ), mUseCompleter->isChecked() ); return cfg; }
void QgsValueMapWidgetFactory::writeConfig( const QgsEditorWidgetConfig& config, QDomElement& configElement, QDomDocument& doc, const QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig::ConstIterator it = config.constBegin(); while ( it != config.constEnd() ) { QDomElement elem = doc.createElement( "value" ); elem.setAttribute( "key", it.key() ); elem.setAttribute( "value", it.value().toString() ); configElement.appendChild( elem ); ++it; } }
void QgsValueMapSearchWidgetWrapper::initWidget( QWidget* editor ) { mComboBox = qobject_cast<QComboBox*>( editor ); if ( mComboBox ) { const QgsEditorWidgetConfig cfg = config(); QgsEditorWidgetConfig::ConstIterator it = cfg.constBegin(); mComboBox->addItem( tr( "Please select" ), "" ); while ( it != cfg.constEnd() ) { if ( it.value() != QStringLiteral( VALUEMAP_NULL_TEXT ) ) mComboBox->addItem( it.key(), it.value() ); ++it; } connect( mComboBox, SIGNAL( currentIndexChanged( int ) ), this, SLOT( comboBoxIndexChanged( int ) ) ); } }
QString QgsValueMapWidgetFactory::representValue( QgsVectorLayer* vl, int fieldIdx, const QgsEditorWidgetConfig& config, const QVariant& cache, const QVariant& value ) const { Q_UNUSED( cache ) QString valueInternalText; if ( value.isNull() ) valueInternalText = QStringLiteral( VALUEMAP_NULL_TEXT ); else valueInternalText = value.toString(); return config.key( valueInternalText, QVariant( QStringLiteral( "(%1)" ).arg( vl->fields().at( fieldIdx ).displayString( value ) ) ).toString() ); }
QgsEditorWidgetConfig QgsExternalResourceWidgetFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig cfg; if ( configElement.hasAttribute( "FileWidgetButton" ) ) cfg.insert( "FileWidgetButton", configElement.attribute( "FileWidgetButton" ) == "1" ); if ( configElement.hasAttribute( "FileWidget" ) ) cfg.insert( "FileWidget", configElement.attribute( "FileWidget" ) == "1" ); if ( configElement.hasAttribute( "UseLink" ) ) cfg.insert( "UseLink", configElement.attribute( "UseLink" ) == "1" ); if ( configElement.hasAttribute( "FullUrl" ) ) cfg.insert( "FullUrl", configElement.attribute( "FullUrl" ) == "1" ); if ( configElement.hasAttribute( "DefaultRoot" ) ) cfg.insert( "DefaultRoot", configElement.attribute( "DefaultRoot" ) ); if ( configElement.hasAttribute( "RelativeStorage" ) ) { if (( configElement.attribute( "RelativeStorage" ) == "Default" && configElement.hasAttribute( "DefaultRoot" ) ) || configElement.attribute( "RelativeStorage" ) == "Project" ) cfg.insert( "RelativeStorage" , configElement.attribute( "RelativeStorage" ) ); } if ( configElement.hasAttribute( "DocumentViewer" ) ) cfg.insert( "DocumentViewer", configElement.attribute( "DocumentViewer" ) ); if ( configElement.hasAttribute( "FileWidgetFilter" ) ) cfg.insert( "FileWidgetFilter", configElement.attribute( "FileWidgetFilter" ) ); cfg.insert( "StorageMode", configElement.attribute( "StorageMode", "Files" ) ); return cfg; }
QgsEditorWidgetConfig QgsValueRelationWidgetFactory::readConfig( const QDomElement& configElement, QgsVectorLayer* layer, int fieldIdx ) { Q_UNUSED( layer ) Q_UNUSED( fieldIdx ) QgsEditorWidgetConfig cfg; cfg.insert( "Layer", configElement.attribute( "Layer" ) ); cfg.insert( "Key", configElement.attribute( "Key" ) ); cfg.insert( "Value", configElement.attribute( "Value" ) ); cfg.insert( "FilterExpression", configElement.attribute( "FilterExpression" ) ); cfg.insert( "OrderByValue", configElement.attribute( "OrderByValue" ) ); cfg.insert( "AllowMulti", configElement.attribute( "AllowMulti" ) ); cfg.insert( "AllowNull", configElement.attribute( "AllowNull" ) ); cfg.insert( "UseCompleter", configElement.attribute( "UseCompleter" ) ); return cfg; }