16#ifndef QGSATTRIBUTESFORMPROPERTIES_H 
   17#define QGSATTRIBUTESFORMPROPERTIES_H 
   24#include <QTableWidget> 
   28#include <QTreeWidgetItem> 
   30#include <QTableWidgetItem> 
   35#include <QPlainTextEdit> 
   37#include "ui_qgsattributesformproperties.h" 
   45class QgsAttributeFormContainerEdit;
 
   46class QgsAttributeTypeDialog;
 
   47class QgsAttributeWidgetEdit;
 
   61      DnDTreeRole = Qt::UserRole,
 
 
   73      bool forceSuppressFormPopup = 
false;
 
 
   94      bool drawLine = 
false;
 
 
  120        DnDTreeItemData( 
Type type, 
const QString &name, 
const QString &displayName, 
const QColor &backgroundColor = QColor() )
 
  123          , mDisplayName( displayName )
 
  124          , mBackgroundColor( backgroundColor )
 
 
  127        QString 
name()
 const { 
return mName; }
 
  128        void setName( 
const QString &name ) { mName = name; }
 
  131        void setDisplayName( 
const QString &displayName ) { mDisplayName = displayName; }
 
  136        operator QVariant() { 
return QVariant::fromValue<DnDTreeItemData>( *
this ); }
 
  190        bool showLabel() 
const;
 
  191        void setShowLabel( 
bool showLabel );
 
  284        QColor backgroundColor() 
const;
 
  285        void setBackgroundColor( 
const QColor &backgroundColor );
 
  302        QString mDisplayName;
 
  303        int mColumnCount = 1;
 
  305        bool mShowLabel = 
true;
 
  306        int mHorizontalStretch = 0;
 
  307        int mVerticalStretch = 0;
 
  314        QColor mBackgroundColor;
 
  315        bool mCollapsed = 
false;
 
 
  329      bool mEditable = 
true;
 
  330      bool mLabelOnTop = 
false;
 
  331      bool mReuseLastValues = 
false;
 
  333      QPushButton *mButton = 
nullptr;
 
 
  368    void initAvailableWidgetsTree();
 
  369    void initFormLayoutTree();
 
  370    void initLayoutConfig();
 
  371    void initInitPython();
 
  372    void initSuppressCombo();
 
  385    QgsAttributeWidgetEdit *mAttributeWidgetEdit = 
nullptr;
 
  386    QgsAttributeTypeDialog *mAttributeTypeDialog = 
nullptr;
 
  387    QgsAttributeFormContainerEdit *mAttributeContainerEdit = 
nullptr;
 
  388    QLabel *mInfoTextWidget = 
nullptr;
 
  392    void removeTabOrGroupButton();
 
  393    void mEditorLayoutComboBox_currentIndexChanged( 
int index );
 
  394    void pbnSelectEditForm_clicked();
 
  395    void mTbInitCode_clicked();
 
  397    void onInvertSelectionButtonClicked( 
bool checked );
 
  399    void onAttributeSelectionChanged();
 
  400    void onFormLayoutSelectionChanged();
 
  402    void updatedFields();
 
  406    void clearAttributeTypeFrame();
 
  408    void loadAttributeWidgetEdit();
 
  409    void storeAttributeWidgetEdit();
 
  411    void loadAttributeTypeDialog();
 
  412    void storeAttributeTypeDialog( );
 
  414    void storeAttributeContainerEdit();
 
  415    void loadAttributeContainerEdit();
 
  417    void loadInfoWidget( 
const QString &infoText );
 
  422    QString mInitFunction;
 
  423    QString mInitFilePath;
 
  425    int mBlockUpdates = 0;
 
 
  479    void dragMoveEvent( QDragMoveEvent *event ) 
override;
 
  480    void dropEvent( QDropEvent *event ) 
override;
 
  481    bool dropMimeData( QTreeWidgetItem *parent, 
int index, 
const QMimeData *data, Qt::DropAction action ) 
override;
 
  486    QStringList mimeTypes() 
const override;
 
  488#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 
  489    QMimeData *mimeData( 
const QList<QTreeWidgetItem *> items ) 
const override;
 
  491    QMimeData *mimeData( 
const QList<QTreeWidgetItem *> &items ) 
const override;
 
  495    void onItemDoubleClicked( QTreeWidgetItem *item, 
int column );
 
 
AttributeEditorContainerType
Attribute editor container types.
 
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
 
@ NoSource
Do not use Python code at all.
 
FieldDomainSplitPolicy
Split policy for field domains.
 
@ Duplicate
Duplicate original value.
 
FieldDuplicatePolicy
Duplicate policy for fields.
 
@ Duplicate
Duplicate original value.
 
This is an abstract base class for any elements of a drag and drop form.
 
This class overrides mime type handling to be able to work with the drag and drop attribute editor.
 
Abstract interface for generating an expression context.
 
virtual QgsExpressionContext createExpressionContext() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
 
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
 
Stores information about constraints which may be present on a field.
 
An expression with an additional enabled flag.
 
A grouped map of multiple QgsProperty objects, each referenced by a integer key value.
 
Represents a vector layer which manages a vector based data sets.
 
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
 
The TabStyle struct defines color and font overrides for form fields, tabs and groups labels.