Erstellen von Sondersektionen in XML Maske - minova-afis/aero.minova.rcp GitHub Wiki

Grid

Hier wird kurz zusammengefasst, wie ein Grid in der xml-Maske definiert wird.

Für die Steuerung des Grids über einen Helper, Reagieren auf Klick der Buttons, Validierung in den Grids, usw. siehe Plugin (Helper) erstellen.

Das Grid kann entweder eigenständig (also direkt im detail Tag) erstellt werden, oder in einer Section/page.

Folgende Attribute sind möglich/nötig:

  • id: ID des Grids (darüber kann z.B. ein Helper das Grid ansteuern)
  • procedure-suffix: Prozedur-Suffix der zu nutzenden Prozedur
  • procedure-prefix: Prozedur-Prefix der zu nutzenden Prozedur
  • title: Der Titel (wird übersetzt) des Grids (Wenn eigenstehend in der Maske definiert, ansonsten wird der Title der Parent-Section genutzt)
  • icon: Das Icon des Grids (Wenn eigenstehend in der Maske definiert, ansonsten wird das Icon der Parent-Section genutzt)
  • button-delete-visible: false, wenn der Zeile-Löschen Button nicht angezeigt werden soll (true per Default)
  • button-insert-visible: false, wenn der Zeile-Hinzufügen Button nicht angezeigt werden soll (true per Default)
  • helper-class: Klasse des Helpers

Für weitere Attribute siehe Grid.xsd, wobei noch nicht alles umgesetzt ist.

Die Spalten werden als fields definiert, genau wie die normalen Felder der Maske. Einige Attribute haben allerdings keine Auswirkung, da sie für Spalten eines Grids keinen Sinn ergeben (z.B. number-columns-spanned, number-rows-spanned, fill, ...)

Folgende Besonderheiten sind zu beachten:

  • Das Grid benutzt eigene Prozeduren -> Eigene Zahlenfolge für den SQL-Index vergeben, unabhängig von der Hauptmaske und anderen Grids
  • In Lookups kann nur table verwendet werden, NICHT procedure-prefix

Außerdem können Knöpfe definiert werden, ebenfalls genauso wie Knöpfe im Rest der Maske. Um diese mit Funktionalität zu versehen ist meistens ein Helper nötig.

Browser

Hier wird kurz zusammengefasst, wie ein Browser in der xml-Maske definiert wird.

Ein Browser ist eine eigenständige Sektion.

Folgende Attribute sind möglich/nötig:

  • id: ID des Browsers (darüber kann z.B. ein Helper den Browser ansteuern)
  • title: Der Titel (wird übersetzt) des Browsers
  • icon: Das Icon des Browsers

Die Browser Sektion enthält keine Felder oder Grids. Innerhalb der Sektion wird ausschließlich das Browser Widget erstellt. Dies geschieht in der Klasse "BrowserSection". Das Aufrufen der Datei, die dargestellt werden soll, wird in einem Helper ausgeführt (siehe aero.minova.cas.plugin.attachments.helper AttachmentButtonHelper)