예제 #1
0
QgsEditorWidgetConfig QgsKeyValueWidgetFactory::readConfig( const QDomElement &configElement, QgsVectorLayer *layer, int fieldIdx )
{
  Q_UNUSED( configElement );
  Q_UNUSED( layer );
  Q_UNUSED( fieldIdx );
  return QgsEditorWidgetConfig();
}
예제 #2
0
 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();
 }
예제 #3
0
QgsEditorWidgetConfig QgsEditFormConfig::widgetConfig( int fieldIdx ) const
{
  if ( fieldIdx < 0 || fieldIdx >= mFields.count() )
    return QgsEditorWidgetConfig();

  return mWidgetConfigs.value( mFields.at( fieldIdx ).name() );
}
예제 #4
0
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();
}
예제 #5
0
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;
      }
    }