[Windows Mobile Apps and Games] JMHL:
Configuration/Parameter Informations

​

AppToDate

ready for JMLToday >= 6.00

- install AppToDate application

- run AppToDate application, check updates and download the new version.

#ITEM, #PAGEITEM

ex.:

[Page1]
...
XMLTOTAL=[Page1_XMLTOTAL_Action]
[color=red]SmsNotify[/color]={Page1_SmsPNG_Action}

[Page1_XMLTOTAL_Action]
dim=4x1
A=[color=red]#ITEM SmsNotify[/color]
B=%JMLTODAY%CallHistory.exe
C=%JMLTODAY%JMLMenu.exe;JMLEmails.mnu -execute
D=%WINDOWS%voicemail.exe

[Page1_SmsPNG_Action]
.jpg=[color=green]#PAGEITEM Page4 Infos[/color]
unknown.png=#GOTO Page4
sms_e.png=#GOTO Page4
sms_d.png=%WINDOWS%tmail.exe;-service "SMS"

#ITEM SmsNotify -> Execute action of SmsNotify (in same page)

#PAGEITEM Page4 Infos-> #GOTO Page4 and execute action of Infos ITEM

Long clic action

You can use || to separate actions in .pnx file.

Example : ...=%JMLTODAY%\JMLComm.exe;-flight||%JMLTODAY%\CommManager.lnk

single clic : switch flight-mode/phone-on

long clic : launch CommManager program.

----------------------------------------------------------------------------------------

Effects when clic

​

[/color]

Zone-area depending of the picture

