16#ifndef QGSATTRIBUTESFORMMODEL_H 
   17#define QGSATTRIBUTESFORMMODEL_H 
   28#include <QAbstractItemModel> 
   30#include <QSortFilterProxyModel> 
   70        bool mEditable = 
true;
 
   71        bool mLabelOnTop = 
false;
 
   72        bool mReuseLastValues = 
false;
 
   74        QPushButton *mButton = 
nullptr;
 
 
   94        bool forceSuppressFormPopup = 
false;
 
 
  115        bool drawLine = 
false;
 
 
  131        operator QVariant() { 
return QVariant::fromValue<AttributeFormItemData>( *
this ); }
 
  189        bool showLabel() 
const;
 
  192        void setShowLabel( 
bool showLabel );
 
  328        QColor backgroundColor() 
const;
 
  335        void setBackgroundColor( 
const QColor &backgroundColor );
 
  350        int mColumnCount = 1;
 
  352        bool mShowLabel = 
true;
 
  353        int mHorizontalStretch = 0;
 
  354        int mVerticalStretch = 0;
 
  361        QColor mBackgroundColor;
 
  362        bool mCollapsed = 
false;
 
 
 
  431    int childCount() 
const;
 
  448    QVariant data( 
int role ) 
const;
 
  453    bool setData( 
int role, 
const QVariant &value );
 
  458    void addChild( std::unique_ptr< QgsAttributesFormItem > &&child );
 
  463    void insertChild( 
int position, std::unique_ptr< QgsAttributesFormItem > &&item );
 
  468    void deleteChildAtIndex( 
int index );
 
  473    void deleteChildren();
 
  483    QString 
id()
 const { 
return mId; }
 
  488    QString 
name()
 const { 
return mName; }
 
  500    QIcon 
icon()
 const { 
return mIcon; }
 
  507    void setIcon( 
const QIcon &icon ) { mIcon = icon; }
 
  510    QString mName = QString();
 
  511    QString mDisplayName = QString();
 
  514    QString mId = QString();
 
  518    std::vector< std::unique_ptr< QgsAttributesFormItem > > mChildren;
 
 
  545      ItemDataRole = Qt::UserRole, 
 
 
  562    QModelIndex index( 
int row, 
int column, 
const QModelIndex &parent = QModelIndex() ) 
const override;
 
  563    QModelIndex parent( 
const QModelIndex &index ) 
const override;
 
  565    int rowCount( 
const QModelIndex &parent = QModelIndex() ) 
const override;
 
  566    int columnCount( 
const QModelIndex &parent = QModelIndex() ) 
const override;
 
  587    bool showAliases() 
const;
 
  594    void setShowAliases( 
bool show );
 
  621    bool indexLessThan( 
const QModelIndex &a, 
const QModelIndex &b ) 
const;
 
  639    void emitDataChangedRecursively( 
const QModelIndex &parent = QModelIndex(), 
const QVector<int> &roles = QVector<int>() );
 
  645    bool mShowAliases = 
false;
 
 
  668    Qt::ItemFlags flags( 
const QModelIndex &index ) 
const override;
 
  669    QVariant headerData( 
int section, Qt::Orientation orientation, 
int role = Qt::DisplayRole ) 
const override;
 
  671    QVariant data( 
const QModelIndex &index, 
int role = Qt::DisplayRole ) 
const override;
 
  672    bool setData( 
const QModelIndex &index, 
const QVariant &value, 
int role = Qt::EditRole ) 
override;
 
  674    Qt::DropActions supportedDragActions() 
const override;
 
  675    QStringList mimeTypes() 
const override;
 
  676    QMimeData *mimeData( 
const QModelIndexList &indexes ) 
const override;
 
  683    QModelIndex fieldContainer() 
const;
 
  690    QModelIndex relationContainer() 
const;
 
  697    QModelIndex actionContainer() 
const;
 
  702    QModelIndex fieldModelIndex( 
const QString &fieldName ) 
const;
 
  705    void populate() 
override;
 
  712    void populateLayerActions( 
const QList< QgsAction > actions );
 
  720    void populateActionItems( 
const QList<QgsAction> actions );
 
 
  744    Qt::ItemFlags flags( 
const QModelIndex &index ) 
const override;
 
  745    QVariant headerData( 
int section, Qt::Orientation orientation, 
int role = Qt::DisplayRole ) 
const override;
 
  747    QVariant data( 
const QModelIndex &index, 
int role = Qt::DisplayRole ) 
const override;
 
  748    bool setData( 
const QModelIndex &index, 
const QVariant &value, 
int role = Qt::EditRole ) 
override;
 
  753    bool removeRow( 
int row, 
const QModelIndex &parent = QModelIndex() );
 
  755    Qt::DropActions supportedDragActions() 
const override;
 
  756    Qt::DropActions supportedDropActions() 
const override;
 
  757    QStringList mimeTypes() 
const override;
 
  758    QMimeData *mimeData( 
const QModelIndexList &indexes ) 
const override;
 
  759    bool dropMimeData( 
const QMimeData *data, Qt::DropAction action, 
int row, 
int column, 
const QModelIndex &parent ) 
override;
 
  760    bool removeRows( 
int row, 
int count, 
const QModelIndex &parent = QModelIndex() ) 
override;
 
  770    QList< QgsAddAttributeFormContainerDialog::ContainerPair > listOfContainers() 
const;
 
  787    void updateAliasForFieldItems( 
const QString &fieldName, 
const QString &fieldAlias );
 
  797    void populate() 
override;
 
  806    void updateAliasForFieldItemsRecursive( 
QgsAttributesFormItem *parent, 
const QString &fieldName, 
const QString &fieldAlias );
 
  807    QList< QgsAddAttributeFormContainerDialog::ContainerPair > recursiveListOfContainers( 
QgsAttributesFormItem *parent ) 
const;
 
  818    QModelIndexList curateIndexesForMimeData( 
const QModelIndexList &indexes ) 
const;
 
 
  847    const QString filterText() 
const;
 
  851    void setFilterText( 
const QString &filterText = QString() );
 
  854    bool filterAcceptsRow( 
int sourceRow, 
const QModelIndex &sourceParent ) 
const override;
 
 
AttributeEditorContainerType
Attribute editor container types.
 
FieldDomainMergePolicy
Merge policy for field domains.
 
@ DefaultValue
Use default field value.
 
FieldDomainSplitPolicy
Split policy for field domains.
 
@ Duplicate
Duplicate original value.
 
FieldDuplicatePolicy
Duplicate policy for fields.
 
@ Duplicate
Duplicate original value.
 
An abstract base class for any elements of a drag and drop form.
 
Stores information about constraints which may be present on a field.
 
An expression with an additional enabled flag.
 
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
 
A grouped map of multiple QgsProperty objects, each referenced by an integer key value.
 
Represents a vector layer which manages a vector based dataset.
 
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
 
The TabStyle struct defines color and font overrides for form fields, tabs and groups labels.