DBsignatur... |
Top Previous Next |
Die Prozeduren mit dem Präfix DBsignatur dienen, wie der Name schon nahe legt, zur Verwaltung von Signaturtabellen. Eine Signaturtabelle weist einer Menge von Objekten der Datenbank ein Aussehen auf dem Plotter oder dem Bildschirm zu. Es gibt im System drei ladbare Signaturtabellen. Erlaubt sind bis zu 10 Tabellen. Wobei die ersten drei Tabellen mit den unten stehenden Konstanten reserviert sind. Diese werden über LUT vom Benutzer geladen oder über die Programmierschnittstelle mit DBsignatur... generiert. Die drei Tabellen sind die Tabelle für den Plotter, die Tabelle für den Bildschirm und die dritte Tabelle für den Bildschirm, die den Originalzustand nach dem Laden der Tabelle darstellt. Die dritte Tabelle ist dafür da, um Änderungen in der Bildschirmsignaturtabelle wieder rückgängig zu machen. Die drei Tabellen sind intern identisch aufgebaut und werden über die Konstanten PLOTTER_SIGNATUR_TABELLE, BILDSCHIRM_SIGNATUR_TABELLE und ORIGINAL_BILDSCHIRM_SIGNATUR_TABELLE angesprochen. Jede Tabelle besteht aus zwei Ebenen. Die obere Ebene (KeygroupEntry) teilt alle Objekte nach Objektschlüsseln ein. Es wird jeweils der erste Objektschlüssel für diese Einteilung verwendet. Wenn ein Objekt keinen Schlüssel besitzt, wird der Eintrag für den Schlüssel 0 benutzt. In dieser Ebene können beliebig viele Einträge vorgenommen werden, die jeweils einen Schlüsselbereich von <key1> bis <key2> abdecken. Die Schlüssel key1 und key2 sind dabei eingeschlossen. Wenn key1 mit key2 identisch ist, ist der Eintrag nur für key1 zuständig. Doppelte Einträge und überlappende Einträge sind zulässig. Es wird dann die jeweils neueste Definition verwendet. Für jeden Eintrag der oberen Ebene existiert eine Liste von Einträgen in der unteren Ebene, die DrawingkeyEntries. Hier wird nach dem Zeichenschlüssel der Elemente das eigentliche Aussehen der Linien und Symbole festgelegt. Auch diese dürfen sich überlappen und werden wie in der oberen Ebene nach der neuesten Definition ausgewertet. Als Definitionen sind die Werkzeugnummer, die Farbe, die Linienbreite, die Anzahl der Liniensegmente für die Strichlierung und die Liniensegmente selbst vorhanden. Dabei wird für die Bildschirmsignatur die Definition der Segmente nicht benutzt. Statt dessen ist in den Bits 0-2 des mitgeführten Flags die Linienart kodiert. Das Setzen des Bits 3 macht alle Linien dieses Typs unsichtbar. Für die Plottersignatur ist die Farbe bedeutungslos, da sie über die Werkzeugnummer bestimmt wird. Konstanten #define PLOTTER_SIGNATUR_TABELLE 1 #define BILDSCHIRM_SIGNATUR_TABELLE 2 #define ORIGINAL_BILDSCHIRM_SIGNATUR_TABELLE 3 #define DRAW_LINETYPE_DEFAULT 0L #define DRAW_LINETYPE_DOT 1L #define DRAW_LINETYPE_SHORTDASH 2L #define DRAW_LINETYPE_DASHDOT 3L #define DRAW_LINETYPE_DOUBLEDOT 4L #define DRAW_LINETYPE_LONGDASH 5L #define DRAW_LINETYPE_DASHDOUBLEDOT 6L #define DRAW_LINETYPE_SOLID 7L
|