GoPal 2.0 Skin: Unterschied zwischen den Versionen

Aus GoPalWiki
Wechseln zu: Navigation, Suche
K (DoubleClickButton aufgenommen)
K (Code-Beispiele)
 
(51 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''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 "Skin" 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.  
<br /><br />
 
Es gibt verschiedene Varianten der Software:
 
*[[GoPal ME]] - Medium Edition
 
*[[GoPal AE]] - Advanced Edition
 
*[[GoPal PE]] - Premium Edition <br />
 
Hier auf die einzelnen Features einzugehen ist nicht wirklich sinnig - deshalb gibt es ja extra eine [[GoPal 2.x Feature Übersicht]].
 
  
 +
Es gibt verschiedene Varianten der Software:
 +
*[[GoPal ME]] - Medium Edition
 +
*[[GoPal AE]] - Advanced 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.
 +
Falls es Unterschiede zu den verschiedenen Varianten (PE, AE, ME, Hardware usw.) gibt, sollten diese gekennzeichnet werden.
  
Dieser Artikel soll eine Dokumentation Skin-Scriptsprache darstellen. Falls es Unterschiede zu den verschiedenen Varianten (PE, AE, ..) 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>
  
=Wichtig=
+
== Grundsätzlicher Aufbau der Skin-Dateien ==
Es wurde ein [http://www.pocketnavigation.de/board/thread.php?postid=1447462#post1447462 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.
 
  
== 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 zurück kopiert. GoPal muss neu gestartet werden, damit sich eine Änderung auswirkt.  
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.
+
'''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.  
  
=== Include-Dateien ===
+
Die Dateien sind strukturiert aufgebaut. Jeder Block wird durch einen Bezeichner eingeleitet und die Definitionen dieses Objektes sind in geschweifte Klammern eingebettet.
  
Im Block Includes können andere Skin-Dateien eingebunden werden.
+
=== Include-Dateien ===
  
Beispiel:
+
Im Block Includes können andere Skin-Dateien eingebunden werden.
Includes
+
 
 +
Beispiel:  
 
  {
 
  {
 
  Include: PFSpecial.skn;
 
  Include: PFSpecial.skn;
Zeile 30: Zeile 30:
 
  }
 
  }
  
=== Defines ===
+
=== 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:
+
 
 +
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;
  
Definition:              MAP_ELEMENTS_TRANSPARENT_COLOR: 77,97,138,200;
+
Beispiel: Verwendung bei Objekten
+
    BGColor: $MAP_ELEMENTS_TRANSPARENT_COLOR$;  
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.
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.&#x202f;B. bei der Definition von Buttons verwiesen werden, so dass die referenzierte Grafik angezeigt wird.  
  
=== Referenz auf Grafiken ===
+
Beispiel: Bitmaps  
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;
 
  2: PPSkin\SplashScreen.png;
  3: PPSkin\CornerButtons.png;                  //outdated
+
  3: PPSkin\CornerButtons.png;                  //outdated
 
  4: PPSkin\button_icons.png;
 
  4: PPSkin\button_icons.png;
 
  5: PPSkin\About.png;
 
  5: PPSkin\About.png;
Zeile 52: Zeile 56:
 
  }
 
  }
  
=== Schriftarten definieren ===
+
=== 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:
+
Ü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.  
Fonts
+
 
 +
Beispiel: '''Fonts'''
 
  {
 
  {
 
  0: Arial,18;            // Original Font VERDANA    //Normal text
 
  0: Arial,18;            // Original Font VERDANA    //Normal text
 
  1: Arial,23,BOLD;      // Original Font VERDANA    //For titles
 
  1: Arial,23,BOLD;      // Original Font VERDANA    //For titles
 
  2: Arial,16,BOLD;      // Original Font VERDANA    //Normal text
 
  2: Arial,16,BOLD;      // Original Font VERDANA    //Normal text
  3: Arial,18,BOLD; // Original Font VERDANA //Used in TurnByTurnArea
+
  3: Arial,18,BOLD; // Original Font VERDANA   //Used in TurnByTurnArea
 
  4: Arial,15;            // Original Font VERDANA
 
  4: Arial,15;            // Original Font VERDANA
 
  5: ArialNarrow,18;
 
  5: ArialNarrow,18;
Zeile 69: Zeile 74:
 
  10: Arial,16,BOLD;      // Original Font VERDANA    // Used for Hybrid License Dlg.
 
  10: Arial,16,BOLD;      // Original Font VERDANA    // Used for Hybrid License Dlg.
 
  11: Arial,21,BOLD;      // Original Font VERDANA    // Used for infos in map.
 
  11: Arial,21,BOLD;      // Original Font VERDANA    // Used for infos in map.
  12: Arial,14,BOLD; // Original Font VERDANA // Used for ScaleElement
+
  12: Arial,14,BOLD; // Original Font VERDANA   // Used for ScaleElement
 
         ...usw...
 
         ...usw...
 
  }
 
  }
 
Über den Paramter <tt>Font:XXX</tt> kann dann auf die im Abschnitt <tt>Fonts</tt> definierten Textformatierungen zugegriffen werden.
 
  
=== Hauptbereiche ===
+
Über den Paramter <tt>Font:XXX</tt> kann dann auf die im Abschnitt <tt>Fonts</tt> definierten Textformatierungen zugegriffen werden.
==== 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.
+
=== 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.<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 heißen) eigentlich in der Kartenansicht ändern möchte, kann versehentlich hier auskommen und wird seine vorgenommenen Änderungen dort nie wiederfinden.  
  
==== TurnByTurnArea - Die Pfeilansicht ====
+
==== GPSView - Die Kompassansicht  ====
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 heissen) 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.<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 bestehen aus einem bestimmten, für die universelle Handhabung wichtigen immer wiederkehrenden Aufbau.
+
==== Masken - Definitionen  ====
Dieses "Skelett" besteht aus:
 
  
1. '''Grundsätzlichen Definitionen''' für
+
Masken bestehen aus einem bestimmten, für die universelle Handhabung wichtigen immer wiederkehrenden Aufbau. Dieses "Skelett" besteht aus:
 
- den Hintergrund
 
- die Hintergrundfarbe
 
- den Darstellungsmodus
 
- die verwendete Schrift
 
- die Schriftfarbe
 
  
    Beispiel:  
+
1. '''Grundsätzlichen Definitionen'''<br />
 +
für  den Hintergrund, die Hintergrundfarbe, den Darstellungsmodus, die verwendete Schrift und die Schriftfarbe.<br />
 +
Beispiel:  
 
         Background: 51,0,0,480,272;
 
         Background: 51,0,0,480,272;
 
         BGColor: $AREA_BG_COLOR$;
 
         BGColor: $AREA_BG_COLOR$;
Zeile 106: Zeile 108:
 
         DefaultFont: 60;
 
         DefaultFont: 60;
 
         TextColor: 0,0,0;
 
         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.
 
5. '''Folge von Detail-Definitionen''', die den Inhalt der Maske festlegen.
 
Diese sind je nach Maske natürlich verschiedenartiger Natur.
 
  
== Auflistung der Masken-Definitionen. ==
+
2. '''Titelbar''' <br />
{|border="1"
+
Die Angabe in dieser Sektion referenziert die Grafik für die Maskenüberschrift.
|Maske
+
 
|Beschreibung     ('''''ist noch nicht vollständig''''') 
+
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.
 +
 
 +
== Auflistung der Masken-Definitionen  ==
 +
(ist noch nicht vollständig)
 +
{| class="wikitable"
 +
! Maske !! Beschreibung  
 
|-
 
|-
|TrafficWarningDetailArea
+
| TrafficWarningDetailArea  
|Verkehrsmeldungs-Details
+
| Verkehrsmeldungs-Details
 
|-
 
|-
|LoadFavoritesFromExternalView
+
| LoadFavoritesFromExternalView  
|.... irgendwas mit der Anzeige der Favoriten
+
| .... irgendwas mit der Anzeige der Favoriten
 
|-
 
|-
|SpeedLimitWarningSettingsView
+
| SpeedLimitWarningSettingsView  
|Settings für die Höchstgeschwindigkeitswarnung
+
| Settings für die Höchstgeschwindigkeitswarnung
 
|-
 
|-
|PsfAuthentificationStartScreen
+
| PsfAuthentificationStartScreen  
|??
+
| ??
 
|-
 
|-
|PsfAuthtificationSuccessScreen
+
| PsfAuthtificationSuccessScreen  
|??
+
| ??  
|
+
|  
 
|-
 
|-
|PsfAuthtificationErrorScreen
+
| PsfAuthtificationErrorScreen  
|??
+
| ??
 
|-
 
|-
|MapMenuView1Subform  
+
| MapMenuView1Subform  
|Aufruf über den rechten Button in der Kartenansicht
+
| Aufruf über den rechten Button in der Kartenansicht  
 
  MapButton                  / Button: Kartenauswahl 2D/3D
 
  MapButton                  / Button: Kartenauswahl 2D/3D
 
  TrafficInformationButton  / Button: Verkehrsinformationen
 
  TrafficInformationButton  / Button: Verkehrsinformationen
 
  GPSInformationButton      / Button: Kompass
 
  GPSInformationButton      / Button: Kompass
 
  TripInfoButto              / Button: TripInfo  
 
  TripInfoButto              / Button: TripInfo  
  //DummyButton              / Button: !! liegt bzgl. der Koordinaten über dem TripInfoButton  
+
  //DummyButton              / Button:&nbsp;!! liegt bzgl. der Koordinaten über dem TripInfoButton  
 
  DirectionViewButton        / Button: Wechsel zur Pfeil-Navigation
 
  DirectionViewButton        / Button: Wechsel zur Pfeil-Navigation
  AppButton                  / Button: Weitere Anwendungen    ->(wechselt zum Hauptmenü)
+
  AppButton                  / Button: Weitere Anwendungen    -&gt;(wechselt zum Hauptmenü)
  //TelephoneButton          / Button: !! liegt bzgl. Koordinaten über dem TripInfoButton
+
  //TelephoneButton          / Button:&nbsp;!! liegt bzgl. Koordinaten über dem TripInfoButton
  //ExitNavigationButton    / Button: !! liegt bzgl. Koordinaten über dem DirectionViewButton
+
  //ExitNavigationButton    / Button:&nbsp;!! liegt bzgl. Koordinaten über dem DirectionViewButton
  //NextViewButton          / Button: !! liegt bzgl. Koordinaten über dem AppButton     
+
  //NextViewButton          / Button:&nbsp;!! liegt bzgl. Koordinaten über dem AppButton     
 
|-
 
|-
|MapMenuView2Subform
+
| MapMenuView2Subform  
|Derzeit nicht erreichbar, da der Button '''NextViewButton''' in der Maske '''MapMenuView1Subform''' auskommentiert ist.
+
| Derzeit nicht erreichbar, da der Button '''NextViewButton''' in der Maske '''MapMenuView1Subform''' auskommentiert ist.  
 
   MusicButton              / Button:  
 
   MusicButton              / Button:  
 
   VideoButton              / Button:  
 
   VideoButton              / Button:  
 
   NextViewButton            / Button: Zurück zu  '''MapMenuView1Subform'''
 
   NextViewButton            / Button: Zurück zu  '''MapMenuView1Subform'''
 
|-
 
|-
|MapMenuDestinationSubform
+
| MapMenuDestinationSubform  
|Aufruf über den linken M-Button in der Kartenansicht bzw. den unteren linken Button in der Maske selbst
+
| Aufruf über den linken M-Button in der Kartenansicht bzw. den unteren linken Button in der Maske selbst  
 
  NewDestinationButton      / Button: neues Ziel eingeben
 
  NewDestinationButton      / Button: neues Ziel eingeben
 
  FastSearchButton          / Button: Schnellsuche in der eingestellten Kategorie
 
  FastSearchButton          / Button: Schnellsuche in der eingestellten Kategorie
Zeile 171: Zeile 176:
 
  ManageDestinationsButton  / Button: Zielspeicher verwalten
 
  ManageDestinationsButton  / Button: Zielspeicher verwalten
 
|-
 
|-
|MapMenuRoutingSubform
+
| MapMenuRoutingSubform  
|Aufruf über den unteren mittleren Button in der Maske selbst
+
| Aufruf über den unteren mittleren Button in der Maske selbst  
 
  GotoButton                / Button: Gehe zu ....
 
  GotoButton                / Button: Gehe zu ....
 
  LocationPlanButton        / Button: Wegbeschreibung  
 
  LocationPlanButton        / Button: Wegbeschreibung  
 
  ChangeTourButton          / Button: Route ändern
 
  ChangeTourButton          / Button: Route ändern
 
  RouteOptionsButton        / Button: Routenoptionen
 
  RouteOptionsButton        / Button: Routenoptionen
  //BlockSectionButton      / Button: ????            (derzeit nicht aktiv bzw. verdeckt)
+
  //BlockSectionButton      / Button:&nbsp;????            (derzeit nicht aktiv bzw. verdeckt)
 
  //RouteSimulationButton    / Button: Routensimulation (derzeit nicht aktiv bzw. verdeckt)
 
  //RouteSimulationButton    / Button: Routensimulation (derzeit nicht aktiv bzw. verdeckt)
 
  StopGuidanceButton        / Button: Zielführung stoppen
 
  StopGuidanceButton        / Button: Zielführung stoppen
 
|-
 
|-
|MapMenuSettings1Subform
+
| MapMenuSettings1Subform  
|Aufruf über den unteren rechten Button in der Maske selbst
+
| Aufruf über den unteren rechten Button in der Maske selbst  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|PreferredPetrolArea
+
| PreferredPetrolArea  
|
+
|  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|MapMenuSettings2Subform
+
| MapMenuSettings2Subform  
|
+
|  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|MapMenuSettings3Subform
+
| MapMenuSettings3Subform  
|
+
|  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|GotoView
+
| GotoView  
|
+
|  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|TripInfoView
+
| TripInfoView  
|
+
|  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|VoicInputScreen
+
| VoicInputScreen  
|Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen
+
| Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|VoicInputResultScreen
+
| VoicInputResultScreen  
|Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen
+
| Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|VoiceInputErrorScreen
+
| VoiceInputErrorScreen  
|Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen
+
| Wird derzeit nicht genutzt. Ggf. für spätere Erweiterungen  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|SelectFastPoiAmbitSearchCategory
+
| SelectFastPoiAmbitSearchCategory  
|?
+
| ?  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|SelectTimeZone
+
| SelectTimeZone  
|Auswahlmaske für Zeitzone
+
| Auswahlmaske für Zeitzone  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|SelectTimeZoneandDaylight
+
| SelectTimeZoneandDaylight  
|?
+
| ?  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|TimeZoneTextListSubForm
+
| TimeZoneTextListSubForm  
|?
+
| ?  
 
  '''noch nicht weiter detailliert '''
 
  '''noch nicht weiter detailliert '''
 
|-
 
|-
|GettingStartedQuestionForm
+
| GettingStartedQuestionForm  
|?
+
| ?  
'''noch nicht weiter detailliert '''
+
'''noch nicht weiter detailliert '''
 
|}
 
|}
  
== Verwendung von Objekten ==
+
== 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 / 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;
 
         Coordinates: 384,0,96,108;
Zeile 266: Zeile 275:
 
TTISubform ist der Container für das nachgeordnete Element VanishingTTIWarningButton, 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
+
:Die ersten beiden Werten geben die Position der linken oberen Ecke an:  
0 = Der Abstand von Oben
+
: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
+
:Die beiden letzten Werte geben die Größe an:  
108 = die Feldgröße nach unten
+
: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 VanishingTTIWarningButton:  
384 Pixel vom linken Rand
+
:384 Pixel vom linken Rand  
60 Pixel von oben
+
: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.  
Über die TextCoordinates kann speziell bei Text-Objekten der tatsächliche Text innerhalb des über die Coordinates definierten Hintergrundes pixelgenau positioniert werden. Beispiel:
+
 
 +
Beispiel:  
 
  TargetTimeText
 
  TargetTimeText
 
  {
 
  {
Zeile 287: Zeile 300:
 
         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.
 
  
=== HAlign/VAlign ===
+
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.
Ü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)
+
=== 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 ===
+
=== 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 ===
+
Ü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.  
Diese speziell für Buttons vorgesehen Eigenschaften bestimmen - entsprechend der unter [http://www.gopal-fan.de/wiki/index.php/GoPal_2.0_Skin#Icon 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 ===
+
=== Enabled/Focussed/Pushed/Disabled  ===
Mit der Eigenschaft Icon wird dem Objekt das darzustellende Symbol übergeben. Die verfügbaren Grafiken werden im Abschnitt [http://www.gopal-fan.de/wiki/index.php/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)>
+
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.
<br />
+
 
Beispiel:
+
*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 [[GoPal 2.0 Skin#Referenz_auf_Grafiken|Referenz_auf_Grafiken (Bitmaps)]] definiert und mit einer ID versehen.
 +
 
 +
Die Syntax lautet: Icon &lt;Grafik ID&gt;, &lt;X-Koord.&gt;, &lt;Y-Koord.&gt;, &lt;Größe-X&gt;, &lt;Größe-Y&gt;, &lt;X-Versatz&gt;, &lt;Y-Versatz&gt;, &lt;Transparenz (R, G, B)&gt;
 +
 
 +
Beispiel:  
 
       VolumeButton
 
       VolumeButton
 
  {
 
  {
Zeile 322: 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 &lt;R,G,B&gt; können optional definiert werden.
 +
 +
== Referenz  ==
  
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.
+
=== Class-Referenz  ===
  
== Referenz ==
+
Klassen bestimmen die Art eines Objektes. Jede Klasse hat bestimmte festgelegte Eigenschaften und Methoden, die jedes Objekt dieser Klasse übernimmt.  
=== 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.  
 
  
{|border="1"
+
Beispiel: <code>Class: PushButton;</code> definiert einen Standardbutton.
|Class
+
{| class="wikitable"
|Beschreibung
+
! Class !! Beschreibung
 
|-
 
|-
|BitmapIconPanel
+
| BitmapIconPanel  
|Ein Pfeil-Element wie in der Pfeilansicht und in den Abbiegehinweisen der Kartenansicht
+
| Ein Pfeil-Element wie in der Pfeilansicht und in den Abbiegehinweisen der Kartenansicht
 
|-
 
|-
|CompassBitmapElement
+
| CompassBitmapElement  
|Der Kompass in der Kompassansicht
+
| Der Kompass in der Kompassansicht
 
|-
 
|-
|DropDown
+
| DropDown  
|Ein Button mit Dropdown-Liste
+
| Ein Button mit Dropdown-Liste
 
|-
 
|-
|DynMapItemDisplay
+
| DynMapItemDisplay  
|Der Anzeige-Container für die Fadenkreuz-Infos
+
| Der Anzeige-Container für die Fadenkreuz-Infos
 
|-
 
|-
|LauncherButton
+
| LauncherButton  
|Ein Button zum Starten externer Programme
+
| Ein Button zum Starten externer Programme
 
|-
 
|-
|LaunchFromRegistryButton
+
| LaunchFromRegistryButton  
|Ein Button, dessen Sichtbarkeit und verknüpfte Action abhängig vom Vorhandensein eines bestimmten Registry-Eintrages ist
+
| Ein Button, dessen Sichtbarkeit und verknüpfte Action abhängig vom Vorhandensein eines bestimmten Registry-Eintrages ist
 
|-
 
|-
|LetterRadioButton
+
| LetterRadioButton  
|???
+
| ???
 
|-
 
|-
|ListBox
+
| ListBox  
|Eine fortlaufende Liste mit Scrollbar
+
| Eine fortlaufende Liste mit Scrollbar
 
|-
 
|-
|ListBoxButton
+
| ListBoxButton  
|Ein Button innerhalb einer ListBox
+
| Ein Button innerhalb einer ListBox
 
|-
 
|-
|ManouevreDistanceElement
+
| ManouevreDistanceElement  
|Die Entfernungsanzeige bei den Abbiegehinweisen
+
| Die Entfernungsanzeige bei den Abbiegehinweisen
 
|-
 
|-
|MapView
+
| MapView  
|Die Kartenansicht
+
| Die Kartenansicht
 
|-
 
|-
|NStateIcon
+
| NStateIcon  
|Ein Icon mit Mehrfachanzeige (TMC-Status, Battery-Status etc.)
+
| Ein Icon mit Mehrfachanzeige (TMC-Status, Battery-Status etc.)
 
|-
 
|-
|NStateIconAnimation
+
| NStateIconAnimation  
|Eine Icon-Animation der MapGimmicks
+
| Eine Icon-Animation der MapGimmicks
 
|-
 
|-
|NStateButton
+
| NStateButton  
|Ein Button mit Mehrfachanzeige (SoundToggle, 3D/2D etc.)
+
| Ein Button mit Mehrfachanzeige (SoundToggle, 3D/2D etc.)
 
|-
 
|-
|PhoneKeybdDisplay
+
| PhoneKeybdDisplay  
|???
+
| ???
 
|-
 
|-
|ProgressBar
+
| ProgressBar  
|Ein Fortschrittsbalken (Routenberechnung etc.)
+
| Ein Fortschrittsbalken (Routenberechnung etc.)
 
|-
 
|-
|PushButton
+
| PushButton  
|Ein Standard-Button
+
| Ein Standard-Button
 
|-
 
|-
|DoubleClickButton
+
| DoubleClickButton  
|Standard-Button mit 2 Action Möglichkeiten, Action und DoubleClickAction
+
| Standard-Button mit 2 Action Möglichkeiten, Action und DoubleClickAction
 
|-
 
|-
|RadioButton
+
| RadioButton  
|Ein Button aus einer Gruppe von Option-Buttons
+
| Ein Button aus einer Gruppe von Option-Buttons
 
|-
 
|-
|RoadIconElement
+
| RoadIconElement  
|Das kleine Straßenschild in den Abbiegehinweisen
+
| Das kleine Straßenschild in den Abbiegehinweisen
 
|-
 
|-
|ScaleElement
+
| ScaleElement  
|Der Kartenmaßstab
+
| Der Kartenmaßstab
 
|-
 
|-
|SecondMeaningButton
+
| SecondMeaningButton  
|Der Delete-Button im Keyboard
+
| Der Delete-Button im Keyboard
 
|-
 
|-
|SignPostContainer
+
| SignPostContainer  
|Der Container für die Abbiegehinweise
+
| Der Container für die Abbiegehinweise
 
|-
 
|-
|SimpleScrollbar
+
| SimpleScrollbar  
|???
+
| ???
 
|-
 
|-
|SimpleScrollBarFiller
+
| SimpleScrollBarFiller  
|???
+
| ???
 
|-
 
|-
|SkinButton
+
| SkinButton  
|Eine weitere Button-Art (verwendet in Menus, Unterschied zum PushButton unklar)
+
| Eine weitere Button-Art (verwendet in Menus, Unterschied zum PushButton unklar)
 
|-
 
|-
|SkinContainer
+
| 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.
+
| 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
+
| SkinEditField  
|???
+
| ???
 
|-
 
|-
|SkinIcon
+
| SkinIcon  
|Ein Grafik-Objekt
+
| Ein Grafik-Objekt
 
|-
 
|-
|SkinScrollbarButton
+
| SkinScrollbarButton  
|???
+
| ???
 
|-
 
|-
|SkinText
+
| SkinText  
|Ein Text-Objekt
+
| Ein Text-Objekt
 
|-
 
|-
|StandardKeybdDisplay
+
| StandardKeybdDisplay  
|???
+
| ???
 
|-
 
|-
|TextListBox
+
| TextListBox  
|???
+
| ???
 
|-
 
|-
|ToggleButton
+
| ToggleButton  
|Ein Schalter-Button mit 2 Zustandsicons
+
| Ein Schalter-Button mit 2 Zustandsicons
 
|-
 
|-
|TriStateButton
+
| TriStateButton  
|Ein Schalter-Button mit 3 Zustandsicons
+
| Ein Schalter-Button mit 3 Zustandsicons
 
|-
 
|-
|VanishingCalcProgressBox
+
| VanishingCalcProgressBox  
|Der Fortschrittsbalken bei der Routenberechnung
+
| Der Fortschrittsbalken bei der Routenberechnung
 
|-
 
|-
|VanishingErrorBox
+
| VanishingErrorBox  
|Die Fehlermeldungs-Box
+
| Die Fehlermeldungs-Box
 
|-
 
|-
|VanishingTTIWarningButton
+
| VanishingTTIWarningButton  
|Die Verkehrswarnungs-Anzeige
+
| Die Verkehrswarnungs-Anzeige
 
|}
 
|}
  
=== Action-Referenz ===
+
=== Action-Referenz ===
 +
 
 
Über Aktionen können Buttons mit einer Funktionalität belegt werden.  
 
Über Aktionen können Buttons mit einer Funktionalität belegt werden.  
Beispiel: <tt>Action: SettingSC.100;</tt>  erhöht die Sprachlautstärke.
 
  
{|border="1"
+
Beispiel: <tt>Action: SettingSC.100;</tt> erhöht die Sprachlautstärke.
|Action
+
{| class="wikitable" border="1"
|Beschreibung  .... '''''bitte alphabetisch sortiert auflisten'''''
 
 
|-
 
|-
|DestinationSC.10070;
+
! Action
|Startpunkt ändern
+
! Beschreibung .... ''bitte alphabetisch sortiert auflisten''
 
|-
 
|-
|DestinationSC.10071;
+
| DestinationSC.10070;  
|Ziel hinzufügen (immer an's Ende der Liste)
+
| Startpunkt ändern
 
|-
 
|-
|DestinationSC.10085;
+
| DestinationSC.10071;  
|
+
| Ziel hinzufügen (immer an's Ende der Liste)
 
|-
 
|-
|DestinationSC.10248;
+
| DestinationSC.10085;  
|
+
| Umschaltung zu Routenoptionen (in PE-Version)
 
|-
 
|-
|DestinationSC.10249;
+
| DestinationSC.10248;  
|
+
| ohne Funktion (in PE-Version)
 
|-
 
|-
|DestinationSC.10260;
+
| DestinationSC.10249;  
|City-/StreetMatchesOne-Button -> vielleicht der "Alle Treffer anzeigen" Button bei der Orts-/Straßenauswahl mit den gefundenen Übereinstimmungen?
+
|  
 
|-
 
|-
|DestinationSC.10262
+
| DestinationSC.10260;
|
+
| City-/StreetMatchesOne-Button -&gt; vielleicht der "Alle Treffer anzeigen" Button bei der Orts-/Straßenauswahl mit den gefundenen Übereinstimmungen?
 
|-
 
|-
|DestinationSC.10266;
+
| DestinationSC.10262
|
+
|  
 
|-
 
|-
|DestinationSC.10272;
+
| DestinationSC.10266;  
|
+
|  
 
|-
 
|-
|DestinationSC.10274;
+
| DestinationSC.10272;  
|StreetMatchesOne-Button -> vielleicht der 1. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen?
+
|  
 
|-
 
|-
|DestinationSC.10275;
+
| DestinationSC.10274;  
|StreetMatchesOne-Button -> vielleicht der 2. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen?
+
| StreetMatchesOne-Button -&gt; vielleicht der 1. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen?
 
|-
 
|-
|DestinationSC.10276;
+
| DestinationSC.10275;  
|StreetMatchesOne-Button -> vielleicht der 3. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen?
+
| StreetMatchesOne-Button -&gt; vielleicht der 2. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen?
 
|-
 
|-
|DestinationSC.10277;
+
| DestinationSC.10276;  
|CityMatchesOne-Button -> vielleicht der 1. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen?
+
| StreetMatchesOne-Button -&gt; vielleicht der 3. blaue Button bei der Straßenauswahl mit den gefundenen Übereinstimmungen?
 
|-
 
|-
|DestinationSC.10278;
+
| DestinationSC.10277;  
|CityMatchesOne-Button -> vielleicht der 2. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen?
+
| CityMatchesOne-Button -&gt; vielleicht der 1. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen?
 
|-
 
|-
|DestinationSC.10279;
+
| DestinationSC.10278;  
|CityMatchesOne-Button -> vielleicht der 3. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen?
+
| CityMatchesOne-Button -&gt; vielleicht der 2. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen?
 
|-
 
|-
|DestinationSC.10280;
+
| DestinationSC.10279;  
|
+
| CityMatchesOne-Button -&gt; vielleicht der 3. blaue Button bei der Ortsauswahl mit den gefundenen Übereinstimmungen?
 
|-
 
|-
|DestinationSC.10281;
+
| DestinationSC.10280;  
|
+
|  
 
|-
 
|-
|DestinationSC.10282;
+
| DestinationSC.10281;  
|
+
|  
 
|-
 
|-
|DestinationSC.10727;
+
| DestinationSC.10282;  
|
+
|  
 
|-
 
|-
|DestinationSC.301;
+
| DestinationSC.10727;  
|
+
|  
 
|-
 
|-
|DestinationSC.302;
+
| DestinationSC.301;  
|
+
|  
 
|-
 
|-
|DestinationSC.303;
+
| DestinationSC.302;  
|
+
|  
 
|-
 
|-
|DestinationSC.351
+
| DestinationSC.303;
|
+
|  
 
|-
 
|-
|DestinationSC.400;
+
| DestinationSC.351
|
+
|  
 
|-
 
|-
|DestinationSC.401;
+
| DestinationSC.400;  
|
+
|  
 
|-
 
|-
|DestinationSC.402;
+
| DestinationSC.401;  
|
+
|  
 
|-
 
|-
|DestinationSC.404
+
| DestinationSC.402;
|
+
|  
 
|-
 
|-
|DestinationSC.405;
+
| DestinationSC.404
|
+
|  
 
|-
 
|-
|DestinationSC.58;
+
| DestinationSC.405;  
|Vorblättern (next) ????
+
|  
 
|-
 
|-
|DestinationSC.59;
+
| DestinationSC.58;  
|
+
| Vorblättern (next)&nbsp;????
 
|-
 
|-
|DestinationSC.65
+
| DestinationSC.59;
|
+
|  
 
|-
 
|-
|DestinationSC.65;
+
| DestinationSC.65  
|Zurückblättern oder Cancel-Button?????
+
|  
 
|-
 
|-
|DestinationSC.65;
+
| DestinationSC.65;  
|
+
| Zurückblättern oder Cancel-Button?????
 
|-
 
|-
|DestinationSC.73;
+
| DestinationSC.65;  
|
+
|  
 
|-
 
|-
|DestinationSC.76;
+
| DestinationSC.73;  
|Cancel Button im "Route fortsetzen" Menü. Wird auch benutzt, um die Zielübernahme aus Polyglott abzubrechen.
+
|  
 
|-
 
|-
|DestinationSC.77;
+
| DestinationSC.76;  
|o.k. Button im "Route fortsetzen" Menü. Wird auch benutzt, um ein aus den Polyglott übernommenes Ziel zu bestätigen -> startet die Routenberechnung.
+
| Cancel Button im "Route fortsetzen" Menü. Wird auch benutzt, um die Zielübernahme aus Polyglott abzubrechen.
 
|-
 
|-
|DestinationSC.80;
+
| DestinationSC.77;  
|Connect-Button ?????
+
| o.k. Button im "Route fortsetzen" Menü. Wird auch benutzt, um ein aus den Polyglott übernommenes Ziel zu bestätigen -&gt; startet die Routenberechnung.
 
|-
 
|-
|DestinationSC.81;
+
| DestinationSC.80;  
|
+
| Connect-Button&nbsp;?????
 
|-
 
|-
|DestinationSC.leavelocation;
+
| DestinationSC.81;  
|
+
|  
 
|-
 
|-
|DestinationSC.next;
+
| DestinationSC.leavelocation;  
|Vorblättern (next) ????
+
|  
 
|-
 
|-
|DestinationSC.openkeyboard
+
| DestinationSC.next;
|Tastatur öffnen ????
+
| Vorblättern (next)&nbsp;????
 
|-
 
|-
|DestinationSC.recenterlocation;
+
| DestinationSC.openkeyboard
|Standort zentrieren ????
+
| Tastatur öffnen&nbsp;????
 
|-
 
|-
|DestinationSC.showlocation;
+
| DestinationSC.recenterlocation;  
|Standort anzeigen ????
+
| Standort zentrieren&nbsp;????
 
|-
 
|-
|DestinationSC.tourcalculation;
+
| DestinationSC.showlocation;  
|Route berechnen ????
+
| Standort anzeigen&nbsp;????
 
|-
 
|-
|DestinationSC.tourcancel;
+
| DestinationSC.tourcalculation;  
|
+
| Route berechnen&nbsp;????
 
|-
 
|-
|DestinationSC.tourelementdelete;
+
| DestinationSC.tourcancel;  
|Routenpunkt löschen ????
+
|  
 
|-
 
|-
|DestinationSC.tourelementdown;
+
| DestinationSC.tourelementdelete;  
|Routenpunkt nach unten verschieben ????
+
| Routenpunkt löschen&nbsp;????
 
|-
 
|-
|DestinationSC.tourelementup;
+
| DestinationSC.tourelementdown;  
|Routenpunkt nach oben verschieben ????
+
| Routenpunkt nach unten verschieben&nbsp;????
 
|-
 
|-
|DestinationSC.touroptimize;
+
| DestinationSC.tourelementup;  
|Route optimieren ????
+
| Routenpunkt nach oben verschieben&nbsp;????
 
|-
 
|-
|DestinationSC.TourPlanLoad;
+
| DestinationSC.touroptimize;  
|Route laden ????
+
| Route optimieren&nbsp;????
 
|-
 
|-
|DestinationSC.TourPlanSav;
+
| DestinationSC.TourPlanLoad;  
|Route speichern ????
+
| Route laden&nbsp;????
 
|-
 
|-
|Dialer
+
| DestinationSC.TourPlanSav;
|Bluetooth-Menü aufrufen
+
| Route speichern&nbsp;????
 
|-
 
|-
|KeyEvent.Enter;
+
| Dialer
|Selektieren und nächster ?????
+
| Bluetooth-Menü aufrufen
 
|-
 
|-
|LastPromptRepeat;
+
| KeyEvent.Enter;  
|Letzte Eingabe wiederholen ????
+
| Selektieren und nächster&nbsp;?????
 
|-
 
|-
|ListBox.AutoSwitchDropDown,0;
+
| LastPromptRepeat;  
|
+
| Letzte Eingabe wiederholen&nbsp;????
 
|-
 
|-
|ListBox.AutoSwitchDropDown,1;
+
| ListBox.AutoSwitchDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.CongestionByPassDropDown,0;
+
| ListBox.AutoSwitchDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.CongestionByPassDropDown,1;
+
| ListBox.CongestionByPassDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.CountryCodeData,0;
+
| ListBox.CongestionByPassDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.CountryCodeData,1;
+
| ListBox.CountryCodeData,0;  
|
+
|  
 
|-
 
|-
|ListBox.DayLightDropDown,0;
+
| ListBox.CountryCodeData,1;  
|
+
|  
 
|-
 
|-
|ListBox.DesignDropDown,0;
+
| ListBox.DayLightDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.DesignDropDown,1;
+
| ListBox.DesignDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.FerriesDropDown,0;
+
| ListBox.DesignDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.FerriesDropDown,1;
+
| ListBox.FerriesDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.HWConfigTypeList,0;
+
| ListBox.FerriesDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.HWConfigTypeList,1;
+
| ListBox.HWConfigTypeList,0;  
|
+
|  
 
|-
 
|-
|ListBox.MapStateDropDown,0;
+
| ListBox.HWConfigTypeList,1;  
|
+
|  
 
|-
 
|-
|ListBox.MapStateDropDown,1;
+
| ListBox.MapStateDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.MetricImperialUnitsDropDown,0;
+
| ListBox.MapStateDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.MetricImperialUnitsDropDown,1;
+
| ListBox.MetricImperialUnitsDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.NaviTypeDropDown,0;
+
| ListBox.MetricImperialUnitsDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.NaviTypeDropDown,1;
+
| ListBox.NaviTypeDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.OmitTollRoadsDropDown,0;
+
| ListBox.NaviTypeDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.OmitTollRoadsDropDown,1;
+
| ListBox.OmitTollRoadsDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.POICategoryList,0;
+
| ListBox.OmitTollRoadsDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.POICategoryList,1;
+
| ListBox.POICategoryList,0;  
|
+
|  
 
|-
 
|-
|ListBox.PowersaveDropDown,0;
+
| ListBox.POICategoryList,1;  
|
+
|  
 
|-
 
|-
|ListBox.PowersaveDropDown,1;
+
| ListBox.PowersaveDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.RoadClass0DropDown,0;
+
| ListBox.PowersaveDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.RoadClass0DropDown,1;
+
| ListBox.RoadClass0DropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.RouteTypeDropDown,0;
+
| ListBox.RoadClass0DropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.RouteTypeDropDown,1;
+
| ListBox.RouteTypeDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.SelectKbdDropDown,0;
+
| ListBox.RouteTypeDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.SelectModeDropDown,0;
+
| ListBox.SelectKbdDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.TimeFormatDropDown,0;
+
| ListBox.SelectModeDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.TimeFormatDropDown,1;
+
| ListBox.TimeFormatDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.TimeZoneDropDown,0;
+
| ListBox.TimeFormatDropDown,1;  
|
+
|  
 
|-
 
|-
|ListBox.TrafficWarningDropDown,0;
+
| ListBox.TimeZoneDropDown,0;  
|
+
|  
 
|-
 
|-
|ListBox.VInfoDropDown,1;
+
| ListBox.TrafficWarningDropDown,0;  
|
+
|  
 
|-
 
|-
|ListMaintenance.0;
+
| ListBox.VInfoDropDown,1;  
|"Back" Button
+
|  
 
|-
 
|-
|ListMaintenance.1;
+
| ListMaintenance.0;  
|
+
| "Back" Button
 
|-
 
|-
|ListMaintenance.10;
+
| ListMaintenance.1;  
|einen letzten Ort löschen
+
|  
 
|-
 
|-
|ListMaintenance.11;
+
| ListMaintenance.10;  
|alle letzten Orte löschen
+
| einen letzten Ort löschen
 
|-
 
|-
|ListMaintenance.13;
+
| ListMaintenance.11;  
|
+
| alle letzten Orte löschen
 
|-
 
|-
|ListMaintenance.14;
+
| ListMaintenance.13;  
|
+
|  
 
|-
 
|-
|ListMaintenance.15;
+
| ListMaintenance.14;  
|Download from MyMap24: Öffnet Dialog "Favoriten aktualisieren"??
+
|  
 
|-
 
|-
|ListMaintenance.15;
+
| ListMaintenance.15;  
|
+
| Download from MyMap24: Öffnet Dialog "Favoriten aktualisieren"??
 
|-
 
|-
|ListMaintenance.17;
+
| ListMaintenance.15;  
|ImportMyMap24??
+
|  
 
|-
 
|-
|ListMaintenance.2;
+
| ListMaintenance.17;  
|Favorit löschen
+
| ImportMyMap24??
 
|-
 
|-
|ListMaintenance.3;
+
| ListMaintenance.2;  
|Aufruf des Dialoges "Favorit umbenennen"
+
| Favorit löschen
 
|-
 
|-
|ListMaintenance.4;
+
| ListMaintenance.3;  
|Aufruf des Dialoges "Einen letzten Ort löschen"
+
| Aufruf des Dialoges "Favorit umbenennen"
 
|-
 
|-
|ListMaintenance.5;
+
| ListMaintenance.4;  
|Aufruf des Dialoges "Alle letzten Orte löschen"
+
| Aufruf des Dialoges "Einen letzten Ort löschen"
 
|-
 
|-
|ListMaintenance.8;
+
| ListMaintenance.5;  
|Eintrag umbenennen
+
| Aufruf des Dialoges "Alle letzten Orte löschen"
 
|-
 
|-
|ListMaintenance.9;
+
| ListMaintenance.8;  
|Favorit löschen
+
| Eintrag umbenennen
 
|-
 
|-
|MainMenu.1;
+
| ListMaintenance.9;  
|Exit-Button (zum Hauptauswahl-Menü)
+
| Favorit löschen
 
|-
 
|-
|MainMenu.5;
+
| MainMenu.1;  
|Zurück-Button; auch festgestellt wurde: Aufruf des Menüs "Sprachlautstärke"
+
| Exit-Button (zum Hauptauswahl-Menü)
 
|-
 
|-
|MainMenu.216;
+
| MainMenu.5;  
|Aufrufen des Hauptmenüs??
+
| Zurück-Button; auch festgestellt wurde: Aufruf des Menüs "Sprachlautstärke"
 
|-
 
|-
|MainMenu.217;
+
| MainMenu.216;  
|
+
| Aufrufen des Hauptmenüs??
 
|-
 
|-
|MapMenu.3d;
+
| MainMenu.217;  
|zwischen 3D und 2D umschalten
+
|  
 
|-
 
|-
|MapMenu.acPos;
+
| MapMenu.3d;  
|Aktuelle Position anzeigen ????
+
| zwischen 3D und 2D umschalten
 
|-
 
|-
|MapMenu.ambitsearch;
+
| MapMenu.acPos;  
|Umkreissuche
+
| Aktuelle Position anzeigen&nbsp;????
 
|-
 
|-
|MapMenu.autozoom;
+
| MapMenu.ambitsearch;  
|Automatischer Zoom ????
+
| Umkreissuche
 
|-
 
|-
|MapMenu.back;
+
| MapMenu.autozoom;  
|Zurück-Button (zur Kartenansicht)
+
| Automatischer Zoom&nbsp;????
 
|-
 
|-
|MapMenu.backPoiAmbitSearch;
+
| MapMenu.back;  
|
+
| Zurück-Button (zur Kartenansicht)
 
|-
 
|-
|MapMenu.blocksection;
+
| MapMenu.backPoiAmbitSearch;  
|
+
|  
 
|-
 
|-
|MapMenu.changetour;
+
| MapMenu.blocksection;  
|ruft Route-Ändern auf
+
|  
 
|-
 
|-
|MapMenu.choosemap;
+
| MapMenu.changetour;  
|
+
| ruft Route-Ändern auf
 
|-
 
|-
|MapMenu.Close;
+
| MapMenu.choosemap;  
|
+
|  
 
|-
 
|-
|MapMenu.dest;
+
| MapMenu.Close;  
|
+
|  
 
|-
 
|-
|MapMenu.dynMapAddStopover;
+
| MapMenu.dest;  
|Zwischenziel einfügen ????
+
|  
 
|-
 
|-
|MapMenu.dynMapBack;
+
| MapMenu.dynMapAddStopover;  
|
+
| Zwischenziel einfügen&nbsp;????
 
|-
 
|-
|MapMenu.dynMapInfo;
+
| MapMenu.dynMapBack;  
|
+
|  
 
|-
 
|-
|MapMenu.dynMapNextItem;
+
| MapMenu.dynMapInfo;  
|
+
|  
 
|-
 
|-
|MapMenu.dynMapPrevItem;
+
| MapMenu.dynMapNextItem;  
|
+
|  
 
|-
 
|-
|MapMenu.exit
+
| MapMenu.dynMapPrevItem;
|
+
|  
 
|-
 
|-
|MapMenu.fastcategory;
+
| MapMenu.exit
|Einstellung der Kategorie für die Schnellsuche
+
|  
 
|-
 
|-
|MapMenu.fastsearch;
+
| MapMenu.fastcategory;  
|Schnellsuche in der eingestellten Kategorie
+
| Einstellung der Kategorie für die Schnellsuche
 
|-
 
|-
|MapMenu.favouredgarage;
+
| MapMenu.fastsearch;  
|
+
| Schnellsuche in der eingestellten Kategorie
 
|-
 
|-
|MapMenu.goto;
+
| MapMenu.favouredgarage;  
|Gehe-Zu Button (ruft Routenplanung Auswahlmöglichkeit auf)
+
|  
 
|-
 
|-
|MapMenu.gpsinfo;
+
| MapMenu.goto;  
|
+
| Gehe-Zu Button (ruft Routenplanung Auswahlmöglichkeit auf)
 
|-
 
|-
|MapMenu.hardwaresettings;
+
| MapMenu.gpsinfo;  
|
+
|  
 
|-
 
|-
|MapMenu.help;
+
| MapMenu.hardwaresettings;  
|
+
|  
 
|-
 
|-
|MapMenu.info;
+
| MapMenu.help;  
|
+
|  
 
|-
 
|-
|MapMenu.keyboard;
+
| MapMenu.info;  
|
+
|  
 
|-
 
|-
|MapMenu.language;
+
| MapMenu.keyboard;  
|
+
|  
 
|-
 
|-
|MapMenu.leave;
+
| MapMenu.language;  
|
+
|  
 
|-
 
|-
|MapMenu.locationplan;
+
| MapMenu.leave;  
|Wegebeschreibung erzeugen
+
|  
 
|-
 
|-
|MapMenu.main;
+
| MapMenu.locationplan;  
|
+
| Wegebeschreibung erzeugen
 
|-
 
|-
|MapMenu.managedestinations;
+
| MapMenu.main;  
|Zielspeicher verwalten
+
|  
 
|-
 
|-
|MapMenu.maxvelocity;
+
| MapMenu.managedestinations;  
|
+
| Zielspeicher verwalten
 
|-
 
|-
|MapMenu.moveDown;
+
| MapMenu.maxvelocity;  
|
+
|  
 
|-
 
|-
|MapMenu.moveLeft;
+
| MapMenu.moveDown;  
|
+
|  
 
|-
 
|-
|MapMenu.moveRight;
+
| MapMenu.moveLeft;  
|
+
|  
 
|-
 
|-
|MapMenu.moveUp;
+
| MapMenu.moveRight;  
|
+
|  
 
|-
 
|-
|MapMenu.music;
+
| MapMenu.moveUp;  
|
+
|  
 
|-
 
|-
|MapMenu.newdestination;
+
| MapMenu.music;  
|
+
|  
 
|-
 
|-
|MapMenu.newtour;
+
| MapMenu.newdestination;  
|Aufruf von Auswahlmenü "Routenplanung"
+
|  
 
|-
 
|-
|MapMenu.open;
+
| MapMenu.newtour;  
|
+
| Aufruf von Auswahlmenü "Routenplanung"
 
|-
 
|-
|MapMenu.overview;
+
| MapMenu.open;  
|
+
|  
 
|-
 
|-
|MapMenu.positioning;
+
| MapMenu.overview;  
|
+
|  
 
|-
 
|-
|MapMenu.presentation;
+
| MapMenu.positioning;  
|
+
|  
 
|-
 
|-
|MapMenu.routeoptions;
+
| MapMenu.presentation;  
|ruft den Routen-Optionen Dialog auf
+
|  
 
|-
 
|-
|MapMenu.routesimulation;
+
| MapMenu.routeoptions;  
|Routensimulation (derzeit nicht aktiv)
+
| ruft den Routen-Optionen Dialog auf
 
|-
 
|-
|MapMenu.saveposition;
+
| MapMenu.routesimulation;  
|akt. Position speichern
+
| Routensimulation (derzeit nicht aktiv)
 
|-
 
|-
|MapMenu.selectiondestination;
+
| MapMenu.saveposition;  
|
+
| akt. Position speichern
 
|-
 
|-
|MapMenu.selectionroute;
+
| MapMenu.selectiondestination;  
|Aufruf von Auswahlmenü "Route"
+
|  
 
|-
 
|-
|MapMenu.selectionsettings;
+
| MapMenu.selectionroute;  
|
+
| Aufruf von Auswahlmenü "Route"
 
|-
 
|-
|MapMenu.selectionview;
+
| MapMenu.selectionsettings;  
|
+
|  
 
|-
 
|-
|MapMenu.settings1;
+
| MapMenu.selectionview;  
|
+
|  
 
|-
 
|-
|MapMenu.settings2;
+
| MapMenu.settings1;  
|
+
|  
 
|-
 
|-
|MapMenu.settings3;
+
| MapMenu.settings2;  
|
+
|  
 
|-
 
|-
|MapMenu.startguidance;
+
| MapMenu.settings3;  
|Routenführung starten
+
|  
 
|-
 
|-
|MapMenu.stopguidance;
+
| MapMenu.startguidance;  
|Routenführung beenden
+
| Routenführung starten
 
|-
 
|-
|MapMenu.telephone test
+
| MapMenu.stopguidance;
|???
+
| Routenführung beenden
 
|-
 
|-
|MapMenu.timezone;
+
| MapMenu.telephone test
|Aufruf der Zeitzonen-Einstellungen
+
| ???
 
|-
 
|-
|MapMenu.tmcoverview;
+
| MapMenu.timezone;  
|
+
| Aufruf der Zeitzonen-Einstellungen
 
|-
 
|-
|MapMenu.tmcsender;
+
| MapMenu.tmcoverview;  
|TMC-Suchlauf
+
|  
 
|-
 
|-
|MapMenu.trafficInfoDetail;
+
| MapMenu.tmcsender;  
|TMC-Infos
+
| TMC-Suchlauf
 
|-
 
|-
|MapMenu.tripinfo;
+
| MapMenu.trafficInfoDetail;  
|Routen-Info
+
| TMC-Infos
 
|-
 
|-
|MapMenu.turntoggle;
+
| MapMenu.tripinfo;  
|
+
| Routen-Info
 
|-
 
|-
|MapMenu.video;
+
| MapMenu.turntoggle;  
|
+
|  
 
|-
 
|-
|MapMenu.view1;
+
| MapMenu.video;  
|
+
|  
 
|-
 
|-
|MapMenu.view2;
+
| MapMenu.view1;  
|
+
|  
 
|-
 
|-
|MapMenu.volume;
+
| MapMenu.view2;  
|
+
|  
 
|-
 
|-
|MapMenu.zoomIn;
+
| MapMenu.volume;  
|in die Karte zoomen
+
|  
 
|-
 
|-
|MapMenu.zoomOut;
+
| MapMenu.zoomIn;  
|aus der Karte zoomen
+
| in die Karte zoomen
 
|-
 
|-
|MapTurnToggle.BackFromGPS;
+
| MapMenu.zoomOut;  
|
+
| aus der Karte zoomen
 
|-
 
|-
|MapTurnToggle.gps;
+
| MapTurnToggle.BackFromGPS;  
|
+
|  
 
|-
 
|-
|MapTurnToggle.Map;
+
| MapTurnToggle.gps;  
|
+
|  
 
|-
 
|-
|NavigationMenu.calcAltRoute;
+
| MapTurnToggle.Map;  
|alternative Routenberechnung starten
+
|  
 
|-
 
|-
|NavigationMenu.cancel;
+
| NavigationMenu.calcAltRoute;  
|Navigation abbrechen ????
+
| alternative Routenberechnung starten
 
|-
 
|-
|NavigationMenu.stopGuidance;
+
| NavigationMenu.cancel;  
|Navigation stoppen ????
+
| Navigation abbrechen&nbsp;????
 
|-
 
|-
|NavigationMenu.trafficInfo;
+
| NavigationMenu.stopGuidance;  
|Anzeige der Verkehrsinfo
+
| Navigation stoppen&nbsp;????
 
|-
 
|-
|NavigationMenu.trafficInfoDetail;
+
| NavigationMenu.trafficInfo;  
|Anzeige der Verkehrsinfo im Detail ????
+
| Anzeige der Verkehrsinfo
 
|-
 
|-
|NavigationMenu.trafficWarning;
+
| NavigationMenu.trafficInfoDetail;  
|Anzeige von Verkehrswarnungen ????
+
| Anzeige der Verkehrsinfo im Detail&nbsp;????
 
|-
 
|-
|OpenFile.Close;
+
| NavigationMenu.trafficWarning;  
|
+
| Anzeige von Verkehrswarnungen&nbsp;????
 
|-
 
|-
|OpenFile.Open;
+
| OpenFile.Close;  
|
+
|  
 
|-
 
|-
|OpenKeyboard.1,AlphaBig,poiname,904;
+
| OpenFile.Open;  
|
+
|  
 
|-
 
|-
|OpenKeyboard.1,AlphaBig,poiname,904;
+
| OpenKeyboard.1,AlphaBig,poiname,904;  
|
+
|  
 
|-
 
|-
|OpenKeyboard.5,AlphaBig,Name,904;
+
| OpenKeyboard.1,AlphaBig,poiname,904;  
|
+
|  
 
|-
 
|-
|RdsTmc.selectMode;
+
| OpenKeyboard.5,AlphaBig,Name,904;  
|
+
|  
 
|-
 
|-
|RdsTmc.selectPort;
+
| RdsTmc.selectMode;  
|
+
|  
 
|-
 
|-
|SettingSC.100;
+
| RdsTmc.selectPort;  
|Sprachlautstärke erhöhen
+
|  
 
|-
 
|-
|SettingSC.101;
+
| SettingSC.100;  
|Sprachlautstärke verringern
+
| Sprachlautstärke erhöhen
 
|-
 
|-
|SettingSC.119;
+
| SettingSC.101;  
|Weiter über Pushbutton
+
| Sprachlautstärke verringern
 
|-
 
|-
|SettingSC.121;
+
| SettingSC.119;  
|Zurück über PushButton
+
| Weiter über Pushbutton
 
|-
 
|-
|SettingSC.10077;
+
| SettingSC.121;  
|
+
| Zurück über PushButton
 
|-
 
|-
|SettingSC.10169;
+
| SettingSC.10077;  
|
+
|  
 
|-
 
|-
|SettingSC.10170;
+
| SettingSC.10169;  
|
+
|  
 
|-
 
|-
|SettingSC.10180;
+
| SettingSC.10170;  
|
+
|  
 
|-
 
|-
|SettingSC.10181;
+
| SettingSC.10180;  
|
+
|  
 
|-
 
|-
|SettingSC.10182;
+
| SettingSC.10181;  
|
+
|  
 
|-
 
|-
|SettingSC.10183;
+
| SettingSC.10182;  
|TMC-Suchlauf(aufwärts) .... wird von Moddern gerne genutzt um den Suchlauf über PushButton zu starten
+
|  
 
|-
 
|-
|SettingSC.10184;
+
| SettingSC.10183;  
|TMC-Suchlauf(abwärts)
+
| TMC-Suchlauf(aufwärts) .... wird von Moddern gerne genutzt um den Suchlauf über PushButton zu starten
 
|-
 
|-
|SettingSC.10187;
+
| SettingSC.10184;  
|
+
| TMC-Suchlauf(abwärts)
 
|-
 
|-
|SettingSC.10188;
+
| SettingSC.10187;  
|
+
|  
 
|-
 
|-
|SettingSC.10189;
+
| SettingSC.10188;  
|
+
|  
 
|-
 
|-
|SettingSC.10231;
+
| SettingSC.10189;  
|
+
|  
 
|-
 
|-
|SettingSC.10232;
+
| SettingSC.10231;  
|
+
|  
 
|-
 
|-
|SettingSC.10233;
+
| SettingSC.10232;  
|
+
|  
 
|-
 
|-
|SettingSC.10234;
+
| SettingSC.10233;  
|
+
|  
 
|-
 
|-
|SettingSC.10235;
+
| SettingSC.10234;  
|
+
|  
 
|-
 
|-
|SettingSC.10236;
+
| SettingSC.10235;  
|
+
|  
 
|-
 
|-
|SettingSC.10237;
+
| SettingSC.10236;  
|
+
|  
 
|-
 
|-
|SettingSC.10241;
+
| SettingSC.10237;  
|
+
|  
 
|-
 
|-
|SettingSC.10242;
+
| SettingSC.10241;  
|NextButtonPsfAuth ???
+
|  
 
|-
 
|-
|SettingSC.10243;
+
| SettingSC.10242;  
|
+
| NextButtonPsfAuth&nbsp;???
 
|-
 
|-
|SettingSC.10244;
+
| SettingSC.10243;  
|BackButtonPsfAuth ???
+
|  
 
|-
 
|-
|SettingSC.10251;
+
| SettingSC.10244;  
|
+
| BackButtonPsfAuth&nbsp;???
 
|-
 
|-
|SettingSC.119;
+
| SettingSC.10251;  
|
+
|  
 
|-
 
|-
|SettingSC.121;
+
| SettingSC.119;  
|
+
|  
 
|-
 
|-
|SettingSC.41000000000000000
+
| SettingSC.121;
|
+
|  
 
|-
 
|-
|SettingSC.42;
+
| SettingSC.41000000000000000
|
+
|  
 
|-
 
|-
|SettingSC.73;
+
| SettingSC.42;  
|
+
|  
 
|-
 
|-
|SettingSC.913;
+
| SettingSC.73;  
|
+
|  
 
|-
 
|-
|SettingSC.98;
+
| SettingSC.913;  
|
+
|  
 
|-
 
|-
|SystemHandling.continue;
+
| SettingSC.98;  
|
+
|  
 
|-
 
|-
 +
| SystemHandling.continue;
 +
|
 
|}
 
|}
  
=== Spezial-Referenz ===
+
=== Spezial-Referenz ===
Es gibt spezielle Parameter, die nur für bestimmte Klassen verwendet werden können:
+
 
{|border="1"
+
Es gibt spezielle Parameter, die nur für bestimmte Klassen verwendet werden können:  
|Class
+
 
|Parameter
+
{| class="wikitable" border="1"
|'''erlaubte Werte''' / Beschreibung
 
|Beispiel
 
 
|-
 
|-
|LauncherButton
+
! Class
|launch:
+
! Parameter
|<voller Dateiname des externen Programmes> eingeschlossen in Anführungszeichen
+
! erlaubte Werte / Beschreibung
|launch: "\Storage Card\Programme\koord465.exe";
+
! Beispiel
 
|-
 
|-
|
+
| LauncherButton
|params:
+
| launch:  
|''(optional)'' Kommandozeilen-Parameter eingeschlossen in Anführungszeichen
+
| &lt;voller Dateiname des externen Programmes&gt; eingeschlossen in Anführungszeichen  
|params: "goto=\Storage Card\Programme\home.3na";
+
| launch: "\Storage Card\Programme\koord465.exe";
 
|-
 
|-
|
+
|  
|launchtype:
+
| params:  
|''(optional)'' '''relative''' Dateiname wird ohne Pfad angegeben
+
| ''(optional)'' Kommandozeilen-Parameter eingeschlossen in Anführungszeichen
|launchtype: relative;
+
| params: "goto=\Storage Card\Programme\home.3na";
 
|-
 
|-
|
+
|
|text:
+
| launchtype:
|''(optional)'' Text in Anführungszeichen, ^n^ für Zeilenumbruch
+
| ''(optional)'' '''relative''' Dateiname wird ohne Pfad angegeben
|Text: "gespeicherte Route^n^laden";
+
| launchtype: relative;
 +
|-
 +
|  
 +
| text:  
 +
| ''(optional)'' Text in Anführungszeichen, ^n^ für Zeilenumbruch  
 +
| Text: "gespeicherte Route^n^laden";
 
|}
 
|}
  
== Code-Beispiele ==
+
== Code-Beispiele ==
  
In der FAQ zum MD96050 http://md96050.netfirms.com (Stand: 24. November 2006 - 16.00 Uhr) sind einige Code-Beispiele aufgeführt, die jedoch nur für den MD96050 gedacht sind.
+
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.  
  
Folgende Code-Beispiele wurden jedoch auf einem MD96080 erfolgreich getestet:
+
=== Route Abbrechen-Knopf in der Kartenansicht ===
  
===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:  
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:
 
  
 +
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.196: 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;
+
  ID: 10150;
Class: SkinText;
+
  Class: SkinText;
TextId: 20151;
+
  TextId: 20151;
Background: 214,0,0,80,30;
+
  Background: 214,0,0,80,30;
Coordinates: 305,2,80,30; // urspruenglich: $COMPASS_HEIGHT_TEXT_COORDS$;
+
  Coordinates: 305,2,80,30; // urspruenglich: $COMPASS_HEIGHT_TEXT_COORDS$;
TextCoordinates: 5,0,70,30; // -> keine Anzeige
+
  TextCoordinates: 5,0,70,30; // -&gt; keine Anzeige
BGMode: opaque;
+
  BGMode: opaque;
TextColor: 0,0,0;
+
  TextColor: 0,0,0;
HAlign: left;
+
  HAlign: left;
VAlign: center;
+
  VAlign: center;
Font: 6;
+
  Font: 6;
Visibility: $COMPASS_HEIGHT_VISIBILITY$;
+
  Visibility: $COMPASS_HEIGHT_VISIBILITY$;
 
  }
 
  }
 
   
 
   
Zeile 1.223: Zeile 1.241:
 
  Text: "^F2^%s ^F6^%s";
 
  Text: "^F2^%s ^F6^%s";
 
  Coordinates: 331,9,65,30; // urspruenglich: $COMPASS_HEIGHT_VALUE_COORDS$;
 
  Coordinates: 331,9,65,30; // urspruenglich: $COMPASS_HEIGHT_VALUE_COORDS$;
  BGMode: Transparent; // ->keine Anzeige
+
  BGMode: Transparent; // -&gt;keine Anzeige
 
  HAlign: center;
 
  HAlign: center;
 
  Font: 2;
 
  Font: 2;
 
  }
 
  }
 
+
anstelle  
anstelle
 
 
 
 
  HeightText
 
  HeightText
 
  {
 
  {
Zeile 1.258: 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 1.759: Zeile 1.774:
 
   }  
 
   }  
  
anstelle
+
anstelle  
  
 
  KeyboardBlockAlphaBig  
 
  KeyboardBlockAlphaBig  
Zeile 2.239: Zeile 2.254:
 
   Letter: "-";  
 
   Letter: "-";  
 
   }  
 
   }  
 
einzusetzen. An der PFSpecial.skn muss nichts geändert werden.
 
  
===StvO-Abfrage löschen===
+
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:
+
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.&#x202f;B. '_StVOArea' umzubennen:  
  
 
  StVOArea
 
  StVOArea
Zeile 2.273: Zeile 2.288:
 
  }
 
  }
  
===Aktivieren der MapGimmicks===
+
=== Aktivieren der MapGimmicks ===
Die Grafikdatei http://www.pocketnavigation.de/board/attachment.php?attachmentid=1020071 herunterladen
+
 
und unter \My Flash Disk\Navigation\Skin480x272\PPSkin ablegen.
+
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:
+
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.367: Zeile 2.381:
 
  }
 
  }
  
 +
== Weblinks  ==
 +
*[http://forum.pocketnavigation.de/forum1000168-medion-gopal-pna-v2/1064959-unterschied-pfskin-zwischen-pe-2-0-und-2-3a/ Differenz der PFSkin-Datei zwischen der GoPal-Version PE 2.0 Build 4042 und 2.3A Build 4332]
 +
*[http://www.pocketnavigation.de/board/board.php?boardid=1000167&sid=1c06435fa76a105fd19666806ef5474e Link zum GoPal 2.0 PE 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://md96050.netfirms.com/ netfirms.com - FAQ zum PNA465]
 +
*[http://wince.dentro.info/ dentro.info - Programm zur direkten Koordinaten-Eingabe] (z. B. zum GeoCaching)
 +
*[http://www.jostjahn.de/mdpna500t.html .jostjahn.de] Viel Lesestoff rund um Zusatzsoftware auf dem Medion PNA - Alt aber gut
 
== Quellen ==
 
== Quellen ==
 +
<references />
  
<references/>
+
[[Category:GoPal_2.0_Skinning]]
 
 
== Weblinks ==
 
 
 
*[http://www.pocketnavigation.de/board/board.php?boardid=1000167&sid=1c06435fa76a105fd19666806ef5474e Link zum GoPal 2.0 PE 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://md96050.netfirms.com/ FAQ zum PNA465]
 
 
 
*[http://wince.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]
 
 
 
 
 
 
 
[[Kategorie:GoPal 2.0 Skinning]]
 
<br />
 
<br />
 
<br />
 
{{adsense}}
 

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]

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

Quellen

  1. Beitrag im Nachbarforum
  2. netfirms.com - FAQ zum MD96050, Stand: 24. November 2006 - 16.00 Uhr