(-> see @HC_72 Post#228)

You can define different areas of actions in function of the image displayed.

[Page1]
IconA={Page1_IconA_Action}

[Page1_IconA_Action]
PictureFor6Zones.png=[Area6Zones]
PictureFor4Zones.png=[Area4Zones]

[Area6Zones]
dim=1x6
A=...
B=...
C=...
D=...
E=...
F=...

[Area4Zones]
dim=1x4
A=...
B=...
C=...
D=...

Conditionnal action

Example of .pnx file for icon IconA on Page5 (IconA = contact or private event -> and we want a different action !)

[Page5]
IconA={Page5_IconA_Action}
PagesPNG=[PagesPNG]

[Page5_IconA_Action]
jpg=%PROGRAMFILES%\JMLToday\JMLSms.exe;-reply:1
unknow.png=%PROGRAMFILES%\JMLToday\JMLSms.exe;-reply:1
Private.png=#FOLDER %PROGRAMFILES%

[PagesPNG]
...

-> if registry key IconA contains "jpg" or "unknow.png" -> it's a contact -> Reply action

-> if registry key IconA contains "Private.png" -> it's a private event -> other action

Be careful :

- use { and } to define condition, after '=' (in place of action)

- use [ and ] for section name (page_name or area_name or condition_name)

----------------------------------------------------------------------------------------

Scanning <button> tag

Some titanium/skin use this tag : i think the applauncher plugin use it (to verify).

With this, in JMLPanex, you can specify static pictures avalaible for all pages. when you slide from page to another page, these pictures not slide, there are static.

JMLTodayV6.00 skin exemple (see JMLToday thread #post2) :

- There is one static picture : Bkg

- The path of pictures are hard-coded in .CPR file, not in registry

- You can also put actions with .PNX file (it's because JMLPanex scan <button> tag ! as <image> tag)

<Layer ID="JMLTodayExpanded" nil="False" Width="480" Height="164" Clip="False">
<Keypad ID="Buttons" Width="480" Height="336" Clip="False">
<Button ID="Bkg" Left="-2" Top="-200" Width="484" Height="348" Clip="False">
<Layer ID="ButtonUpLayer" Clip="False">
<Image ID="ButtonUp" Width="484" Height="348" Visible="True" ScalingAlgorithm="Fast" Source="\JML\JMLToday_Bkg.png" />
</Layer>
</Button>
</Keypad>

<Layer ID="Page" Clip="False">
<Image ID="BG" Left="230" Top="-172" Width="240" Height="115" ScalingAlgorithm="TriLinear" Opacity="1.0"/>
<Image ID="H1" Left="243" Top="-146" Width="42" Height="66" ScalingAlgorithm="TriLinear" Opacity="1.0"/>

... [i][b]same page description as before[/b][/i]

----------------------------------------------------------------------------------------

#FOLDER

Syntax : #FOLDER folder_path

----------------------------------------------------------------------------------------

Parameter file .pnx

----------------------- for SEARCH in PNX :

- One File in plugin folder (file-name=skin-name.pnx)

or/and

- One File in plugin folder (file-name=plugin-name.pnx)

or/and

- One File in JMLPanex folder (file-name=plugin-name.pnx)

-----------------------

- One section per page of plugin or per area description

- One line per association picture=program

Example JMLToday.pnx for JMLToday plugin :

[Page1]
default=%PROGRAMFILES%\JMLToday\JMLAction.exe
AlarmPNG=%WINDOWS%\ctlpnl.exe;cplmain.cpl,16,1
BG=%WINDOWS%\ctlpnl.exe;cplmain.cpl,16,0
EmailPNG=%WINDOWS%\tmail.exe;-service "ActiveSync"
SmsPNG=%WINDOWS%\tmail.exe;-service "SMS"
TelPNG=%PROGRAMFILES%\JMLToday\CallHistory.exe
BattPNG=%WINDOWS%\ctlpnl.exe;cplmain.cpl,3

[Page2]
default=%PROGRAMFILES%\JMLToday\JMLMeteo.mscr

NB. : default is the default program when you click out of a picture.

----------------------------------------------------------------------------------------

Constantes File-Path

You can use these constantes in your file-path name :

%PROGRAMFILES%

%WINDOWS%

%MYVIDEO%

%MYPICTURES%

%MYMUSIC%

%JMLTODAY%

%JMLPANEX%

----------------------------------------------------------------------------------------

Program/parameters separator

You can use ; in your file-path name to separate parameter to program-name :

Example : ...=%WINDOWS%\ctlpnl.exe;cplmain.cpl,3

----------------------------------------------------------------------------------------

ACTIONURL - ACTIONURLPNX

When you associate JMLPanex to a plugin, JMLPanexForPlugin.mscr store the old ACTIONURL value in ACTIONURLPNX

----------------------------------------------------------------------------------------

Algorithm

1 - During a click, the plugin launches JMLPanex.exe in passing in parameter the name of the plugin (eg. JMLToday) and the concerned page (eg. Page1)

2 - JMLPanex gets back the coordinates of the click

3 - JMLPanex looks for in the file active .cpr, and in Layer of the plugin (eg. JMLTodayExpanded), the element the positions / dimensions of which correspond in coordinates of the click

4 - JMLPanex gets back ID of the concerned element and search in a file parameters, the associated program and executes it.

​

----------------------------------------------------------------------------------------

Area Button

(MichelDiamond's idea)

- The image is cut in zones representing a matrix

- Every zone can be associated with a program

- Max squared matrice dim = 5 (5x5 zones)

- New dim=RxC (ROWSxCOLS) -> ex : dim=4x1, dim=2x4 ..... 26 zones

​

Example :

​

----------------------------------------------------------------------------------------

#GOTO

Syntax : #GOTO page/direction plugin-destination

- page = Page1, Page2... PageN

- direction = Left...LeftN (Left occurs N), Right... RightN, None

- plugin-destination = name of plugin to go (if different)

​

----------------------------------------------------------------------------------------

Offset

]

If you have a vertical offset due to :

- ROM build > 23xxx

- BronzeListView in place of TitaniumListView

-> Run JMLPanexSense to fix it

----------------------------------------------------------------------------------------

Cache

- One .dat file cache per Plugin and per Resolution

- The cache is rebuild when the .CPR file is modified or .dat inexistent

- The cache only work with .CPR file, NOT with .pnx (icon coordinates recorded only, NOT associate action).

-> Run JMLPanexSense to force the recompilation of cache for one plugin

For the developpers :

- Delete the appropriates .dat files in your script to clear cache.