Handbuch
Die folgende Dokumentation ist Bestandteil der BeeBase-Distribution und gibt es auch als PDF.
[ << ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
15. Struktureditor
BeeBase besitzt zwei verschiedene Arbeitsmodi: den Datensatzbearbeitungsmodus, in dem Datensätze bearbeitet und durchforstet werden können und den Strukturbearbeitungsmodus, in dem die Struktur, d.h. Tabellen, Felder und Erscheinungsbild, definiert wird. Dieses Kapitel beschreibt den Struktureditor und erklärt, wie die Struktur eines Projekts verwaltet wird.
Um vom Datensatzbearbeitungsmodus in den Strukturbearbeitungsmodus zu wechseln, wird der Menüpunkt `Struktureditor' im Menü `Projekt' ausgewählt. Dies schließt alle Fenster und öffnet das Struktureditor-Fenster. Um zum Datensatzbearbeitungsmodus zurückzukehren, kann der Menüpunkt `Projekt - Struktureditor verlassen' ausgewählt oder einfach das Struktureditor-Fenster über den Schließknopf der Fenstertitelzeile verlassen werden.
Das Struktureditor-Fenster ist aufgeteilt in drei Teile: links oben ist der Bereich `Tabellen' zum Verwalten der Tabellen eines Projekts, links unten der Bereich `Felder' für die Felder einer Tabelle und rechts der Bereich `Anzeige' zum Verwalten der grafischen Elemente des Projekts.
15.1 Tabellenverwaltung | Wie Tabellen hinzugefügt, geändert und gelöscht werden. | |
15.2 Felderverwaltung | Hinzufügen, Ändern und Löschen von Feldern. | |
15.3 Anzeigeverwaltung | Verwalten der grafischen Elemente des Projekts. | |
15.4 Struktur exportieren | Wie man eine Übersicht aller Tabellen und Felder erhält. |
15.1 Tabellenverwaltung
Im Bereich `Tabellen' des Struktureditors werden Tabellen erstellt, geändert, gelöscht und sortiert.
15.1.1 Tabellen erstellen | Wie eine Tabelle hinzugefügt wird. | |
15.1.2 Tabellen ändern | Wie eine Tabelle geändert wird. | |
15.1.3 Tabellen löschen | Wie eine Tabelle gelöscht wird. | |
15.1.4 Tabellen sortieren | Wie eine Tabelle sortiert wird. |
15.1.1 Tabellen erstellen
Um eine neue Tabelle zu erstellen, wird der Knopf `Neu' im Bereich `Tabellen' gedrückt. Dies öffnet das Fenster `Neue Tabelle' mit
- einem Zeichenkettenfeld für den Namen der Tabelle. Jede Tabelle muss einen eindeutigen Namen haben, der mit einem Großbuchstaben beginnen muss und weitere Zeichen, Ziffern und Unterstrich-Zeichen enthält. Nicht-ASCII-Zeichen wie deutsche Umlaute sind nicht zulässig. Anzumerken ist, dass die Benutzeroberfläche zur Tabelle trotzdem Zeichenketten mit Nicht-ASCII-Zeichen darstellen kann.
- einem Bereich `Anzahl der Datensätze', in dem festgelegt wird, wie viele Datensätze die Tabelle halten darf. `unbegrenzt' bedeutet, dass die Tabelle jede Anzahl von Datensätze halten kann und `genau ein' kann nur einen einzigen Datensatz halten. Letzteres ist manchmal nützlich, um das Projekt zu steuern (siehe Tabellen).
- einem Bereich `Auslösefunktionen', in dem die Namen von zwei Funktionen eingegeben werden können. Im Feld `Neu' gibt man die Funktion an, die immer dann aufgerufen wird, wenn der Benutzer einen neuen Datensatz anlegt und im Feld `Löschen' die Funktion bei jedem Löschen eines Datensatzes. Dazu können die Popup-Knöpfe rechts davon verwendet werden, um aus einer Liste aller Namen eine Funktion auszuwählen. Wird ein Feld leer gelassen, dann werden Vorgabefunktionen ausgeführt (Datensätze werden automatisch erzeugt und Datensätze werden nach einer eventuellen Sicherheitsabfrage gelöscht). Mehr über die Anwendung dieser Auslösefunktionen, einschließlich der übergebenen Argumente, siehe Auslösefunktion Neu und Auslösefunktion Löschen.
- ein Feld `Zähle Änderungen', welches, wenn gesetzt, das Anlegen und Löschen eines Datensatzes als eine Änderung des Projekts zählt. Wenn ungesetzt, so werden jegliche Änderungen in der Tabelle (oder in einem Feld der Tabelle) ignoriert.
- ein Feld `Protokolliere Änderungen'. Falls gesetzt, so wird jedes Anlegen und Löschen eines Datensatzes im Log des Projekts festgehalten. Andernfalls wird niemals eine Änderung in der Tabelle (oder in einem Feld der Tabelle) im Log notiert.
- zwei Knöpfen `Ok' und `Abbrechen' zum Verlassen des Fensters.
Wurden alle Einstellungen getätigt, wird `Ok' gedrückt, um die neue Tabelle zu erzeugen. Falls ein Fehler vorliegt, z.B. Eingabe eines falschen Namens, dann weist ein Hinweisfenster auf den Fehler hin. Tritt kein Fehler auf, dann schließt das Fenster und die neue Tabelle erscheint in der Tabellenliste des Struktureditors.
15.1.2 Tabellen ändern
Nachdem eine Tabelle erzeugt wurde, lässt sie sich nachträglich ändern. Dazu klickt man doppelt auf den Namen der Tabelle und das Fenster `Tabelle ändern' erscheint. Dieses Fenster gleicht dem Fenster, das beim Erstellen der Tabelle verwendet wird (siehe Tabellen erstellen) und erlaubt Änderungen in jedem Feld durch neue Eingaben.
Wurden alle Einstellungen getätigt, wird `Ok' gedrückt, um das Fenster zu verlassen.
Anzumerken ist, dass sich die Anzahl der Datensätze nicht von `unbegrenzt' auf `genau ein' ändern lässt, wenn die Tabelle schon mehr als einen Datensatz beinhaltet.
15.1.3 Tabellen löschen
Um eine Tabelle zu löschen, klickt man auf den Namen der Tabelle in der Tabellenliste des Struktureditors und drückt dann den Knopf `Löschen' unterhalb der Liste. Bevor die Tabelle tatsächlich gelöscht wird, fragt eine Sicherheitsabfrage um die Bestätigung. Wenn die Sicherheitsabfrage mit dem Knopf `Löschen' bestätigt wird, dann wird die Tabelle gelöscht.
Ein Problem taucht auf, wenn die Tabelle irgendwo im Programm zum Projekt verwendet wird. In diesem Fall kann die Tabelle nicht einfach gelöscht werden, sondern alle Beziehungen zur Tabelle müssen zuerst entfernt werden. Wird die zu löschende Tabelle im Programm zum Projekt verwendet, dann erscheint der Programmeditor und zeigt das erste Auftreten der Tabelle an. Nun muss man das Programm so ändern, dass keine Beziehungen zur Tabelle mehr im Programm verbleiben. Nach dem Entfernen einer Beziehung kann man zur nächsten springen, indem man den Knopf `Kompilieren' drückt. An jeder Stelle kann man die gesamte Operation durch einen Druck auf den Knopf `Rückgängig machen' abbrechen und den Programmeditor schließen.
15.1.4 Tabellen sortieren
Zum Sortieren der Tabellen im Bereich `Tabellen' des Struktureditors hat man mehrere Möglichkeiten: mit Verschieben & Loslassen die Reihenfolge per Hand einstellen oder den Knopf `Sortieren' unterhalb der Listenansicht drücken, der die Tabellen alphabetisch (`Sortieren1') oder anhand der Reihenfolge in der Anzeigenliste (`Sortieren2') sortiert.
15.2 Felderverwaltung
Im Bereich `Felder' des Strukturediors können die Felder der gerade aktiven Tabelle erzeugt, kopiert, verändert, gelöscht und sortiert werden.
15.2.1 Felder erstellen | Wie Felder hinzugefügt werden. | |
15.2.2 Typabhängige Einstellungen | Einstellungen, die vom Typ des Feldes abhängen. | |
15.2.3 Auswahltexteditor | Auswahltexte angeben, z.B. für Auswahlfelder. | |
15.2.4 Felder kopieren | Kopien von Feldern machen. | |
15.2.5 Felder ändern | Wie Felder verändert werden. | |
15.2.6 Felder löschen | Wie Felder gelöscht werden. | |
15.2.7 Felder sortieren | Wie die Feldliste sortiert wird. |
15.2.1 Felder erstellen
Um ein neues Feld für die aktive Tabelle zu erstellen, drückt man den Knopf `Neu' im Bereich `Felder'. Dies öffnet das Fenster `Neues Feld' mit
- einem Zeichenkettenfeld zur Eingabe des Namens des Feldes. Jedes Feld einer Tabelle muss einen eindeutigen Namen haben, der mit einem Großbuchstaben beginnt, gefolgt von weiteren Buchstaben, Ziffern und Unterstrich-Zeichen. Nicht-ASCII-Zeichen wie deutsche Umlaute sind nicht zulässig. Anzumerken ist, dass die Benutzeroberfläche trotzdem Zeichenketten mit Nicht-ASCII-Zeichen darstellen kann.
- einem Feld `Typ', in dem der Typ des Feldes festgelegt wird. Mehr Informationen zu den Feldtypen, siehe Feldtypen.
- einem Bereich unterhalb des Feldes `Typ' zum Festlegen von typabhängigen Einstellungen. Mehr über diesen Bereich, siehe Typabhängige Einstellungen.
- einem Feld `Auslösefunktion', in dem der Name einer Funktion eingegeben werden kann, die immer dann aufgerufen wird, wenn der Inhalt des Feldes im Datensatz sich ändert. Dazu kann der Popup-Knopf rechts davon verwendet werden, um aus einer Liste aller Namen eine Funktion auszuwählen. Wird das Feld leer gelassen, dann wird eine Vorgabefunktion ausgeführt, die einfach den eingegebenen Wert im Feld speichert. Mehr über die Anwendung dieser Auslösefunktion, einschließlich der übergebenen Argumente, siehe Auslösefunktion Feld.
- einem Feld `Zähle Änderungen'. Wenn ausgewählt, so wird jede Änderung des Feldes in einem Datensatz als eine Änderung des Projekts gezählt. Man deaktiviert dieses Feld, wenn Änderungen des Feldes ignoriert werden sollen. Zu beachten ist, dass dieses Feld nur dann anwählbar ist, wenn das Feld `Zähle Änderungen' in der Tabelle ebenfalls gesetzt ist (siehe Tabellen erstellen).
- einem Feld `Protokolliere Änderungen', das, wenn gesetzt, jede Änderung des Feldes in einem Datensatz im Log des Projekts festhält. Zu beachten ist, dass dieses Feld nur dann anwählbar ist, wenn das Feld `Protokolliere Änderungen' in der Tabelle ebenfalls gesetzt ist (siehe Tabellen erstellen).
- zwei Knöpfen `Ok' und `Abbrechen' zum Verlassen des Fensters.
Wurden alle Einstellungen getätigt, wird `Ok' gedrückt, um das neue Feld zu erzeugen. Falls ein Fehler vorliegt, z.B. Eingabe eines falschen Namens, dann weist ein Hinweisfenster auf den Fehler hin. Tritt kein Fehler auf, dann schließt das Fenster und das neue Feld erscheint in der Felderliste des Struktureditors.
15.2.2 Typabhängige Einstellungen
Im typabhängigen Bereich können folgende Einstellungen getätigt werden:
- Für Felder vom Typ Zeichenkette gibt es
- ein Ganzzahlfeld `max. Länge' für die maximale Anzahl von Zeichen für dieses Feld.
- ein Zeichenkettenfeld `Vorgabewert' zur Angabe eines Wertes zum Vorbelegen des Feldes. Jede Zeichenkette bis zur festgelegten maximalen Länge kann hier eingegeben werden.
- Für Felder vom Typ Ganzzahl, Fließkommazahl, Datum und Zeit bietet der
typabhängige Bereich
- einen Bereich `Vorgabewert', in dem ein Wert zum Vorbelegen des Feldes festgelegt wird. Es kann zwischen `NIL' und `anderer' gewählt werden. Wurde `anderer' gewählt, dann gibt man den Vorgabewert im Zeichenkettenfeld rechts davon an.
- ein Zeichenkettenfeld `NIL-Text', in dem eine Zeichenkette eingegeben werden kann, die angezeigt wird, wenn das Feld den Wert NIL beinhaltet.
- Für Boolesche Felder enthält der typabhängige Bereich einen Bereich
`Vorgabewert', in dem als Vorgabewert zwischen `WAHR' und
`FALSCH' gewählt werden kann.
- Der typabhängige Bereich für Auswahlfelder bietet
- einen Knopf `Bearbeite Auswahltexte' zum Öffnen des Fensters `Bearbeite Auswahltexte', in dem die Auswahltexte für das Auswahlfeld eingegeben werden können (siehe Auswahltexteditor).
- ein Auswahlfeld `Vorgabewert' zur Festlegung des Wertes zum Initialisieren des Feldes.
- Für Beziehungsfelder enthält der typabhängige Bereich
- eine Listenansicht, die alle Tabellen anzeigt, zu denen eine Beziehung hergestellt werden kann. Hier klickt man auf die Tabelle, zu der die Beziehung angelegt werden soll.
- ein Feld `Auto Anzeige'. Wenn ausgewählt, dann wird in der referenzierte Tabelle immer automatisch der gerade referenzierte Datensatz angezeigt.
- ein Feld `Filtern'. Wenn ausgewählt, ist der Referenzfilter des Feldes aktiviert. Siehe Referenzfilter für mehr Informationen über diese Eigenschaft.
Beziehungsfelder haben immer den Wert NIL als Vorgabewert.
- Der typabhängige Bereich für virtuelle Felder enthält
- ein Zeichenkettenfeld `Berechne' für den Namen der Funktion, die zur Berechnung des Feldwertes ausgeführt wird. Der angehängte Popup-Knopf kann zur Auswahl eines Namens aus einer Liste von Funktionsnamen verwendet werden. Mehr über die Anwendung dieser Auslösefunktion, siehe Virtuelle Felder programmieren.
- ein Zeichenkettenfeld `NIL-Text', in dem eine Zeichenkette eingegeben werden kann, die angezeigt wird, wenn das Feld den Wert NIL beinhaltet.
- Mehrzeilige Textfelder und Knöpfe besitzen keine typanbhängigen Einstellungen. Der Vorgabewert für mehrzeilige Texte ist eine leere Zeichenkette.
15.2.3 Auswahltexteditor
Wenn eine Liste von Auswahltexten festgelegt werden soll, z.B. Liste von Auswahltexten für ein Auswahlfeld, dann tritt der Auswahltexteditor in Erscheinung. Der Auswahltexteditor ist ein Fenster mit
- einer Listenansicht, die die aktuelle Liste der Auswahltexte anzeigt. Man kann auf einen Auswahltext klicken, um ihn zum aktiven zu machen. Der aktive Auswahltext wird auch im Zeichenkettenfeld unterhalb der Listenansicht angezeigt. Mit Verschieben & Loslassen lassen sich die Auswahltexte anordnen.
- einem Zeichenkettenfeld `Auswahltext', das den aktiven Auswahltext anzeigt und Änderungen zulässt. Die Änderungen werden nur dann durchgeführt, wenn die Enter-Taste gedrückt wird. Gibt es keinen aktiven Auswahltext, dann fügt Enter neue Auswahltexte der Liste hinzu.
- einem Knopf `Neu', der den aktuellen Auswahltext inaktiviert, um neue Auswahltexte im Zeichenkettenfeld `Auswahltext' eingeben zu können.
- einem Knopf `Entfernen', der den aktiven Auswahltext aus der Liste entfernt.
- einem Knopf `Sortieren', um die Liste der Auswahltexte alphabetisch zu sortieren.
- zwei Knöpfen `Ok' und `Abbrechen', um den Auswahltexteditor zu verlassen.
Wenn alle Auswahltextte eingegeben oder alle Änderungen durchgeführt wurden, drückt man `Ok', um das Fenster zu verlassen.
15.2.4 Felder kopieren
Falls viele gleichartige Felder benötigt werden sollen, dann kann ein Feld kopiert werden. Hierzu wird das gewünschte Feld ausgewählt und der Knopf `Kopieren' unterhalb der Feldliste gedrückt. Dies öffnet das `Feld kopieren'-Fenster, in dem die Einstellungen für dieses Feld angezeigt werden. Nach dem Ändern einiger Felder, wie z.B. des Namens, drückt man `Ok', um eine Kopie des Feldes zu erzeugen.
15.2.5 Felder ändern
Nachdem ein neues Feld erzeugt wurde, kann man nachträglich einige Einstellungen an ihm verändern. Dazu doppelklickt man auf den Namen des Feldes und das Fenster `Feld ändern' erscheint. Dieses Fenster ähnelt dem beim Erstellen von Feldern (siehe Felder erstellen) und erlaubt das Ändern in einigen Feldern. Felder, die nicht verändert werden dürfen, z.B. Feldtyp, werden verdeckt angezeigt.
Folgende Hinweise sollten beachtet werden, wenn Felder verändert werden:
- Der Feldtyp kann nicht verändert werden. Falls jemals der Typ geändert werden soll, ist es am besten, ein neues Feld mit dem gewünschten Typ zu erzeugen und die Datensatzinhalte des alten Feldes mit einem einfachen BeeBase-Programm im Abfrageeditor (siehe Abfrageeditor) in das neue zu kopieren.
- Wenn der Vorgabewert eines Feldes geändert wird, dann erhalten nur neu erzeugte Datensätze diesen Wert.
- Bei Auswahlfeldern sollte man beim Ändern von Auswahltexten vorsichtig sein. Die Auswahltexte werden nur zum Anzeigen des Auswahlfeldinhaltes verwendet, intern werden aber Nummern gespeichert, die als Index für die Auswahltextliste dienen. Wird also die Reihenfolge der Auswahltexte geändert, dann ändert sich nicht die interne Nummer, sondern nur der Text, der dafür angezeigt wird! Daher sollte man die Reihenfolge der Auswahltexte nicht verändern, nachdem ein Auswahlfeld erzeugt wurde. Hinzufügen von neuen Auswahltexten macht jedoch keine Probleme. Eine flexiblere Variante eines Auswahl-ähnlichen Feldes, in dem auch die Reihenfolge der Auswahltexte geändert werden kann, ist die Verwendung eines Zeichenkettenfeldes zusammen mit der Listenansicht-Popup-Eigenschaft (siehe Feldobjekteditor).
- Die referenzierte Tabelle eines Beziehungsfeldes kann nicht verändert werden.
Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu verlassen.
15.2.6 Felder löschen
Um ein Feld zu löschen, wird auf dessen Name in der Felderliste des Struktureditors geklickt und der Knopf `Löschen' unter der Liste gedrückt. Bevor das Feld tatsächlich gelöscht wird, fragt ein Sicherheitsfenster um Erlaubnis. Wird dieses Fenster über den Knopf `Löschen' bestätigt, dann wird das Feld gelöscht.
Ein Problem tritt jedoch auf, wenn das Feld an irgendeiner Stelle im Programm zum Projekt verwendet wird. In diesem Fall kann das Feld nicht einfach gelöscht werden, sondern alle Verweise auf dieses müssen aus dem Programm entfernt werden. Wird das zu löschende Feld im Programm verwendet, dann erscheint der Programmeditor und zeigt auf das erste Auftreten dieses Feldes. Das Programm sollte nun so geändert werden, dass keine Verweise auf das Feld mehr im Programm verbleiben. Nachdem ein Verweis entfernt wurde, kann zum nächsten gesprungen werden, in dem der Knopf `Kompilieren' gedrückt wird. Zu jedem Zeitpunkt kann die gesamte Operation über den Knopf `Rückgängig machen' und dem Schließen des Fensters abgebrochen werden.
15.2.7 Felder sortieren
Zum Sortieren der Felder im Bereich `Felder' des Struktureditors gibt es mehrere Möglichkeiten. Zum einen lässt sich dies per Verschieben & Loslassen von einzelnen Feldern oder durch den Knopf `Sortieren' unterhalb der Listenansicht zum alphabetischen Sortieren (`Sortieren1') oder zum Sortieren anhand der Reihenfolge in der Anzeigenliste (`Sortieren2') erledigen.
15.3 Anzeigeverwaltung
Im Bereich `Anzeige' des Struktureditors wird festgelegt, wie die Datenbankelemente in der Benutzeroberfläche angeordnet werden. Der Bereich beinhaltet ein Auswahlfeld, eine Listenansicht und einige Knöpfe.
15.3.1 Anzeigebereich | Übersicht der Elemente im Anzeigebereich. | |
15.3.2 Tabellenobjekteditor | Einstellungen für ein Tabellenobjekt. | |
15.3.3 Feldobjekteditor | Einstellungen für ein Feldobjekt. | |
15.3.4 Typabhängige Einstellungen | Einstellungen für ein Typabhängigeobjekt. | |
15.3.5 Texteditor | Einstellungen für ein Textobjekt. | |
15.3.6 Bildeditor | Einstellungen für ein Bildobjekt. | |
15.3.7 Zwischenraumeditor | Einstellungen für ein Zwischenraumobjekt. | |
15.3.8 Gruppeneditor | Einstellungen für ein Gruppenobjekt. | |
15.3.9 Karteikarteneditor | Einstellungen für ein Karteikartenobjekt. | |
15.3.10 Fenstereditor | Einstellungen für ein Fensterobjekt. |
15.3.1 Anzeigebereich
Der Anzeigebereich enthält folgende Elemente:
- ein Auswahlelement mit zwei Einstellungen `Tabellenschema' und `Hauptfenster'. Im `Tabellenschema' wird festgelegt, wie die Felder der aktiven Tabelle auf der Benutzeroberfläche angeordnet werden. Im `Hauptfenster' wird spezifiert, wie Tabellen angeordnet werden.
- eine Listenansicht, das die aktuelle Anordnung der Benutzeroberfläche anzeigt. Die Liste ist als Baum organisiert. Elemente mit einem links angeordneten Pfeil sind gebundene Oberflächenobjekte und können durch (Doppel-)klicken auf das Pfeilsymbol geöffnet und geschlossen werden. Ein Doppelklick auf das Element selbst öffnet ein Fenster zum Verändern dessen Einstellungen. Alle Benutzeroberflächenelemente, die die das gleiche übergeordnete Objekt besitzen, werden in der gleichen Weise ausgerichtet (entweder horizontal oder vertikal). Das übergeordnete Benutzeroberflächenobjekt bestimmt, wie das Layout dargestellt wird: Tabellen und Fenster ordnen ihre Elemente vertikal an, Gruppen ordnen sie nach den Einstellungen im Gruppeneditor an (siehe Gruppeneditor).
- ein Knopf `+' (`Hinzufügen') zum Hinzufügen der aktuellen Tabelle oder des aktuellen Feldes (abhängig vom Status des Auswahlfeldes der Anzeige) zur Anzeigelistenansicht. Normalerweise werden beim Erzeugen Tabellen und Felder automatisch in der Anzeigelistenansicht hinzugefügt.
- ein Knopf `-' (`Entfernen') zum Entfernen des aktiven Elements aus der Anzeigelistenansicht. Wird eine Tabelle von der Anzeigelistenansicht entfernt, dann wird die vollständige Tabellenansicht von der grafischen Benutzeroberfläche mit entfernt; dies bedeutet, dass die Tabelle in der Benutzeroberfläche nicht sichtbar ist. Auf diese Weise kann man eine Tabelle verstecken. Wird ein Feld von der Anzeigelistenansicht entfernt, dann erscheint das Feld nicht mehr in der Benutzeroberfläche. Dies ist nützlich, wenn Felder versteckt werden sollen.
- zwei Knöpfe `Hoch' und `Runter' zum Verschieben des aktiven Elements in der Anzeigelistenansicht nach oben bzw. unten.
- zwei Knöpfe `Hinein' und `Heraus', um das aktive Elemente in der Anzeigelistenansicht in der Hierarchie eine Stufe nach oben oder unten zu verschieben.
- ein Knopf `Text' zum Hinzufügen eines Textobjekts zur Anzeigelistenansicht (siehe Texteditor).
- ein Knopf `Bild' zum Hinzufügen eines Bildobjekts (siehe Bildeditor).
- ein Knopf `Zwischenraum' zum Einsetzen von Zwischenräumen zwischen anderen Objekten (siehe Zwischenraumeditor).
- ein Knopf `Balance' zum Einfügen eines Balanceobjekts in die Anzeigelistenansicht. Das Balanceobjekt ist sinnvoll, wenn die Größe von anderen Benutzeroberflächenelementen geregelt werden soll.
- ein Knopf `Gruppe' zum Einfügen eines Gruppenelements in die Anzeigelistenansicht. Bevor `Gruppe' gedrückt wird, können mehrere Elemente in der Anzeigelistenansicht ausgewählt werden, die in die neue Gruppe verschoben werden sollen. Siehe Gruppeneditor für mehr Informationen zum Einrichten eines Gruppenobjekts.
- ein Knopf `Karteikarten' zum Hinzufügen einer neuen Karteikarten-Gruppe in die Anzeigelistenansicht. Wie bei Gruppenobjekten können mehrere Benutzeroberflächenelemente ausgewählt werden, die in die neue Karteikarten-Gruppe übernommen werden sollen. Für mehr Informationen, siehe Karteikarteneditor.
- ein Knopf `Fenster' zum Hinzufügen eines neuen Fensters in die Anzeigelistenansicht. Auch hier können mehrere Benutzeroberflächenelemente ausgewählt werden, die in das neue Fenster übernommen werden sollen. Mehr zum Einrichten eines Fensters siehe Fenstereditor.
Mehr Informationen über die Benutzeroberflächenelemente einschließlich ihrer Anwendung siehe Benutzerschnittstelle.
15.3.2 Tabelenobjekteditor
Beim erstellen einer neuen Tabelle wird ein voreingestelltes Anzeigeobjekt erzeugt. Um die Einstellungen dieses Tabellenobjekts zu ändern, klickt man doppelt auf die Tabelle in der `Anzeige'-Liste und das Fenster `Tabellenanzeige' erscheint. Dieses Fenster hat drei Bereiche, die in die Karteikarten `Allgemeines', `Panel' und `Datensatz' eingeteilt sind.
Der Bereich `Allgemeines' enthält die folgenden Elemente:
- ein numerisches Feld `Gewichtung', um das Gewicht des Objekts festzulegen. Der Wert dieses Feldes gibt an, wieviel Platz bezogen auf andere Objekte die Tabelle im endgültigen Layout des Fensters erhält.
- ein Feld `Hintergrund' mit einem Checkmark-Feld `Vorgabe' zum Festlegen, wie der Hintergrund der Tabelle aussehen soll. Wird das Feld `Vorgabe' aktiviert, dann wird ein Vorgabehintergrund ausgewählt. Anderenfalls kann auf den Knopf `Hintergrund' geklickt werden, um eine alternative Hintergrundeinstellung vorzunehmen.
- ein Checkmark-Feld `Mit Panel', das angibt, ob ein Panel im oberen Bereich der Tabelle angezeigt werden soll. Deselektiert man dieses Feld, dann wird kein Panel angezeigt. Für mehr Informationen über Panels, siehe Panels.
Der Bereich `Panel' ist nur dann anwählbar, wenn das `Mit Panel'-Feld gesetzt wurde. Er enthählt die folgenden Elemente:
- ein Zeichenkettenfeld `Überschrift' für die Eingabe einer Überschrift, die im Kopf des Panels angezeigt werden soll.
- ein Zeichenkettenfeld `Zeichensatz' mit einem Popup-Knopf zur Auswahl eines Zeichensatzes für den Titel. Wird dieses Feld leer gelassen, dann wird der Vorgabezeichensatz verwendet.
- ein Feld `Hintergrund' mit einem Checkmark-Feld `Vorgabe' zum Festlegen des Hintergrundes des Panelkopfes. Wird das Feld `Vorgabe' aktiviert, dann wird ein Vorgabehintergrund ausgewählt. Anderenfalls kann auf den Knopf `Hintergrund' geklickt werden, um eine alternative Hintergrundeinstellung vorzunehmen.
- ein Feld `Nummer/Alle'. Wenn aktiviert, dann wird die Nummer des aktuellen Datensatzes und die Anzahl aller Datensätze im rechten Teil des Panelkopfes angezeigt.
- ein Feld `Filter', das - wenn aktiviert - einen Filter-Knopf zum Panelkopf hinzufügt. Mit dem Filterknopf kann der Datensatzfilter der Tabelle ein- und ausgeschaltet werden. Wird das Feld nicht aktiviert, dann wird der Menüpunkt `Tabelle - Ändere Filter' zur Tabelle deaktiviert, was bedeutet, dass auch kein Filterausdruck für die Tabelle angegeben werden kann. Mehr über Datensatzfilter, siehe Datensatzfilter.
- ein Feld `Pfeile' zum Ergänzen von zwei Pfeilknöpfen zur Tabellenmaske. Die Pfeilknöpfe ermöglichen das Durchforsten der Datensätze einer Tabelle. Wird dieses Feld nicht aktiviert, dann kann die Tabelle nicht durchforstet werden und der Menüpunkt `Gehe zum Datensatz' samt seiner Unterpunkte, die Menüpunkte `Suche nach', `Suche vorwärts' und `Suche rückwärts' im Menü `Tabelle' werden deaktiviert.
Der Bereich `Datensatz' dient zur Festlegung einer Datensatzbeschreibung. Die Datensatzbeschreibung wird beim Erstellen von Logeinträgen und in Popup-Listenansichten für die Auswahl eines Datensatzes verwendet. Sie sollte eine kurze aber eindeutige Identifizierung sein. Der Bereich enthält die folgenden Elemente:
- ein Auswahlfeld `Beschreibung' welches entweder auf `Felder' oder `Berechnet' gesetzt werden kann.
- Ist `Beschreibung' auf `Felder' gesetzt, dann wird eine Liste von Feldern der Tabelle angezeigt. Man kann jedes der angezeigten Felder für die Beschreibung verwenden. Wird `Datensatznummer' ausgewählt, dann wird die Datensatznummer eines Datensatzes mitangezeigt. Es lassen sich mehrere Einträge in dieser Liste auswählen und die die Reihenfolge der Felder kann durch Verschieben der Elemente festgelegt werden.
- Ist `Beschreibung' auf `Berechnet' gesetzt, dann wird ein Feld `Berechne' angezeigt, in welchem man eine Funktion für die Berechnung der Datensatzbeschreibung eingibt. Die Funktion kann entweder einen einfachen Ausdruck oder eine Liste von Ausdrücken zurückgeben (siehe Berechne Datensatzbeschriftung).
- Ein Feld `Verwende Mehrspaltenliste', welches eine Präferenz festlegt, wie die Felder in einer Listenanzeige angeordnet werden sollen.
Unterhalb des Karteikartenbereichs befinden sich zwei Knöpfe `Ok' und `Abbruch' zum Verlassen des Fensters. Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu schließen.
15.3.3 Feldobjekteditor
Wird ein Feld zur Anzeigelistenansicht hinzugefügt, dann wird für dieses ein vordefiniertes Benutzeroberflächenobjekt erzeugt. Um die Einstellungen des Feldobjektes zu ändern, wird darauf doppelt geklickt und das Fenster `Feldanzeige' öffnet sich. Dieses Fenster enthält verschiendene Elemente, die vom Felddatentyp abhängen. Die folgenden Elemente sind bei den meisten Felddatentypen vorhanden:
- ein Zeichenkettenfeld `Überschrift' zum Eingeben einer Überschrift, die neben dem Feldobjekt (oder bei Knöpfen im Objekt selbst) dargestellt wird. Bleibt das Feld leer, dann wird keine Überschrift dargestellt.
- ein Auswahlfeld `Position' zum Festlegen, an welcher Stelle, bezogen auf das Feldobjekt, die evtl. vorhandene Überschrift angezeigt wird. Man kann zwischen `Links', `Rechts', `Oben' und `Unten' wählen.
- ein Zeichenkettenfeld `Zeichensatz' zur Auswahl eines Zeichensatzes für die Überschrift. Wird dieses Feld leer gelassen, dann wird der Vorgabezeichensatz verwendet.
- ein Zeichenkettenfeld `Tastenkürzel', das einen Buchstaben aufnehmen kann, der zusammen mit der Alt-Taste (Windows, Mac OS und Linux), bzw. der Amiga-Taste verwendet wird, um das Objekt zu aktivieren.
- ein Feld `Home' (Start). Wenn aktiviert, dann wird dieses Objekt zum Startobjekt. Das Startobjekt wird verwendet, um beim Anlegen eines neuen Datensatzes den Cursor dort zu plazieren. Dies ist ziemlich nützlich, wenn nach einem Neuanlegen eines Datensatzes immer an der gleichen Stelle mit dem Eingeben von neuen Daten begonnen werden soll. Wird ein Feldobjekt als Startobjekt festgelegt, dann verlieren alle anderen Objekte der gleichen Tabelle diese Eigenschaft.
- ein Feld `Tab-Kette'. Wenn aktiviert, dann ist das Objekt in der Fokus-Kette, bei welcher man mit der Tab-Taste von Element zu Element springen kann. Ist das Feld nicht gesetzt, dann wird das Objekt übersprungen.
- ein Feld `Nur lesen', das - wenn aktiviert - dem Objekt den Nur-Lese-Status gibt. Dies bedeutet, dass der Inhalt des Objekts nur gelesen, aber nicht verändert werden kann. Zu beachten ist aber, dass wenn ein Popup-Knopf dem Objekt hinzugefügt wird, der Inhalt dann dennoch durch die Auswahl im Popup verändert werden kann.
- ein Auswahlfeld `Ausrichtung' für die Angabe, wie Feldinhalte im Objekt angezeigt werden sollen. Man kann zwischen `Mittig', `Links' und `Rechts' wählen, um den Inhalt zentriert, linksbündig oder rechtsbündig anzuzeigen.
- ein numerisches Feld `Gewichtung', um das Gewicht des Objekts festzulegen. Der Wert dieses Feldes gibt an, wieviel Platz bezogen auf andere Objekte das Feld im endgültigen Layout des Fensters erhält. Für die meisten Feldtypen betrifft der Wert dieses Feldes nur die horizontale Größe des Objekts, da die meisten Objekte feste Höhen haben. Für mehrzeilige Textfelder aber z.B. betrifft es auch die vertikale Größe.
- ein Zeichenkettenfeld `Zeichensatz' zur Auswahl eines Zeichensatzes für den Feldinhalt. Wird dieses Feld leer gelassen, dann wird der Vorgabezeichensatz verwendet.
- ein Feld `Hintergrund' mit einem Checkmark-Feld `Vorgabe' zum Festlegen, wie der Hintergrund des Feldes aussehen soll. Wird das Feld `Vorgabe' aktiviert, dann wird ein Vorgabehintergrund ausgewählt. Anderenfalls kann auf den Knopf `Hintergrund' geklickt werden, um eine alternative Hintergrundeinstellung vorzunehmen.
- ein Textfeld `Sprechblasenhilfe', in dem ein Text eingegeben werden kann, der als Sprechblasenhilfe zum Feldobjekt angezeigt wird.
- ein Bereich `Aktiv/inaktiv'. Ist `Immer aktiv' gesetzt, so ist das Feldobjekt immer anwählbar unabhängig vom angezeigten Datensatz. `Inaktiv im Initial-DS' deaktiviert das Objekt im initialen Datensatz, sonst ist es aktiv. Wird `Berechne aktiv' gewählt, so kann rechts davon eine Funktion zur Berechnung des Aktivzustands eingegeben werden. Die Funktion wird ohne Argumente aufgerufen. Liefert die Funktion NIL zurück, so wird das Objekt deaktiv, sonst aktiv. Im Falle, dass die Berechnungsfunktion leer gelassen wird oder nicht gefunden werden kann, wird das Objekt deaktiviert. Für mehr Informationen über die Anwendung dieser Auslösefunktion, siehe Berechne-Aktiv-Funktion.
- zwei Knöpfe `Ok' und `Abbrechen' zum Verlassen des Fensters.
Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu verlassen.
15.3.4 Typabhängige Einstellungen
Neben den obigen Elementen gibt es noch folgende, typabhängige Elemente:
- für Felder vom Typ Zeichenkette gibt es eine Seite `Extras' mit
- ein Feld `Bild anzeigen', das - wenn aktiviert - ein Bildelement in die Benutzeroberfläche plaziert, um darin ein Bild anzuzeigen, dessen Dateiname vom Zeichenkettenfeld entnommen wird. Das Bildelement wird oberhalb des Zeichenkettenfeldes angeordnet. Wird dieses Feld nicht aktiviert, dann sind die Felder `Titel beim Zeichenkettenfeld', `Verstecke Zeichenkettenfeld' und `Größe' bedeutungslos.
- ein Feld `Titel beim Zeichenkettenfeld'. Wenn aktiviert, dann wird die Überschrift des Feldobjekts links neben dem Zeichenkettenfeld angeordnet, so dass das Bildelement mehr Platz im Fenster erhält. Wird dieser Punkt nicht aktiviert, dann wird die Überschrift neben dem Bild angezeigt.
- ein Feld `verstecke Zeichenkettenfeld' zum Weglassen des Zeichenkettenfeldes von der Benutzeroberfläche. Wenn aktiviert, dann wird nur das Bildelement angezeigt.
- ein Feld `Größe' zum Festlegen, wie die Größe eines Bildes im Bildbereich gehandhabt wird. Ist `veränderbar' aktiv, dann kann das Objekt in der Größe verändert werden und das Objekt kann größer werden als die Ausmaße des Bildes. Mit `fixiert' wird die Größe des Objekts auf die des Bildes gesetzt. Ändert sich die Größe des Bildes von Datensatz zu Datensatz, dann ändert sich entsprechend auch die Größe des Objekts. Die Auswahl von `scrollbar' fügt zwei Rollbalken zum Objekt hinzu, um Bilder anzuzeigen, die größer sind als der sichtbare Ausschnitt des Objekts. Ist `skaliert' aktiviert, dann wird das Bild auf die Größe des Objekts skaliert. Mit `aspekt-skaliert' wird das Bild ebenfalls skaliert, dabei bleibt aber das Seitenverhältnis des Bildes bewahrt.
- ein Feld `Dateiauswahl', das - wenn aktiviert - einen Popup-Knopf rechts neben das Zeichenkettenfeld hinzufügt. Dieser Knopf dient dazu, ein Dateiauswahlfenster zum Auswählen einer Datei zu öffnen.
- ein Feld `Zeichensatzauswahl' zum Hinzufügen eines Popup-Knopfes, das ein Zeichensatzauswahlfenster öffnet.
- ein Feld `Listenansicht-Popup'. Wenn aktiviert, dann wird ein Popup-Knopf rechts neben das Zeichenkettenfeld angehängt, mit dem eine Listenansicht geöffnet wird, aus dem eine Zeichenkette aus einer Liste ausgewählt werden kann. Die Liste der Zeichenketten wird rechts neben dem `Listenansicht-Popup'-Feld definiert. Die Auswahltexte können entweder `Statisch' oder `Berechnet' sein. Wird `Statisch' ausgewählt, so kann die Liste der Zeichenketten im Auswahltexteditor eingegeben werden, der über den Knopf `Ändere Auswahltexte' aufgerufen wird. Mehr zum Auswahltexteditor siehe Auswahltexteditor. Wird `Berechnet' ausgewählt, so kann im Feld `Berechne' eine Auslösefunktion eingegeben werden, die immer bei Drücken des Popup-Knopfes aufgerufen wird. Diese Funktion sollte einen Memotext, bei der jede Zeile einen Listeneintrag darstellt, oder NIL für eine leere Liste zurückgeben (siehe Berechne Listenansichts-Auswahltexte). Nur eines der Felder `Dateiauswahl', `Zeichensatzauswahl' und `Listenansicht-Popup' kann aktiviert werden.
- ein Feld `Anzeige', das - wenn aktiviert - einen Knopf rechts neben das Zeichenkettenfeld ergänzt, mit dem ein externer Anzeiger gestartet werden kann, das den Inhalt des Feldes als Argument erhält. Dies ist nützlich, wenn Dateinamen im Zeichenkettenfeld gespeichert werden und man den Inhalt der Dateien über den externen Anzeiger ansehen möchte. Der externe Anzeiger kann über den Menüpunkt `Einstellungen - Externen Anzeiger setzen' festgelegt werden (siehe Externer Anzeiger).
- für Felder des Typs Auswahl gibt es das Feld `Art', mit dem
ausgewählt werden kann, ob die Feldinhalte als `Auswahlknopf'
oder als Satz von `Radio-Knöpfe' dargestellt werden sollen. Wird
`Auswahlknopf' gewählt, dann kann die Ausrichtung des Titels auf
eine von `Links', `Rechts', `Oben' oder `Unten'
gesetzt werden. Wird dagegen `Radio-Knöpfe' gewählt, dann
erlauben zwei Anwählknöpfe `Rahmen' und `Horizontal' das
Zeichnen eines Rahmens um die Radioknöpfe und die Festlegung auf eine
horizontale Ausrichtung.
- für Felder vom Typ Fließkommazahl gibt es ein Ganzzahlfeld
`Nachkommastellen', in dem die Anzahl der Nachkommastellen zum
Darstellen der Fließkommazahlen eingegeben werden kann.
- für Felder vom Typ Datum gibt es einen Auswahlknopf `Kalender',
welcher einen Popup-Knopf rechts neben das Datum-Feld zum Öffnen eines
Kalenders legt.
- für Felder vom Typ Zeit gibt es ein Auswahlfeld `Format'
für die Angabe, wie Zeitwerte angezeigt und eingegen werden sollen.
Man kann zwischen `HH:MM:SS', `MM:SS' und `HH:MM' wählen.
Bei `HH:MM' wird die Anzeige der Sekunden unterdrückt und
reine Zahlenwerte bei der Eingabe werden als die Anzahl Minuten gewertet.
- für Beziehungsfelder gibt es eine Seite `Extras', die folgende
Punkte enthält:
- ein Bereich `Anzeige' für das Festlegen einer Datensatzbeschriftung, welche den anzuzeigenden Inhalt eines referenzierten Datensatzes angibt. Siehe Tabellenobjekteditor für Informationen wie man eine Datensatzbeschriftung festlegt. Zu beachten ist, dass das Auswahlfeld `Beschriftung' auch eine Auswahl `Von Tabelle' zulässt. Wenn ausgewählt, dann werden die Einstellungen der Tabelle für die Anzeige eines referenzierten Datensatzes verwendet.
- ein Bereich `Popup', in welchem festgelegt wird, welche Datensätze der Bezugstabelle im Popup zur Auswahl gestellt und wie diese angezeigt werden sollen. Wird `Datensätze' auf `Alle' gesetzt, so stehen alle Datensätze zur Verfügung. Ist `Datensätze' auf `Filter' gesetzt, so stehen nur die Datensätze zur Auswahl, die dem aktuell eingestellten Filter in der Bezugstabelle genügen. Wird `Datensätze' auf `Berechnet' gesetzt, so kann eine Funktion zur Berechnung der Menge der Datensätze im Feld `Berechne' eingegeben werden. Diese Auslösefunktion muss eine Liste zurückgeben, welche nach dem Vorkommen von Datensätzen der Bezugstabelle untersucht wird. Jeder solche gefundene Datensatz wird in der Popup-Liste angezeigt. Andere Listenelemente werden ignoriert. Siehe Berechne Referenz-Datensätze für weitere Informationen über diese Funktion. Zusätzlich zu den in `Datensätze' spezifizierten Einträgen können der initiale Datensatz und der aktuell angezeigte Datensatz der Bezugstabelle mit in die Popup-Liste aufgenommen werden, Dies geschieht durch Setzen der Felder `Initial-Datensatz' bzw. `Aktueller Datensatz'.
- ein Feld `Anzeigen'. Wenn ausgewählt, dann wird das Benutzeroberflächenobjekt zum Anzeigen der Beziehung als Knopf erzeugt. Wird auf diesen Knopf gedrückt, so wird der referenzierte Datensatz in der Tabellenmaske der referenzierten Tabelle angezeigt. Hierfür wird ggf. das Fenster, in dem die Tabelle eingesetzt ist, geöffnet und nach vorne geholt.
- ein Feld `Auto Anzeige', das - wenn ausgewählt - einen Knopf rechts neben das Referenzfeld plaziert, um die automatische Anzeige von referenzierten Datensätzen ein- und auszuschalten. Ist sie eingeschaltet, dann wird in der referenzierte Tabelle immer automatisch der gerade referenzierte Datensatz angezeigt.
- ein Feld `Filter', das - wenn aktiviert - einen Knopf rechts neben dem Beziehungsfeld ergänzt, mit dem der Referenzfilter für dieses Feld ein- und ausgeschaltet werden kann. Mehr zu Referenzfilter siehe Referenzfilter.
- für virtuelle Felder enthält der Feldobjekteditor eine
`Extras'-Seite mit den folgenden Punkten:
- ein Auswahlfeld `Art', in dem festgelegt wird, wie der Inhalt des virtuellen Feldes dargestellt werden soll. Es lässt sich zwischen `Boolesch', das ein Checkmark-Feld zum Darstellen von Booleschen Werten anzeigt, `Text', das ein Textfeld zum Anzeigen einer Zeile Text (einschließlich Datum, Zeit und numerische Werte) und `Liste', das eine Listenansicht verwendet, um eine Liste von Zeilen anzuzeigen (z.B. das Ergebnis einer SELECT-FROM-WHERE-Abfrage).
- wenn `Art' auf `Text' gesetzt wird, dann erscheinen zwei weitere Felder: `Ausrichtung', um festzulegen, wie der Feldinhalt angezeigt wird und `Nachkommastellen' für die Eingabe der Anzahl von Stellen nach dem Komma, wenn der Feldinhalt eine Fließkommazahl ist.
- ist `Art' auf `Liste' gesetzt, so werden weitere Felder `Zeige Titel', `Tab-Kette', `Steuere Tabelle', `Bei Doppelklick', `Auslösefunktion für URL-Drop' und `Auslösefunktion für Sortieren-Drop' verfügbar. Ist `Zeige Titel' aktiviert, dann wird die erste Zeile des Feldes als Titelzeile in der Listenansicht angezeigt. Anderenfalls wird keine Titelzeile angezeigt und die erste Zeile ignoriert. Wird `Tab-Kette' aktiviert, dann ist das Objekt in der Fokus-Kette, bei welcher man mit der Tab-Taste von Element zu Element springen kann. Ist das Feld nicht gesetzt, dann wird das Objekt übersprungen. Ist `Steuere Tabelle' gesetzt, dann steuert die Liste eine Tabelle. Die Tabelle wird durch die erste Spalte bestimmt, die von einem Feld der Tabelle generiert wurde. In diesem Modus wird bei dem wechseln der aktiven Zeile in der Liste der zugehörige Datensatz in der Tabelle angezeigt und bei drücken auf einen Pfeilknopf in der Tabellenmaske die aktive Zeile in der Liste entsprechend gewechselt. In `Bei Doppelklick' kann angegeben werden, welche Aktion bei Doppelklick auf eine Listenelement ausgeführt werden soll. `Tue nichts' ignoriert den Doppelklick. `Zeige Datensatz' stellt den Datensatz, zu welchem das angewählten Feld gehört, in der zugehörigen Tabellenansicht dar. Bei Auswahl von `Auslösefunktion' kann der Name einer Auslösefunktion weiter rechts eingegeben werden, die bei jedem Doppelklick ausgeführt werden soll. Mehr über die Anwendung dieser Auslösefunktion, einschließlich der übergebenen Argumente, siehe Auslösefunktion Doppelklick. In `Auslösefunktion für URL-Drop' kann der Name einer Auslösefunktion eingeben werden, die aufgerufen wird, wenn der Benutzer eine Liste von URLs (z.B. Dateinamen) per Drag und Drop auf das Listenfeld zieht. Dies kann z.B. benutzt werden, um externe Dateinamen in einem Projekt zu speichern. Siehe Auslösefunktion URL-Drop für weitere Informationen über diese Auslösefunktion, einschließlich der übergebenen Argumente. In `Auslösefunktion für Sortieren-Drop' kann der Name einer Auslösefunktion eingeben werden, die aufgerufen wird, wenn der Benutzer zum Sortieren ein Listenelement per Drag und Drop auf eine neue Zeile im Listenfeld zieht. Dies kann z.B. benutzt werden, um die Ordnung der Datensätze einer Tabelle zu ändern oder um die Zeilen eines Memo-Felds anzuordnen. Siehe Auslösefunktion Sortieren-Drop für weitere Informationen über diese Auslösefunktion, einschließlich der übergebenen Argumente.
- ein Feld `Auto-Aktualisierung'. Ist es gesetzt, so wird das virtuelle Feld automatisch neu berechnet, sobald sich ein abhängiger Zustand ändert. Dies beinhaltet Wechseln zu einem anderen Datensatz in einer abhängigen Tabelle, Ändern eines abhängigen Datensatzfeldes, Anlegen oder Löschen eines Datensatzes in einer abhängigen Tabelle, Wechseln des Admin-/Benutzermodus, oder das Neuübersetzen des Projekt-Programms. Die Abhängigkeiten des virtuellen Feldes werden automatisch aus der Berechnungsfunktion des virtuellen Feldes abgeleitet. Mittels Menüpunkt `Projekt - Struktur exportieren' können alle abgeleiteten Abhängigkeiten ausgegeben werden (hierzu muss ggf. das Program neu übersetzt werden, um alle Abhängigkeiten zu aktualisieren, nachdem diese Option gesetzt wird). Zu beachten ist, dass das virtuelle Feld neu berechnet wird unabhängig von dem Datensatz, in welchem ein Feld geändert wurde, und unabhängig davon, ob das Feld in der Benutzeroberfläche oder während einer Programmausführung geändert wurde. Das automatische Aktualisieren von virtuelle Feldern wird aber normalereise erst nach Abschluss aller Programmausführungen angestoßen. Ist `Auto-Aktualisierung' ungesetzt, so wird der Wert des virtuellen Felds nur dann berechnet, wenn er explizit abgefragt oder in einer Programmfunktion gesetzt wird.
- Für Knöpfe gibt es folgende zusätzlichen Felder:
- ein Auswahlfeld `Art', mit dem zwischen `Textknopf' und `Symbolknopf' gewählt werden kann.
- wird die Art des Knopfes auf `Textknopf' gesetzt, dann erscheinen die weiteren Felder `Überschrift', `Zeichensatz', `Hintergrund' und `Vorgabe' für die Eingabe des Textes, der innerhalb des Knopfes dargestellt wird, der Zeichensatz zum Darstellen des Textes und für die Festlegung des Hintergrundes.
- ist die Art des Knopfes `Symbolknopf', dann erlaubt ein Knopf `Bild' die Angabe des Bildes, das angezeigt werden soll und ein Bereich `Größe' die Einstellung der Handhabung der Größe des Bildes.
15.3.5 Texteditor
Wird ein Textobjekt zur Anzeigelistenansicht hinzugefügt oder wird eines durch doppelt klicken verändert, dann öffnet sich ein Frester `Text'. Dieses Fenster enthält folgende Einträge:
- ein Zeichenkettenfeld `Überschrift' für die Eingabe des Textes, der angezeigt werden soll.
- ein numerisches Feld `Gewichtung', mit dem die horizonzale Gewichtung des Textobjekts festgelegt wird.
- ein Auswahlfeld `Zeichensatz' zum Festlegen des Zeichensatzes für den Text. Wird dieses Feld leer gelassen, dann wird der Vorgabezeichensatz verwendet.
- zwei Felder `Hintergrund' und `Vorgabe' zur Festlegung des Hintergrundes des Textobjektes.
- zwei Knöpfe `Ok' und `Abbrechen' zum Verlassen des Fensters
Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu verlassen.
15.3.6 Bildeditor
Der Bildeditor erscheint, wenn ein neues Bildobjekt hinzugefügt wird oder auf ein existierendes doppelt geklickt wird. Es enthält folgende Elemente:
- ein Feld `Gewichtung' zur Festlegung der Gewichtung des Bildobjekts im Fensterlayout.
- ein Feld `Bild' zur Festlegung des Bildes, das dargestellt werden soll.
- ein Bereich `Größe', in dem angegeben wird, wie die Größe des Bildes gehandhabt werden soll. Wird `veränderbar' gewählt, dann kann das Bild in der Größe geändert werden. Bei `fixiert' hingegen übernimmt das Objekt die Größe des Bildes.
- zwei Knöpfe `Ok' und `Abbrechen' zum Verlassen des Fensters
Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu verlassen.
15.3.7 Zwischenraumeditor
Nachdem ein Zwischenraumobjekt zur Anzeigelistenansicht hinzugefügt wurde, kann man durch Doppelklicken dessen Voreinstellungen ändern. Dies öffnet das Fenster `Zwischenraum' mit den folgenden Elementen:
- ein Feld `Trennstrich', das - wenn aktiviert - eine vertikale oder horizontale Trennlinie (abhängig von der Anordnung der übergeordneten Objekte) in der Mitte des Zwischenraumobjekts anzeigt. Dies ist nützlich, wenn Teile innerhalb eines Fensterlayouts aufgeteilt werden sollen.
- ein numerisches Feld `Gewichtung' zur Festlegung der Gewichtung des Bildobjekts.
- zwei Felder `Hintergrund' und `Vorgabe' zur Festlegung des Hintergrunds.
- zwei Knöpfe `Ok' und `Abbrechen' zum Verlassen des Fensters
Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu verlassen.
15.3.8 Gruppeneditor
Nachdem ein Gruppenobjekt zur Anzeigelistenansicht hinzugefügt wurde, kann man durch Doppelklicken dessen Voreinstellungen ändern. Dies öffnet das Fenster `Gruppe', das folgende Elemente anbietet:
- ein Zeichenkettenfeld `Überschrift' für die Eingabe einer Überschrift, die zentriert über der Gruppe angezeigt werden soll. Wird dieses Feld leer gelassen, dann erscheint keine Überschrift.
- ein numerisches Feld `Gewichtung' zur Festlegung der Gewichtung des Gruppenobjekts.
- zwei Felder `Hintergrund' und `Vorgabe' zur Festlegung des Hintergrunds.
- ein Feld `Rahmen', der - wenn aktiviert - einen Rahmen um die Gruppe zeichnet.
- ein Feld `Horizontal'. Wenn aktiviert, dann werden die Elemente der Gruppe horizontal angeordnet und die Gruppe wird in der Anzeigelistenansicht als `Horiz.Gruppe' aufgelistet. Anderenfalls wird die Gruppe vertikal angeordnet und die Anzeigelistenansicht zeigt `Vert.Gruppe' an.
- ein Feld `Zwischenräume', das - wenn aktiviert - etwas Platz zwischen den Gruppenelementen einfügt. Anderenfalls wird kein Platz zwischen den Objekten vorgesehen.
- zwei Knöpfe `Ok' und `Abbrechen' zum Verlassen des Fensters
Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu verlassen.
15.3.9 Karteikarteneditor
Man klickt doppelt auf ein Karteikartenobjekt, um dessen Einstellungen zu ändern. Dies öffnet das Fenster `Karteikarten-Gruppe', das folgende Elemente anbietet:
- ein numerisches Feld `Gewichtung' zur Festlegung der Gewichtung des Objekts.
- Ein Bereich `Textmarken' zum Festlegen der Auswahltexte für jede Karteikarten-Seite. Man sollte genau so viele Auswahltexte angeben, wie Elemente in der Karteikarten-Gruppe sind. Mehr zum Eingeben und Ändern der Auswahltexte siehe Labeleditor.
- zwei Knöpfe `Ok' und `Abbrechen' zum Verlassen des Fensters
Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu verlassen.
15.3.10 Fenstereditor
Um die Einstellungen für ein Fensterobjekt zu ändern, wird doppelt auf das Fenstertobjekt geklickt. Dies öffnet den Fenstereditor mit den folgenden Elementen:
- ein Zeichenkettenfeld `Überschrift', in dem eine Zeichenkette eingegeben werden kann, die in der Fensterleiste und im Fensterknopf angezeigt werden soll.
- ein Zeichenkettenfeld `Id' (nur für Amiga), das bis zu vier Zeichen aufnehmen kann und die MUI-Fenster-Id definiert. Wird eine Id eingegeben, so kann mittels der MUI-Funktion Window-Snapshot die aktuelle Fensterposition und -größe gespeichert werden. Zu beachten ist, dass die Id eindeutig für alle Fenster in BeeBase sein sollte. Wird eine Id aus versehen zweimal benutzt, so teilen sich die zugehörigen Fenster die gleichen Fensterausmaße! Ids, welche mit einem Unterstrich `_' beginnen, sind für den internen Gebrauch reserviert. Wird das Feld leer gelassen, so wird keine MUI-Fenster-Id gesetzt und die Fensterdimensionen werden in der Projektdatei gespeichert. Das Hauptfenster eines Projekts hat immer die ersten vier Zeichen des Projektnamens als Fenster-Id. Die Angabe einer Fenster-Id ist nützlich, wenn ein Projekt unter verschiedenen Rechnerkonfigurationen bearbeitet werden soll, da die Fensterpositionen dann aus der jeweiligen Konfiguration entnommen werden.
- ein Feld `Knopf', das, wenn gesetzt, einen Knopf zum Öffnen des Fensters in das übergeordnete Fenster plaziert. Wird dieses Feld nicht gesetzt, so kann das Fenster nur von einem BeeBase-Programm aus mittels der Funktion SETWINDOWOPEN geöffnet werden (siehe SETWINDOWOPEN). Die nachfolgenden Felder spezifizieren das Aussehen des Fensterknopfes.
- ein Zeichenkettenfeld `Tastenkürzel', in der die Taste zum Aktivieren des Fensterknopfes eingegeben wird.
- ein Bereich `Aktiv/inaktiv'. Ist `Immer aktiv' gesetzt, so ist der Fensterknopf immer anwählbar. `Inaktiv im Initial-DS' deaktiviert den Knopf, falls er innerhalb einer Tabelle plaziert wurde und die Tabelle den initialen Datensatz anzeigt, sonst ist der Fensterknopf aktiv. Wird `Berechne aktiv' gewählt, so kann rechts davon eine Funktion zur Berechnung des Aktivzustands eingegeben werden. Die Funktion wird ohne Argumente aufgerufen. Liefert die Funktion NIL zurück, so wird der Knopf deaktiv, sonst aktiv. Im Falle, dass die Berechnungsfunktion leer gelassen wird oder nicht gefunden werden kann, wird der Fensterknopf deaktiviert. Für mehr Informationen über die Anwendung dieser Auslösefunktion, siehe Berechne-Aktiv-Funktion. Ist zusätzlich das Feld `Schließe Fenster wenn deaktiviert' ausgewählt, so wird das Fenster automatisch geschlossen, wenn der Knopf deaktiviert wird.
- ein numerisches Feld `Gewichtung' zur Festlegung der Gewichtung des Fensterknopfes.
- ein Auswahlfeld `Zeichensatz' zum Festlegen des Zeichensatzes für den Text des Fensterknopfes. Wird dieses Feld leer gelassen, dann wird der Vorgabezeichensatz verwendet.
- zwei Felder `Hintergrund' und `Vorgabe' zur Festlegung des Hintergrundes des Fensterknopfes.
- zwei Knöpfe `Ok' und `Abbrechen' zum Verlassen des Fensters
Wurden alle Änderungen durchgeführt, dann wird `Ok' gedrückt, um das Fenster zu verlassen.
15.4 Struktur exportieren
Manchmal ist es nützlich, eine Übersicht über alle Tabellen und Felder eines Projekts zu erhalten, z.B. wenn ein BeeBase-Programm geschrieben werden soll. Dies lässt sich über den Menüpunkt `Projekt - Struktur exportieren' erledigen. Es wird nach einem Dateinamen gefragt, wohin die Liste der Tabellen und Felder ausgegeben werden soll.
Die Ausgabe listet zunächst den Projektnamen auf, gefolgt von allen Tabellen in diesem Projekt. Für jede Tabelle werden alle Felder mit dem jeweiligen Typ und der optionalen Auslõsefunktion ausgegeben. Bei virtuellen Feldern werden außerdem die Abhängigkeiten für die automatische Aktualisierung aufgelistet.
[ << ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
Dieses Dokument wurde am 30. September 2024 mit texi2html generiert.