Skip to content

Attributformular

Das Attributformular wird direkt aus dem Datenmodell der jeweiligen Objekart generiert, so dass die Eingabeelemente grundsätzlich nur zulässige Werte erlauben: Enumerationen werden als Dropdown-Listen angezeigt, für Integer-Attribute können nur Ganzzahlen eingegeben werden usw.

Definitionen

Die Objektarten-, Datentypen- und Attributdefinitionen können per Tooltip angezeigt werden.

Attributfilter

Im oberen Bereich des Formulars sind Filterfunktionen zu finden. Die Attribute können per Freitextfilter auf die Namen und Definitionen durchsucht werden. Zusätzlich kann auf Pflicht- und belegte Attribute gefiltert werden.

Validierung

Eingaben werden automatisch validiert. Das Speichern von neuen Features über den OK-Button ist erst möglich, wenn alle Pflichtattribute belegt wurden.

Berechtigungen

Das Formular zeigt nur Features des Plans, zu dem der Layer gehört, und nur, wenn für diesen Plan Leserechte bestehen; sonst erscheint "Kein Zugriff auf diesen Plan.". Auch Relationsziele und Vorschauen beschränken sich auf diesen Plan. Ohne Schreibrechte sind alle Eingabefelder gesperrt.

Mehrfachbearbeitung

Das Attributformular unterstützt den Mehrfachbearbeitungsmodus von QGIS: in der Attributtabelle das Formularansicht-Symbol wählen, mehrere Features selektieren und die Mehrfachbearbeitung aktivieren. Das Formular zeigt dann die Werte, die alle selektierten Features gemeinsam haben; für abweichende Attribute werden die vorhandenen Werte zur Auswahl gestellt. Geänderte Attribute werden über "Änderungen anwenden" auf alle selektierten Features geschrieben, alle übrigen Attribute bleiben pro Feature erhalten. Das Attribut id wird ausgeblendet, da es für eine Auswahl mehrerer Features keine Bedeutung hat.

Attribute, deren Werte sich zwischen den selektierten Features unterscheiden, werden als Karussell dargestellt: eine Seite je unterschiedlichem Wert, jeweils mit dem regulären Eingabefeld — bei Datentypen mit dem vollständigen Unterformular — das mit diesem Wert vorbelegt ist, und darunter den IDs der Features, die ihn tragen. Mit ‹ und › wird zwischen den Werten geblättert.

Wird ein Wert bearbeitet oder mit dem Haken unverändert übernommen, gilt er ab sofort für alle selektierten Features: die übrigen Seiten verschwinden und das Attribut wird zu einer gewöhnlichen Zeile. Das bearbeitete Feld selbst bleibt dabei stehen, eine laufende Eingabe wird also nicht unterbrochen. Erst dieser Schritt macht das Attribut geändert — solange nichts übernommen wurde, meldet das Formular auch keine ungespeicherten Änderungen an QGIS. Unterscheiden sich sehr viele Werte, zeigt das Karussell die häufigsten; eine letzte Seite nennt die Anzahl der nicht angezeigten Werte.

Ändert sich die Auswahl, oder werden die Änderungen angewendet oder zurückgesetzt, aktualisiert das Formular nur die betroffenen Zeilen — ohne die Seite neu zu laden: Attribute, die jetzt abweichen, werden zum Karussell, wieder einheitliche Attribute zur gewöhnlichen Zeile, und beim Wechsel in die Mehrfachbearbeitung verschwindet die Zeile des Attributs id. Alle übrigen Zeilen bleiben unverändert stehen, ebenso der Attributfilter und der geöffnete Reiter. Eingegebene, aber noch nicht angewendete Werte gehen verloren. Mit "Änderungen zurücksetzen" gilt das auch für einen übernommenen Wert: das Attribut wird wieder zum Karussell der Werte, die die selektierten Features tatsächlich tragen.

Features, die noch keine Objektart haben — aus einem anderen Layer eingefügte Geometrien —, werden als Stapel behandelt: das Formular fragt zunächst die Objektart ab und zeigt danach das vollständige Attributformular. Da diese Features in der Datenhaltung noch nicht existieren, werden mit "Änderungen anwenden" nicht nur die geänderten, sondern alle Attribute auf jedes selektierte Feature geschrieben — inklusive der Objektart, der Vorbelegungen des Datenmodells und der Bereichszuordnung.

Dabei gelten folgende Einschränkungen:

  • Es können nur Features einer Objektart gemeinsam bearbeitet werden. Umfasst die Auswahl mehrere Objektarten, wird die Mehrfachbearbeitung abgelehnt, da QGIS den Formularwert auf alle selektierten Features anwendet. Aus demselben Grund können Features ohne Objektart nicht zusammen mit bereits gespeicherten Features bearbeitet werden.
  • Um ein abweichendes Attribut für alle Features zu leeren, kann die leere Seite des Karussells übernommen werden, sofern es sie gibt. Andernfalls — und bei Attributen, die alle selektierten Features gemeinsam haben — muss das Attribut einmal gesetzt und wieder geleert werden; ein von Anfang an leer gelassenes Feld gilt als unverändert.

Relationen in beide Richtungen

Viele Relationen gelten in beide Richtungen: ein Präsentationsobjekt verweist mit dientZurDarstellungVon auf sein Fachobjekt, das Fachobjekt mit wirdDargestelltDurch zurück; ebenso ein Fachobjekt und sein Bereich mit gehoertZuBereich und planinhalt. Bearbeitet wird nur die eine Seite. Auf der Gegenseite ist eine neu gesetzte oder entfernte Referenz erst nach dem Speichern des Editiervorgangs zu sehen – bis dahin führt etwa das Formular des Fachobjekts ein eben hinzugefügtes Präsentationsobjekt noch nicht auf. Nach dem Speichern übernimmt das Plugin die Gegenseite von der App; der Plan muss dafür nicht neu geladen werden. Soll dieselbe Relation auch an der Gegenseite geändert werden, vorher speichern: sonst widersprechen sich beide Seiten, und die App lehnt das Speichern ab.