22 qDeleteAll( mChildren );
27 mChildren.append( widget );
37 return mVisibilityExpression;
50 return mBackgroundColor;
60 QList<QgsAttributeEditorElement *> results;
62 const auto constMChildren = mChildren;
65 if ( elem->type() ==
type )
67 results.append( elem );
83 qDeleteAll( mChildren );
101 const auto childElements =
children();
107 element->mIsGroupBox = mIsGroupBox;
108 element->mColumnCount = mColumnCount;
109 element->mVisibilityExpression = mVisibilityExpression;
114 void QgsAttributeEditorContainer::saveConfiguration( QDomElement &elem, QDomDocument &doc )
const
117 elem.setAttribute( QStringLiteral(
"columnCount" ), mColumnCount );
118 elem.setAttribute( QStringLiteral(
"groupBox" ), mIsGroupBox ? 1 : 0 );
119 elem.setAttribute( QStringLiteral(
"visibilityExpressionEnabled" ), mVisibilityExpression.
enabled() ? 1 : 0 );
120 elem.setAttribute( QStringLiteral(
"visibilityExpression" ), mVisibilityExpression->expression() );
121 if ( mBackgroundColor.isValid() )
122 elem.setAttribute( QStringLiteral(
"backgroundColor" ), mBackgroundColor.name( ) );
123 const auto constMChildren = mChildren;
126 QDomDocument doc = elem.ownerDocument();
127 elem.appendChild( child->toDomElement( doc ) );
131 void QgsAttributeEditorContainer::loadConfiguration(
const QDomElement &element,
const QString &layerId,
const QgsReadWriteContext &context,
const QgsFields &fields )
133 mBackgroundColor = element.attribute( QStringLiteral(
"backgroundColor" ), QString() );
135 int cc = element.attribute( QStringLiteral(
"columnCount" ) ).toInt( &ok );
140 const bool isGroupBox = element.attribute( QStringLiteral(
"groupBox" ) ).toInt( &ok );
146 const bool visibilityExpressionEnabled = element.attribute( QStringLiteral(
"visibilityExpressionEnabled" ) ).toInt( &ok );
155 const QDomNodeList childNodeList = element.childNodes();
157 for (
int i = 0; i < childNodeList.size(); i++ )
159 const QDomElement childElem = childNodeList.at( i ).toElement();
167 QString QgsAttributeEditorContainer::typeIdentifier()
const
169 return QStringLiteral(
"attributeEditorContainer" );
This is a container for attribute editors, used to group them visually in the attribute form if it is...
QgsAttributeEditorContainer(const QString &name, QgsAttributeEditorElement *parent, const QColor &backgroundColor=QColor())
Creates a new attribute editor container.
virtual void addChildElement(QgsAttributeEditorElement *element)
Add a child element to this container.
QgsOptionalExpression visibilityExpression() const
The visibility expression is used in the attribute form to show or hide this container based on an ex...
void setColumnCount(int columnCount)
Set the number of columns in this group.
virtual bool isGroupBox() const
Returns if this container is going to be rendered as a group box.
~QgsAttributeEditorContainer() override
void setVisibilityExpression(const QgsOptionalExpression &visibilityExpression)
The visibility expression is used in the attribute form to show or hide this container based on an ex...
virtual void setIsGroupBox(bool isGroupBox)
Determines if this container is rendered as collapsible group box or tab in a tabwidget.
void clear()
Clear all children from this container.
QgsAttributeEditorElement * clone(QgsAttributeEditorElement *parent) const override
Creates a deep copy of this element.
void setName(const QString &name)
Change the name of this container.
QColor backgroundColor() const
backgroundColor
virtual QList< QgsAttributeEditorElement * > findElements(AttributeEditorType type) const
Traverses the element tree to find any element of the specified type.
int columnCount() const
Gets the number of columns in this group.
QList< QgsAttributeEditorElement * > children() const
Gets a list of the children elements of this container.
void setBackgroundColor(const QColor &backgroundColor)
Sets the background color to backgroundColor.
This is an abstract base class for any elements of a drag and drop form.
QgsAttributeEditorElement * mParent
AttributeEditorType type() const
The type of this element.
QString name() const
Returns the name of this element.
static QgsAttributeEditorElement * create(const QDomElement &element, const QString &layerId, const QgsFields &fields, const QgsReadWriteContext &context, QgsAttributeEditorElement *parent=nullptr)
Constructs the editor element from the given element.
@ AeTypeContainer
A container.
QgsAttributeEditorElement * parent() const
Gets the parent of this element.
Class for parsing and evaluation of expressions (formerly called "search strings").
Container of fields for a vector layer.
An expression with an additional enabled flag.
bool enabled() const
Check if this optional is enabled.
void setData(const T &data)
Set the payload data.
void setEnabled(bool enabled)
Set if this optional is enabled.
The class is used as a container of context for various read/write operations on other objects.