17#include "moc_qgseditorwidgetregistry.cpp" 
   78  qDeleteAll( mWidgetFactories );
 
 
   84  const int index = fields.
indexOf( fieldName );
 
   92  return mAutoConf.editorWidgetSetup( vl, fieldName );
 
 
   99  return create( setup.
type(), vl, fieldIdx, setup.
config(), editor, parent, context );
 
 
  104  if ( mWidgetFactories.contains( widgetId ) )
 
  120        const QString wid = findSuitableWrapper( editor, QStringLiteral( 
"TextEdit" ) );
 
  121        ww = mWidgetFactories[wid]->create( vl, fieldIdx, editor, parent );
 
 
  135  if ( mWidgetFactories.contains( widgetId ) )
 
 
  155  if ( mWidgetFactories.contains( widgetId ) )
 
  157    return mWidgetFactories[widgetId]->configWidget( vl, fieldIdx, parent );
 
 
  164  if ( mWidgetFactories.contains( widgetId ) )
 
  166    return mWidgetFactories[widgetId]->name();
 
 
  174  if ( mWidgetFactories.contains( widgetId ) )
 
  176    return mWidgetFactories[widgetId]->isReadOnly();
 
 
  184  return mWidgetFactories;
 
 
  189  return mWidgetFactories.value( widgetId, mFallbackWidgetFactory.get() );
 
 
  194  if ( !widgetFactory )
 
  199  else if ( mWidgetFactories.contains( widgetId ) )
 
  206    mWidgetFactories.insert( widgetId, widgetFactory );
 
  210    QHash<const char *, int>::ConstIterator it;
 
  211    it = types.constBegin();
 
  213    for ( ; it != types.constEnd(); ++it )
 
  215      if ( it.value() > mFactoriesByType[it.key()].first )
 
  217        mFactoriesByType[it.key()] = qMakePair( it.value(), widgetId );
 
 
  225QString QgsEditorWidgetRegistry::findSuitableWrapper( QWidget *editor, 
const QString &defaultWidget )
 
  227  QMap<const char *, QPair<int, QString>>::ConstIterator it;
 
  236    it = mFactoriesByType.constBegin();
 
  237    for ( ; it != mFactoriesByType.constEnd(); ++it )
 
  239      if ( QWidget::staticMetaObject.className() == it.key() )
 
  242        return it.value().second;
 
  244      else if ( editor->inherits( it.key() ) )
 
  247        if ( it.value().first > weight )
 
  249          weight = it.value().first;
 
  250          widgetid = it.value().second;
 
  256  if ( widgetid.isNull() )
 
  257    widgetid = defaultWidget;
 
Contains context information for attribute editor widgets.
 
Editor widget factory for datetime widgets.
 
QgsEditorWidgetSetup editorWidgetSetup() const
Gets the editor widget setup for the field.
 
Container of fields for a vector layer.
 
Q_INVOKABLE int indexOf(const QString &fieldName) const
Gets the field index from the field name.
 
QgsField field(int fieldIdx) const
Returns the field at particular index (must be in range 0..N-1).
 
QgsField at(int i) const
Returns the field at particular index (must be in range 0..N-1).
 
Map canvas is a class for displaying all GIS data types on a canvas.
 
A bar for displaying non-blocking messages to the user.
 
static void logMessage(const QString &message, const QString &tag=QString(), Qgis::MessageLevel level=Qgis::MessageLevel::Warning, bool notifyUser=true, const char *file=__builtin_FILE(), const char *function=__builtin_FUNCTION(), int line=__builtin_LINE())
Adds a message to the log instance (and creates it if necessary).
 
Editor widget factory for relation reference widgets.
 
Editor widget factory for text editor widgets.
 
Represents a vector layer which manages a vector based dataset.