,--------------------------------------------------------------------. | 20.1.1995 | | NOLOOK.TXT | | | | Beschreibung des Aufbaus der no|Look-Definitionsdateien | | | | Copyright ½1995 by no|Software GmbH | | | | Autoren: | | Andreas Fahrig | | Christian Stamm | | | `--------------------------------------------------------------------' Inhalt ====== 1 ........................................................ Allgemeines 2 ..................................................... Die no|Dialoge 3 .................................................... Der Dateiaufbau 3.1 .................................................... Die Infozeile 3.2 .................. Die Definitionsbl”cke fr bestimmte Aufl”sungen 3.2.1 ....................................... die Identifikationszeile 3.2.2 .............................................. Farb-Umbelegungen 3.2.3 .............................................. Definitionszeilen 3.2.3.1 ................. Defintionszeilen fr GLOBAL gltige Elemente 3.2.3.2 .................. Defintionszeilen fr ORTSABHŽNGIGE Elemente 3.2.3.3 .............................. Defintionszeilen fr Alertboxen 3.2.3.4 ......................... Defintionszeilen fr Fensterelemente 4 .................................................. Spezielle Effekte 1 Allgemeines ============== Diese Dokumentation befažt sich mit dem Aufbau von no|Look-Definitions- dateien, ber die das Aussehen aller no|Soft-Applikationen gesteuert wird. Diese Dateien liegen im ASCII-Format vor und sind somit von jedem, der einen Text-Editor besitzt leicht „nderbar. Jedoch ist es unbedingt n”tig, die Struktur dieser Datei und der einzelnen Definitionen verstanden zu haben, bevor man mit irgendwelchen Žnderungen beginnen will (unbedingt immer eine Sicherungskopie der entsprechenden Datei anfertigen). Die Definitionsdateien haben alle den Namen NOLOOK.* 2 Die no|Dialoge ================= Im Vorfeld ist es wichtig, zu wissen, wie eine Dialogbox von uns semantisch aufgeteilt ist und welche Besonderheiten fr die Bedienung gelten: ,----------------------------------. | ,------------------------. | | ,-| First-Bereich-Header |-. | | | '________________________` | | | | ,----------------------. | -+------- Root-Bereich | | | | | | | | | | -+--+------- First-Bereich | | | | | | | | | -+--+--+------- Option-Bereich(e) | | | | | | | | | | | | | | '----------------------` | | | '----------------------------` | | ,-----. ,-------. ,-------. | | |HILFE| | OK | |Abbruch| | | '-----` '-------` '-------` | '----------------------------------` Der 'First-Bereich-Header' enth„lt im 'Normalfall' einen Text, der beschreibt, wozu dieser Dialog dienen soll. Er hat aužerdem eine besondere Funktion, wenn ein Dialog NICHT in einem Fenster abl„uft: Durch Drcken der LINKEN Maustaste, wenn sich der Mauszeiger auf diesem Objekt befindet, kann die Dialogbox verschoben werden. Durch Drcken der RECHTEN Maustaste wird die Dialogbox 'durchsichtig' und es kann der in diesem Zustand vorhandene Rahmen bewegt werden - wird die rechte Maustaste wieder losgelassen, so wird die Dialogbox an der neuen Position wieder sichtbar. Option-Bereiche enthalten die eigentlichen 'Bedienelemente' des Dialoges und besitzen oft einen eigenen 'Header' (wie der Header des First-Bereiches), dessen Text die Bedeutung der Einstellm”glichkeiten dieses Bereichs beschreibt. In allen drei Bereichsebenen (Root, First und Option) k”nnen die verschiedensten Dialogelemente existieren (z.B. Buttons, Listen- bzw. Sliderboxen, Check- und Radiobuttons, Texte, Editierfelder, usw.). Die meisten Elemente treten fast immer nur in den Option-Bereichen auf. Die Buttons, mit denen man einen Dialog verlassen kann (im Normalfall 'OK' und 'Abbruch') k”nnen gesondert zu den sonstigen Button-Definitionen eingestellt werden, damit sofort ersichtlich wird, auf welche Weise der Dialog zu verlassen ist. Der 'OK'-Button ist immer mit [Return] und der 'Abbruch'-Button mit [Undo] zu bet„tigen. Einige Dialoge besitzen einen 'Hilfe'-Button im Root-Bereich (mir der Taste [Help] zu aktivieren), welcher ebenfalls ein eigenes Aussehen besitzt. Falls ein Buchstabe des Textes von Bedienelementen mit einem Unterstrich versehen ist, so kann dieses Bedienelement auch ber die Tastatur aktiviert werden, und zwar indem man den entsprechenden Buchstaben in Verbindung mit [Control] oder [Alternate] drckt. 3 Der Dateiaufbau ================== 3.1 Die Infozeile: ------------------ Die erste Zeile einer no|Look-Datei enth„lt einen Titel, ber den man mittels des Konfigurationsprogramms NOCONFIG.PRG die gewnschte no|Look-Datei NOLOOK.* ausw„hlen kann. Hieraus folgert natrlich, daž man keine anderen Dateien als no|Look-Dateien mit dem Namen NOLOOK.* in seinem NOSYS-Ordner haben sollte. Vor dem Titel mssen zwei '%' stehen, und vom darauf folgenden String werden nur die ersten 30 Zeichen verwertet! Beispiel: %%MyDial-Emulation in 3D 3.2 Die Definitionsbl”cke fr bestimmte Aufl”sungen: ---------------------------------------------------- Es folgen nach einer Leerzeile die Definitionsbl”cke fr die verschiedenen Farbaufl”sungen. Fr jede Farbaufl”sung gibt es einen Block. Jeder dieser Bl”cke hat folgenden Aufbau: - Identifikationszeile - Farb-Umbelegungen (1-n Zeilen) - Definitionszeilen fr globale Elemente (6 Zeilen) - Definitionszeilen fr Elemente in ROOT-Bereichen (6 Zeilen) - Definitionszeilen fr Elemente in FIRST-Bereichen (6 Zeilen) - Definitionszeilen fr Elemente in OPTION-Bereichen (6 Zeilen) - Definitionszeilen fr Alertboxen (pro Alertbox-Typ 3 Zeilen) - Definitionszeilen fr Randelemente von Vordergrundfenstern (4 Zeilen) - Definitionszeilen fr Randelemente von Hintergrundfenstern (4 Zeilen) ACHTUNG: ALLE WERTE IN DEN FOLGENDEN DEFINITIONEN SIND IN HEXADEZIMAL ANZUGEBEN! 3.2.1 die Identifikationszeile: -------------------------------- #[,] Anzahl der verschiedenen VDI-Farben der Bildschirmaufl”sung, fr die der folgende Definitionsblock gelten soll. Ein Wert 'FFFF' gilt fr Farbaufl”sungen >= 256 Farben. ist optional und hat folgende Bedeutung: Bit 0: Schatten fr Option-Bereiche 1: Schatten fr First-Bereiche 2: wenn Bit 3 gesetzt ist, dann sagt dieses Bit, ob Fensterelemente mit (gesetzt) oder ohne (nicht gesetzt) Rahmen gezeichnet werden 3: Fensterelemente in 3D zeichnen 4-7: RESERVIERT! immer 0 8: Header-Texte werden linksbndig zur zugeh”rigen Bereichs-Box gezeichnet 9-15: RESERVIERT! immer 0 Beispiel: #10,3 Definiton fr Aufl”sungen mit 16 Farben First- und Option-Bereiche erhalten einen Schatten 3.2.2 Farb-Umbelegungen: ------------------------- Zwischen der ersten Zeile und den nachfolgenden Definitionen der Dialogboxelemente kann ein Block mit speziellen Farb-Umbelegungen folgen. Hierdurch ist es m”glich, einer Farbe in Verbindung mit einem speziellen Muster (z.B. ROT mit 50% Muster), wie sie in den folgenden Definitionen der Dialogboxelemente verwendet wird, eine neue Farbe zuzuweisen. Dabei k”nnen aužerdem die korrespondierenden Farbwerte fr die 3D-Effekte angegeben werden. Diese M”glichkeit findet zum Beispiel Verwendung, um bei 16 und 256 Farben die gleichen Definitionen der einzelnen Dialogboxelemente verwenden zu k”nnen, jedoch werden im Block fr 256 Farben einige der Farben umgesetzt damit man sch”nere 3D-Effekte fr einige Elemente unter Ausnutzung der zus„tzlichen Farben erzielt. Die Zeile einer neuen Farbdefinition ist folgendermažen aufgebaut: ,,,<3DhOl>,<3DhUr>,<3DrOl>,<3DrUr> : Die zu ersetzende Farbe und das Fllmuster mit der die Farbe Verwendung findet. kann Werte zwischen 0 und 7 besitzen, wobei 7 und 0 ein vollst„ndiges Fllen bedeuten und Werte zwischen 1 und 6 ein fllen mit zunehmender Intensit„t bedeuten. Da Texte und Linien kein eigenes Fllmuster besitzen, wird bei ihnen mit dem Fllmuster 7 ersetzt. kann Werte zwischen 0 und F besitzen (die 16 Farben des AES) Die Vordergrundfarbe, die anstelle von verwendet wird. Die zu verwendende Hintergrundfarbe; d.h. wird fr ein Wert von 1-6 angegeben, so wird mit diesem als Intensit„t auf 'aufgebracht'. Hierdurch ist es z.B. m”glich, 2 Farbt”ne mit unter- schiedlicher Intensit„t zu mischen, um einen Zwischen- farbton zu erzeugen. <3DhOl> Die 'Schattierungsfarbe' der oberen linken Ecke eines 3D-Objektes, welches den Effekt 'nach oben' hat. <3DhUr> Die 'Schattierungsfarbe' der unteren rechten Ecke eines 3D-Objektes, welches den Effekt 'nach oben' hat. <3DrOl> Die 'Schattierungsfarbe' der oberen linken Ecke eines 3D-Objektes, welches den Effekt 'nach unten' hat. <3DrUr> Die 'Schattierungsfarbe' der unteren rechten Ecke eines 3D-Objektes, welches den Effekt 'nach unten' hat. Beispiel (bei 256 m”glichen Farben): C 49,16,16,13,1,1,13 -> Hierbei wird fr die Farbe 9 (dunkles grau), welche mit dem Fllmuster 4 (50%) Verwendung findet, das Grau unter dem Farbindex 16 (dezimal 22) eingesetzt. Die 3D-Objekte, welche die Kombination Muster/Farbe 49 haben, erhalten in der 3D-nach-oben-Darstellung oben links ein etwas helleres Grau (Index 13) als Schattierung und unten rechts das Scharz (Index 1) als Schattierung - in der 3D-nach-unten-Darstellung (soll aussehen wie ein reingedrckter Knopf) ist die Schattierung logischerweise genau umgekehrt. 3.2.3 Definitionszeilen: ------------------------- Dies sind die Definitionen der einzelnen Dialogboxelemente. Jede Zeile beginnt immer mit zwei Buchstaben, die die Dialoggruppe identifizieren und danach folgen, durch Kommata getrennt, die einzelnen Werte. Ein Wert besteht aus drei Teilwerten, welche duch '/' voneinander getrennt werden. Die Semantik dieser Teilwerte ist folgende: 1.Teilwert: Farbwert des Objekt im 'Normalzustand' 2. " : Farbwert, wenn selektiert 3. " : Farbwert, wenn inaktiv (DISABLED) Ein Teilwert ist ein 4- bzw. 5-stelliger HEX-String und folgendermažen aufgebaut (Fr Entwickler: entspricht genau dem te_color Bitfield in der TEDINFO-Struktur aus der OBJECT-Struktur): 1.Zeichen: Farbe des Rahmens 2.Zeichen: Farbe des Textes 3.Zeichen: Bit 3 : Text transparent(0) oder deckend(1) Bit 0...2: 0: ganz gefllt 1: geringste Fllung 2: . 3: . 4: . 5: . 6: starkste Fllung 7: ganz gefllt 4.Zeichen: Farbe der Fl„che Besteht der Teilwert aus 5 Ziffern, so gibt die erste Ziffer den 3D-Modus an: 1 = 3D nach oben, mit Rahmen 2 = 3D nach unten, mit Rahmen 5 = 3D nach oben, 6 = 3D nach unten. 7 = 3D nach unten/oben (zwischen den angrenzenden Boxen wird eine dnner 'Graben' gezeichnet) Dann entsprechen die Ziffern 2-5 den oben angegebenen Zeichen 1-4. Wird ein Dialogboxelement oder einzelne Werte, bzw. Teilwerte in dieser Datei nicht angegeben, so werden unsere Default-Werte benutzt. Gleiches gilt natrlich fr den Fall, daž die Datei gar nicht gefunden wird! Einen einzelnen Wert kann man dadurch weglassen, indem man einfach nur das trennende Komma bzw. '/' schreibt (also den Wert einfach wegl„žt!). 3.2.3.1 Defintionszeilen fr GLOBAL gltige Elemente: ------------------------------------------------------ GD , GH ,, GY ,, GS ,,, GP ,,, GL Erkl„rung der Krzel: klar?!! klar?!! Button, bei dessen Bet„tigung man einen Hilfetext zum Dialog erh„lt (auch ber [Help] aktivierbar) Button, mit dem man die Dialogbox 'positiv' verl„žt, d.h. Žnderungen werden bernommen bzw. gesichert (auch ber [Return] bzw. [Enter] aktivierbar) Button, mit dem man die Dialogbox 'negativ' verl„žt, d.h. Žnderungen werden nicht bernommen (auch ber [Undo] aktivierbar) die Pfeile am oberen und unteren Rand eines PopUp-Mens, mit denen man den Meninhalt scrollen (bewegen) kann Trennlinie, um verschieden Bereiche im Men zu separieren die Eintr„ge im PopUp-Men - der aktuelle Eintrag (sozusagen die Cursorposition) wird selektiert gezeichnet Hintergrundbox der Meneintr„ge sieht im Prinzip so aus: no| momentan werden nur Rahmen- und Textfarbe verwertet (Rahmenfarbe fr 'no' und den unteren Teil des Balkens - Textfarbe fr den oberen Teil des Balken) Busyboxen: ... sind besondere Boxen, die automatisch nur solange erscheinen, wie der Fortlauf einer Operation angezeigt wird (z.B. das Formatieren einer Diskette). Diese besteht aus drei Elementen: Text im Busybalken (z.B. "Abbruch durch ^C") Balken, der mit Fortlauf der Operation immer gr”žer wird Bereich, der mit Fortlauf der Operation durch 'ausgefr„žt' wird Sliderboxen: ... sind Boxen, die eine Auswahlliste beinhalten (z.B. eine Fontliste). Hier im globalen Bereich k”nnen die Randelemente einer solchen Box, die im Wesentlichen denen eines Fensters entsprechen, bestimmt werden. Die Inhalte dieser Boxen werden in den ortsabh„ngigen Definitionen (s.u.) definiert. Button zum Bewegen der Liste nach unten Button zum Bewegen der Liste nach oben Schiebebalken zum Bewegen der Liste Bereich, in dem der Schiebebalken zum Bewegen der Liste liegt 3.2.3.2 Defintionszeilen fr ORTSABHŽNGIGE Elemente (ROOT,FIRST,OPTION): ------------------------------------------------------------------------- ?D ,
?E , ?T ?B <'normaler'-Button>,, ?N ,, ?C ,, das ? kann sein: R ROOT-Bereich F FIRST-Bereich O OPTION-Bereich Erkl„rung der Krzel: die Bereichsbox selbst (Root, First oder Option)
Infotextbox ber der Bereichsbox (Achtung: der Header des Firstbereichs kann auch selektiert werden - s.o.) Texteingabefelder der Cursor in einem Texteingabefeld normaler 'Infotext' in einer Box <'normaler'-Button> ein 'Knopf', bei dessen Bet„tigung eine weitere Operation ausgefhrt wird (z.B. das ™ffnen eines weiteren Dialoges, etc.) Es gibt zwei Arten von X-Buttons: - Checkbuttons: kleine Quadrate, die bei Selektion mit einem Kreuz gefllt werden - Radiobuttons: kleine Kreise, die bei Selektion mit einem Punkt gefllt werden Die Rahmenfarbe gibt die Farbe des Kreises bzw. Quadrates an. Buttons, bei deren Bet„tigung ein PopUp-Men aufgeht (PopUp-Men s.o.) Kopfzeile einer Sliderbox (s.o.) die Eintr„ge einer Sliderbox - der aktuelle Eintrag (sozusagen die Cursorposition) wird selektiert gezeichnet Hintergrundbox der Listeneintr„ge Z„hlboxen: ...sind Boxen zum Ver„ndern eines Wertes innerhalb eines definierten Wertebereichs. Sie bestehen aus drei Elementen: Button zum Verringern des Wertes Anzeige des aktuellen Wertes Button zum Vergr”žern des Wertes 3.2.3.3 Defintionszeilen fr Alertboxen: ----------------------------------------- A? ,,, B? ,, C? , das ? kann sein: N: kein Icon W: Warnung A: Frage S: Stop I: Info 5-7: noch nicht untersttzt! 3.2.3.4 Defintionszeilen fr Fensterelemente: ---------------------------------------------- ?D ,,, ?G ,, ?H ,,, ?V ,,, das ? kann sein: T Definitionen fr Fenster im Vordergrund (Topped window) W Definitionen fr Fenster im Hintergrund (untopped Window) Erkl„rung der Krzel: der Balken eines Fensters, mit dem es sich verschieben l„žt Bereich zwischen und dem eigentlichen Fensterinhalt (enh„lt meistens Informationen ber den Fensterinhalt) Buttons in der Randbereichen eines Fensters Buttons in der eines Fensters Button, bei dessen Bet„tigung das Fenster geschlossen wird Button mit dem das Fenster auf seine maximale Gr”že ver„ndert wird Button mit dem man die Gr”že eines Fensters ver„ndern kann Button, mit dem der Fensterinhalt nach rechts verschoben werden kann Button, mit dem der Fensterinhalt nach links verschoben werden kann Balken zum Bewegen des Fensterinhaltes in horizontaler Richtung Hintergrundbox, in der der Balken zum Bewegen des Fensterinhaltes in horizontaler Richtung liegt Button, mit dem der Fensterinhalt nach unten verschoben werden kann Button, mit dem der Fensterinhalt nach oben verschoben werden kann Balken zum Bewegen des Fensterinhaltes in vertikaler Richtung Hintergrundbox, in der der Balken zum Bewegen des Fensterinhaltes in vertikaler Richtung liegt 4 Spezielle Effekte ==================== 4.1 Outlined Texte ------------------ Manchmal bietet es sich, einen Text auf einem bestimmten Hintergrund, z.B in einer SW-Aufl”sung Text auf einem 50% Muster, als Outlined-Text darzustellen (Text mit Umrahmung). Dies geschieht implizit, wenn eine bestimmte Kombination von Textfarbe, Fllfarbe und Fllmuster gew„hlt wird: Wenn die Textfarbe gleich der Vordergrundfarbe ist und ein Fllmuster zwischen 3 und 7 gew„hlt ist ODER die Textfarbe gleich der Hintergrund- farbe ist und ein Fllmuster kleiner 6 gew„hlt ist, dann wird der Text als Outlined-Text gezeichnet. In der Realit„t bedeutet dies z.B., daž ein schwarzer Text auf einem 50 % Raster (Muster 4) als Outlined-Text gezeichnet wird und daž ein weižer Text auf einem leicht gepunkteten Hintergrund (z.B. Muster 1) als Oulined-Text gezeichnet wird, da man ansonsten den Text in seiner 'normalen' Darstellung kaum sehen k”nnte.