GoPal 2.0 Skin: Unterschied zwischen den Versionen
B-M-N (Diskussion | Beiträge) (→Wichtig: Referenz) |
B-M-N (Diskussion | Beiträge) K (→Code-Beispiele) |
||
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | '''GoPal 2.0''' ist eine Navigationssoftware für [[Windows_Embedded|Windows CE]] basierende Endgeräte ([[PDA]], [[PNA]]) des deutschen Herstellers [[Medion]]. Den Benutzern wird über eine einfache Scriptsprache die Möglichkeit gegeben, das Aussehen seinen persönlichen Bedürfnissen entsprechend anzupassen und weitere Funktionalitäten auf der Benutzeroberfläche z.B. durch Buttons zu integrieren. Dieses Verfahren wird mit "Skining" bezeichnet. | + | '''GoPal 2.0''' ist eine Navigationssoftware für [[Windows_Embedded|Windows CE]] basierende Endgeräte ([[PDA]], [[PNA]]) des deutschen Herstellers [[Medion]]. Den Benutzern wird über eine einfache Scriptsprache die Möglichkeit gegeben, das Aussehen seinen persönlichen Bedürfnissen entsprechend anzupassen und weitere Funktionalitäten auf der Benutzeroberfläche z. B. durch Buttons zu integrieren. Dieses Verfahren wird mit "Skining" bezeichnet. |
Es gibt verschiedene Varianten der Software: | Es gibt verschiedene Varianten der Software: | ||
Zeile 5: | Zeile 5: | ||
*[[GoPal AE]] - Advanced Edition | *[[GoPal AE]] - Advanced Edition | ||
*[[GoPal PE]] - Premium Edition | *[[GoPal PE]] - Premium Edition | ||
+ | Hier auf die einzelnen Features einzugehen ist nicht wirklich sinnig, deshalb gibt es ja extra eine [[GoPal 2.x Feature Übersicht]]. | ||
− | + | Dieser Artikel soll eine Dokumentation Skin-Scriptsprache darstellen. | |
− | |||
− | Dieser Artikel soll eine Dokumentation Skin-Scriptsprache darstellen. | ||
Falls es Unterschiede zu den verschiedenen Varianten (PE, AE, ME, Hardware usw.) gibt, sollten diese gekennzeichnet werden. | Falls es Unterschiede zu den verschiedenen Varianten (PE, AE, ME, Hardware usw.) gibt, sollten diese gekennzeichnet werden. | ||
− | + | '''Es wurde ein Problem beobachtet:''' Nach Änderungen der ''PFSkin.sk''n-Datei gab es Lesefehler auf der Speicherkarte. Sobald die originale Skin-Datei wieder eingespielt wurde, funktionierte es wieder. Fehlerhafte oder nicht "bestimmungsgemäße" Inhalte der Skin-Dateien können also zu unerwartetem Verhalten der GoPal-Software führen.<ref>[http://www.pocketnavigation.de/board/thread.php?postid=1447462#post1447462 Beitrag im Nachbarforum]</ref> | |
− | |||
− | Es wurde ein Problem beobachtet: Nach Änderungen der PFSkin. | ||
== Grundsätzlicher Aufbau der Skin-Dateien == | == 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. '''Eine Bearbeitung der Dateien ist nur auf dem PC möglich.''' Dazu ist eine ActiveSync-Verbindung zw. PC und PNA herzustellen und aus dem PNA-Verz. (i.A. \My Flash Disk\navigation\Skin'''480x272'''\ (das letzte Verz. hängt von der Auflösung des jeweiligen PNA ab)) ist die zu ändernde Datei auf den PC zu kopieren (per Drag'n'Drop). Dort kann sie geändert werden (ACHTUNG, Backup nicht vergessen) und anschließend wird sie wieder | + | 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. '''Eine Bearbeitung der Dateien ist nur auf dem PC möglich.''' Dazu ist eine ActiveSync-Verbindung zw. PC und PNA herzustellen und aus dem PNA-Verz. (i. A. ''\My Flash Disk\navigation\Skin'''480x272'''\'' (das letzte Verz. hängt von der Auflösung des jeweiligen PNA ab)) ist die zu ändernde Datei auf den PC zu kopieren (per Drag'n'Drop). Dort kann sie geändert werden (ACHTUNG, Backup nicht vergessen) und anschließend wird sie wieder zurück kopiert. GoPal muss neu gestartet werden, damit sich eine Änderung auswirkt. |
'''Tipp:''' Es ist hilfreich, die Endung (Suffix) *.skn mit einem Texteditor zu verknüpfen, dann wird bei einem Doppelklick auf diese Datei gleichzeitig der entspr. Editor gestartet. | '''Tipp:''' Es ist hilfreich, die Endung (Suffix) *.skn mit einem Texteditor zu verknüpfen, dann wird bei einem Doppelklick auf diese Datei gleichzeitig der entspr. Editor gestartet. | ||
Zeile 28: | Zeile 25: | ||
Beispiel: | Beispiel: | ||
− | |||
{ | { | ||
Include: PFSpecial.skn; | Include: PFSpecial.skn; | ||
Zeile 38: | Zeile 34: | ||
Hier werden Konstante definiert, die an den verschiedensten Stellen des Skins verwendet werden. Hier kommt der Include Datei PFSpecial.skn eine besondere Bedeutung zu. | Hier werden Konstante definiert, die an den verschiedensten Stellen des Skins verwendet werden. Hier kommt der Include Datei PFSpecial.skn eine besondere Bedeutung zu. | ||
− | Beispiel: | + | Beispiel: Definition |
− | Definition | ||
− | |||
MAP_ELEMENTS_TRANSPARENT_COLOR: 77,97,138,200; | MAP_ELEMENTS_TRANSPARENT_COLOR: 77,97,138,200; | ||
− | Verwendung bei Objekten | + | Beispiel: Verwendung bei Objekten |
− | |||
BGColor: $MAP_ELEMENTS_TRANSPARENT_COLOR$; | BGColor: $MAP_ELEMENTS_TRANSPARENT_COLOR$; | ||
Zeile 51: | Zeile 44: | ||
=== Referenz auf Grafiken === | === Referenz auf Grafiken === | ||
− | 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. | + | 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 | ||
{ | { | ||
Zeile 69: | Zeile 61: | ||
Beispiel: '''Fonts''' | Beispiel: '''Fonts''' | ||
− | |||
{ | { | ||
0: Arial,18; // Original Font VERDANA //Normal text | 0: Arial,18; // Original Font VERDANA //Normal text | ||
Zeile 98: | Zeile 89: | ||
Hier kann 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 kann 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 | + | 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 heißen) eigentlich in der Kartenansicht ändern möchte, kann versehentlich hier auskommen und wird seine vorgenommenen Änderungen dort nie wiederfinden. |
==== GPSView - Die Kompassansicht ==== | ==== GPSView - Die Kompassansicht ==== | ||
Zeile 109: | Zeile 100: | ||
Masken bestehen aus einem bestimmten, für die universelle Handhabung wichtigen immer wiederkehrenden Aufbau. Dieses "Skelett" besteht aus: | Masken bestehen aus einem bestimmten, für die universelle Handhabung wichtigen immer wiederkehrenden Aufbau. Dieses "Skelett" besteht aus: | ||
− | 1. '''Grundsätzlichen Definitionen''' für | + | 1. '''Grundsätzlichen Definitionen'''<br /> |
− | + | für den Hintergrund, die Hintergrundfarbe, den Darstellungsmodus, die verwendete Schrift und die Schriftfarbe.<br /> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Beispiel: | Beispiel: | ||
− | |||
Background: 51,0,0,480,272; | Background: 51,0,0,480,272; | ||
BGColor: $AREA_BG_COLOR$; | BGColor: $AREA_BG_COLOR$; | ||
Zeile 125: | Zeile 109: | ||
TextColor: 0,0,0; | TextColor: 0,0,0; | ||
− | 2. '''Titelbar''' | + | 2. '''Titelbar''' <br /> |
− | + | Die Angabe in dieser Sektion referenziert die Grafik für die Maskenüberschrift. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 3. '''Titel'''<br /> | |
+ | Die Angabe in dieser Sektion referenziert den Text für die Maskenüberschrift. | ||
− | + | 4. '''TitelbarExitButton'''<br /> | |
+ | Die Angabe in dieser Sektion definieren den Exit-Button. | ||
− | + | 5. '''TitelbarHelpButton'''<br /> | |
+ | Die Angabe in dieser Sektion definieren den Hilfe-Button, ist aber manchmal auch nicht vorhanden. | ||
− | + | 6. '''Folge von Detail-Definitionen''',<br /> | |
+ | die den Inhalt der Maske festlegen. Diese sind je nach Maske natürlich verschiedenartiger Natur. | ||
− | {| class="wikitable | + | == Auflistung der Masken-Definitionen == |
− | + | (ist noch nicht vollständig) | |
− | ! Maske | + | {| class="wikitable" |
− | ! Beschreibung | + | ! Maske !! Beschreibung |
|- | |- | ||
| TrafficWarningDetailArea | | TrafficWarningDetailArea | ||
Zeile 309: | Zeile 286: | ||
In diesem Beispiel ist also die tatsächliche Position des Elementes VanishingTTIWarningButton: | In diesem Beispiel ist also die tatsächliche Position des Elementes VanishingTTIWarningButton: | ||
− | |||
:384 Pixel vom linken Rand | :384 Pixel vom linken Rand | ||
:60 Pixel von oben | :60 Pixel von oben | ||
Zeile 318: | Zeile 294: | ||
Beispiel: | Beispiel: | ||
− | |||
TargetTimeText | TargetTimeText | ||
{ | { | ||
Zeile 347: | Zeile 322: | ||
=== Icon === | === Icon === | ||
− | 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. | + | 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|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)> | ||
Beispiel: | Beispiel: | ||
− | |||
VolumeButton | VolumeButton | ||
{ | { | ||
Zeile 366: | Zeile 340: | ||
Action: MapMenu.volume; | 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. | 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. | ||
Zeile 375: | Zeile 348: | ||
Klassen bestimmen die Art eines Objektes. Jede Klasse hat bestimmte festgelegte Eigenschaften und Methoden, die jedes Objekt dieser Klasse übernimmt. | 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. | + | Beispiel: <code>Class: PushButton;</code> definiert einen Standardbutton. |
− | + | {| class="wikitable" | |
− | {| class="wikitable" | + | ! Class !! Beschreibung |
− | |||
− | ! Class | ||
− | ! Beschreibung | ||
|- | |- | ||
| BitmapIconPanel | | BitmapIconPanel | ||
Zeile 502: | Zeile 472: | ||
Beispiel: <tt>Action: SettingSC.100;</tt> erhöht die Sprachlautstärke. | Beispiel: <tt>Action: SettingSC.100;</tt> erhöht die Sprachlautstärke. | ||
− | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Zeile 1.227: | Zeile 1.196: | ||
== Code-Beispiele == | == Code-Beispiele == | ||
− | In | + | In netfirms - FAQ zum MD96050 sind einige Code-Beispiele aufgeführt, die jedoch nur für den MD96050 gedacht sind. <ref>[http://md96050.netfirms.com netfirms.com - FAQ zum MD96050], Stand: 24. November 2006 - 16.00 Uhr</ref> Die folgende Code-Beispiele wurden jedoch auf einem '''MD96080''' erfolgreich getestet. |
− | |||
− | |||
=== Route Abbrechen-Knopf in der Kartenansicht === | === Route Abbrechen-Knopf in der Kartenansicht === | ||
Zeile 1.235: | Zeile 1.202: | ||
Der Route-Abbrechen-Knopf ist im serienmäßigen Skin reichlich versteckt untergebracht, das lenkt beim Fahren zu sehr ab. Hier eine kleine Anleitung, wie man mit "1-Klick-Technologie" den Button direkt in die Kartenansicht bekommt: | Der Route-Abbrechen-Knopf ist im serienmäßigen Skin reichlich versteckt untergebracht, das lenkt beim Fahren zu sehr ab. Hier eine kleine Anleitung, wie man mit "1-Klick-Technologie" den Button direkt in die Kartenansicht bekommt: | ||
− | Zuerst in der PFSKin.skn nach | + | Zuerst in der ''PFSKin.skn'' nach <code>MapViewArea</code> suchen, dann weiter runter blättern bis zu <code>Scale</code>. Anschließend vor dem <code>Scale</code> Abschnitt, aber nach dem abschließenden <code>}</code> des vorherigen Abschnitts den folgenden Code einfügen: |
− | |||
StopGuidanceButton | StopGuidanceButton | ||
{ | { | ||
Zeile 1.251: | Zeile 1.217: | ||
Action: MapMenu.stopguidance; | Action: MapMenu.stopguidance; | ||
} | } | ||
− | |||
=== Höhenanzeige im Kompassanzeigemodus === | === Höhenanzeige im Kompassanzeigemodus === | ||
− | + | Für die Höhenanzeige im Kompassanzeigemodus reicht es in der ''PFSkin.skn'' folgenden Code | |
− | Für die Höhenanzeige im Kompassanzeigemodus reicht es in der PFSkin.skn folgenden Code | ||
− | |||
HeightText | HeightText | ||
{ | { | ||
− | + | ID: 10150; | |
− | + | Class: SkinText; | |
− | + | TextId: 20151; | |
− | + | Background: 214,0,0,80,30; | |
− | + | Coordinates: 305,2,80,30; // urspruenglich: $COMPASS_HEIGHT_TEXT_COORDS$; | |
− | + | TextCoordinates: 5,0,70,30; // -> keine Anzeige | |
− | + | BGMode: opaque; | |
− | + | TextColor: 0,0,0; | |
− | + | HAlign: left; | |
− | + | VAlign: center; | |
− | + | Font: 6; | |
− | + | Visibility: $COMPASS_HEIGHT_VISIBILITY$; | |
} | } | ||
Zeile 1.282: | Zeile 1.245: | ||
Font: 2; | Font: 2; | ||
} | } | ||
− | |||
anstelle | anstelle | ||
− | |||
HeightText | HeightText | ||
{ | { | ||
Zeile 1.313: | Zeile 1.274: | ||
} | } | ||
− | einzusetzen. An der PFSpecial.skn muss nichts geändert werden. | + | einzusetzen. An der ''PFSpecial.skn'' muss nichts geändert werden. |
=== Tastatur-Anzeige als Qwertz-Standard === | === Tastatur-Anzeige als Qwertz-Standard === | ||
− | Für die Tastatur-Anzeige als Qwertz-Standard reicht es, in der PFSkin.skn folgenden Code | + | Für die Tastatur-Anzeige als Qwertz-Standard reicht es, in der ''PFSkin.skn'' folgenden Code |
KeyboardBlockAlphaBig | KeyboardBlockAlphaBig | ||
Zeile 2.293: | Zeile 2.254: | ||
Letter: "-"; | Letter: "-"; | ||
} | } | ||
− | |||
einzusetzen. An der PFSpecial.skn muss nichts geändert werden. | einzusetzen. An der PFSpecial.skn muss nichts geändert werden. | ||
Zeile 2.299: | Zeile 2.259: | ||
=== StvO-Abfrage löschen === | === StvO-Abfrage löschen === | ||
− | Um die StvO-Abfrage zu löschen, reicht es in der PFSkin.skn folgenden Code zu löschen, oder den Text in der ersten Zeile 'StVOArea' in z.B. '_StVOArea' umzubennen: | + | Um die StvO-Abfrage zu löschen, reicht es in der PFSkin.skn folgenden Code zu löschen, oder den Text in der ersten Zeile 'StVOArea' in z. B. '_StVOArea' umzubennen: |
StVOArea | StVOArea | ||
Zeile 2.330: | Zeile 2.290: | ||
=== Aktivieren der MapGimmicks === | === Aktivieren der MapGimmicks === | ||
− | Die [http://www.pocketnavigation.de/board/attachment.php?attachmentid=1020071 Grafikdatei] herunterladen und unter | + | Die [http://www.pocketnavigation.de/board/attachment.php?attachmentid=1020071 Grafikdatei] herunterladen und unter ''\My Flash Disk\Navigation\Skin480x272\PPSkin'' ablegen. |
− | |||
− | |||
+ | In der ''PFSkin.skn'' folgende Zeile: | ||
//172: PPSkin\Map24ProgressIcon.png; //outdated | //172: PPSkin\Map24ProgressIcon.png; //outdated | ||
− | |||
ersetzen durch | ersetzen durch | ||
− | |||
172: PPSkin\map_gimmick_plane_gopal_20.png; | 172: PPSkin\map_gimmick_plane_gopal_20.png; | ||
− | |||
In der MapViewArea einfügen (direkt nach dem VehicleBitmap Bereich): | In der MapViewArea einfügen (direkt nach dem VehicleBitmap Bereich): | ||
− | |||
MapGimmick0 //Star 1 | MapGimmick0 //Star 1 | ||
{ | { | ||
Zeile 2.431: | Zeile 2.386: | ||
*[http://www.pocketnavigation.de/board/bid1000168-sid792189780fd515f0eaeef20dd2880b69.htm Link zum GoPal 2.0 AE Forum auf Pocketnavigation.de] | *[http://www.pocketnavigation.de/board/bid1000168-sid792189780fd515f0eaeef20dd2880b69.htm Link zum GoPal 2.0 AE Forum auf Pocketnavigation.de] | ||
*[http://www.navifriends.com/phpbbForum/viewforum.php?f=78&sid=00eb392f68290336f658539a1bcfc19e Link zum Medion GoPal Forum auf NaviFriends.com] | *[http://www.navifriends.com/phpbbForum/viewforum.php?f=78&sid=00eb392f68290336f658539a1bcfc19e Link zum Medion GoPal Forum auf NaviFriends.com] | ||
− | *[http://md96050.netfirms.com/ FAQ zum PNA465] | + | *[http://md96050.netfirms.com/ netfirms.com - FAQ zum PNA465] |
− | *[http://wince.dentro.info/ Programm zur direkten Koordinaten-Eingabe (z.B. zum GeoCaching) | + | *[http://wince.dentro.info/ dentro.info - Programm zur direkten Koordinaten-Eingabe] (z. B. zum GeoCaching) |
− | *[http://www.jostjahn.de/mdpna500t.html Viel Lesestoff rund um Zusatzsoftware auf dem Medion PNA - Alt aber gut | + | *[http://www.jostjahn.de/mdpna500t.html .jostjahn.de] Viel Lesestoff rund um Zusatzsoftware auf dem Medion PNA - Alt aber gut |
+ | == Quellen == | ||
+ | <references /> | ||
[[Category:GoPal_2.0_Skinning]] | [[Category:GoPal_2.0_Skinning]] |
Aktuelle Version vom 5. Februar 2020, 18:34 Uhr
GoPal 2.0 ist eine Navigationssoftware für Windows CE basierende Endgeräte (PDA, PNA) des deutschen Herstellers Medion. Den Benutzern wird über eine einfache Scriptsprache die Möglichkeit gegeben, das Aussehen seinen persönlichen Bedürfnissen entsprechend anzupassen und weitere Funktionalitäten auf der Benutzeroberfläche z. B. durch Buttons zu integrieren. Dieses Verfahren wird mit "Skining" bezeichnet.
Es gibt verschiedene Varianten der Software:
Hier auf die einzelnen Features einzugehen ist nicht wirklich sinnig, deshalb gibt es ja extra eine GoPal 2.x Feature Übersicht.
Dieser Artikel soll eine Dokumentation Skin-Scriptsprache darstellen. Falls es Unterschiede zu den verschiedenen Varianten (PE, AE, ME, Hardware usw.) gibt, sollten diese gekennzeichnet werden.
Es wurde ein Problem beobachtet: Nach Änderungen der PFSkin.skn-Datei gab es Lesefehler auf der Speicherkarte. Sobald die originale Skin-Datei wieder eingespielt wurde, funktionierte es wieder. Fehlerhafte oder nicht "bestimmungsgemäße" Inhalte der Skin-Dateien können also zu unerwartetem Verhalten der GoPal-Software führen.[1]
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. Eine Bearbeitung der Dateien ist nur auf dem PC möglich. Dazu ist eine ActiveSync-Verbindung zw. PC und PNA herzustellen und aus dem PNA-Verz. (i. A. \My Flash Disk\navigation\Skin480x272\ (das letzte Verz. hängt von der Auflösung des jeweiligen PNA ab)) ist die zu ändernde Datei auf den PC zu kopieren (per Drag'n'Drop). Dort kann sie geändert werden (ACHTUNG, Backup nicht vergessen) und anschließend wird sie wieder zurück kopiert. GoPal muss neu gestartet werden, damit sich eine Änderung auswirkt.
Tipp: Es ist hilfreich, die Endung (Suffix) *.skn mit einem Texteditor zu verknüpfen, dann wird bei einem Doppelklick auf diese Datei gleichzeitig der entspr. Editor gestartet.
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:
{ Include: PFSpecial.skn; Include: PFLang.skn; }
Defines
Hier werden Konstante definiert, die an den verschiedensten Stellen des Skins verwendet werden. Hier kommt der Include Datei PFSpecial.skn eine besondere Bedeutung zu.
Beispiel: Definition
MAP_ELEMENTS_TRANSPARENT_COLOR: 77,97,138,200;
Beispiel: Verwendung bei Objekten
BGColor: $MAP_ELEMENTS_TRANSPARENT_COLOR$;
Die Tragweite des Kommentars aus dem AE-Skin "Note: Only general defines may be defined here. Specific defines (colours, coordinates, etc.) must appear in PFSpecial.skn" ist allerdings zweifelhaft, da ein Großteil der Defines bei der PE-Version von der PFSpecial.skn in die PFSkin.skn verschoben wurden.
Referenz auf Grafiken
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
Über den Block Fonts können 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
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 kann 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 heißen) eigentlich in der Kartenansicht ändern möchte, kann versehentlich hier auskommen 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 und die Schriftfarbe.
Beispiel:
Background: 51,0,0,480,272; BGColor: $AREA_BG_COLOR$; 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
(ist noch nicht vollständig)
Maske | Beschreibung | |
---|---|---|
TrafficWarningDetailArea | Verkehrsmeldungs-Details | |
LoadFavoritesFromExternalView | .... irgendwas mit der Anzeige der Favoriten | |
SpeedLimitWarningSettingsView | Settings für die Höchstgeschwindigkeitswarnung | |
PsfAuthentificationStartScreen | ?? | |
PsfAuthtificationSuccessScreen | ?? | |
PsfAuthtificationErrorScreen | ?? | |
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: ???? (derzeit nicht aktiv bzw. verdeckt) //RouteSimulationButton / Button: Routensimulation (derzeit nicht aktiv bzw. verdeckt) StopGuidanceButton / Button: Zielführung stoppen | |
MapMenuSettings1Subform | Aufruf über den unteren rechten Button in der Maske selbst
noch nicht weiter detailliert | |
PreferredPetrolArea |
noch nicht weiter detailliert | |
MapMenuSettings2Subform |
noch nicht weiter detailliert | |
MapMenuSettings3Subform |
noch nicht weiter detailliert | |
GotoView |
noch nicht weiter detailliert | |
TripInfoView |
noch nicht weiter detailliert | |
VoicInputScreen | Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen
noch nicht weiter detailliert | |
VoicInputResultScreen | Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen
noch nicht weiter detailliert | |
VoiceInputErrorScreen | Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen
noch nicht weiter detailliert | |
SelectFastPoiAmbitSearchCategory | ?
noch nicht weiter detailliert | |
SelectTimeZone | Auswahlmaske für Zeitzone
noch nicht weiter detailliert | |
SelectTimeZoneandDaylight | ?
noch nicht weiter detailliert | |
TimeZoneTextListSubForm | ?
noch nicht weiter detailliert | |
GettingStartedQuestionForm | ?
noch nicht weiter detailliert |
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/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 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)>
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 |
DoubleClickButton | Standard-Button mit 2 Action Möglichkeiten, Action und DoubleClickAction |
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 | ??? |
SimpleScrollBarFiller | ??? |
SkinButton | Eine weitere Button-Art (verwendet in Menus, Unterschied zum PushButton unklar) |
SkinContainer | Eine Zusammenfassung meherer Objekte (Icons, Texte, Scrollbars, etc.) die dann in verschiedene Masken(Screens) eingebunden werden können. Damit kann in jeder dieser Maske sicher gestellt werden, dass die eingebundenn Objekte immer an der gleichen Stelle stehen. |
SkinEditField | ??? |
SkinIcon | Ein Grafik-Objekt |
SkinScrollbarButton | ??? |
SkinText | Ein Text-Objekt |
StandardKeybdDisplay | ??? |
TextListBox | ??? |
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 (in PE-Version) |
DestinationSC.10248; | ohne Funktion (in PE-Version) |
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; | |
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; | |
ListMaintenance.15; | Download from MyMap24: Öffnet Dialog "Favoriten aktualisieren"?? |
ListMaintenance.15; | |
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; | |
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; | |
MapMenu.changetour; | ruft Route-Ändern auf |
MapMenu.choosemap; | |
MapMenu.Close; | |
MapMenu.dest; | |
MapMenu.dynMapAddStopover; | Zwischenziel einfügen ???? |
MapMenu.dynMapBack; | |
MapMenu.dynMapInfo; | |
MapMenu.dynMapNextItem; | |
MapMenu.dynMapPrevItem; | |
MapMenu.exit | |
MapMenu.fastcategory; | Einstellung der Kategorie für die Schnellsuche |
MapMenu.fastsearch; | Schnellsuche in der eingestellten Kategorie |
MapMenu.favouredgarage; | |
MapMenu.goto; | Gehe-Zu Button (ruft Routenplanung Auswahlmöglichkeit auf) |
MapMenu.gpsinfo; | |
MapMenu.hardwaresettings; | |
MapMenu.help; | |
MapMenu.info; | |
MapMenu.keyboard; | |
MapMenu.language; | |
MapMenu.leave; | |
MapMenu.locationplan; | Wegebeschreibung erzeugen |
MapMenu.main; | |
MapMenu.managedestinations; | Zielspeicher verwalten |
MapMenu.maxvelocity; | |
MapMenu.moveDown; | |
MapMenu.moveLeft; | |
MapMenu.moveRight; | |
MapMenu.moveUp; | |
MapMenu.music; | |
MapMenu.newdestination; | |
MapMenu.newtour; | Aufruf von Auswahlmenü "Routenplanung" |
MapMenu.open; | |
MapMenu.overview; | |
MapMenu.positioning; | |
MapMenu.presentation; | |
MapMenu.routeoptions; | ruft den Routen-Optionen Dialog auf |
MapMenu.routesimulation; | Routensimulation (derzeit nicht aktiv) |
MapMenu.saveposition; | akt. Position speichern |
MapMenu.selectiondestination; | |
MapMenu.selectionroute; | Aufruf von Auswahlmenü "Route" |
MapMenu.selectionsettings; | |
MapMenu.selectionview; | |
MapMenu.settings1; | |
MapMenu.settings2; | |
MapMenu.settings3; | |
MapMenu.startguidance; | Routenführung starten |
MapMenu.stopguidance; | Routenführung beenden |
MapMenu.telephone test | ??? |
MapMenu.timezone; | Aufruf der Zeitzonen-Einstellungen |
MapMenu.tmcoverview; | |
MapMenu.tmcsender; | TMC-Suchlauf |
MapMenu.trafficInfoDetail; | TMC-Infos |
MapMenu.tripinfo; | Routen-Info |
MapMenu.turntoggle; | |
MapMenu.video; | |
MapMenu.view1; | |
MapMenu.view2; | |
MapMenu.volume; | |
MapMenu.zoomIn; | in die Karte zoomen |
MapMenu.zoomOut; | aus der Karte zoomen |
MapTurnToggle.BackFromGPS; | |
MapTurnToggle.gps; | |
MapTurnToggle.Map; | |
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; | |
RdsTmc.selectPort; | |
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"; |
Code-Beispiele
In netfirms - FAQ zum MD96050 sind einige Code-Beispiele aufgeführt, die jedoch nur für den MD96050 gedacht sind. [2] Die folgende Code-Beispiele wurden jedoch auf einem MD96080 erfolgreich getestet.
Route Abbrechen-Knopf in der Kartenansicht
Der Route-Abbrechen-Knopf ist im serienmäßigen Skin reichlich versteckt untergebracht, das lenkt beim Fahren zu sehr ab. Hier eine kleine Anleitung, wie man mit "1-Klick-Technologie" den Button direkt in die Kartenansicht bekommt:
Zuerst in der PFSKin.skn nach MapViewArea
suchen, dann weiter runter blättern bis zu Scale
. Anschließend vor dem Scale
Abschnitt, aber nach dem abschließenden }
des vorherigen Abschnitts den folgenden Code einfügen:
StopGuidanceButton { Class: PushButton; Coordinates: 441,180,30,30; //x von links, y von oben, breite, höhe Enabled: 23,0,150,30,30,0,0; Pushed: 23,0,150,30,30,0,2; PYOffset: 0; BGMode: transparent; FocussedColor: 0,0,0,0; DisableFocus: yo; Wordbreak: yes; KPush: enter,left; Action: MapMenu.stopguidance; }
Höhenanzeige im Kompassanzeigemodus
Für die Höhenanzeige im Kompassanzeigemodus reicht es in der PFSkin.skn folgenden Code
HeightText { ID: 10150; Class: SkinText; TextId: 20151; Background: 214,0,0,80,30; Coordinates: 305,2,80,30; // urspruenglich: $COMPASS_HEIGHT_TEXT_COORDS$; TextCoordinates: 5,0,70,30; // -> keine Anzeige BGMode: opaque; TextColor: 0,0,0; HAlign: left; VAlign: center; Font: 6; Visibility: $COMPASS_HEIGHT_VISIBILITY$; } m_height { ID: 10007; Class: SkinText; Text: "^F2^%s ^F6^%s"; Coordinates: 331,9,65,30; // urspruenglich: $COMPASS_HEIGHT_VALUE_COORDS$; BGMode: Transparent; // ->keine Anzeige HAlign: center; Font: 2; }
anstelle
HeightText { ID: 10150; Class: SkinText; TextId: 20151; Coordinates: $COMPASS_HEIGHT_TEXT_COORDS$; TextCoordinates: 2,4,80,16; BGColor: 255,255,255; BGMode: opaque; TextColor: 0,0,0; HAlign: center; VAlign: center; Font: 6; Border: 1; BorderColor: 0,0,0; } m_height { ID: 10007; Class: SkinText; Text: "^F2^%s ^F6^%s"; Coordinates: $COMPASS_HEIGHT_VALUE_COORDS$; BGMode: Transparent; HAlign: center; Font: 2; }
einzusetzen. An der PFSpecial.skn muss nichts geändert werden.
Tastatur-Anzeige als Qwertz-Standard
Für die Tastatur-Anzeige als Qwertz-Standard reicht es, in der PFSkin.skn folgenden Code
KeyboardBlockAlphaBig { Coordinates: 0,0,480,272; BGMode: transparent; TextColor: 0,0,0; DeleteButton { ID: 913; Class: SecondMeaningButton; Coordinates: 430,4,46,28; Enabled: 190,0,0,46,28,255,0,255; Focussed: 190,0,28,46,28,255,0,255; Pushed: 190,0,56,46,28,255,0,255; Icon: 196,0,0,23,21,20,3,255,0,255; PYOffset: 1; BGMode: Transparent; Semantics: down; } // VoiceInputButton // { // ID: 10262; // Class: PushButton; // Coordinates: $RIGHT_CORNER_BUTTON_COORDS$; // Enabled: 181,80,0,40,40,255,0,255; // Icon: 195,0,0,30,30,9,9,255,0,255; // PYOffset: 1; // BGMode: Transparent; // Font: 7; // HAlign: center; // VAlign: center; // Semantics: down; // SetFocusOnLoad: yo; // // Visibility: hidden; // Action: DestinationSC.10262; // } QButton { Class: PushButton; Coordinates: $STANDARD_KEY_1x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "Q^F7^"; Letter: Q; } WButton { Class: PushButton; Coordinates: $STANDARD_KEY_2x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "W^F7^"; Letter: W; } EButton { Class: PushButton; Coordinates: $STANDARD_KEY_3x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "E^F7^"; Letter: E; } RButton { Class: PushButton; Coordinates: $STANDARD_KEY_4x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "R^F7^"; Letter: R; } TButton { Class: PushButton; Coordinates: $STANDARD_KEY_5x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "T^F7^"; Letter: T; } ZButton { Class: PushButton; Coordinates: $STANDARD_KEY_6x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "Z^F7^"; Letter: Z; } UButton { Class: PushButton; Coordinates: $STANDARD_KEY_7x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "U^F7^"; Letter: U; } IButton { Class: PushButton; Coordinates: $STANDARD_KEY_8x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "I^F7^"; Letter: I; } OButton { Class: PushButton; Coordinates: $STANDARD_KEY_9x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "O^F7^"; Letter: O; } PButton { Class: PushButton; Coordinates: $STANDARD_KEY_10x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "P^F7^"; Letter: P; } AButton { Class: PushButton; Coordinates: $STANDARD_KEY_1x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "A^F7^"; Letter: A; } SButton { Class: PushButton; Coordinates: $STANDARD_KEY_2x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "S^F7^"; Letter: S; } DButton { Class: PushButton; Coordinates: $STANDARD_KEY_3x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "D^F7^"; Letter: D; } FButton { Class: PushButton; Coordinates: $STANDARD_KEY_4x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "F^F7^"; Letter: F; } GButton { Class: PushButton; Coordinates: $STANDARD_KEY_5x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "G^F7^"; Letter: G; } HButton { Class: PushButton; Coordinates: $STANDARD_KEY_6x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "H^F7^"; Letter: H; } JButton { Class: PushButton; Coordinates: $STANDARD_KEY_7x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "J^F7^"; Letter: J; } KButton { Class: PushButton; Coordinates: $STANDARD_KEY_8x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "K^F7^"; Letter: K; } LButton { Class: PushButton; Coordinates: $STANDARD_KEY_9x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "L^F7^"; Letter: L; } SymbolicButton { ID: 915; Class: PushButton; Coordinates: $STANDARD_KEY_10x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; HAlign: center; VAlign: center; Semantics: down; //Text: "^F7^^n^123"; Icon: 202,0,0,30,30,9,9; BlockSkin: KeyboardBlockSymbolic; } ShiftButton { ID: 911; Class: PushButton; Coordinates: $STANDARD_KEY_1x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; HAlign: center; VAlign: center; Font: 7; //Text: "ÄÖ"; Icon: 202,0,60,30,30,9,9; Semantics: down; BlockSkin: KeyboardBlockLowerCase; } YButton { Class: PushButton; Coordinates: $STANDARD_KEY_2x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "Y^F7^"; Letter: Y; } XButton { Class: PushButton; Coordinates: $STANDARD_KEY_3x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "X^F7^"; Letter: X; } CButton { Class: PushButton; Coordinates: $STANDARD_KEY_4x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "C^F7^"; Letter: C; } VButton { Class: PushButton; Coordinates: $STANDARD_KEY_5x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "V^F7^"; Letter: V; } BButton { Class: PushButton; Coordinates: $STANDARD_KEY_6x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "B^F7^"; Letter: B; } NButton { Class: PushButton; Coordinates: $STANDARD_KEY_7x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "N^F7^"; Letter: N; } MButton { Class: PushButton; Coordinates: $STANDARD_KEY_8x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "M^F7^"; Letter: M; } Spc { Class: PushButton; Coordinates: $STANDARD_KEY_9x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; HAlign: center; VAlign: center; Semantics: down; Icon: 202,0,90,30,30,9,9; Letter: " "; } Minus { Class: PushButton; Coordinates: $STANDARD_KEY_10x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; HAlign: center; VAlign: center; Semantics: down; Text: "-^F7^"; Letter: "-"; }
anstelle
KeyboardBlockAlphaBig { Coordinates: 0,0,480,272; BGMode: transparent; TextColor: 0,0,0; DeleteButton { ID: 913; Class: SecondMeaningButton; Coordinates: 430,4,46,28; Enabled: 190,0,0,46,28,255,0,255; Focussed: 190,0,28,46,28,255,0,255; Pushed: 190,0,56,46,28,255,0,255; Icon: 196,0,0,23,21,20,3,255,0,255; PYOffset: 1; BGMode: Transparent; Semantics: down; } // VoiceInputButton // { // ID: 10262; // Class: PushButton; // Coordinates: $RIGHT_CORNER_BUTTON_COORDS$; // Enabled: 181,80,0,40,40,255,0,255; // Icon: 195,0,0,30,30,9,9,255,0,255; // PYOffset: 1; // BGMode: Transparent; // Font: 7; // HAlign: center; // VAlign: center; // Semantics: down; // SetFocusOnLoad: yo; // // Visibility: hidden; // Action: DestinationSC.10262; // } AButton { Class: PushButton; Coordinates: $STANDARD_KEY_1x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "A^F7^"; Letter: A; } BButton { Class: PushButton; Coordinates: $STANDARD_KEY_2x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "B^F7^"; Letter: B; } CButton { Class: PushButton; Coordinates: $STANDARD_KEY_3x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "C^F7^"; Letter: C; } DButton { Class: PushButton; Coordinates: $STANDARD_KEY_4x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "D^F7^"; Letter: D; } EButton { Class: PushButton; Coordinates: $STANDARD_KEY_5x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "E^F7^"; Letter: E; } FButton { Class: PushButton; Coordinates: $STANDARD_KEY_6x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "F^F7^"; Letter: F; } GButton { Class: PushButton; Coordinates: $STANDARD_KEY_7x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "G^F7^"; Letter: G; } HButton { Class: PushButton; Coordinates: $STANDARD_KEY_8x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "H^F7^"; Letter: H; } IButton { Class: PushButton; Coordinates: $STANDARD_KEY_9x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "I^F7^"; Letter: I; } JButton { Class: PushButton; Coordinates: $STANDARD_KEY_10x1$; Enabled: $KEYPAD_LEFT_BUTTON_ENABLED$; Focussed: $KEYPAD_LEFT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_LEFT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "J^F7^"; Letter: J; } KButton { Class: PushButton; Coordinates: $STANDARD_KEY_1x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "K^F7^"; Letter: K; } LButton { Class: PushButton; Coordinates: $STANDARD_KEY_2x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "L^F7^"; Letter: L; } MButton { Class: PushButton; Coordinates: $STANDARD_KEY_3x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "M^F7^"; Letter: M; } NButton { Class: PushButton; Coordinates: $STANDARD_KEY_4x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "N^F7^"; Letter: N; } OButton { Class: PushButton; Coordinates: $STANDARD_KEY_5x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "O^F7^"; Letter: O; } PButton { Class: PushButton; Coordinates: $STANDARD_KEY_6x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "P^F7^"; Letter: P; } QButton { Class: PushButton; Coordinates: $STANDARD_KEY_7x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "Q^F7^"; Letter: Q; } RButton { Class: PushButton; Coordinates: $STANDARD_KEY_8x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "R^F7^"; Letter: R; } SButton { Class: PushButton; Coordinates: $STANDARD_KEY_9x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "S^F7^"; Letter: S; } TButton { Class: PushButton; Coordinates: $STANDARD_KEY_10x2$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "T^F7^"; Letter: T; } ShiftButton { ID: 911; Class: PushButton; Coordinates: $STANDARD_KEY_1x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; HAlign: center; VAlign: center; Font: 7; //Text: "ÄÖ"; Icon: 202,0,60,30,30,9,9; Semantics: down; BlockSkin: KeyboardBlockLowerCase; } UButton { Class: PushButton; Coordinates: $STANDARD_KEY_2x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "U^F7^"; Letter: U; } VButton { Class: PushButton; Coordinates: $STANDARD_KEY_3x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "V^F7^"; Letter: V; } WButton { Class: PushButton; Coordinates: $STANDARD_KEY_4x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "W^F7^"; Letter: W; } XButton { Class: PushButton; Coordinates: $STANDARD_KEY_5x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "X^F7^"; Letter: X; } YButton { Class: PushButton; Coordinates: $STANDARD_KEY_6x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "Y^F7^"; Letter: Y; } ZButton { Class: PushButton; Coordinates: $STANDARD_KEY_7x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; TextCoordinates: $STANDARD_KEY_TEXT_COORDS$; Semantics: down; Text: "Z^F7^"; Letter: Z; } Spc { Class: PushButton; Coordinates: $STANDARD_KEY_8x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; HAlign: center; VAlign: center; Semantics: down; Icon: 202,0,90,30,30,9,9; Letter: " "; } Minus { Class: PushButton; Coordinates: $STANDARD_KEY_9x3$; Enabled: $KEYPAD_RIGHT_BUTTON_ENABLED$; Focussed: $KEYPAD_RIGHT_BUTTON_FOCUSSED$; Pushed: $KEYPAD_RIGHT_BUTTON_PUSHED$; PYOffset: 1; BGMode: Transparent; HAlign: center; VAlign: center; Semantics: down; Text: "-^F7^"; Letter: "-"; }
einzusetzen. An der PFSpecial.skn muss nichts geändert werden.
StvO-Abfrage löschen
Um die StvO-Abfrage zu löschen, reicht es in der PFSkin.skn folgenden Code zu löschen, oder den Text in der ersten Zeile 'StVOArea' in z. B. '_StVOArea' umzubennen:
StVOArea { Background: 51,0,0,480,272,0,0; DefaultFont: 7; TitleBar { Class: SkinIcon; Coordinates: $TITLEBAR_CORDS$; BitmapReference: $TITLEBAR_ICON$; } ... NextButton { Class: PushButton; Coordinates: $RIGHT_CORNER_BUTTON_COORDS$; Enabled: $CORNER_BUTTON_ENABLED$; Pushed: $CORNER_BUTTON_PUSHED$; Disabled: $CORNER_BUTTON_DISABLED$; Icon: $OK_ICON$; //ok PYOffset: 2; DisableFocus: yo; Action: SettingSC.119; HKPush: $KEY_EVENT_OK$; } }
Aktivieren der MapGimmicks
Die Grafikdatei herunterladen und unter \My Flash Disk\Navigation\Skin480x272\PPSkin ablegen.
In der PFSkin.skn folgende Zeile:
//172: PPSkin\Map24ProgressIcon.png; //outdated
ersetzen durch
172: PPSkin\map_gimmick_plane_gopal_20.png;
In der MapViewArea einfügen (direkt nach dem VehicleBitmap Bereich):
MapGimmick0 //Star 1 { Class: NStateIconAnimation; Coordinates: 160,10,10,10; States: 8; BitmapReference1: 155,0,0,10,10,0,0; BitmapReference2: 155,0,10,10,10,0,0; BitmapReference3: 155,0,20,10,10,0,0; BitmapReference4: 155,0,30,10,10,0,0; BitmapReference5: 155,0,40,10,10,0,0; BitmapReference6: 155,0,50,10,10,0,0; BitmapReference7: 155,0,60,10,10,0,0; BitmapReference8: 155,0,70,10,10,0,0; CyclicRuns: 1; Visibility: Hidden; // Shown=Gezeigt bei jedem Wechsel von Menu auf Karte ShowOnMapState: 10; ShowOnDesignMode: 1; // Nachtmodus ShowOnStarting: yo; HideOnStopping: yo; AnimationArea: 160,20,260,60; } MapGimmick1 //Plane { Class: NStateIconAnimation; Coordinates: 240,25,185,46; States: 16; BitmapReference1: 172,0,0,185,46,0,0; BitmapReference2: 172,0,46,185,46,0,0; BitmapReference3: 172,0,92,185,46,0,0; BitmapReference4: 172,0,138,185,46,0,0; BitmapReference5: 172,0,184,185,46,0,0; BitmapReference6: 172,0,230,185,46,0,0; BitmapReference7: 172,0,276,185,46,0,0; BitmapReference8: 172,0,322,185,46,0,0; BitmapReference9: 172,0,368,185,46,0,0; BitmapReference10: 172,0,414,185,46,0,0; BitmapReference11: 172,0,460,185,46,0,0; BitmapReference12: 172,0,506,185,46,0,0; BitmapReference13: 172,0,552,185,46,0,0; BitmapReference14: 172,0,598,185,46,0,0; BitmapReference15: 172,0,644,185,46,0,0; BitmapReference16: 172,0,690,185,46,0,0; CyclicRuns: 1; Visibility: Hidden; // Shown=Gezeigt bei jedem Wechsel von Menu auf Karte ShowOnMapState: 10; ShowOnDesignMode: 0; // Tagmodus ShowOnStarting: yo; HideOnStopping: yo; } MapGimmick2 //Cloud { Class: NStateIconAnimation; Coordinates: 45,30,219,23; States: 19; BitmapReference1: 171,0,0,219,23,0,0; BitmapReference2: 171,0,23,219,23,0,0; BitmapReference3: 171,0,46,219,23,0,0; BitmapReference4: 171,0,69,219,23,0,0; BitmapReference5: 171,0,92,219,23,0,0; BitmapReference6: 171,0,115,219,23,0,0; BitmapReference7: 171,0,138,219,23,0,0; BitmapReference8: 171,0,161,219,23,0,0; BitmapReference9: 171,0,184,219,23,0,0; BitmapReference10: 171,0,207,219,23,0,0; BitmapReference11: 171,0,230,219,23,0,0; BitmapReference12: 171,0,253,219,23,0,0; BitmapReference13: 171,0,276,219,23,0,0; BitmapReference14: 171,0,299,219,23,0,0; BitmapReference15: 171,0,322,219,23,0,0; BitmapReference16: 171,0,345,219,23,0,0; BitmapReference17: 171,0,368,219,23,0,0; BitmapReference18: 171,0,391,219,23,0,0; BitmapReference19: 171,0,414,219,23,0,0; CyclicRuns: 1; Visibility: Hidden; ShowOnMapState: 10; ShowOnDesignMode: 0; ShowOnStarting: yo; HideOnStopping: yo; Interval: 750; }
Weblinks
- Differenz der PFSkin-Datei zwischen der GoPal-Version PE 2.0 Build 4042 und 2.3A Build 4332
- Link zum GoPal 2.0 PE Forum auf Pocketnavigation.de
- Link zum GoPal 2.0 AE Forum auf Pocketnavigation.de
- Link zum Medion GoPal Forum auf NaviFriends.com
- netfirms.com - FAQ zum PNA465
- dentro.info - Programm zur direkten Koordinaten-Eingabe (z. B. zum GeoCaching)
- .jostjahn.de Viel Lesestoff rund um Zusatzsoftware auf dem Medion PNA - Alt aber gut
Quellen
- ↑ Beitrag im Nachbarforum
- ↑ netfirms.com - FAQ zum MD96050, Stand: 24. November 2006 - 16.00 Uhr