GoPal 3.0 Skinbefehle: Unterschied zwischen den Versionen
K (→Class-Referenz) |
B-M-N (Diskussion | Beiträge) (→Fernbedienung-Skin Befehle) |
||
(39 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:GoPal 3.x Skinning]] | [[Kategorie:GoPal 3.x Skinning]] | ||
+ | |||
− | + | {{Achtung|Bevor Ihr irgend etwas ändert oder ausprobiert, macht bitte eine Sicherungskopie der ''PFSkin.skn'', damit Ihr, wenn es schief geht, immer wieder den Original-Zustand herstellen könnt.}} | |
− | Bevor Ihr irgend etwas ändert oder ausprobiert, macht bitte eine Sicherungskopie der PFSkin.skn, damit Ihr | ||
Wenn es zu unerklärlichen Fehlern kommt, z. B. Speicherkarte wird auf einmal nicht mehr erkannt oder Navigation startet nicht durch, so kann das an Euren Änderungen liegen. Bitte dann zuerst versuchen, mit der Original-Datei zu starten. Wenn das funktioniert, solltet Ihr Euch Eure Änderungen einmal genauer ansehen, da es dann dort irgendwelche Unstimmigkeiten gibt. | Wenn es zu unerklärlichen Fehlern kommt, z. B. Speicherkarte wird auf einmal nicht mehr erkannt oder Navigation startet nicht durch, so kann das an Euren Änderungen liegen. Bitte dann zuerst versuchen, mit der Original-Datei zu starten. Wenn das funktioniert, solltet Ihr Euch Eure Änderungen einmal genauer ansehen, da es dann dort irgendwelche Unstimmigkeiten gibt. | ||
Zeile 11: | Zeile 11: | ||
=== Include-Dateien === | === Include-Dateien === | ||
− | + | Im Block <code>Includes</code> können andere Skin-Dateien eingebunden werden. Beispiel: | |
− | Im Block Includes können andere Skin-Dateien eingebunden werden. | ||
− | |||
− | Beispiel: | ||
Includes | Includes | ||
{ | { | ||
Zeile 20: | Zeile 17: | ||
Include: PFLang.skn; | Include: PFLang.skn; | ||
} | } | ||
+ | Die ''PFSpecial.skn'' regelt hierbei die grundsätzlichen Einstellungen, den Aufbau des Systems und mit den Stings die Belegung der z. B. COM-Ports, Hintergrundbelechtung etc. | ||
− | Die | + | Die ''PFLang.skn'' legt die ID-Nummer der verschiedenen Meldungen fest und bezieht dabei weitere ''*.skn''-Dateien mit ein. |
− | |||
− | |||
=== Referenz auf Grafiken === | === Referenz auf Grafiken === | ||
− | In der PFSkin.skn | + | In der ''PFSkin.skn'', im Block <code>Bitmaps</code> können Grafiken mit einer ID versehen werden. Auf die ID kann dann z. B. bei der Definition von Buttons verwiesen werden, so dass die referenzierte Grafik angezeigt wird. Beispiel: |
− | |||
− | Beispiel | ||
Bitmaps | Bitmaps | ||
{ | { | ||
2: PPSkin\SplashScreen.png; | 2: PPSkin\SplashScreen.png; | ||
− | 3: | + | 3: PPSkin\CornerButtons.png; //outdated |
4: PPSkin\button_icons.png; | 4: PPSkin\button_icons.png; | ||
5: PPSkin\About.png; | 5: PPSkin\About.png; | ||
Zeile 40: | Zeile 34: | ||
=== Schriftarten definieren === | === Schriftarten definieren === | ||
− | In der PFSkin.skn | + | In der ''PFSkin.skn'' können über den Block <code>Fonts</code> verschiedene Formatdefinitionen für die Ausgabe von Text hinterlegt werden. Jede Definition erhält eine eindeutige ID, eine Schriftart, Schriftgröße und bei Bedarf eine Formatierung wie Bold oder Italic. Beispiel: |
− | können über den Block Fonts verschiedene Formatdefinitionen für die Ausgabe von Text hinterlegt werden. Jede Definition erhält eine eindeutige ID, eine Schriftart, Schriftgröße und bei Bedarf eine Formatierung wie Bold oder Italic. | ||
− | Beispiel: | ||
Fonts | Fonts | ||
{ | { | ||
Zeile 60: | Zeile 52: | ||
...usw... | ...usw... | ||
} | } | ||
− | |||
Über den Paramter <tt>Font:XXX</tt> kann dann auf die im Abschnitt <tt>Fonts</tt> definierten Textformatierungen zugegriffen werden. | Über den Paramter <tt>Font:XXX</tt> kann dann auf die im Abschnitt <tt>Fonts</tt> definierten Textformatierungen zugegriffen werden. | ||
=== Hauptbereiche === | === Hauptbereiche === | ||
− | + | in der ''PFSkin.skn'' sind: | |
==== MapViewArea - Die Kartenansicht ==== | ==== MapViewArea - Die Kartenansicht ==== | ||
Fast alle Anpassungen des Skins finden in diesem Bereich statt. Hier werden Rahmen eingebaut, Farben verändert, Buttons platziert. Die Möglichkeiten sind vielfältig und einiges davon wird hoffentlich noch in dieses Wiki einfliessen. | Fast alle Anpassungen des Skins finden in diesem Bereich statt. Hier werden Rahmen eingebaut, Farben verändert, Buttons platziert. Die Möglichkeiten sind vielfältig und einiges davon wird hoffentlich noch in dieses Wiki einfliessen. | ||
− | |||
==== TurnByTurnArea - Die Pfeilansicht ==== | ==== TurnByTurnArea - Die Pfeilansicht ==== | ||
Hier können z. B. die Hintergrund- und Pfeilfarbe verändert werden, Buttons hinzugefügt und das Erscheinungsbild der Felder für Ankunftszeit, Fahrzeit und Strecke angepasst werden. <br> | Hier können z. B. die Hintergrund- und Pfeilfarbe verändert werden, Buttons hinzugefügt und das Erscheinungsbild der Felder für Ankunftszeit, Fahrzeit und Strecke angepasst werden. <br> | ||
Genau hier liegt auch eine Falle, in die schon viele Skin-Entwickler getappt sind. Denn wer diese 3 Felder (die auch hier TargetTimeText, TargetDistanceText, TargetArrTimeText heissen) eigentlich in der Kartenansicht ändern möchte, kann versehentlich hier rauskommen und wird seine vorgenommenen Änderungen dort nie wiederfinden. | Genau hier liegt auch eine Falle, in die schon viele Skin-Entwickler getappt sind. Denn wer diese 3 Felder (die auch hier TargetTimeText, TargetDistanceText, TargetArrTimeText heissen) eigentlich in der Kartenansicht ändern möchte, kann versehentlich hier rauskommen und wird seine vorgenommenen Änderungen dort nie wiederfinden. | ||
− | |||
==== GPSView - Die Kompassansicht ==== | ==== GPSView - Die Kompassansicht ==== | ||
Hier lässt sich eine Höhenanzeige aktivieren, die standardmäßig nicht angezeigt wird. Der Grund wird sein, dass mindestens das Signal von 4 Satelliten benötigt wird, um eine brauchbare Höhenangabe zu erhalten.<br> | Hier lässt sich eine Höhenanzeige aktivieren, die standardmäßig nicht angezeigt wird. Der Grund wird sein, dass mindestens das Signal von 4 Satelliten benötigt wird, um eine brauchbare Höhenangabe zu erhalten.<br> | ||
Ebenso haben manche Userskins hier eine Uhrzeitanzeige aktiviert, die leider nur die GMT-Zeit anzeigt, also um eine Stunde "nachgeht". | Ebenso haben manche Userskins hier eine Uhrzeitanzeige aktiviert, die leider nur die GMT-Zeit anzeigt, also um eine Stunde "nachgeht". | ||
− | |||
==== Masken - Definitionen ==== | ==== Masken - Definitionen ==== | ||
+ | Masken bestehen aus einem bestimmten, für die universelle Handhabung wichtigen immer wiederkehrenden Aufbau. | ||
− | |||
Dieses "Skelett" besteht aus: | Dieses "Skelett" besteht aus: | ||
1. '''Grundsätzlichen Definitionen''' für | 1. '''Grundsätzlichen Definitionen''' für | ||
− | + | * den Hintergrund | |
− | + | * die Hintergrundfarbe | |
− | + | * den Darstellungsmodus | |
− | + | * die verwendete Schrift | |
− | + | * die Schriftfarbe | |
− | |||
− | + | Beispiel: | |
Background: 51,0,0,480,272; | Background: 51,0,0,480,272; | ||
BGColor: 225,228,229; | BGColor: 225,228,229; | ||
Zeile 95: | Zeile 82: | ||
DefaultFont: 60; | DefaultFont: 60; | ||
TextColor: 0,0,0; | TextColor: 0,0,0; | ||
− | + | ||
2. '''Titelbar''' | 2. '''Titelbar''' | ||
− | + | :Die Angabe in dieser Sektion referenziert die Grafik für die Maskenüberschrift. | |
+ | |||
3. '''Titel''' | 3. '''Titel''' | ||
− | + | :Die Angabe in dieser Sektion referenziert den Text für die Maskenüberschrift. | |
+ | |||
4. '''TitelbarExitButton''' | 4. '''TitelbarExitButton''' | ||
− | + | :Die Angabe in dieser Sektion definieren den Exit-Button. | |
+ | |||
5. '''TitelbarHelpButton''' | 5. '''TitelbarHelpButton''' | ||
− | + | :Die Angabe in dieser Sektion definieren den Hilfe-Button. ... ist aber manchmal auch nicht vorhanden. | |
− | |||
− | |||
− | |||
− | + | 6. '''Folge von Detail-Definitionen''', die den Inhalt der Maske festlegen. | |
− | {| | + | :Diese sind je nach Maske natürlich verschiedenartiger Natur. |
− | |Maske | + | :{| class="wikitable" |
− | + | |+ Auflistung der Masken-Definitionen | |
+ | ! Maske !! Beschreibung | ||
|- | |- | ||
− | |Includes | + | | Includes || Hier werden weitere *.skn Dateien eingebunden |
− | |Hier werden weitere *.skn Dateien eingebunden | ||
|- | |- | ||
− | |Bitmaps | + | |Bitmaps || Hier werden den Bitmaps ID-Nr verpasst, die dann in den Buttons damit aufgerufen werden können. |
− | |Hier werden den Bitmaps ID-Nr verpasst, die dann in den Buttons damit aufgerufen werden können. | ||
|- | |- | ||
|Fonts | |Fonts | ||
Zeile 216: | Zeile 202: | ||
|- | |- | ||
|FreeTargetAreaContactsSubForm | |FreeTargetAreaContactsSubForm | ||
− | | | + | | |
|- | |- | ||
|FreeTargetAreaCoordinatesSubform | |FreeTargetAreaCoordinatesSubform | ||
Zeile 222: | Zeile 208: | ||
|- | |- | ||
|FreeTargetAreaNoContactsSubForm | |FreeTargetAreaNoContactsSubForm | ||
− | | | + | |Adress- und Sonderzieleingabe direkt nach GoPal-Start; ab V3.1 -> FreeTargetAreaMSContactsSubForm |
|- | |- | ||
|FreeTargetAreaPOISubform | |FreeTargetAreaPOISubform | ||
Zeile 477: | Zeile 463: | ||
|- | |- | ||
|TMCSelectListView | |TMCSelectListView | ||
− | |Auswahlmenü für TMC, TMCpro und/oder V- | + | |Auswahlmenü für TMC, TMCpro und/oder V-Traffic |
|- | |- | ||
|SelectKeyboard | |SelectKeyboard | ||
Zeile 486: | Zeile 472: | ||
|- | |- | ||
|PsfAuthentificationStartScreen | |PsfAuthentificationStartScreen | ||
− | | | + | |Zeigt den Startbildschirm für die code eingabe bei updates des kartenmaterials |
|- | |- | ||
|PsfAuthtificationSuccessScreen | |PsfAuthtificationSuccessScreen | ||
− | | | + | |Zeigt den Bildschirm das das neue kartenmaterial jetzt freigeschaltet ist |
|- | |- | ||
|PsfAuthtificationErrorScreen | |PsfAuthtificationErrorScreen | ||
− | | | + | |Zeigt den Bildschirm bei einem Fehler |
|- | |- | ||
|MapMenuView1Subform | |MapMenuView1Subform | ||
Zeile 562: | Zeile 548: | ||
|- | |- | ||
|GotoView | |GotoView | ||
− | | | + | | Steuert das Menü Gehe zu ... unter Routen Optionen |
− | |||
− | |||
|- | |- | ||
|TripInfoView | |TripInfoView | ||
− | |Aufruf über den unteren rechten Button in der Karte und dann auf Tripinfo | + | |Aufruf über den unteren rechten Button in der Karte und dann auf Tripinfo<br />Steuert die Anzeigen im Fenster Tipinfo<br />Höchstgeschindigkeit<br />Durchschnittsgeschwindigkeit<br />Gefahrene Strecke<br />Fahrzeit |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|VoicInputScreen | |VoicInputScreen | ||
Zeile 608: | Zeile 587: | ||
|- | |- | ||
|AmbiguityListEntryInfoSubform | |AmbiguityListEntryInfoSubform | ||
− | | | + | | '''noch nicht weiter detailliert ''' |
− | |||
|- | |- | ||
|AmbiguityListEntryInfoSubformPOI | |AmbiguityListEntryInfoSubformPOI | ||
Zeile 618: | Zeile 596: | ||
|- | |- | ||
|SelectTimeZoneAndDayLight | |SelectTimeZoneAndDayLight | ||
− | + | |Auswahlmenü für Zeitzone | |
|- | |- | ||
|TimeZoneTextListSubForm | |TimeZoneTextListSubForm | ||
− | + | |Zeitzonen-Auswahl-Subform | |
|- | |- | ||
|DayLightTextListSubform | |DayLightTextListSubform | ||
− | | | + | | '''noch nicht weiter detailliert ''' |
− | |||
|- | |- | ||
|RouteBlockingView | |RouteBlockingView | ||
Zeile 636: | Zeile 613: | ||
== Verwendung von Objekten == | == Verwendung von Objekten == | ||
=== Coordinates / Grundsätzliches zum Koordinaten-System === | === Coordinates / Grundsätzliches zum Koordinaten-System === | ||
− | Jedes auf dem Bildschirm darzustellende Element wird über den Parameter Coordinates platziert. Hierbei kann solch ein Element auch ein Container sein, in dem weitere Elemente gruppiert werden. Dies ist wichtig, da die einzugebenden Koordinaten immer relativ zur Position des übergeordneten Containers sind. Beispiel: | + | Jedes auf dem Bildschirm darzustellende Element wird über den Parameter <code>Coordinates</code> platziert. Hierbei kann solch ein Element auch ein Container sein, in dem weitere Elemente gruppiert werden. Dies ist wichtig, da die einzugebenden Koordinaten immer relativ zur Position des übergeordneten Containers sind. Beispiel: |
− | |||
TTISubform // this form is used in the MapViewArea and TurnByTurnArea | TTISubform // this form is used in the MapViewArea and TurnByTurnArea | ||
{ | { | ||
Zeile 659: | Zeile 635: | ||
Action: NavigationMenu.trafficWarning; | Action: NavigationMenu.trafficWarning; | ||
} | } | ||
− | + | <code>TTISubform</code> ist der Container für das nachgeordnete Element <code>VanishingTTIWarningButton</code>, seine Koordinaten sind der Bezugspunkt für alle im Container gruppierten Elemente. | |
− | TTISubform ist der Container für das nachgeordnete Element VanishingTTIWarningButton, seine Koordinaten sind der Bezugspunkt für alle im Container gruppierten Elemente. | ||
Syntax für die Koordinaten: | Syntax für die Koordinaten: | ||
− | + | : Die ersten beiden Werten geben die Position der linken oberen Ecke an: | |
− | + | : 384 = Der Abstand vom linken Rand | |
− | + | : 0 = Der Abstand von Oben | |
− | + | : Die beiden letzten Werte geben die Größe an: | |
− | + | : 96 = die Feldgröße nach rechts | |
− | + | : 108 = die Feldgröße nach unten | |
− | In diesem Beispiel ist also die tatsächliche Position des Elementes VanishingTTIWarningButton: | + | In diesem Beispiel ist also die tatsächliche Position des Elementes <code>VanishingTTIWarningButton</code>: |
− | + | : 384 Pixel vom linken Rand | |
− | + | : 60 Pixel von oben | |
=== TextCoordinates === | === TextCoordinates === | ||
− | Über die TextCoordinates kann speziell bei Text-Objekten der tatsächliche Text innerhalb des über die Coordinates definierten Hintergrundes pixelgenau positioniert werden. Beispiel: | + | Über die <code>TextCoordinates</code> kann speziell bei Text-Objekten der tatsächliche Text innerhalb des über die <code>Coordinates</code> definierten Hintergrundes pixelgenau positioniert werden. Beispiel: |
TargetTimeText | TargetTimeText | ||
{ | { | ||
Zeile 683: | Zeile 658: | ||
Coordinates: 148,236,114,36; | Coordinates: 148,236,114,36; | ||
TextCoordinates: 0,10,114,20; | TextCoordinates: 0,10,114,20; | ||
− | Hier wird der Text innerhalb des größeren (114x36) Hintergrunds beginnend bei Position 0,10 (relativ zu den Coordinates) in einer Größe 114x20 dargestellt. | + | Hier wird der Text innerhalb des größeren (114x36) Hintergrunds beginnend bei Position 0,10 (relativ zu den <code>Coordinates</code>) in einer Größe 114x20 dargestellt. |
− | === HAlign | + | === HAlign und VAlign === |
− | Über die Eigenschaften HAlign (horizontal) und VAlign (vertikal) wird speziell bei Text-Objekten die Ausrichtung gesteuert. Mögliche Werte sind für | + | Über die Eigenschaften <code>HAlign</code> (horizontal) und <code>VAlign</code> (vertikal) wird speziell bei Text-Objekten die Ausrichtung gesteuert. Mögliche Werte sind für |
− | HAlign: left, center, right (linksbündig, zentriert, rechtsbündig) und für VAlign: top, center, bottom (oben, zentriert, unten) | + | <code>HAlign: left, center, right</code> (linksbündig, zentriert, rechtsbündig) und für <code>VAlign: top, center, bottom</code> (oben, zentriert, unten). |
=== PYOffset === | === PYOffset === | ||
− | Über die Eigenschaft PYOffset kann auf einfache Art ein Y-Versatz (Verschieben nach oben oder unten) eines Objektes (Icon,Text etc.) innerhalb des durch die Coordinates bestimmten Hintergrundes erzielt werden. | + | Über die Eigenschaft <code>PYOffset</code> kann auf einfache Art ein Y-Versatz (Verschieben nach oben oder unten) eines Objektes (Icon,Text etc.) innerhalb des durch die Coordinates bestimmten Hintergrundes erzielt werden. |
− | === Enabled/Focussed/Pushed/Disabled === | + | === Enabled / Focussed / Pushed / Disabled === |
− | Diese speziell für Buttons vorgesehen Eigenschaften bestimmen - entsprechend der unter [ | + | Diese speziell für Buttons vorgesehen Eigenschaften bestimmen - entsprechend der unter [[GoPal_2.0_Skin#Icon| Icon]] näher erläuterten Syntax - das Aussehen des Hintergrundes in den 4 möglichen Zuständen eines Buttons. |
− | + | {| class||"wikitable" | |
− | + | |<code>Enabled</code> || Standard/Aktiviert | |
− | + | |- | |
− | + | | <code>Focussed</code> || Der Button hat den Focus (in einem Touchscreen gesteuerten System etwas unklare Bedeutung) | |
+ | |- | ||
+ | | <code>Pushed</code> || Der Button wird gedrückt | ||
+ | |- | ||
+ | | <code>Disabled</code> || Deaktiviert | ||
+ | |} | ||
=== Icon === | === Icon === | ||
− | Mit der Eigenschaft Icon wird dem Objekt das darzustellende Symbol übergeben. Die verfügbaren Grafiken werden im Abschnitt [ | + | Mit der Eigenschaft Icon wird dem Objekt das darzustellende Symbol übergeben. Die verfügbaren Grafiken werden im Abschnitt [[GoPal_2.0_Skin#Referenz_auf_Grafiken| Bitmaps]] definiert und mit einer ID versehen. |
Die Syntax lautet: Icon <Grafik ID>, <X-Koord.>, <Y-Koord.>, <Größe-X>, <Größe-Y>, <X-Versatz>, <Y-Versatz>, <Transparenz (R, G, B)> | Die Syntax lautet: Icon <Grafik ID>, <X-Koord.>, <Y-Koord.>, <Größe-X>, <Größe-Y>, <X-Versatz>, <Y-Versatz>, <Transparenz (R, G, B)> | ||
Zeile 727: | Zeile 707: | ||
Klassen bestimmen die Art eines Objektes. Jede Klasse hat bestimmte festgelegte Eigenschaften und Methoden, die jedes Objekt dieser Klasse übernimmt. Beispiel: Class: PushButton; definiert einen Standardbutton. | Klassen bestimmen die Art eines Objektes. Jede Klasse hat bestimmte festgelegte Eigenschaften und Methoden, die jedes Objekt dieser Klasse übernimmt. Beispiel: Class: PushButton; definiert einen Standardbutton. | ||
− | {|border="1" | + | {| class="wikitable" border="1" |
− | + | !Class!!Beschreibung | |
− | |||
|- | |- | ||
|BitmapIconPanel | |BitmapIconPanel | ||
Zeile 847: | Zeile 826: | ||
Beispiel: <tt>Action: SettingSC.100;</tt> erhöht die Sprachlautstärke. | Beispiel: <tt>Action: SettingSC.100;</tt> erhöht die Sprachlautstärke. | ||
− | {|border="1" | + | {| class="wikitable" border="1" |
− | + | !Action!!Beschreibung .... '''''bitte alphabetisch sortiert auflisten''''' | |
− | |||
|- | |- | ||
|DestinationSC.10070; | |DestinationSC.10070; | ||
Zeile 1.539: | Zeile 1.517: | ||
=== Spezial-Referenz === | === Spezial-Referenz === | ||
Es gibt spezielle Parameter, die nur für bestimmte Klassen verwendet werden können: | Es gibt spezielle Parameter, die nur für bestimmte Klassen verwendet werden können: | ||
− | {|border="1" | + | {| class="wikitable" border="1" |
− | + | !Class!!Parameter!!'''erlaubte Werte''' / Beschreibung!!Beispiel | |
− | |||
− | |||
− | |||
|- | |- | ||
|LauncherButton | |LauncherButton | ||
Zeile 1.565: | Zeile 1.540: | ||
|Text: "gespeicherte Route^n^laden"; | |Text: "gespeicherte Route^n^laden"; | ||
|} | |} | ||
+ | |||
== Fernbedienung-Skin Befehle == | == Fernbedienung-Skin Befehle == | ||
− | Es gibt verschieden Befehle für die [[Lenkradfernbedienung]] | + | Es gibt verschieden Befehle für die [[Lenkradfernbedienung]], um einen Button überhaupt ansprechen zu können muss der Eintrag |
− | + | DisableFocus: yes; | |
− | + | entfernt werden. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Um Button in der Kartenansicht anzusprechen, müsst Ihr unter <code>MapViewArea</code> den Eintrag | ||
+ | FocusManager: "disabled"; | ||
+ | entfernen. | ||
+ | Wenn Ihr bei einem Button <code>DisableFocus: yes;</code> entfernt, aber keinen <code>KPush:</code>einfügt, kann man mit den Tasten 'Pfeil rauf / runter' diesen Button auch auswählen und er reagiert standardmässig auf die OK-Taste, sobald er markiert ist. | ||
Hier mal alle bekannten Befehle: | Hier mal alle bekannten Befehle: | ||
+ | {| class="wikitable" | ||
+ | | KPush: enter; || reagiert auf die OK-Taste | ||
+ | |- | ||
+ | | KPush: left; || reagiert auf die 'Pfeil links' Taste (sollte immer für den Button unten links genommen werden) | ||
+ | |- | ||
+ | | KPush: right; || reagiert auf die 'Pfeil rechts' Taste (sollte immer für den Button unten rechts genommen werden) | ||
+ | |- | ||
+ | | HKPush: "down"; || reagiert auf die 'Pfeil runter' Taste (wird bei den Zoom Button benutzt, um in der Karte zu zoomen) | ||
+ | |- | ||
+ | | HKPush: "up"; || reagiert auf die 'Pfeil rauf' Taste (wird bei den Zoom Button benutzt, um in der Karte zu zoomen) | ||
+ | |- | ||
+ | | HKPush: "left"; || | ||
+ | |- | ||
+ | | HKPush: "right"; || | ||
+ | |- | ||
+ | | HKUp: "Up"; || | ||
+ | |- | ||
+ | | HKDown: "Down"; || | ||
+ | |- | ||
+ | | HKExecute: Enter; || | ||
+ | |- | ||
+ | | HKBackSpace: "Back"; || | ||
+ | |- | ||
+ | | HKSelect: UpDown; || | ||
+ | |- | ||
+ | | HKPush: "F24"; || | ||
+ | |- | ||
+ | | AlwaysConsumeKHK: yes; || | ||
+ | |- | ||
+ | | KHKScrollMode: "page"; || | ||
+ | |- | ||
+ | | HKScrollPage: yo; || | ||
+ | |- | ||
+ | | HKPush: hk1; || | ||
+ | |- | ||
+ | | HKPush: hk2; || | ||
+ | |- | ||
+ | | SetFocusOnLoad: yes; || Legt fest, welcher Button nach Aufruf der Seite fokussiert ist. | ||
+ | |} | ||
+ | Die Play-Taste kann man mit einer Funktion belegen, wenn man in der ''PFSkin'' den Eintrag | ||
+ | HKPUSH: "PLAY"; | ||
+ | bei der gewünschten Funktion einfügt. | ||
− | + | Die Vor- und Zurück-Tasten auf der Fernbedienung belegt man, indem man in der ''PFSpecial.skn'' die F8- und F9-Tasten dafür einträgt unter <code>GlobalHK</code>.<br /> | |
− | + | Im folgenden Beispiel kann man dann mit den Tasten zoomen. | |
− | + | F8@MapMenu.zoomIn, | |
− | + | F9@MapMenu.zoomOut | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Die Vor und | ||
− | |||
− | |||
− | |||
− |
Aktuelle Version vom 5. Februar 2020, 18:02 Uhr
Bevor Ihr irgend etwas ändert oder ausprobiert, macht bitte eine Sicherungskopie der PFSkin.skn, damit Ihr, wenn es schief geht, immer wieder den Original-Zustand herstellen könnt. |
Wenn es zu unerklärlichen Fehlern kommt, z. B. Speicherkarte wird auf einmal nicht mehr erkannt oder Navigation startet nicht durch, so kann das an Euren Änderungen liegen. Bitte dann zuerst versuchen, mit der Original-Datei zu starten. Wenn das funktioniert, solltet Ihr Euch Eure Änderungen einmal genauer ansehen, da es dann dort irgendwelche Unstimmigkeiten gibt.
Inhaltsverzeichnis
Grundsätzlicher Aufbau der Skin-Dateien
Skin-Dateien der GoPal-Navigations-Software besitzen die Endung .skn. Es handelt sich um reine ASCII-Textdateien, die mit einem herkömmlichen ASCII-Texteditor bearbeitet werden können.
Die Dateien sind strukturiert aufgebaut. Jeder Block wird durch einen Bezeichner eingeleitet und die Definitionen dieses Objektes sind in geschweifte Klammern eingebettet.
Include-Dateien
Im Block Includes
können andere Skin-Dateien eingebunden werden. Beispiel:
Includes { Include: PFSpecial.skn; Include: PFLang.skn; }
Die PFSpecial.skn regelt hierbei die grundsätzlichen Einstellungen, den Aufbau des Systems und mit den Stings die Belegung der z. B. COM-Ports, Hintergrundbelechtung etc.
Die PFLang.skn legt die ID-Nummer der verschiedenen Meldungen fest und bezieht dabei weitere *.skn-Dateien mit ein.
Referenz auf Grafiken
In der PFSkin.skn, im Block Bitmaps
können Grafiken mit einer ID versehen werden. Auf die ID kann dann z. B. bei der Definition von Buttons verwiesen werden, so dass die referenzierte Grafik angezeigt wird. Beispiel:
Bitmaps { 2: PPSkin\SplashScreen.png; 3: PPSkin\CornerButtons.png; //outdated 4: PPSkin\button_icons.png; 5: PPSkin\About.png; ...usw.... }
Schriftarten definieren
In der PFSkin.skn können über den Block Fonts
verschiedene Formatdefinitionen für die Ausgabe von Text hinterlegt werden. Jede Definition erhält eine eindeutige ID, eine Schriftart, Schriftgröße und bei Bedarf eine Formatierung wie Bold oder Italic. Beispiel:
Fonts { 0: Arial,18; // Original Font VERDANA // Normal text 1: Arial,23,BOLD; // Original Font VERDANA // For titles 2: Arial,16,BOLD; // Original Font VERDANA // Normal text 3: Arial,18,BOLD; // Original Font VERDANA // Used in TurnByTurnArea 4: Arial,15; // Original Font VERDANA 5: ArialNarrow,18; 6: Arial,16; // Used by the drawing board for displaying meter units in the meter 7: Arial,15,BOLD; // Original Font VERDANA // Used for Button Text (Standard) 8: Arial,12; // Original Font VERDANA // small font used for distance unit in route overview 9: Arial,19,BOLD; // Original Font VERDANA // large adress font used in AmbiguityListEntryInfoArea 10: Arial,16,BOLD; // Original Font VERDANA // Used for Hybrid License Dlg. 11: Arial,21,BOLD; // Original Font VERDANA // Used for infos in map. 12: Arial,14,BOLD; // Original Font VERDANA // Used for ScaleElement ...usw... }
Über den Paramter Font:XXX kann dann auf die im Abschnitt Fonts definierten Textformatierungen zugegriffen werden.
Hauptbereiche
in der PFSkin.skn sind:
MapViewArea - Die Kartenansicht
Fast alle Anpassungen des Skins finden in diesem Bereich statt. Hier werden Rahmen eingebaut, Farben verändert, Buttons platziert. Die Möglichkeiten sind vielfältig und einiges davon wird hoffentlich noch in dieses Wiki einfliessen.
TurnByTurnArea - Die Pfeilansicht
Hier können z. B. die Hintergrund- und Pfeilfarbe verändert werden, Buttons hinzugefügt und das Erscheinungsbild der Felder für Ankunftszeit, Fahrzeit und Strecke angepasst werden.
Genau hier liegt auch eine Falle, in die schon viele Skin-Entwickler getappt sind. Denn wer diese 3 Felder (die auch hier TargetTimeText, TargetDistanceText, TargetArrTimeText heissen) eigentlich in der Kartenansicht ändern möchte, kann versehentlich hier rauskommen und wird seine vorgenommenen Änderungen dort nie wiederfinden.
GPSView - Die Kompassansicht
Hier lässt sich eine Höhenanzeige aktivieren, die standardmäßig nicht angezeigt wird. Der Grund wird sein, dass mindestens das Signal von 4 Satelliten benötigt wird, um eine brauchbare Höhenangabe zu erhalten.
Ebenso haben manche Userskins hier eine Uhrzeitanzeige aktiviert, die leider nur die GMT-Zeit anzeigt, also um eine Stunde "nachgeht".
Masken - Definitionen
Masken bestehen aus einem bestimmten, für die universelle Handhabung wichtigen immer wiederkehrenden Aufbau.
Dieses "Skelett" besteht aus:
1. Grundsätzlichen Definitionen für
- den Hintergrund
- die Hintergrundfarbe
- den Darstellungsmodus
- die verwendete Schrift
- die Schriftfarbe
Beispiel:
Background: 51,0,0,480,272; BGColor: 225,228,229; BGMode: opaque; DefaultFont: 60; TextColor: 0,0,0;
2. Titelbar
- Die Angabe in dieser Sektion referenziert die Grafik für die Maskenüberschrift.
3. Titel
- Die Angabe in dieser Sektion referenziert den Text für die Maskenüberschrift.
4. TitelbarExitButton
- Die Angabe in dieser Sektion definieren den Exit-Button.
5. TitelbarHelpButton
- Die Angabe in dieser Sektion definieren den Hilfe-Button. ... ist aber manchmal auch nicht vorhanden.
6. Folge von Detail-Definitionen, die den Inhalt der Maske festlegen.
- Diese sind je nach Maske natürlich verschiedenartiger Natur.
Auflistung der Masken-Definitionen Maske Beschreibung Includes Hier werden weitere *.skn Dateien eingebunden Bitmaps Hier werden den Bitmaps ID-Nr verpasst, die dann in den Buttons damit aufgerufen werden können. Fonts Hier werden die Schriften eingebunden AssistedCountryPhoneInputKeyboard ??? AssistedPhoneInputKeyboard ??? CityStreetMatchesSubform ??? HybridLicenseKeyDlg ??? KeyboardBlockAlphaBig Hier wird das Tastaturlayout bestimmt KeyboardBlockLowerCase Tastaturlayout der Sonderzeichen ( Ä, Ö, Ü usw. ) KeyboardBlockNumericOnly Hier wird das Layout des Nummernblocks bestimmt. KeyboardBlockSymbolic Hier wird das Layout der Sondertasten bestimmt ( ?, !, & usw. ). LicenseKeyboard ??? OBNAssistedCountryKeyboard ??? OBNAssistedKeyboard ??? OBNContInputKeyboard ??? OBNContPOINameInputKeyboard ??? OBNKeyboard ??? PhoneContInputKeyboard ??? PhoneInputKeyboard ??? PhoneKeyboardBlockAlpha Hier wird das Tastaturlayout bestimmt, wenn die Telefontastatur gewählt wurde. PhoneKeyboardBlockNumeric Hier wird das Layout des Nummernblocks für die Telefontastatur bestimmt. ContCenterSubform ??? AssistedPOIPhoneInputKeyboard ??? MapViewArea Objekte in der Kartenansicht, hier werden die meisten Buttons eingefügt. MapSignPostSubForm Hier wird der Abbiegepfeil konfiguriert und die Infoleiste mit der Strasse und dem Spurassistenten. NavigationInfoElementsSubForm Hier werden das Batteriesymbol, Speedlimit-Warnung und Ansagewiederholungs-Button konfiguriert; desweiteren wird der GPS-Container mit eingebunden (alles nur für die Kartenansicht). MapNorthDirectionSubform Hier wird der kleine Kompass in der Kartenansicht konfiguriert. GPSErrorSignPostSubForm Hier wird das GPS-Icon in der Kartenansicht oben links festgelegt. GPSInfoSubform Hier wird das GPS-Icon in der Kartenansicht oben links konfiguriert. TTISubform Hier wird das TMC-Icon in der Kartenansicht oben links konfiguriert. DestinationArea ??? TurnByTurnArea Hier wird alles für die Pfeilansicht geregelt, hier können auch Buttons eingefügt werden. FreeTargetArea Hier wird das Adresseingabefenster konfiguriert. FreeTargetAreaAddressSubform Hier werden die Buttons PLZ, Ort und Strasse im Adresseingabefenster konfiguriert. FreeTargetAreaContactsSubForm FreeTargetAreaCoordinatesSubform ??? FreeTargetAreaNoContactsSubForm Adress- und Sonderzieleingabe direkt nach GoPal-Start; ab V3.1 -> FreeTargetAreaMSContactsSubForm FreeTargetAreaPOISubform Hier wird die Liste der Sonderziele konfiguriert. FreeTargetAreaSubSkin Hier wird die Liste der Länder konfiguriert. POIDestinationStartScreen Hier wird das Fenster Suche nach POI konfiguriert (in der Nähe, an einem bestimmten Ort) POINameDestinationArea ??? RecentDestinationArea Liste aller letzten Orte RecentDestinationsSubform Hier werden die 3 Buttons der letzten Orte im Adresseingabefenster konfiguriert. TabSubform ??? MainTextEntrySubForm ??? ListMaintenance Hier wird die Menüseite mit den Favoriten/letzte Orte konfiguriert (Zielspeicher). RemoveAllRecent Alle Ziele löschen RemoveRecent Ein Ziel löschen RenameFavorite Favoriten umbenennen RemoveFavorite Einen Favoriten löschen TourPlanElementSelectionArea Hier wird die Menüseite Routenplannung konfiguriert. TourOptionsArea Hier wird die Menüseite Route laden/speichern konfiguriert (wird noch nicht benutzt). POICategoryListSubForm ??? POIAmbitDestinationArea ??? ContactDestinationArea Hier werden die Contacte über Buttons alphabetisch geordnet (wird noch nicht benutzt). StoredDestinationArea Hier wierden die Favoriten als Liste angezeigt. RouteOverviewArea Die Wegbeschreibung TTIOverviewArea TMC Meldungen Übersicht TTIDetailArea TMC Detail-Meldung TTIDetailAreaSubForm Einstellung z. B. der Schriftgrösse für TMC Detail-Meldungen AmbiguityArea ??? AmbiguityListEntryInfoArea ??? AmbiguityListEntryInfoViewport Detailinformation nach Abschluss der Adresseingabe AgentProgressArea Route wird berechnet Seite ShowAgentErrorArea ??? EulaArea Eulahinweis (wird noch nicht benutzt) StVOArea Strassenverkehrshinweis NaviTypeSubSkin Routenoptionen, Liste der Verkehrsmittel (PKW, Fahrrad usw.) RouteTypeSubSkin Routenoptionen, Liste der Strecken (schnell, kurz, ökonomisch) OmitTollRoadsSubSkin Routenoptionen, Liste der Mautfunktion (verwenden, meiden) RoadClass0SubSkin Routenoptionen, Liste der Autobahnfunktion (verwenden, meiden) FerriesSubSkin Routenoptionen, Liste der Fähren-Einstellung (verwenden, meiden) CongestionByPassSubSkin Routenoptionen, Liste der Stauparameter (keine, manuell, automatisch) RouteOptionsSubform Menüseite mit den Routenoptionen RouteOptionsArea Menü Routenoptionen RouteOptionsAreaMapMenu Untere Zeile Routenoptionen ContinueRouteArea Route fortsetzen Seite ExternalDestinationArea ??? GPSView Kompass Ansicht TBTSignPostSubForm Einstellung der Strasse und Abbiegehinweise in der Pfeilansicht SelectLanguage Sprache wählen Menü LangSelectionExit Sprache wählen Menü verlassen SelectMapRegions Karte wählen Menü SelectInitialMapRegions Gewählte Karte bestätigen MapSelectionExit Karte wählen Menü verlassen SelectTimeZone Zeitzonen Menü AboutArea Info Bildschirm HardwareConfigArea Possitionierungsseite HWConfigTypeSubSkin Einstellung des GPS Ports HWConfigDiscoverArea Einstellung, ob GPS-Signal benutzt werden soll oder eine aufgezeichnete GPS-Spur wieder gegeben werden soll. AudioConfigArea Lautstärkeregelung AudioConfigPopUpArea Lautstärkeregelung des Popups MapConfigArea Menüseite Darstellung MapStateSubSkin ??? DesignSubSkin ??? AutoSwitchSubSkin ??? MetricImperialUnitsSubSkin ??? PowersaveSubSkin Ausschalt-Menü (Reset oder abschalten) TimeFormatSubSkin Zeitzone TTIWarningSubform Hinweis-Button, der bei einer auftretenden Verkehrsstörung auf der berechneten Route eingeblendet wird. MapMenuDefault ??? MenuViewMain Die erste Menüseite des Haupmenüs (neues Ziel eingeben usw.) MenuViewView Untere Zeile im Menü Ansicht MapMenuAutozoom Autozoom Button MapMenuSelection ??? MapMenuLocation ??? DynMapItemViewSubform Elemente oben mit Strassennamen, wenn ein Ziel aus der Karte gewählt wurde. DynamicMapItemSelectionMenu Buttons unten zum Rauf/Runter-Schalten der Strassen und Ziel zur Route Hinzufügen, wenn ein Ziel aus der Karte gewählt wurde. NoAuthInfoDlg ??? DeviceCodeArea ??? FatalErrorArea Fehlermeldung (Fatal Aplication Error) UpdateReminderArea Update-Hinweis, wenn Kartenmaterial zu alt ist. SystemMessageDefaultMenu ??? SystemMessageArea ??? POIOverrrideMessageArea ??? StorageCardOut Hinweisfenster, dass die SD-Karte entfernt wurde. SelectRdsTmc TMC-Sender Fenster SelectTmcPortView TMC-Port einstellen TrafficWarningListView Liste der TMC-Meldungen CongestionByPassListView Auswahlmenü für autom. oder manuelle Stauumfahrung SelectTmcRdsModeView Auswahlmenü für autom. oder manuelle Sendersuche bzw. Frequenzeingabe TMCSelectListView Auswahlmenü für TMC, TMCpro und/oder V-Traffic SelectKeyboard Auswahlliste des Tastaturlayouts SpeedLimitWarningSettingsView Settings für die Höchstgeschwindigkeitswarnung PsfAuthentificationStartScreen Zeigt den Startbildschirm für die code eingabe bei updates des kartenmaterials PsfAuthtificationSuccessScreen Zeigt den Bildschirm das das neue kartenmaterial jetzt freigeschaltet ist PsfAuthtificationErrorScreen Zeigt den Bildschirm bei einem Fehler MapMenuView1Subform Aufruf über den rechten Button in der Kartenansicht MapButton / Button: Kartenauswahl 2D/3D TrafficInformationButton / Button: Verkehrsinformationen GPSInformationButton / Button: Kompass TripInfoButto / Button: TripInfo //DummyButton / Button: !! liegt bzgl. der Koordinaten über dem TripInfoButton DirectionViewButton / Button: Wechsel zur Pfeil-Navigation AppButton / Button: Weitere Anwendungen ->(wechselt zum Hauptmenü) //TelephoneButton / Button: !! liegt bzgl. Koordinaten über dem TripInfoButton //ExitNavigationButton / Button: !! liegt bzgl. Koordinaten über dem DirectionViewButton //NextViewButton / Button: !! liegt bzgl. Koordinaten über dem AppButton
MapMenuView2Subform Derzeit nicht erreichbar, da der Button NextViewButton in der Maske MapMenuView1Subform auskommentiert ist. MusicButton / Button: VideoButton / Button: NextViewButton / Button: Zurück zu MapMenuView1Subform
MapMenuDestinationSubform Aufruf über den linken M-Button in der Kartenansicht bzw. den unteren linken Button in der Maske selbst NewDestinationButton / Button: neues Ziel eingeben FastSearchButton / Button: Schnellsuche in der eingestellten Kategorie NewTourButton / Button: Routenplanung AmbitSearchButton / Button: Umkreissuche SavePositionButton / Button: Akt. Position speichern ManageDestinationsButton / Button: Zielspeicher verwalten
MapMenuRoutingSubform Aufruf über den unteren mittleren Button in der Maske selbst GotoButton / Button: Gehe zu .... LocationPlanButton / Button: Wegbeschreibung ChangeTourButton / Button: Route ändern RouteOptionsButton / Button: Routenoptionen BlockSectionButton / Button: Route (Strasse) sperren (In der ME Version verdeckt) RouteSimulationButton / Button: Routensimulation StopGuidanceButton / Button: Zielführung stoppen
MapMenuSettings1Subform Aufruf über den unteren rechten Button in der Maske selbst SettingsButton TMCSenderButton PresentationButton VolumeButton FastSearchCategoryButton MoreSettingsButton
PreferredPetrolArea Listet die bevorzugten Tankstellen auf MapMenuSettings2Subform KeyboardButton MaximumVelocityButton LanguageButton TimezoneButton ChooseMapButton MoreSettingsButton FavouredGarageButton
MapMenuSettings3Subform FavouredGarageButton PositioningButton InfoButton MoreSettingsButton
GotoView Steuert das Menü Gehe zu ... unter Routen Optionen TripInfoView Aufruf über den unteren rechten Button in der Karte und dann auf Tripinfo
Steuert die Anzeigen im Fenster Tipinfo
Höchstgeschindigkeit
Durchschnittsgeschwindigkeit
Gefahrene Strecke
FahrzeitVoicInputScreen Anzeige für Spracheingabe VoicInputResultScreen Ergebnisliste der Spracheingabe VoiceInputErrorScreen Fehlermeldung bei unerkannter Spracheingabe SelectFastPoiAmbitSearchCategory Auswahlmenü der Kategorie für Schnellsuche GettingStartedQuestionForm Abfrage "Einführungshinweise" TTIDetailSubForm Standortinformationen der Verkehrsstörung in der Detailansicht einer Verkehreswarnung TTIDetailAreaSubForm; Verkehrsstörunginformationen in der Detailansicht einer Verkehreswarnung POITelephonicBookingView Fenster "Telefonische Buchung" eines POI (v. a. bei hotel.de-POIs) POIFurtherInformationView Fenster Detailinformation eines POI MapRouteSimulationSubForm Routensimulations-Button für die Kartenansicht TBTRouteSimulationSubForm Routensimulations-Button für die Pfeilansicht AmbiguityListEntryInfoSubform noch nicht weiter detailliert AmbiguityListEntryInfoSubformPOI Detailinformation nach Abschluss der Adresseingabe CommitWithoutGPSView Abfrage "Die Route von der zuletzt bekannten Position berechnen?" SelectTimeZoneAndDayLight Auswahlmenü für Zeitzone TimeZoneTextListSubForm Zeitzonen-Auswahl-Subform DayLightTextListSubform noch nicht weiter detailliert RouteBlockingView Auswahlmenü Route blockieren GPSTrackingSubSkin Auswahlmenü GPS-Spur aufzeichnen
Verwendung von Objekten
Coordinates / Grundsätzliches zum Koordinaten-System
Jedes auf dem Bildschirm darzustellende Element wird über den Parameter Coordinates
platziert. Hierbei kann solch ein Element auch ein Container sein, in dem weitere Elemente gruppiert werden. Dies ist wichtig, da die einzugebenden Koordinaten immer relativ zur Position des übergeordneten Containers sind. Beispiel:
TTISubform // this form is used in the MapViewArea and TurnByTurnArea { Coordinates: 384,0,96,108; BGMode: Transparent; DisableFocus: yo; MoveBehaviour: Vertical; ResizeBehaviour: Horizontal; TapMode: TapThrough; VanishingTTIWarningButton { Class: VanishingTTIWarningButton; Coordinates: 0,60,96,48; Enabled: 183,0,0,96,48,0,0,255,0,255; Pushed: 183,0,48,96,48,0,0,255,0,255; Icon: 161,0,0,44,38,26,5,255,0,255; PYOffset: 2; DisableFocus: yo; Visibility: $MAP_TTI_WARNING_BUTTON_VISIBILITY$; // Visibility: shown; Action: NavigationMenu.trafficWarning; }
TTISubform
ist der Container für das nachgeordnete Element VanishingTTIWarningButton
, seine Koordinaten sind der Bezugspunkt für alle im Container gruppierten Elemente.
Syntax für die Koordinaten:
- Die ersten beiden Werten geben die Position der linken oberen Ecke an:
- 384 = Der Abstand vom linken Rand
- 0 = Der Abstand von Oben
- Die beiden letzten Werte geben die Größe an:
- 96 = die Feldgröße nach rechts
- 108 = die Feldgröße nach unten
In diesem Beispiel ist also die tatsächliche Position des Elementes VanishingTTIWarningButton
:
- 384 Pixel vom linken Rand
- 60 Pixel von oben
TextCoordinates
Über die TextCoordinates
kann speziell bei Text-Objekten der tatsächliche Text innerhalb des über die Coordinates
definierten Hintergrundes pixelgenau positioniert werden. Beispiel:
TargetTimeText { ID: 45; Class: SkinText; Coordinates: 148,236,114,36; TextCoordinates: 0,10,114,20;
Hier wird der Text innerhalb des größeren (114x36) Hintergrunds beginnend bei Position 0,10 (relativ zu den Coordinates
) in einer Größe 114x20 dargestellt.
HAlign und VAlign
Über die Eigenschaften HAlign
(horizontal) und VAlign
(vertikal) wird speziell bei Text-Objekten die Ausrichtung gesteuert. Mögliche Werte sind für
HAlign: left, center, right
(linksbündig, zentriert, rechtsbündig) und für VAlign: top, center, bottom
(oben, zentriert, unten).
PYOffset
Über die Eigenschaft PYOffset
kann auf einfache Art ein Y-Versatz (Verschieben nach oben oder unten) eines Objektes (Icon,Text etc.) innerhalb des durch die Coordinates bestimmten Hintergrundes erzielt werden.
Enabled / Focussed / Pushed / Disabled
Diese speziell für Buttons vorgesehen Eigenschaften bestimmen - entsprechend der unter Icon näher erläuterten Syntax - das Aussehen des Hintergrundes in den 4 möglichen Zuständen eines Buttons.
Enabled |
Standard/Aktiviert |
Focussed |
Der Button hat den Focus (in einem Touchscreen gesteuerten System etwas unklare Bedeutung) |
Pushed |
Der Button wird gedrückt |
Disabled |
Deaktiviert |
Icon
Mit der Eigenschaft Icon wird dem Objekt das darzustellende Symbol übergeben. Die verfügbaren Grafiken werden im Abschnitt Bitmaps definiert und mit einer ID versehen.
Die Syntax lautet: Icon <Grafik ID>, <X-Koord.>, <Y-Koord.>, <Größe-X>, <Größe-Y>, <X-Versatz>, <Y-Versatz>, <Transparenz (R, G, B)>
Beispiel:
VolumeButton { Class: PushButton; Coordinates: 0,45,48,48; Icon: 8,0,90,30,30,10,10; PYOffset: 2; BGMode: transparent; FocussedColor: 0,0,0,0; //avoids showing the button DisableFocus: yo; Wordbreak: yes; KPush: enter,left; Action: MapMenu.volume; }
Die X und Y-Koordinaten dienen hier dazu, das Icon in einer MultiIcon-Datei (Grafik-Dateien, in denen mehrere Icons unter- und auch nebeneinander zusammengefasst sind) zu bestimmen. X und Y-Versatz bedeutet in diesem Beispiel, dass das Icon (30x30) innerhalb des größeren Hintergrunds (48x48) mit einem Versatz von jeweils 10 Punkten nach rechts und unten abgebildet wird. Die Farbwerte für transparent darzustellenden Bereiche in der Grafik <R,G,B> können optional definiert werden.
Referenz
Class-Referenz
Klassen bestimmen die Art eines Objektes. Jede Klasse hat bestimmte festgelegte Eigenschaften und Methoden, die jedes Objekt dieser Klasse übernimmt. Beispiel: Class: PushButton; definiert einen Standardbutton.
Class | Beschreibung |
---|---|
BitmapIconPanel | Ein Pfeil-Element wie in der Pfeilansicht und in den Abbiegehinweisen der Kartenansicht |
CompassBitmapElement | Der Kompass in der Kompassansicht |
DropDown | Ein Button mit Dropdown-Liste |
DynMapItemDisplay | Der Anzeige-Container für die Fadenkreuz-Infos |
LauncherButton | Ein Button zum Starten externer Programme |
LaunchFromRegistryButton | Ein Button, dessen Sichtbarkeit und verknüpfte Action abhängig vom Vorhandensein eines bestimmten Registry-Eintrages ist |
LetterRadioButton | ??? |
ListBox | Eine fortlaufende Liste mit Scrollbar |
ListBoxButton | Ein Button innerhalb einer ListBox |
ManouevreDistanceElement | Die Entfernungsanzeige bei den Abbiegehinweisen |
MapView | Die Kartenansicht |
NStateIcon | Ein Icon mit Mehrfachanzeige (TMC-Status, Battery-Status etc.) |
NStateIconAnimation | Eine Icon-Animation der MapGimmicks |
NStateButton | Ein Button mit Mehrfachanzeige (SoundToggle, 3D/2D etc.) |
PhoneKeybdDisplay | ??? |
ProgressBar | Ein Fortschrittsbalken (Routenberechnung etc.) |
PushButton | Ein Standard-Button |
RadioButton | Ein Button aus einer Gruppe von Option-Buttons |
RoadIconElement | Das kleine Straßenschild in den Abbiegehinweisen |
ScaleElement | Der Kartenmaßstab |
SecondMeaningButton | Der Delete-Button im Keyboard |
SignPostContainer | Der Container für die Abbiegehinweise |
SimpleScrollbar | Eine Scrollbar, wie sie z. B. bei der Länderauswahl benutzt wird. |
SimpleScrollBarFiller | ??? |
SkinButton | Eine weitere Button-Art (verwendet in Menüs, Unterschied zum PushButton unklar) |
SkinContainer | Eine Zusammenfassung mehrerer Objekte (Icons, Texte, Scrollbars, etc.), die dann in verschiedene Masken (Screens) eingebunden werden können. Damit kann in jeder dieser Maske sichergestellt werden, dass die eingebundenn Objekte immer an der gleichen Stelle stehen. |
SkinEditField | ??? |
SkinIcon | Ein Grafik-Objekt |
SkinScrollbarButton | Die Button für Rauf und Runter, die direkt über und unter der Scrollbar sitzen. |
SkinText | Ein Text-Objekt |
StandardKeybdDisplay | ??? |
TextListBox | Eine Textbox in Form einer Liste wie sie z. B. bei den TMC-Meldungen eingesetzt wird. |
ToggleButton | Ein Schalter-Button mit 2 Zustandsicons |
TriStateButton | Ein Schalter-Button mit 3 Zustandsicons |
VanishingCalcProgressBox | Der Fortschrittsbalken bei der Routenberechnung |
VanishingErrorBox | Die Fehlermeldungs-Box |
VanishingTTIWarningButton | Die Verkehrswarnungs-Anzeige |
Action-Referenz
Über Aktionen können Buttons mit einer Funktionalität belegt werden. Beispiel: Action: SettingSC.100; erhöht die Sprachlautstärke.
Action | Beschreibung .... bitte alphabetisch sortiert auflisten |
---|---|
DestinationSC.10070; | Startpunkt ändern |
DestinationSC.10071; | Ziel hinzufügen (immer an's Ende der Liste) |
DestinationSC.10085; | Umschaltung zu Routenoptionen |
DestinationSC.10248; | ohne Funktion |
DestinationSC.10249; | |
DestinationSC.10260; | City-/StreetMatchesOne-Button -> vielleicht der "Alle Treffer anzeigen" Button bei der Orts-/Straßenauswahl mit den gefundenen Übereinstimmungen? |
DestinationSC.10262 | |
DestinationSC.10266; | |
DestinationSC.10272; | |
DestinationSC.10274; | StreetMatchesOne-Button -> vielleicht der 1. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen? |
DestinationSC.10275; | StreetMatchesOne-Button -> vielleicht der 2. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen? |
DestinationSC.10276; | StreetMatchesOne-Button -> vielleicht der 3. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen? |
DestinationSC.10277; | CityMatchesOne-Button -> vielleicht der 1. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen? |
DestinationSC.10278; | CityMatchesOne-Button -> vielleicht der 2. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen? |
DestinationSC.10279; | CityMatchesOne-Button -> vielleicht der 3. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen? |
DestinationSC.10280; | |
DestinationSC.10281; | |
DestinationSC.10282; | |
DestinationSC.10727; | |
DestinationSC.301; | |
DestinationSC.302; | |
DestinationSC.303; | |
DestinationSC.351 | |
DestinationSC.400; | |
DestinationSC.401; | |
DestinationSC.402; | |
DestinationSC.404 | |
DestinationSC.405; | |
DestinationSC.58; | Vorblättern (next) ???? |
DestinationSC.59; | |
DestinationSC.65 | |
DestinationSC.65; | Zurückblättern oder Cancel-Button????? |
DestinationSC.65; | |
DestinationSC.73; | |
DestinationSC.76; | Cancel Button im "Route fortsetzen" Menü. Wird auch benutzt, um die Zielübernahme aus Polyglott abzubrechen. |
DestinationSC.77; | o.k. Button im "Route fortsetzen" Menü. Wird auch benutzt, um ein aus den Polyglott übernommenes Ziel zu bestätigen -> startet die Routenberechnung. |
DestinationSC.80; | Connect-Button ????? |
DestinationSC.81; | |
DestinationSC.leavelocation; | |
DestinationSC.next; | Vorblättern (next) ???? |
DestinationSC.openkeyboard | Tastatur öffnen ???? |
DestinationSC.recenterlocation; | Standort zentrieren |
DestinationSC.showlocation; | Standort anzeigen |
DestinationSC.tourcalculation; | Route berechnen |
DestinationSC.tourcancel; | Route abbrechen |
DestinationSC.tourelementdelete; | Routenpunkt löschen |
DestinationSC.tourelementdown; | Routenpunkt nach unten verschieben |
DestinationSC.tourelementup; | Routenpunkt nach oben verschieben |
DestinationSC.touroptimize; | Route optimieren |
DestinationSC.TourPlanLoad; | Route laden ???? |
DestinationSC.TourPlanSav; | Route speichern ???? |
Dialer | Bluetooth-Menü aufrufen |
KeyEvent.Enter; | Selektieren und nächster ????? |
LastPromptRepeat; | Letzte Eingabe wiederholen ???? |
ListBox.AutoSwitchDropDown,0; | |
ListBox.AutoSwitchDropDown,1; | |
ListBox.CongestionByPassDropDown,0; | |
ListBox.CongestionByPassDropDown,1; | |
ListBox.CountryCodeData,0; | |
ListBox.CountryCodeData,1; | |
ListBox.DayLightDropDown,0; | |
ListBox.DesignDropDown,0; | |
ListBox.DesignDropDown,1; | |
ListBox.FerriesDropDown,0; | |
ListBox.FerriesDropDown,1; | |
ListBox.HWConfigTypeList,0; | |
ListBox.HWConfigTypeList,1; | |
ListBox.MapStateDropDown,0; | |
ListBox.MapStateDropDown,1; | |
ListBox.MetricImperialUnitsDropDown,0; | |
ListBox.MetricImperialUnitsDropDown,1; | |
ListBox.NaviTypeDropDown,0; | |
ListBox.NaviTypeDropDown,1; | |
ListBox.OmitTollRoadsDropDown,0; | |
ListBox.OmitTollRoadsDropDown,1; | |
ListBox.POICategoryList,0; | |
ListBox.POICategoryList,1; | |
ListBox.PowersaveDropDown,0; | |
ListBox.PowersaveDropDown,1; | |
ListBox.RoadClass0DropDown,0; | |
ListBox.RoadClass0DropDown,1; | |
ListBox.RouteTypeDropDown,0; | |
ListBox.RouteTypeDropDown,1; | |
ListBox.SelectKbdDropDown,0; | |
ListBox.SelectModeDropDown,0; | |
ListBox.TimeFormatDropDown,0; | |
ListBox.TimeFormatDropDown,1; | |
ListBox.TimeZoneDropDown,0; | |
ListBox.TrafficWarningDropDown,0; | |
ListBox.VInfoDropDown,1; | |
ListMaintenance.0; | "Back" Button |
ListMaintenance.1; | |
ListMaintenance.10; | einen letzten Ort löschen |
ListMaintenance.11; | alle letzten Orte löschen |
ListMaintenance.13; | |
ListMaintenance.14; | Öffnet die Tastatur und man kann die Aktuelle Position damit unter Favoriten speichern |
ListMaintenance.15; | Download from MyMap24: Öffnet Dialog "Favoriten aktualisieren"?? |
ListMaintenance.16; | Öffnet die Zieleingabe (Startmenü) |
ListMaintenance.17; | ImportMyMap24?? |
ListMaintenance.2; | Favorit löschen |
ListMaintenance.3; | Aufruf des Dialoges "Favorit umbenennen" |
ListMaintenance.4; | Aufruf des Dialoges "Einen letzten Ort löschen" |
ListMaintenance.5; | Aufruf des Dialoges "Alle letzten Orte löschen" |
ListMaintenance.8; | Eintrag umbenennen |
ListMaintenance.9; | Favorit löschen |
MainMenu.1; | Exit-Button (zum Hauptauswahl-Menü) |
MainMenu.5; | Zurück-Button; auch festgestellt wurde: Aufruf des Menüs "Sprachlautstärke" |
MainMenu.216; | Aufrufen des Hauptmenüs?? |
MainMenu.217; | Aufruf der Adresseingabe (Startbildschirm) |
MapMenu.3d; | zwischen 3D und 2D umschalten |
MapMenu.acPos; | Aktuelle Position anzeigen |
MapMenu.ambitsearch; | Umkreissuche |
MapMenu.autozoom; | Automatischer Zoom |
MapMenu.back; | Zurück-Button (zur Kartenansicht) |
MapMenu.backPoiAmbitSearch; | |
MapMenu.blocksection; | Ruft Route blockieren auf |
MapMenu.changetour; | ruft Route-Ändern auf |
MapMenu.choosemap; | ruft Karte wählen auf |
MapMenu.Close; | |
MapMenu.dest; | Auf Routenübersicht zoomen |
MapMenu.dynMapAddStopover; | Zwischenziel einfügen aus der Karte |
MapMenu.dynMapBack; | Zurück Button wenn ein Ziel aus der Karte makiert wurde |
MapMenu.dynMapInfo; | Anzeige der Strasse/n oben im Fenster wenn ein Ziel aus der Karte gewählt wurde |
MapMenu.dynMapNextItem; | Nächste Strasse wenn ein Ziel aus der Karte makiert wurde |
MapMenu.dynMapPrevItem; | Vorherige Strasse wenn ein Ziel aus der Karte makiert wurde |
MapMenu.exit | Menü verlassen |
MapMenu.fastcategory; | Einstellung der Kategorie für die Schnellsuche |
MapMenu.fastsearch; | Schnellsuche in der eingestellten Kategorie |
MapMenu.favouredgarage; | ruft bevorzugte Tankstellen auf |
MapMenu.goto; | Gehe-Zu Button (ruft Routenplanung Auswahlmöglichkeit auf) |
MapMenu.gpsinfo; | ruft den Kompass auf |
MapMenu.hardwaresettings; | |
MapMenu.help; | ruft die Hilfe auf |
MapMenu.info; | ruft den Infobildschirm auf |
MapMenu.keyboard; | ruft die Tastaturauswahl auf |
MapMenu.language; | ruft das Menü Sprache wählen auf |
MapMenu.leave; | |
MapMenu.locationplan; | Wegebeschreibung erzeugen |
MapMenu.main; | Aufruf von Hauptmenü "Zieleingabe" |
MapMenu.managedestinations; | Zielspeicher verwalten |
MapMenu.maxvelocity; | ruft das Menü Höchstgeschwindigkeit auf |
MapMenu.moveDown; | Karte nach unten verschieben |
MapMenu.moveLeft; | Karte nach links verschieben |
MapMenu.moveRight; | Karte nach rechts verschieben |
MapMenu.moveUp; | Karte nach oben verschieben |
MapMenu.music; | |
MapMenu.newdestination; | Neues Ziel eingeben (Startseite) |
MapMenu.newtour; | Aufruf von Auswahlmenü "Routenplanung" |
MapMenu.open; | |
MapMenu.overview; | Zoom auf Routenübersicht zurück ( so wie unter Gehe zu - Übersicht) |
MapMenu.positioning; | Aufruf von Menü "Positionierung" |
MapMenu.presentation; | Aufruf von Menü "Darstellung" |
MapMenu.routeoptions; | ruft den Routen-Optionen Dialog auf |
MapMenu.routesimulation; | Routensimulation |
MapMenu.saveposition; | akt. Position speichern |
MapMenu.selectiondestination; | Aufruf von Hauptmenü "Zieleingabe" |
MapMenu.selectionroute; | Aufruf von Hauptmenü "Route" |
MapMenu.selectionsettings; | Aufruf von Hauptmenü "Einstellungen" |
MapMenu.selectionview; | Aufruf von Menü "Ansicht" |
MapMenu.settings1; | Aufruf von Hauptmenü "Einstellungen" |
MapMenu.settings2; | Aufruf von Hauptmenü "Einstellungen Seite 2" |
MapMenu.settings3; | Aufruf von Hauptmenü "Einstellungen Seite 3" |
MapMenu.startguidance; | Routenführung starten |
MapMenu.stopguidance; | Routenführung beenden |
MapMenu.telephone test | ??? |
MapMenu.timezone; | Aufruf der Zeitzonen-Einstellungen |
MapMenu.tmcoverview; | Verkehrslage Meldungen anzeigen |
MapMenu.tmcsender; | TMC-Suchlauf |
MapMenu.trafficInfoDetail; | TMC-Verkehrslage Detail Ansicht für die erste Staumeldung öffnen |
MapMenu.tripinfo; | Routen-Info |
MapMenu.turntoggle; | Umschaltung in die Pfeilansicht |
MapMenu.video; | |
MapMenu.view1; | |
MapMenu.view2; | |
MapMenu.volume; | Aufruf der "Sprachlautstärke" Einstellung |
MapMenu.zoomIn; | in die Karte zoomen |
MapMenu.zoomOut; | aus der Karte zoomen |
MapTurnToggle.BackFromGPS; | |
MapTurnToggle.gps; | Aufruf von "Kompass" |
MapTurnToggle.Map; | Aufruf der "Karte" |
NavigationMenu.calcAltRoute; | alternative Routenberechnung starten |
NavigationMenu.cancel; | Navigation abbrechen |
NavigationMenu.stopGuidance; | Navigation stoppen |
NavigationMenu.trafficInfo; | Anzeige der Verkehrsinfo |
NavigationMenu.trafficInfoDetail; | Anzeige der Verkehrsinfo im Detail |
NavigationMenu.trafficWarning; | Anzeige von Verkehrswarnungen |
OpenFile.Close; | |
OpenFile.Open; | |
OpenKeyboard.1,AlphaBig,poiname,904; | |
OpenKeyboard.1,AlphaBig,poiname,904; | |
OpenKeyboard.5,AlphaBig,Name,904; | |
RdsTmc.selectMode; | Aufruf von Menü "Automatisch / Manuelle Sendersuche" |
RdsTmc.selectPort; | Ruft eine Seite zur Einstellung des TMC Ports auf (welcher Port, Simulation, Aufzeichnung) |
SettingSC.100; | Sprachlautstärke erhöhen |
SettingSC.101; | Sprachlautstärke verringern |
SettingSC.119; | Weiter über Pushbutton |
SettingSC.121; | Zurück über PushButton |
SettingSC.10077; | |
SettingSC.10169; | |
SettingSC.10170; | |
SettingSC.10180; | |
SettingSC.10181; | |
SettingSC.10182; | |
SettingSC.10183; | TMC-Suchlauf(aufwärts) .... wird von Moddern gerne genutzt um den Suchlauf über PushButton zu starten |
SettingSC.10184; | TMC-Suchlauf(abwärts) |
SettingSC.10187; | |
SettingSC.10188; | |
SettingSC.10189; | |
SettingSC.10231; | |
SettingSC.10232; | |
SettingSC.10233; | |
SettingSC.10234; | |
SettingSC.10235; | |
SettingSC.10236; | |
SettingSC.10237; | |
SettingSC.10241; | |
SettingSC.10242; | NextButtonPsfAuth ??? |
SettingSC.10243; | |
SettingSC.10244; | BackButtonPsfAuth ??? |
SettingSC.10251; | |
SettingSC.119; | |
SettingSC.121; | |
SettingSC.41000000000000000 | |
SettingSC.42; | |
SettingSC.73; | |
SettingSC.913; | |
SettingSC.98; | |
SystemHandling.continue; |
Spezial-Referenz
Es gibt spezielle Parameter, die nur für bestimmte Klassen verwendet werden können:
Class | Parameter | erlaubte Werte / Beschreibung | Beispiel |
---|---|---|---|
LauncherButton | launch: | <voller Dateiname des externen Programmes> eingeschlossen in Anführungszeichen | launch: "\Storage Card\Programme\koord465.exe"; |
params: | (optional) Kommandozeilen-Parameter eingeschlossen in Anführungszeichen | params: "goto=\Storage Card\Programme\home.3na"; | |
launchtype: | (optional) relative Dateiname wird ohne Pfad angegeben | launchtype: relative; | |
text: | (optional) Text in Anführungszeichen, ^n^ für Zeilenumbruch | Text: "gespeicherte Route^n^laden"; |
Fernbedienung-Skin Befehle
Es gibt verschieden Befehle für die Lenkradfernbedienung, um einen Button überhaupt ansprechen zu können muss der Eintrag
DisableFocus: yes;
entfernt werden.
Um Button in der Kartenansicht anzusprechen, müsst Ihr unter MapViewArea
den Eintrag
FocusManager: "disabled";
entfernen.
Wenn Ihr bei einem Button DisableFocus: yes;
entfernt, aber keinen KPush:
einfügt, kann man mit den Tasten 'Pfeil rauf / runter' diesen Button auch auswählen und er reagiert standardmässig auf die OK-Taste, sobald er markiert ist.
Hier mal alle bekannten Befehle:
KPush: enter; | reagiert auf die OK-Taste |
KPush: left; | reagiert auf die 'Pfeil links' Taste (sollte immer für den Button unten links genommen werden) |
KPush: right; | reagiert auf die 'Pfeil rechts' Taste (sollte immer für den Button unten rechts genommen werden) |
HKPush: "down"; | reagiert auf die 'Pfeil runter' Taste (wird bei den Zoom Button benutzt, um in der Karte zu zoomen) |
HKPush: "up"; | reagiert auf die 'Pfeil rauf' Taste (wird bei den Zoom Button benutzt, um in der Karte zu zoomen) |
HKPush: "left"; | |
HKPush: "right"; | |
HKUp: "Up"; | |
HKDown: "Down"; | |
HKExecute: Enter; | |
HKBackSpace: "Back"; | |
HKSelect: UpDown; | |
HKPush: "F24"; | |
AlwaysConsumeKHK: yes; | |
KHKScrollMode: "page"; | |
HKScrollPage: yo; | |
HKPush: hk1; | |
HKPush: hk2; | |
SetFocusOnLoad: yes; | Legt fest, welcher Button nach Aufruf der Seite fokussiert ist. |
Die Play-Taste kann man mit einer Funktion belegen, wenn man in der PFSkin den Eintrag
HKPUSH: "PLAY";
bei der gewünschten Funktion einfügt.
Die Vor- und Zurück-Tasten auf der Fernbedienung belegt man, indem man in der PFSpecial.skn die F8- und F9-Tasten dafür einträgt unter GlobalHK
.
Im folgenden Beispiel kann man dann mit den Tasten zoomen.
F8@MapMenu.zoomIn, F9@MapMenu.zoomOut