QgsEditorWidgetConfig QgsKeyValueWidgetFactory::readConfig( const QDomElement &configElement, QgsVectorLayer *layer, int fieldIdx ) { Q_UNUSED( configElement ); Q_UNUSED( layer ); Q_UNUSED( fieldIdx ); return QgsEditorWidgetConfig(); }
virtual QgsEditorWidgetSetup editorWidgetSetup( const QgsVectorLayer* vl, const QString& fieldName, int& score ) const override { int bestScore = 0; QString bestType; const QMap<QString, QgsEditorWidgetFactory*> factories = QgsEditorWidgetRegistry::instance()->factories(); for ( QMap<QString, QgsEditorWidgetFactory*>::const_iterator i = factories.begin(); i != factories.end(); ++i ) { const int index = vl->fields().lookupField( fieldName ); if ( index >= 0 ) { const int score = i.value()->fieldScore( vl, index ); if ( score > bestScore ) { bestType = i.key(); bestScore = score; } } } if ( bestScore > 0 ) { score = 10; return QgsEditorWidgetSetup( bestType, QgsEditorWidgetConfig() ); } return QgsEditorWidgetSetup(); }
QgsEditorWidgetConfig QgsEditFormConfig::widgetConfig( int fieldIdx ) const { if ( fieldIdx < 0 || fieldIdx >= mFields.count() ) return QgsEditorWidgetConfig(); return mWidgetConfigs.value( mFields.at( fieldIdx ).name() ); }
const QgsEditorWidgetConfig QgsAttributeTypeDialog::editorWidgetConfig() { QListWidgetItem* item = selectionListWidget->currentItem(); if ( item ) { QString widgetType = item->data( Qt::UserRole ).toString(); QgsEditorConfigWidget* cfgWdg = mEditorConfigWidgets[ widgetType ]; if ( cfgWdg ) { return cfgWdg->config(); } } return QgsEditorWidgetConfig(); }
QgsEditorWidgetSetup QgsEditorWidgetAutoConf::editorWidgetSetup( const QgsVectorLayer* vl, const QString& fieldName ) const { QgsEditorWidgetSetup result( QStringLiteral( "TextEdit" ), QgsEditorWidgetConfig() ); if ( vl->fields().indexFromName( fieldName ) >= 0 ) { int bestScore = 0; Q_FOREACH ( QSharedPointer<QgsEditorWidgetAutoConfPlugin> cur, plugins ) { int score = 0; const QgsEditorWidgetSetup curResult = cur->editorWidgetSetup( vl, fieldName, score ); if ( score > bestScore ) { result = curResult; bestScore = score; } }