tilesbox — u_pbt_tilesbox #
← Komponentenreferenz · Inhalt des Handbuchs
Panel mit gruppierten Kacheln im Startbildschirm-Stil: vier Kachelgrößen, Farben, Plaketten, animierte Kacheln, einklappbare Gruppen und Umsortieren mit der Maus.
▶ Live ansehen — Demoanwendung, Kachel Tiles box: die Vorschau, der zugehörige Code und diese Seite, nebeneinander.
Auf einen Blick #
| Userobject | u_pbt_tilesbox |
| Item-Klassen | n_pbt_tilesbox_group (Gruppe) → n_pbt_tilesbox_tile (Kachel) |
| Wofür | Einen Startbildschirm oder einen Funktionsstarter anbieten: anklickbare, von Weitem lesbare Kacheln, nach Thema geordnet |
| Opt-in-Optionen | ib_reorderable: Kacheln mit der Maus verschieben und in der Größe ändern |
Schnellstart #
// open-Event des Fensters
// Eine Kachel wird an ihrer ADRESSE hinzugefuegt : die Gruppe, dann ihre eigene Id
uo_tiles.of_add_group(/*key*/ "office", /*title*/ "Verwaltung")
// Dann ihre Kacheln, jede mit ihrer Groesseuo_tiles.of_add_tile(/*keys*/ "office/clients", /*label*/ "Kunden", /*icon_file*/ "mono:img\clients.svg", /*size*/ "medium")
uo_tiles.of_add_tile(/*keys*/ "office/invoices", /*text*/ "Rechnungen", /*image*/ "mono:img\factures.svg", /*size*/ "medium")
uo_tiles.of_add_tile(/*keys*/ "office/stock", /*text*/ "Bestand", /*image*/ "mono:img\stock.svg", /*size*/ "small")
// Event ue_tile_clicked von uo_tiles: (string as_keys)
choose case as_keys
case "office/clients" ; open(w_clients)
case "office/invoices" ; open(w_invoices)
case "office/stock" ; open(w_stock)
end choose
Das Modell: Gruppen und Kacheln #
Das Panel enthält Gruppen, jede mit ihrem Titel und ihrer einklappbaren Kopfzeile. Die Kacheln gehören zu einer Gruppe: Ihr Bezeichner ist nur innerhalb dieser Gruppe eindeutig. Der Zugriff läuft daher immer über den vollständigen Pfad. Die Hinzufügungen leben auf der Komponente: ein Handle trägt nur Eigenschaften.
// Pflichtpfad: Gruppe, dann Kachel
uo_tiles.of_tile(/*keys*/ "office/invoices").is_badge = "12"
Auch die Events tragen die vollständige Adresse (as_keys, die Gruppe, dann die Kachel). Siehe Gemeinsame Basis · Die Items.
Eigenschaften #
| Eigenschaft | Typ | Standard | Zweck |
|---|---|---|---|
ib_reorderable | boolean | false | Erlaubt dem Benutzer, die Kacheln neu anzuordnen: mit der Maus oder über die Tastatur mit Strg+Links/Rechts (eine Stelle in der Gruppe, in Leserichtung) und Strg+Oben/Unten (in die vorherige oder nächste Gruppe); ein Rechtsklick ändert die Größe. Maus und Tastatur lösen dasselbe ue_tile_moved aus |
is_scroll | string | SCROLL_HORIZONTAL | Bildlaufrichtung: SCROLL_VERTICAL (die Kacheln brechen um) oder SCROLL_HORIZONTAL (Spalten im Startbildschirm-Stil) |
ib_show_group_headers | boolean | true | false blendet die Gruppenkopfzeilen aus. Nützlich, wenn der Bereich nur eine einzige Gruppe enthält: Es gibt nichts zu benennen und die Kopfzeile frisst nur Höhe. Ohne Kopfzeile gibt es auch kein Chevron mehr: Die Gruppen werden immer ausgeklappt angezeigt |
ii_anim_duration | integer | 180 | Dauer der Ein-/Ausklappanimation einer Gruppe in Millisekunden; 0 = sofort |
ii_tile_unit | integer | 0 | Grundgröße einer Kachel in Pixeln: jede Kachelgröße (klein, mittel, breit, groß) ist ein Vielfaches davon, sodass ein Wert das ganze Brett dichter oder luftiger macht. 0 gibt sie dem Thema zurück |
ii_badge_size | integer | 0 | Höhe der Kachel-Plaketten in Pixeln, für die ganze Box (0 = die Größe aus dem Design). Die Schriftgröße folgt von selbst. Die Farbe einer Plakette gehört zur Kachel, weil sie etwas bedeutet; ihre Größe nicht |
is_theme_style | string | "" | Visueller Stil der Komponente (Konstanten THEME_STYLE_*); leer = der der Anwendung, bei jeder Änderung übernommen |
is_theme_mode | string | "" | Helle oder dunkle Variante (Konstanten THEME_MODE_*); leer = die der Anwendung, bei jeder Änderung übernommen |
il_theme_accent | long | -1 | Akzentfarbe dieser Komponente (-1 = Akzent der Anwendung, sonst der des Designs) |
is_tooltip | string | "" | Einfacher Tooltip beim Überfahren der Komponente |
is_super_tooltip_title | string | "" | Titel des erweiterten Tooltips (hat Vorrang vor is_tooltip) |
is_super_tooltip_text | string | "" | Text des erweiterten Tooltips (Rich-Markup zulässig) |
is_super_tooltip_image | string | "" | Bild des erweiterten Tooltips |
Methoden #
| Methode | Zweck | |
|---|---|---|
of_group (string as_key) → n_pbt_tilesbox_group | Liefert das Handle einer Gruppe (wird beim ersten Zugriff erzeugt). Bei einer nicht vorhandenen Gruppe schreibt es nichts — es erzeugt die Gruppe nie, das tut of_add_group; ein Schlüssel, der keine Gruppe benennen kann (leer, mit / oder ` | `), liefert ein wirkungsloses Handle, das leer gelesen wird |
of_add_group (string as_key, string as_title) → long | Fügt eine Gruppe hinzu. Liefert 0 nach der Anwendung, -5 wenn der Schlüssel leer ist, ein / oder ein ` | enthält oder bereits vergeben ist, -2` wenn die Komponente nicht erzeugt ist |
of_add_tile (string as_keys, string as_text, string as_image, string as_size) → long | Fügt eine Kachel an ihrer Adresse hinzu, "office/clients": die Gruppe, in der sie landet, dann ihre eigene Kennung. Liefert 0 nach der Anwendung, -5 wenn die Adresse nicht Gruppe/Kachel lautet, wenn die Gruppe nie mit of_add_group hinzugefügt wurde, wenn der Schlüssel in dieser Gruppe bereits vergeben ist (oder leer ist oder ein ` | enthält), -2` wenn die Komponente nicht erzeugt ist. Eine Überladung lässt Symbol und Größe weg |
of_tile (string as_keys) → n_pbt_tilesbox_tile | Liefert das Handle einer Kachel über ihre Adresse (wird beim ersten Zugriff erzeugt). Eine Adresse, die nicht Gruppe/Kachel lautet, liefert ein wirkungsloses Handle: es schreibt nichts und liest sich leer | |
of_add_live_item (string as_keys, string as_text) → long | Fügt dem Laufband einer Kachel eine Seite hinzu, an ihrer Adresse; ab zwei Seiten wechselt die Kachel zwischen ihnen. Die erste Seite löscht is_live_text; of_tile(adresse).of_count() liest die Zahl der Seiten. Liefert 0 nach der Anwendung, -5 bei leerem Text oder wenn unter dieser Adresse keine Kachel existiert, -2 wenn die Komponente nicht erzeugt ist | |
of_clear_live_items (string as_keys) → long | Leert das Laufband einer Kachel: sie hört auf zu wechseln und zeigt wieder ihre einfache Seite. Liefert 0 nach der Anwendung, -5 wenn unter dieser Adresse keine Kachel existiert, -2 wenn die Komponente nicht erzeugt ist | |
of_remove_group (string as_key) | Entfernt eine Gruppe und alle ihre Kacheln. Liefert 0 nach der Anwendung, -5 wenn es keine solche Gruppe gibt, -2 wenn die Komponente nicht erzeugt ist | |
of_insert_tile (string as_keys, string as_text, integer ai_index) | Fügt eine Kachel an einer bestimmten Position innerhalb ihrer Gruppe ein (Position ab 1 gezählt). Liefert 0 nach der Anwendung, -5 bei denselben Ablehnungen wie of_add_tile, -2 wenn die Komponente nicht erzeugt ist | |
of_insert_tile (string as_keys, string as_text, string as_image, string as_size, integer ai_index) | Ebenso, mit Symbol und Größe (small / medium / wide / large): eine Kachel ist ein Bild mit einer Beschriftung darunter, und ihre Größe ist im Raster sichtbar. Liefert 0 nach der Anwendung, -5 bei denselben Ablehnungen wie of_add_tile, -2 wenn die Komponente nicht erzeugt ist | |
of_move_tile (string as_keys, integer ai_index) | Verschiebt eine vorhandene Kachel an eine andere Position ihrer Gruppe, unter Beibehaltung ihres Zustands. Liefert 0 nach der Anwendung, -5 wenn unter dieser Adresse keine Kachel existiert, -2 wenn die Komponente nicht erzeugt ist | |
of_remove_tile (string as_keys) | Entfernt eine einzelne Kachel, der Rest des Panels bleibt erhalten. Liefert 0 nach der Anwendung, -5 wenn unter dieser Adresse keine Kachel existiert, -2 wenn die Komponente nicht erzeugt ist | |
of_clear ( ) | Leert das Panel (Gruppen und Kacheln); die dafür ausgegebenen Handles werden freigegeben. Liefert 0 nach der Anwendung, -2 wenn die Komponente nicht erzeugt ist | |
of_get_layout ( ) | Liest die aktuelle Anordnung als JSON zurück: die Gruppen in ihrer Reihenfolge, eingeklappt oder nicht, sichtbar oder nicht, und ihre Kacheln in ihrer Reihenfolge mit Größe und Sichtbarkeit. Ein undurchsichtiger Text: unverändert speichern und dann an of_set_layout zurückgeben | |
of_set_layout (string as_state_json) | Stellt eine mit of_get_layout gelesene oder mit ue_layout_changed erhaltene Anordnung wieder her: Reihenfolge, eingeklappte Gruppen, Größen und Sichtbarkeit. Eine Kachel wird über ihre Gruppe und ihren Schlüssel wiedergefunden; was die Anordnung nicht nennt, behält seinen Platz. Löst kein Ereignis aus. Liefert 0 nach der Anwendung, -5 bei einem leeren Text oder einem, der kein JSON ist, -2 wenn die Komponente nicht erzeugt ist | |
of_reset ( ) | Leert den Inhalt und setzt die Eigenschaften auf ihre Standardwerte zurück. Liefert 0 nach der Anwendung, -2 wenn die Komponente nicht erzeugt ist |
Auf einer Gruppe — n_pbt_tilesbox_group #
| Mitglied | Typ | Standard | Zweck |
|---|---|---|---|
is_title | string | der Schlüssel | In der Kopfzeile angezeigter Titel, Rich-Text-Auszeichnung zulässig |
ib_collapsed | boolean | false | Eingeklappte Gruppe: Ihre Kacheln sind unter der Kopfzeile verborgen. Das Setzen löst ue_group_toggled aus, wenn sich der Zustand ändert, wie ein Klick auf die Kopfzeile |
ib_enabled | boolean | true | Gesamte Gruppe ausgegraut und inaktiv: ihre Kopfzeile klappt sie nicht mehr ein, ihre Kacheln reagieren nicht mehr, keine Kachel kann hineingezogen werden |
ib_visible | boolean | true | Gruppe ausgeblendet, ohne aus dem Modell entfernt zu werden |
il_back_color · il_text_color · il_back_color_hover · il_text_color_hover · il_accent | long | -1 | Farben der Kopfzeile der Gruppe — Hintergrund, Titel, beide unter dem Mauszeiger, und eine Akzentlinie unter der Kopfzeile. Sie gehen nicht auf die Kacheln über, die ihre eigenen behalten |
Auf einer Kachel — n_pbt_tilesbox_tile #
| Mitglied | Typ | Standard | Zweck |
|---|---|---|---|
is_title | string | "" | Text auf der Kachel. Von of_add_tile gesetzt; hier geschrieben ändert er sich, gelesen sagt er, was die Kachel gerade zeigt |
is_image | string | "" | Symbol der Kachel (Dateipfad oder resources.dll:Name). Eine leere Zeichenkette entfernt das Symbol |
is_size | string | SIZE_MEDIUM | Größe: SIZE_SMALL, SIZE_MEDIUM, SIZE_WIDE, SIZE_LARGE |
il_back_color · il_text_color | long | -1 | Hintergrund und Text dieser Kachel, als RGB(r,g,b) (-1 = was das Design vorgibt) |
il_back_color_hover · il_text_color_hover | long | -1 | Dieselben zwei, aber unter dem Mauszeiger |
is_badge | string | "" | In der Ecke der Kachel angezeigte Plakette (ein Zähler, ein kurzer Status) |
il_badge_color | long | -1 | Hintergrund der Plakette, als PowerBuilder-RGB (-1 = die Farbe aus dem Design; 0 ist Schwarz) |
is_live_text | string | "" | Über die Kachel gelegter fester Text; die erste Seite von of_add_live_item löscht ihn (er wird dann leer gelesen), Rich-Text-Auszeichnung zulässig |
ib_enabled | boolean | true | Kachel ausgegraut und nicht anklickbar |
ib_visible | boolean | true | Kachel ausgeblendet, ohne aus ihrer Gruppe entfernt zu werden |
Die Symbole akzeptieren alle von der Bibliothek erkannten Formen: Pfad, mono:, tint:, DLL-Ressource. Ziehen Sie auf einer großen Kachel ein scharfes, hochauflösendes Bild oder ein SVG vor.
Die vier Größen #
| Größe | Platzbedarf | Typische Verwendung |
|---|---|---|
small | 1 Feld | Nachrangige Verknüpfung; die Beschriftung wird nicht angezeigt, der Tooltip übernimmt |
medium | 2 × 2 Felder | Referenzgröße: Symbol und Beschriftung |
wide | 4 × 2 Felder | Längliche Kachel, ideal für einen animierten Text |
large | 4 × 4 Felder | Hauptkachel des Bildschirms |
Events #
| Event | Ausgelöst wenn |
|---|---|
ue_tile_clicked (string as_keys) | Auf eine Kachel wird geklickt |
ue_tile_moved (string as_keys, string as_to_key, long al_index) | Der Benutzer hat eine Kachel verschoben, mit der Maus oder mit Strg+Pfeiltasten (of_move_tile löst nichts aus): as_keys ist die Adresse, von der sie kommt, as_to_key die Zielgruppe, al_index die neue Position |
ue_group_toggled (string as_key, boolean ab_collapsed) | Eine Gruppe wird ein- oder ausgeklappt: über ihre Kopfzeile oder durch ihr von Ihrem Code gesetztes ib_collapsed (nichts, wenn sie schon in diesem Zustand ist) |
ue_tile_context (string as_keys) | Rechtsklick auf eine Kachel |
ue_tile_resized (string as_keys, string as_size) | Der Benutzer hat einer Kachel über ihr Kontextmenü eine andere Größe gegeben (nur angezeigt, solange ib_reorderable true ist); as_size trägt die neue Größe |
ue_layout_changed (string as_layout_json) | Der Benutzer hat die Anordnung geändert: eine Kachel verschoben, eine Kachel über ihr Menü in der Größe geändert, eine Gruppe über ihre Kopfzeile ein- oder ausgeklappt. Trägt die gesamte Anordnung, denselben Text wie of_get_layout. Was die Anwendung per Code ändert, löst es nicht aus (das ib_collapsed einer Gruppe löst nur ue_group_toggled aus) |
ue_ready ( ) | Die Komponente ist fertig geladen; alles zuvor Gesendete wurde nachgespielt |
ue_runtime_missing ( ) | Die WebView2-Runtime fehlt: die Komponente bleibt leer |
ue_bg_color (long al_color) | Die Komponente hat ihre Design-Hintergrundfarbe berechnet; das Userobject hat sie bereits übernommen (backcolor) |
Beispiele #
Gemischte Größen innerhalb einer Gruppe #
// Mit einer leeren Box und einer Gruppe beginnen
uo_tiles.of_clear()
uo_tiles.of_add_group(/*key*/ "home", /*title*/ "Startseite")
// Vier Kacheln in vier Groessen
uo_tiles.of_add_tile(/*keys*/ "home/dashboard", /*text*/ "Dashboard", /*image*/ "mono:img\chart.svg", /*size*/ "large")
uo_tiles.of_add_tile(/*keys*/ "home/clients", /*text*/ "Kunden", /*image*/ "mono:img\users.svg", /*size*/ "medium")
uo_tiles.of_add_tile(/*keys*/ "home/agenda", /*text*/ "Kalender", /*image*/ "mono:img\cal.svg", /*size*/ "wide")
uo_tiles.of_add_tile(/*keys*/ "home/help", /*text*/ "Hilfe", /*image*/ "mono:img\help.svg", /*size*/ "small")
Plakette, Farbe und animierte Kachel #
// Local variables
n_pbt_tilesbox_tile lnv_tile
// Eine Plakette meldet eine Anzahl wartender Elemente
uo_tiles.of_tile(/*keys*/ "home/clients").is_badge = String(ll_new_count)
// Rot, wenn der Rueckstand kritisch wird, sonst die Farbe des Designs (-1)
if ll_new_count > 50 then
uo_tiles.of_tile(/*keys*/ "home/clients").il_badge_color = RGB(/*red*/ 200, /*green*/ 30, /*blue*/ 30)
else
uo_tiles.of_tile(/*keys*/ "home/clients").il_badge_color = -1
end if
// Eine eigene Farbe hebt eine Kachel hervor : Hintergrund, Text und das,
// was aus beiden unter dem Mauszeiger wird
lnv_tile = uo_tiles.of_tile(/*keys*/ "home/dashboard")
lnv_tile.il_back_color = RGB(/*red*/ 0, /*green*/ 103, /*blue*/ 192)
lnv_tile.il_back_color_hover = RGB(/*red*/ 0, /*green*/ 80, /*blue*/ 150)
lnv_tile.il_text_color = RGB(/*red*/ 255, /*green*/ 255, /*blue*/ 255)
// ANIMIERTE Kachel: jede hinzugefuegte Seite laeuft der Reihe nach ueber die Kachel.
// Eine Seite wird ueber die KOMPONENTE hinzugefuegt, an der Adresse der Kachel
uo_tiles.of_clear_live_items(/*keys*/ "home/agenda")
uo_tiles.of_add_live_item(/*keys*/ "home/agenda", /*text*/ "3 Termine heute")
uo_tiles.of_add_live_item(/*keys*/ "home/agenda", /*text*/ "Teambesprechung um 14:00 Uhr")
uo_tiles.of_add_live_item(/*keys*/ "home/agenda", /*text*/ "2 überfällige Nachfassaktionen")
Ein fester Text statt eines Durchlaufs #
// is_live_text legt EINEN dauerhaften Text auf die Kachel (Rich-Text-Auszeichnung zulaessig)
uo_tiles.of_tile(/*keys*/ "home/dashboard").is_live_text = "[b]48[/b] Bestellungen heute"
Einklappbare Gruppen #
// Local variables
n_pbt_tilesbox_group lnv_admin
// Eine Gruppe mit ihren zwei Kacheln, dann ein Handle auf die Gruppe
uo_tiles.of_add_group(/*key*/ "admin", /*title*/ "Administration")
uo_tiles.of_add_tile(/*keys*/ "admin/users", /*text*/ "Benutzer", /*image*/ "mono:img\users.svg", /*size*/ "medium")
uo_tiles.of_add_tile(/*keys*/ "admin/params", /*text*/ "Einstellungen", /*image*/ "mono:img\gear.svg", /*size*/ "medium")
lnv_admin = uo_tiles.of_group(/*key*/ "admin")
// Diese Gruppe startet eingeklappt: der Benutzer oeffnet sie, wenn er sie braucht
lnv_admin.ib_collapsed = true
// Eine ganze Gruppe kann je nach Rechten auch ausgegraut werden
lnv_admin.ib_enabled = (is_profile = "ADMIN")
// Event ue_group_toggled von uo_tiles
if as_key = "admin" and not ab_collapsed then of_trace("Verwaltungsbereich geoeffnet")
Ein Bereich mit einer einzigen Gruppe, ohne Kopfzeile #
// Eine einzige Gruppe hat nichts zu benennen : ihre Kopfzeile frisst nur Hoehe.
// Ohne Kopfzeile auch kein Chevron mehr : die Kacheln bleiben immer sichtbar.
uo_tiles.ib_show_group_headers = false
uo_tiles.of_add_group(/*key*/ "all", /*title*/ "")
Eine Kachel zwischen zwei Gruppen verschieben #
Mit ib_reorderable = true zieht der Benutzer eine Kachel dorthin, wohin er will, auch von einer Gruppe in eine andere. Das Event ue_tile_moved liefert beide Gruppen und die neue Position. Über die Tastatur rückt die Kachel mit dem Fokus mit Strg+Links/Rechts um eine Stelle vor oder zurück (in Leserichtung: von rechts nach links umgekehrt) und wechselt mit Strg+Oben/Unten in die vorherige oder nächste Gruppe — dasselbe ue_tile_moved, dieselben Ablehnungen (Schlüssel bereits vergeben, Gruppe deaktiviert oder eingeklappt). Die Tab-Taste hält nur einmal pro Gruppe: die Pfeiltasten durchlaufen die Kacheln.
// Dem Benutzer das Umordnen erlauben : standardmaessig false, anfordern
uo_tiles.ib_reorderable = true
// Event ue_tile_moved von uo_tiles
// as_keys = woher sie kommt, as_to_key = wohin sie geht, al_index = Position
n_pbt_utils lnv_utils // autoinstantiate : nichts zu erzeugen, nichts zu zerstoeren
if lnv_utils.of_parent(/*keys*/ as_keys) <> as_to_key then
of_trace("Kachel " + lnv_utils.of_leaf(/*keys*/ as_keys) + " verschoben von " + lnv_utils.of_parent(/*keys*/ as_keys) + " nach " + as_to_key)
end if
// Event ue_layout_changed von uo_tiles: die gewaehlte Anordnung aufbewahren
is_layout_json = as_layout_json
// Beim naechsten Oeffnen: den Bildschirm so wiederherstellen, wie der Benutzer ihn eingerichtet hatte
if is_layout_json <> "" then uo_tiles.of_set_layout(/*state_json*/ is_layout_json)
Um den Bildschirm festzusetzen, genügt es, das Umsortieren abzuschalten:
// Freeze the screen : the tiles stay where they are
uo_tiles.ib_reorderable = false
Aus dem Code heraus umsortieren #
// Die Kachel "help" an den Anfang ihrer Gruppe setzen (Positionen ab 1 gezaehlt)
uo_tiles.of_move_tile(/*keys*/ "home/help", /*index*/ 1)
// Eine neue Kachel an zweiter Position einfuegen
uo_tiles.of_insert_tile(/*keys*/ "home/quotes", /*text*/ "Angebote", /*index*/ 2)
// Eine Kachel entfernen, ohne den Rest anzuruehren
uo_tiles.of_remove_tile(/*keys*/ "home/help")
// Jeder Aufruf liefert -5, wenn die Adresse nichts benennt (oder beim Einfuegen einen vergebenen Schluessel)
Auf den Rechtsklick reagieren #
// Event ue_tile_context von uo_tiles: (as_keys)
// Die anvisierte Kachel merken, dann Ihr eigenes Kontextmenue oeffnen
n_pbt_utils lnv_utils // autoinstantiate : nichts zu erzeugen, nichts zu zerstoeren
// Eine einzige Adresse : aufteilen, wenn beide Haelften gebraucht werden.
is_target_group = lnv_utils.of_parent(/*keys*/ as_keys)
is_target_tile = lnv_utils.of_leaf(/*keys*/ as_keys)
of_open_tile_menu(PointerX(), PointerY())
Best Practices #
- Eine
large-Kachel pro Bildschirm genügt: Sie ist der Haupteinstiegspunkt, der Rest muss lesbar bleiben. small-Kacheln zeigen ihre Beschriftung nicht an — füllen Sie stets den Tooltip des Items aus.- Behalten Sie
il_back_colorden Kacheln vor, die sich abheben sollen: Über zwei oder drei Farben hinaus verliert der Bildschirm seine Hierarchie. Und wenn Sie einen hellen Hintergrund setzen, setzen Sieil_text_colorgleich mit — der Text des Designs ist darauf nicht garantiert lesbar. - Ziehen Sie
of_add_live_item(Durchlauf) demis_live_text(fester Text) vor, wenn Sie mehrere Informationen auf derselben Kachel unterbringen wollen. - Wenn Sie das Umsortieren aktiv lassen, bewahren Sie die Anordnung über
of_get_layout/ue_layout_changedauf und spielen Sieof_set_layoutbeim Öffnen wieder ein. - Verwenden Sie
ib_visibleundib_enabled(Gruppe oder Kachel), um das Panel an die Rechte des Benutzers anzupassen, statt es neu aufzubauen. - Wenn der Platz für Kacheln nicht ausreicht, ziehen Sie die kompakte seitliche Navigation der listbar vor; für häufige Aktionen die toolbar.
Vom gemeinsamen Sockel geerbt #
Diese Mitglieder gibt es bei jeder visuellen Komponente — sie sind nicht dieser eigen. Sie werden einmal in den übergreifenden Kapiteln beschrieben; diese Tabelle sagt nur, wo man sie liest.
| Mitglieder | Rolle | Beschrieben in |
|---|---|---|
of_count · of_keys_at · of_has | Durchlaufen, was die Komponente enthält | 3.2 Die Items |
of_reset | Die Komponente zurücksetzen | 3.6 Eine Komponente zurücksetzen: of_reset() |
of_register_shortcut · of_clear_shortcuts | Tastenkürzel der Komponente | 3.5 Tastenkombinationen |
of_is_created · of_is_ready · of_get_last_error | Ob sie entstanden ist, ob sie bereit ist, was fehlschlug | 3.7 Diagnose |
of_save_as_png · of_save_as_jpg | Die Darstellung als Bild exportieren | 3.8 Die Darstellung als Bild exportieren |
of_set_redraw | Änderungen zu einem einzigen Neuzeichnen bündeln | 3.10 Best Practices |
of_preload_icons | Symbole ohne Verzögerung | Sofortige Anzeige: of_icon |
of_set_translation | Eine Beschriftung der Komponente übersetzen | 5.2 Eine Beschriftung anpassen: of_set_translation |
of_focus_webview | Der Komponente den Fokus geben | 6.4 Tastatur und Fokus |
of_print · of_print_to_pdf | Drucken oder ein PDF schreiben | 6.9 Drucken |
of_set_property · of_get_property · of_component_name | Eine Eigenschaft über ihren Namen steuern | 3.1 Die Eigenschaften-Engine |
Zwei Helfer werden nicht geerbt: of_icon und of_escape_markup liegen auf n_pbt_utils. Deklarieren Sie eines — n_pbt_utils lnv_utils, nichts zu erzeugen — und rufen Sie sie darauf auf.