GloDeveloper
|
Der GloDeveloper ist die Anwendung, mit der GlobalObjects-Objektdatenbanken erstellt werden. Es können alle benötigten Header- und Source-Dateien für Klassen persistenter Objekte erstellt bzw. gewartet werden. Es werden das GlobalObjects-Schema, der Objektersteller und die Tabellen angelegt.
Der GloDeveloper ist eine typische MDI-Anwendung. Die eigenständig zu bearbeitenden Objekte, wie z.B. Klassen, werden in eigenen Dokumentfenstern bearbeitet, nur abhängige Objekte, wie z.B. Attribute, werden in Dialogen bearbeitet.
GloDeveloper nach dem ersten Start:
GloDeveloper.exe "D:\Projekte\GlobalObects xx.xx\GloExamples\Bases\SchemaExample.prj"
) gestartet werden, welche dann eingelesen wird. Objektdatenbanken werden in Projekten angelegt. Der GloDeveloper kann mehrere Objektdatenbanken in einem Projekt verwalten. Das ist z.B. hilfreich, wenn eine Klasse in mehreren Objektdatenbanken vorkommen soll; diese kann von einer Objektdatenbank in eine andere kopieren werden.
GloDeveloper hat zwei "angedockte" Fenster, welche ausgeblendet werden können und den Arbeitsbereich in dem die einzelnen Dokumentfenster dargestellt werden.
Im links angedockten Fenster wird der Projekt-Katalog in einer Baumstruktur angezeigt. Es können (nicht alle) Elemente der Ansicht durch Maus-Doppelklick-linke Maustaste bzw. die Enter-Taste zur Bearbeitung in einem Dokumentfenster bearbeitet werden.
Klassen können durch "Drag and Drop" kopiert und verschoben werden.
Im unten angedockten Ausgabe-Fenster werden Informationen angezeigt.
Im Arbeitsbereich werden die zu bearbeitenden Dokumentfenster zur Verfügung gestellt.
Im folgenden werden die einzelnen Menüs mit ihren Einträgen erklärt. Manche Menüeinträge sind nur dann zugänglich, wenn entsprechende Voraussetzungen erfüllt sind. Z.B. kann eine neue Datenbank nur dann angelegt werden, wenn ein Projekt vorhanden ist. Equivalent ist für jeden Menüeintrag ein Toolbutton in der Toolbar vorhanden. Wenn mit dem Mauszeiger über die Buttons 'gefahren' wird, wird der Menüeintragstext angezeigt.
In Abhängigkeit des gerade zu bearbeitenden Objektes ändern sich die Menüs und deren Einträge im Kontext.
Nicht zuletzt besteht die Möglichkeit, in jedem zu bearbeitenden Objekt, durch drücken der rechten Maustaste, ein Kontextmenü aufzurufen.
Das Dateimenü ohne Projekt ermöglicht es, ein Projekt neu zu initiieren, ein vorhandenes Projekt zu öffnen oder den GloDeveloper zu beenden. Die anderen Menüeinträge sind zugänglich, wenn ein Projekt geladen ist.
Es wird ein neues Projekt ohne Bezeichnung initiiert. Sollte ein Projekt zur Bearbeitung geöffnet sein, wird dem Nutzer angeboten, dieses vor dem Schließen zu speichern, wenn er Änderungen vorgenommen hat.
Nach der Initiierung eines neuen Projektes sieht die Geschichte schon ganz anders aus:
Es kann ein vorhandenes Projekt aus dem Dateisystem geöffnet werden. Sollte ein Projekt in Bearbeitung sein, wird dem Nutzer angeboten, dieses vor dem Schließen zu speichern, wenn er Änderungen vorgenommen hat.
Es kann ein Projekt geschlossen werden. Es wird dem Nutzer angeboten, dieses vor dem Schließen zu speichern, wenn er Änderungen vorgenommen hat.
Ein Projekt kann sofort nach Initiierung oder auch später unter einer Bezeichnung mittels Datei / Projekt speichern bzw. Datei / Projekt speichern unter... gespeichert werden. In diesem Beispiel bekommt das Projekt die Bezeichnung "MyFirstGloProject" im Verzeichnis "D:/Projekte/GlobalObjects xx.xx/GloExamples/Bases".
Mit diesem Menüeintrag kann das Projekt in einem Projekt-Dokumentfenster eine Beschreibung bekommen.
Eine bestehende Datenbank kann mit diesem Menüeintrag übernommen werden.
Es wird unmittelbar das zugehörige Datenbank-Dokumentfenster angezeigt.
Mit diesem Menüeintrag kann GloDeveloper beendet werden. Es wird dem Nutzer angeboten, ein ggf. geöffnetes Projekt vor dem Schließen zu speichern, wenn er Änderungen vorgenommen hat.
Ist im Projekt-Katalog ein Datenbankschema selektiert, bezieht sich das Bearbeiten auf dieses.
In einem Datenbank-Dokumentfenster werden die Basisinformationen eines Datenbankschemas editiert.
Es wird das Datenbankschema aus dem Projekt entfernt.
Ist im Projekt-Katalog ein Klassenverzeichnis selektiert, bezieht sich das Bearbeiten auf dieses.
Es werden alle Klassen, ausser die Klasse glo::Persistent, aus dem übergeordnetem Datenbankschema entfernt.
Ist im Projekt-Katalog eine Klasse selektiert, bezieht sich das Bearbeiten auf diese.
In einem Klassen-Dokumentfenster wird eine persistenten Klasse ausgestaltet.
Es wird die selektierte Klasse, ausser die Klasse glo::Persistent, aus dem übergeordnetem Datenbankschema entfernt.
Ist im Arbeitsbereich eine Klasse im Dokumentfenster aktiv, bezieht sich das Bearbeiten-Menü auf dieses. Die einzelnen Menüeinträge sind i.d.R. auch auf dem Klassen-Dokumentfenster als Toolbuttons vorhanden.
In einem Dialog kann eine Datei-Beschreibung eingegeben werden, welche in die Header-Datei der Klasse geschrieben wird.
In einem Dialog kann eine Klassen-Beschreibung eingegeben werden, welche in die Header-Datei der Klasse geschrieben wird.
In einem Dialog können eine bzw. auch mehrere Oberklassen ausgewählt werden.
In einem Dialog kann ein Attribut der Klasse bearbeitet werden.
Es werden alle selektierten Attribut der Klasse gelöscht.
Es werden alle selektierten Attribut der Klasse ausgeschnitten und in die Zwischenablage kopiert.
Es werden alle selektierten Attribut der Klasse in die Zwischenablage kopiert.
Es werden alle Attribut in der Zwischenablage in die Klasse eingefügt.
Es werden alle Attribut der Klasse, auch die der Oberklassen, zur Bearbeitung in einem Dialog angeboten.
In einem Dialog kann ein Index der Klasse bearbeitet werden.
Es wird der selektierte Index der Klasse gelöscht.
Ist im Projekt-Katalog ein Eintrag selektiert bzw. der Projekt-Katalog hat den Fokus, bezieht sich das Neu-Menü auf den Katalog.
In einem Datenbank-Dokumentfenster werden die Basisinformationen eines neuen Datenbankschemas editiert.
In einem Klassen-Dokumentfenster wird eine neue persistenten Klasse ausgestaltet. Wenn eine Klasse selektiert ist, wird die neue Klasse eine direkte Unterklasse dieser selektierten Klasse, ansonsten eine direkte Unterklasse von glo::Persisten.
Ist im Arbeitsbereich eine Klasse im Dokumentfenster aktiv, bezieht sich das Neu-Menü auf dieses. Die einzelnen Menüeinträge sind i.d.R. auch auf dem eine Klassen-Dokumentfenster als Toolbuttons vorhanden.
In einem Dialog kann ein neues Attribut für die Klasse angelegt werden.
In einem Dialog kann ein neuer Index für die Klasse angelegt werden.
In diesem Menü können das Erstellen bzw. Updaten und Speichern einzelner Dateien initiiert werden. Klassenspezifische Einträge sind nur verfügbar, wenn auch eine Klasse im Projekt-Katalog selektiert ist.
Der Nutzer wird grundsätzlich gefragt, ob Dateien überschrieben werden sollen.
In der Ausgabe wird angezeigt, was erstellt wurde.
Das selektierte Datenbankschema (auch indirekt durch ein selektiertes untergeordnetes Element) wird gespeichert.
Es werden alle Dateien des selektierten Objektes und der abgeleiteten Objekte generiert bzw. angepasst. Das sind die Tabellen, die Header- und Source-Dateien der Klasse(n) und die Header-Datei des Objekterstellers.
Es werden alle Tabellen des selektierten Objektes und der abgeleiteten Objekte in das Dateisystem geschrieben.
Es wird die Tabelle der selektierten Klasse in das Dateisystem geschrieben.
Es werden alle Header-Dateien des selektierten Objektes und der abgeleiteten Objekte generiert bzw. angepasst.
Es werden alle Source-Dateien des selektierten Objektes und der abgeleiteten Objekte generiert bzw. angepasst.
Es werden alle Header- und Source-Dateien des selektierten Objektes und der abgeleiteten Objekte generiert bzw. angepasst.
Es wird die Header-Datei der selektierten Klasse generiert bzw. angepasst.
Es wird die Source-Datei der selektierten Klasse generiert bzw. angepasst.
Es wird die Header- und Source-Datei der selektierten Klasse generiert bzw. angepasst.
Es wird die Header-Datei des Objekterstellers generiert.
In diesem Menü kann die Katalogansicht beeinflusst werden.
Es wird im Projekt-Katalog der gesamte untere Bereich des selektierten Eintrags "aufgeklappt".
In diesem Menü sind zusätzliche Funktionen untergebracht.
Es können für den GloDeveloper die Einstellungen für die Sprache in einem Dialog vorgenommen werden.
Es können für den GloDeveloper die Einstellungen für angezeigten Icons in einem Dialog vorgenommen werden.
Es können für den GloDeveloper grundsätzliche Einstellungen in einem Dialog vorgenommen werden.
Es werden alle Referenzen auf Klassen und Attribute auf Gültigkeit geprüft. Das Ergebnis wird in der Ausgabe angezeigt.
In diesem Menü sind die Fenster-Manipulierenden Funktionen untergebracht.
Es werden die Dokumentfenster im Arbeitsbereich überlappend angeordnet.
Es werden die Dokumentfenster im Arbeitsbereich neben- und untereinander angeordnet.
Hat nur eine Auswirkung, wenn ein Dokumentfenster maximiert ist. Dann werden die Dokumentfenster im Arbeitsbereich wieder angeordnet, wie sie vor der Maximierung waren.
Hat nur eine Auswirkung, wenn das aktuelle Dokumentfenster noch nicht maximiert ist; es wird maximiert (füllt den gesamten Arbeitsbereich aus).
Es wird das aktuelle Dokumentfenster im Arbeitsbereich geschlossen. Sollten Änderungen im Dokumentfenster vorgenommen worden sein, wird dem Nutzer angeboten, diese vor dem Schließen zu speichern.
Es werden alle Dokumentfenster im Arbeitsbereich geschlossen. Sollten Änderungen in den Dokumentfenstern vorgenommen worden sein, wird dem Nutzer angeboten, diese vor dem Schließen zu speichern.
Die Anzeige des Projekt-Katalogs kann an- bzw. abgeschaltet werden.
Die Anzeige der Ausgabe kann an- bzw. abgeschaltet werden.
Es werden die im Arbeitsbereich geöffneten Dokumentfenster jeweils als Eintrag im Fenster-Menü angezeigt. Durch Auswahl wird das jeweilige Dokumentfenster in den Vordergrund geholt und zum aktuellen Fenster.
Das Projekt, die Datenbank und die persistenten Klassen werden in Dokumentfenstern bearbeitet, welche im Arbeitsbereich angezeigt werden.
Ein Projekt wird mit Datei / Neues Projekt... initiiert. Es können Datenbanken mit ihren persistenten Klassen im GloDeveloper grundsätzlich in Projekten angelegt und bearbeitet werden. Es kann nur ein Projekt pro GloDeveloper-Instanz bearbeitet werden.
Beim Speichern des Projektes muss eine Bezeichnung gewählt werden. Die Projektbezeichnung mit der Extension ".prj" ist die Dateibezeichnung. In der Titelleiste vom GloDeveloper wird die Dateibezeichnung des Projektes angezeigt.
Über Datei / Projekt-Eigenschaften... kann eine Beschreibung des Projektes gepflegt werden.
Hier wird die vollständige Dateibezeichnung des Projektes angezeigt. Dieses Feld kann nicht bearbeitet werden (Projektbezeichnungen können durch speichern desselben unter einem anderen Namen geändert werden).
Ein Projekt kann eine Beschreibung erhalten.
Wenn gesetzt, wird der Text in der Beschreibung am aktuellen rechten Rahmen umgebrochen.
Die Beschreibung des Projekts kann auch in einem externen Text-Editor vorgenommen werden. Voraussetzung ist, dass in den Programmeinstellungen / Text Einstellungen / Text Editor / Externer Text Editor ein externer Text-Editor eingetragen ist.
Nach dem Bearbeiten kann die ursprüngliche Beschreibung mit dem neuen Text (wenn es Änderungen gibt) verglichen werden und der zu übernehmende Text ausgewählt werden.
So lange die ggf. geänderten Werte des Dialogs noch nicht übernommen sind, können diese wieder auf den ursprünglichen Wert gesetzt werden.
Die Änderungen werden übernommen, können danach nicht mehr wiederhergestellt werden.
Das Bearbeitungsfenster wird geschlossen. Änderungen der Dialogwerte werden übernommen.
Das Bearbeitungsfenster wird geschlossen. Wenn Dialogwerte geändert wurden, wird erfragt, ob diese übernommen werden sollen.
Über Datei / Datenbank in Projekt übernehmen..., Bearbeiten / Datenbankschema bearbeiten... und Neu / Neue Datenbank... kann das entsprechende Datenbankschema gepflegt werden.
In diesem Feld wird die Datenbank-ID angezeigt; diese kann geändert werden.
Es wird eine eindeutige Datenbank-ID im Projekt generiert, wenn die vorhandene nicht eindeutig ist.
In diesem Feld wird die Datenbank-Bezeichnung angezeigt; diese kann geändert werden.
Der Verzeichnispfad in dem das Schema gespeichert werden soll. Es wird empfohlen, das Verzeichnis über den Toolbutton [...] auszuwählen.
Der Verzeichnispfad in dem das Schema gespeichert werden soll, kann über einen Dialog ausgewählt werden:
Der Pfad in der roten Markierung ist relevant!
Das Datenverzeichnis, welches grundsätzlich ein Unterverzeichnis des Schemaverzeichnisses ist. Hier werden die Datentabellen, Indexe etc. abgelegt.
Es wird die aktuelle Version angezeigt. Diese wird bei Änderungen automatisch vergeben und kann hier nicht geändert werden.
Das Verzeichnis in welches die Header-Dateien (.h) der persistenten Klassen des Datenbankschemas gespeichert werden sollen bzw. gespeichert sind. Es wird empfohlen, das Verzeichnis über den Toolbutton [...] auszuwählen.
Das Verzeichnis in welches die Header-Dateien (.h) der persistenten Klassen des Datenbankschemas gespeichert werden sollen bzw. gespeichert sind, kann über einen Dialog ausgewählt werden:
Der Pfad in der roten Markierung ist relevant!
Das Verzeichnis in welches die Source-Dateien (.cpp) der persistenten Klassen des Datenbankschemas gespeichert werden sollen bzw. gespeichert sind. Es wird empfohlen, das Verzeichnis über den Toolbutton [...] auszuwählen.
Das Verzeichnis in welches die Source-Dateien (.cpp) der persistenten Klassen des Datenbankschemas gespeichert werden sollen bzw. gespeichert sind, kann über einen Dialog ausgewählt werden:
Der Pfad in der roten Markierung ist relevant!
Eine Datenbank kann eine Beschreibung erhalten.
Über diese Schaltfläche wird der Zeilenumbruch für das Beschreibungsfeld an- bzw. abgeschaltet werden.
Die Beschreibung kann auch in einem externen Text-Editor vorgenommen werden. Voraussetzung ist, dass in den Programmeinstellungen / Text Einstellungen / Text Editor / Externer Text Editor ein externer Text-Editor eingetragen ist. Nach dem Bearbeiten kann die ursprüngliche Beschreibung mit dem neuen Text (wenn es Änderungen gibt) verglichen werden und der zu übernehmende Text ausgewählt werden.
So lange die ggf. geänderten Werte des Dialogs noch nicht übernommen sind, können diese wieder auf den ursprünglichen Wert gesetzt werden.
Die Änderungen werden übernommen, können danach nicht mehr wiederhergestellt werden.
Das Bearbeitungsfenster wird geschlossen. Änderungen der Dialogwerte werden übernommen.
Das Bearbeitungsfenster wird geschlossen. Wenn Dialogwerte geändert wurden, wird erfragt, ob diese übernommen werden sollen.
Über Neu / Neue Klasse... und Bearbeiten / Klasse bearbeiten... kann eine persistente Klasse angelegt und bearbeitet werden.
In diesem Feld kann die Klassenbezeichnung eingegeben und geändert werden. Es besteht die Möglichkeit, Namensbereiche (namespaces) der Klassenbezeichnung, getrennt durch zwei Doppelunkte, voran zu stellen (z.B. "MyFirstNameSpace::MaSecondNameSpace::MyClassName").
Hier wird die, vom GloDeveloper vergebene, Klassen-ID angezeigt. Diese kann hier nicht geändert werden.
In diesem Feld kann die Tabellenbezeichnung eingegeben und geändert werden.
In diesem Feld kann ein Klassenmodifizierer wie z.B. "__export_dll" eigegeben werden, welche in die Header-Datei zwischen "class" und der Klassenbezeichnung einkopiert wird. Nach einer Eingabe steht der Eintrag für andere Klassen zur Verfügung.
In diesem Feld kann der Haederdatei-Name vergeben bzw. geändert werden. Bei der ersten Anlage wird der Klassenname als Headerdatei-Name automatisch vergeben. Wenn kein Headerdatei-Name vergeben wird, werden keine Header- und Sourcedatei generiert. Hat man z.B. in einer Datenbank "DataBase_1" eine persistente Klasse "MyClass" welche man in einer anderen Datenbank "DataBase_2" wieder verwenden möchte, kann man die Klasse "MyClass" von der Datenbank "DataBase_1" in die Datenbank "DataBase_2" kopieren und dort den Headerdatei-Namen entfernen.
Über Bearbeiten / Datei-Beschreibung... bzw. Bearbeiten / Klassen-Beschreibung... kann ein Dialog zur Bearbeitung der Datei- bzw. Klassen-Beschreibung aufgerufen werden. Diese Beschreibungen werden als Kommentar in die Header-Datei übernommen.
Wenn im Texteingabefeld die rechte Maustaste gedrückt wird, erscheint ein Kontext-Menü. Unter dem Menü-Eintrag Text-Variable... kann ein Platzhalter für kontextabhängigen Text (z.B. das aktuelle Datum) ausgewählt und eingefügt werden. Es wird dann in der Header-Datei in der jeweiligen Beschreibung der Platzhalter mit dem aktuellen kontextabhängigen Text ersetzt.
Weiter Beschreibung siehe unter Programmeinstellungen / Text Einstellungen / Text Variablen
Wenn gesetzt, wird der Text in der Beschreibung am aktuellen rechten Rahmen umgebrochen.
Es wird die Standard-Datei-Beschreibung gesetzt.
Die Beschreibung kann auch in einem externen Text-Editor vorgenommen werden. Voraussetzung ist, dass in den Programmeinstellungen / Text Editor / Externer Text Editor ein externer Text-Editor eingetragen ist.
Nach dem Bearbeiten kann die ursprüngliche Beschreibung mit dem neuen Text (wenn es Änderungen gibt) verglichen werden und der zu übernehmende Text ausgewählt werden.
Hier werden die Oberklasse(n) der Klasse angezeigt. Um bei einer Mehrfachvererbung das sogenannte Diamond-Problem zu vermeiden, kann die Vererbung als virtuelle Vererbung gekennzeichnet werden.
Über Bearbeiten / Oberklasse auswählen... können die Oberklassen der Klasse im Dokument aus einem Dialog ausgewählt werden. Eine Mehrfachselektion für eine Mehrfachvererbung ist möglich.
Wenn die Klasse im Dialog mehrere Oberklassen hat, können diese in der Vererbungsreihenfolge verschoben werden (die oberste Klasse ist die erste in der Vererbungsreihenfolge).
Die Liste der Attribute. Die Attribute werden in der Reihenfolge dargestellt, in der sie als Felder in der Tabelle definiert sind. Attribute können in der Reihenfolge verschoben werden. Durch Maus-Doppelklick-linke Maustaste auf ein Attribut wird dessen Bearbeitungsdialog angezeigt.
Über Bearbeiten / Attribut bearbeiten... bzw. Neu / Neues Attribut... kann ein Dialog zur Bearbeitung eines selektierten Attributs bzw. zur Neuanlage eines Attributs aufgerufen werden.
In diesem Eingabefeld kann die Attributbezeichnung gepflegt werden.
Aus dieser Combo Box kann die Zugriffskontrolle ausgewählt werden.
Aus dieser Combo Box kann der unterstützte Attributtyp ausgewählt werden.
Weitere Informationen über die unterstützten Datentypen finden sich in der GlobalObjects Programmier-Anleitung / Glo Datentypen.
Für einige Datentypen können bzw. müssen weiter Informationen ausgewählt werden.
Es kann bei diesem Attributtyp die Anzahl der Nachkommastellen angegeben werden, der Wert wird dann gerundet gespeichert. Wenn die Anzahl der Nachkommastellen gleich 0, wird der Wert im "scientific-mode" gespeichert (z.B. die Zahl 123 =>"1.230000e+002").
Bei diesem Attributtyp muss der Typ der persistenten Klasse ausgewählt werden.
Bei den Attributtypen Zeiger, std::shared_ptr, glo::TOndemand, glo::TPointerSet, glo::TPointerList, glo::TOndemandSet und glo::TOndemandList muss der Typ der persistenten Klasse ausgewählt werden. Zusätzlich kann ein Referenzattribut dependent über eine Combo Box ausgewählt werden.
Es kann bei diesem Attributtyp die erlaubte Anzahl der Zeichen angegeben werden. Wenn die erlaubte Anzahl der Zeichen gleich 0, darf die Länge das sein, was das System her gibt ( siehe auch glo::Base::getLimits(std::shared_ptr<glo::LimitRecord>&,const glo::ClassInfoAttribute::Type&) ).
In diesem Eingabefeld kann die Bezeichnung des Tabellenfeldes eingegeben bzw. geändert werden.
In diesem Anzeigefeld wird angezeigt, wie das Attribut in der Klassendeklaration (Header-Datei) aussieht.
Ein Attribut kann eine Beschreibung habe, welche in die Header-Datei als Kommentar übernommen wird. Die Handhabung ist die gleiche wie die der Klassenbeschreibung.
Über Bearbeiten / Selektierte Attribute löschen können die selektierten Attribute in der Liste der Attribute gelöscht werden. Der Nutzer muss das Löschen bestätigen.
Wenn die Klasse im Dokument mehrere Attribute hat, können diese einzeln nach oben bzw. unten verschoben werden.
Über Bearbeiten / Zeige alle Attribute... werden alle, auch die geerbten Attribute angezeigt. Durch Maus-Doppelklick-linke Maustaste auf eine Klassenbezeichnung, wird das Klassen-Dokumentfenster der Klasse angezeigt. Durch Maus-Doppelklick-linke Maustaste auf eine Attributbezeichnung, wird der Dialog zur Bearbeitung des Attributs angezeigt. Bei Betätigung der Enter-Taste wird der Dialog zur Bearbeitung des selektierten Attributs angezeigt.
Attribute können mittels "drag and drop" nicht nur innerhalb einer Klasse, sondern auch in jede andere Klasse kopiert oder verschoben werden.
Die Liste der Indexe. Die beiden Check Boxen Unique und CaseSensitive können direkt in der Listenanzeige an- bzw- ausgeschaltet werden. Durch Maus-Doppelklick-linke Maustaste auf einen Index wird dessen Bearbeitungsdialog angezeigt.
Über Bearbeiten / Index bearbeiten... bzw. Neu / Neuer Index... kann ein Dialog zur Bearbeitung eines selektierten Indexes bzw. zur Neuanlage eines Indexes aufgerufen werden.
In diesem Eingabefeld kann die Indexbezeichnung gepflegt werden.
Ein Index kann als eindeutig gekennzeichnet werden. Einträge dürfen damit nur einmalig vorkommen. Hat z.B. eine Klasse ein Attribut "Name" und dieses Attribut wird indiziert, kann es keine zwei Objekte mit dem gleichen Namen geben.
Es kann eingestellt werden, ob die Einträge im Index nach Groß- Kleinschreibung unterschieden werden. Hat z.B. eine Klasse ein Attribut "MyName" und dieses Attribut wird unique und CaseSensitiv indiziert, kann es keine zwei Objekte mit dem gleichen Namen geben, auch wenn der eine "MYNAME"
und der andere "myname"
ist.
Für die Sortierung kann hier die Sprache eingestellt werden. Es werden dann die Sprachabhängigkeiten berücksichtigt (z.B. das deutsche "ä" wird als "ae" interpretiert).
Sprachschlüssel können über einen Auswahldialog ausgewählt werden. Da die Anpassungen in der Reihenfolge der Sprachschlüssel vorgenommen werden, können diese verschoben werden.
In dieser Liste werden die einzelnen Attribute, welche im Index zusammengefasst werden, angezeigt. Indexattribute können auch aus Oberklassen stammen und es muss festgelegt sein, wie viel Zeichen des Wertes des Attributs berücksichtigt werden sollen.
Ein Index kann eine Beschreibung habe. Die Handhabung ist die gleiche wie die der Klassenbeschreibung.
Es wird eine Liste der noch nicht verwendeten Attribute der Klasse in einer Liste angezeigt. Die Anzeige kann auf die Attribute der Klasse eingeschränkt werden, die Attribute der Oberklasse werden dann nicht angezeigt. Ein Attribut kann mittels Maus-Doppelklick-linke Maustaste bzw. Enter-Taste ausgewählt werde.
Wenn zum Beispiel ein Attribut einer eingebetteten Klasse im Index genutzt werden soll,
wird bei der Auswahl des Attributs der eingebetteten Klasse deren Attribute angezeigt, wo man seine Auswahl treffen kann.
Nach einer Auswahl geht es in die Bearbeitung (siehe nächsten Punkt).
In diesem Dialog kann das Attribut gewechselt werden. In der Hauptsache kann hier die zu berücksichtigende Anzahl der Zeichen für den Index eingestellt werden.
Es wird das selektierte Index-Attribut aus dem Index entfernt. Der Nutzer muss das Löschen bestätigen.
Wenn der Index mehrere Attribute hat, können diese in der Reihenfolge verschoben werden. Die Reihenfolge bestimmt den Zusammenbau des Wertes des Indexeintrags.
Über Bearbeiten / Index löschen kann der selektierte Index in der Liste der Indexe gelöscht werden. Der Nutzer muss das Löschen bestätigen.
Der GloDeveloper kann auf eine andere Sprache eingestellt werden. Die Sprachdateien müssen im angegebenen Übersetzungsdatei-Verzeichnis gespeichert sein, welches im Ausführungsverzeichnis der Applikation sein muss.
Die im GloDeveloper genutzten Icons können im einzelnen durch Verweis auf eine Bilddatei (BMP oder PNG) geändert werden. Es kann auch das Icon-Verzeichnis geändert werden um ggf. alle Icons auf einen Schlag auszutauschen.
Der GloDeveloper hat einige Einstellungen, welche der Nutzer nach seinem gusto vornehmen kann.
Diese Einstellungen betreffen das Bearbeiten von Kommentaren.
Interner Text Editor Es kann hier die Tabulatorschrittweite für die Beschreibungstexte eingestellt werden.
Externer Text Editor Es kann für die Bearbeitung der Beschreibungen ein externer Editor eingerichtet werden. Da einige Editoren etwas streng mit der Art des Pfadtrenners sind (mal '/' oder '\'), kann dieser auch angegeben werden.
Kommentarblock-Erweiterung Ein Kommentarblock wird mit Slash-Sternchen eingeleitet und mit Sternchen-Slash abgeschlossen. Die Kommentarblock-Startsequenz kann erweitert werden. Dieses ist dem Tool doxygen geschuldet, welches für seinen Analyselauf z.B. ein "!" erwartet.
Es kann eine Vorlage jeweils für die Datei-, Klassen-, Attribut und Indexbeschreibungen angelegt werden. Die Handhabung ist die gleiche wie die der Klassenbeschreibung.
In den Beschreibungen können Textvariablen eingebunden werden. Bei der Dateierstellung werden diese Variablen durch die aktuellen Werte ausgetauscht. Somit kann z.B. der Klassenname geändert werden ohne diesen in einer Beschreibung nachpflegen zu müssen. Es wird im jeweiligen Text die 'sichtbare Bezeichnung' eingetragen, welche hier durch Maus-Doppelklick-linke Maustaste geändert werden kann.
Name | Beschreibung |
---|---|
AttributeFieldName | Die Tabellenfeldbezeichnung in der das Attribut abgelegt wird. Siehe auch Attribut anlegen / bearbeiten - Tabellenfeld-Name.
|
AttributeFieldPosition | Die Spaltenposition des Attributs in der Tabelle ergibt sich aus der Position in der Anzeige der Attribute.
|
AttributeName | Die Bezeichnung des Attributs in der Klasse. Siehe auch Attribut anlegen / bearbeiten - Attributname.
|
AttributeType | Der Typ des Attributs in der Klasse. Siehe auch Attribut anlegen / bearbeiten - Anzeige des Typs in der Klassendeklaration.
|
AttributeTypeInfo | Eine evtl. zusätzlich vorhandene Information des Typs des Attributs wie z.B. die Stringlänge. Siehe auch Attribut anlegen / bearbeiten - Typ.
|
BaseDir | Der vollständige Pfad, in dem die Datenbank abgelegt wird. Siehe auch Schema-Verzeichnis festlegen. |
BaseName | Die Bezeichnung der Datenbank. Siehe auch Datenbank-Name vergeben / ändern. |
ClassHeaderDir | Der vollständige Pfad, in dem die Header-Datei der Klasse abgelegt wird. Sieh auch Header-Datei-Verzeichnis festlegen. |
ClassHeaderFileName | Die Bezeichnung der Header-Datei der Klasse, ergibt sich immer aus der Klassenbezeichnung mit angehängtem ".h". |
ClassName | Die Bezeichnung der Klasse. Siehe auch Klassen-Name vergeben / ändern. |
ClassSourceDir | Der vollständige Pfad, in dem die Source-Datei der Klasse abgelegt wird. Sieh auch Source-Verzeichnis festlegen. |
ClassSourceFileName | Die Bezeichnung der Source-Datei der Klasse, ergibt sich aus der Klassenbezeichnung mit dem Präfix "glo_" und angehängtem ".cpp". |
ClassTableName | Die Bezeichnung der Tabelle. Siehe auch Tabellen-Name vergeben / ändern. |
CurrentDate | Das aktuelle Datum. Das Format kann hier eingestellt werden. |
CurrentTime | Die aktuelle Zeit. Das Format kann hier eingestellt werden. |
ProjectName | Die Bezeichnung des Projekts. Siehe auch Projekt-Name. |
SubClassName | Die Bezeichnung(en), durch Kommata separiert, der direkten Unterklasse(n) dieser Klasse. |
SuperClassName | Die Bezeichnung(en), durch Kommata separiert, der direkten Oberklasse(n) dieser Klasse. |
UserGroupInitial | Die Initialen der Nutzergruppe. Die Initialien können hier eingetragen werden. |
UserGroupName | Die Bezeichnung der Nutzergruppe. Die Bezeichnung kann hier eingetragen werden. |
UserInitial | Die Initialen des Nutzers. Die Initialien können hier eingetragen werden. |
UserName | Der Name des Nutzers. Der Name kann hier eingetragen werden. |
Version | Die Version der Datenbank. Siehe auch Schema-Versionsanzeige. |
Für die Text Variable CurrentDate kann das Format eingestellt werden.
Ausdruck | Ausgabe |
---|---|
d | Der Tag als Zahl ohne führender Null (1 bis 31) |
dd | Der Tag als Zahl mit führender Null (01 bis 31) |
ddd | Der abgekürzte lokalisierte Tagesname ('Mon' bis 'Son'). Nutzt QDate::shortDayName(). |
dddd | Der lokalisierte Tagesname ('Mondad' bis 'Sonntag'). Nutzt QDate::longDayName(). |
M | Der Monat als Zahl ohne führender Null (1 bis 12) |
MM | Der Monat als Zahl mit führender Null (01 bis 12) |
MMM | Der abgekürzte lokalisierte Monatssname ('Jan' bis 'Dez'). Nutzt QDate::shortMonthName(). |
MMMM | Der lokalisierte Monatssname ('Januar' bis 'Dezember'). Nutzt QDate::longMonthName(). |
yy | Das Jahr als zweistellige Zahl (00 bis 99) |
yyyy | Das Jahr als vierstellige Zahl. Wenn das Jahr eine negative Zahl ist, wird ein Minuszeichen vorangestellt. |
Für die Text Variable CurrentTime kann das Format einegstellt werden.
Ausdruck | Ausgabe |
---|---|
h | Die Stunde ohne führender Null (0 bis 23 oder 1 bis 12 bei AM/PM Anzeige) |
hh | Die Stunde mit führender Null (00 bis 23 oder 01 bis 12 bei AM/PM Anzeige) |
H | Die Stunde ohne führender Null (0 bis 23, auch bei AM/PM Anzeige) |
HH | Die Stunde mit führender Null (00 bis 23, auch bei AM/PM Anzeige) |
m | Die Minute ohne führender Null (0 bis 59) |
mm | Die Minute mit führender Null (00 bis 59) |
s | Die Sekunde ohne führender Null (0 bis 59) |
ss | Die Sekunde mit führender Null (00 bis 59) |
z | Die Millisekunde ohne führender Nullen (0 bis 999) |
zzz | Die Millisekunde mit führenden Nullen(000 to 999) |
AP or A | Nutzt die AM/PM Anzeige. AP wird durch "AM" oder "PM" ersetzt. |
ap or a | Nutzt die am/pm Anzeige. ap wird durch "am" or "pm" ersetzt. |
t | Die Zeitzohne (z.B. "CEST") |
Hier kann das Verhalten vom GloDeveloper beim Kopieren (über Drag and Drop) einer Klasse in das gleiche bzw. in ein anderes Schema eingestellt werden.
Hier kann das Verhalten vom GloDeveloper beim Löschen einer Klasse eingestellt werden.
Die Werte für die Text Variablen UserName, UserInitial, UserGroupName und UserGroupInitial können hier eingetragen werden.
Hier kann die Darstellung eines neu angelegten Attributs bzw, Index verändert werden.
GlobalObjects verwendet in den generierten Header-Dateien die Schlüsselwörter 'persistent' und 'transient', um den Bereich der persistenten Attribute abzugrenzen.
Nicht alle Dokumentationstools, wie beispielsweise Doxygen, können damit umgehen. Die folgenden transienten Attribute werden nicht korrekt erkannt. Um dies zu vermeiden, können vor und nach den Schlüsselwörtern 'persistent' und 'transient' zusätzliche Anweisungen hinzugefügt werden.
Hier kann das GloDeveloper Handbuch referenziert werden. Wird i.d.R. vom GlobalObjects-Setup Programm vorgenommen.