Post Reply

[WM6.X] [Programs] JMLMenuSense - Sense UI Look 'n Feel XML-Menu v1.65 (20-Mar-2011)

24th December 2010, 10:44 AM   |  #1  
OP Retired Recognized Developer
Flag Bordeaux
Thanks Meter: 83
 
650 posts
Join Date:Joined: Apr 2006
Donate to Me
More

New JMLMenu program : Create your own Sense UI Look 'n Feel menu via an XML file.
Used in JMLPanex v3.00 and JMLToday v6.00

Based on the excellent -> [win32] SDK - New Sense interface Look 'n Feel <- from @petititi



Quote:

Version 1.75
@petititi Sense SDK V1.6.4 used
[add] <edit> : 'title' attribute (left label)
[new] parameters allowed in .xmu call -> you can use parameters as variables in menu
[new] multiple values/formatted-text for label
[add] <submenu> : 'condition' attribute to show/hide submenu
[add] items : 'condition' attribute to show/hide items
[new] <condition> : add condition to show/hide a group of items
[add] <selector> : 'showvalues' attribute to display different texts in the choices dropdown instead of real values.
[mod] <text> : improved color management
[add] <text> : fontname and fontsize attributes (also for comment)
[add] <picture> : horizontal scroll if width > 100%
[new] ini file management support (@michoob)
[new] <inilist> : show a list of values stored in a .ini key
[add] <explorer> : pick folder functionality

Quote:

Installation instructions :
1- Uninstall previous version of JMLMenuSense if necessary
2- Install JMLMenuSense cab file

-> For examples, see Examples.xmu or v1.75.xmu files in ...\JMLMenuSense\Examples folder. (others examples in JMLPanex V3.00 and future JMLToday V6.00)
-> Clic on .xmu file to execute it.


-> Read post#2 and post#3


Version 1.65
[fix] minor bug with JMLToday
[mod] convert '<<' '>>' '&' to '&lt;&lt;' '&gt;&gt;' '&amp;' before parsing xml
[mod] convert '&amp;' '&lt;' '&gt;' to '&' '<' '>' after parsing xml
[add] <menu> : 'background' attribute (picture), 'backcolor' attribute and 'rgb' attribute (default menu text color)
[add] <menu> : 'interline' attribute
Version 1.60
[new] <registryfolderlist> : list registry subkeys (@Freezy1982)
[new] <registryvaluelist> : list all values in a registry subkey (@Freezy1982)
[add] regstring: regdword: regdelete: regfolder: regdeletefolder: actions
[fix] selector bug
[fix] registry bug
[add] Exemples.xmu from @mkucuksari
[add] save some registry key with only one 'run' (@poyensa)
Version 1.50
Sense SDK V1.6.4
[new] <picture> : picture item
[new] <datafile> : list of data (one item per line of text file)
[new] <explorer> : 'choose a file' item
[new] <selector> : selector item
[new] <space> : add spaces beetween 2 items
[new] <icons> : item with up to 3 icons
[add] <submenu> : icon attribute
[add] <text> : comment attribute (and 'commentstyle', 'commentrgb', 'commentalign' attributes)
Version 1.30
Sense SDK V1.6
[add] id attribute to combine 2 controls (ex. <checkbox> + <button> which run a program with checkbox-value as parameter)
[add] <text> : icon attribute
[new] HKLM\Software\Microsoft\Shell\Rai\:JMLMENUSENSE
[new] .xmu file association with :JMLMENUSENSE
[remove] all .mscr scripts
[add] <separator> : interline attribute
[add] <submenu> : interline attribute
[new] AppToDate compatible
Version 1.20
Sense SDK V1.5.1
[add] <checkbox> : run attribute
[add] <text> : align attribute
[add] <text> : style attribute
[new] <switch> : 2 states switch
[new] <edit> : show a edit control
[new] <registrykeylist> : show a list of values stored in a registry key
Version 1.00
- <menu> : main menu
- <submenu> : describe a submenu
- <text> : show a text
- <button> : show a button
- <separator> : label separator
- <checkbox> : 2 states checkbox
- <files> : files list


This program is provided without Warranty or Guarantee. Just because it worked on my phone doesn’t mean it will on yours. Like anything before using, backup all relevant data before proceeding. I take no responsibility for loss or damage to your phone.

Have Fun!

NO MIRRORS, thanks.
Attached Files
File Type: cab JMLMenuSenseV1.50.cab - [Click for QR Code] (987.8 KB, 680 views)
File Type: cab JMLMenuSenseV1.60.cab - [Click for QR Code] (1,010.8 KB, 1330 views)
File Type: cab JMLMenuSenseV1.65.cab - [Click for QR Code] (1,012.1 KB, 4416 views)
File Type: cab JMLMenuSenseV1.75.cab - [Click for QR Code] (1,023.3 KB, 2640 views)
Last edited by JMHL; 7th August 2011 at 05:00 PM. Reason: New Version
The Following 20 Users Say Thank You to JMHL For This Useful Post: [ View ]
24th December 2010, 10:45 AM   |  #2  
OP Retired Recognized Developer
Flag Bordeaux
Thanks Meter: 83
 
650 posts
Join Date:Joined: Apr 2006
Donate to Me
More
XML menu file description

- menu and submenu structure :
Code:
<menu title='Configuration'>
  <submenu name='SMS' label='SMS'>
    ...
  </submenu>
  <submenu name='Clock' label='Clock'>
    ...
  </submenu>
 ...
</menu>
---------------------------------------------------------------------------------------------------------
<menu> menu
It's the main menu

attributes
title : menu title
background : background picture
backcolor : background color
rgb : default menu text color
quitlabel : label of left softkey
forcequit : still in memory for fast ('no' per default), clean close ('yes')

Code:
<menu title='My title'>
...OR...
<menu quitlabel='Back' title="Tasks" backcolor='0,128,0' rgb='192,192,192' >
... OR...
<menu quitlabel='Back' title="Tasks" background='%APPDIR%\Examples\Bg.png' >
---------------------------------------------------------------------------------------------------------
<submenu> menu
To describe a submenu

attributes
name : unique identifier of submenu
label : submenu title
comment : submenu subtitle
interline : show ('yes' per default) or hide ('no') items interline
icon : path of .png/.jpg picture
Code:
  <submenu name='SMS' label='SMS'>
... 
</submenu>
---------------------------------------------------------------------------------------------------------
<text> item
Show a text

attributes
label : text content
rgb : color of text (r,g,b)
align : text alignment ('center' by default, 'left')
style : 'italic' for italic font, 'small' for smaller font
left : left coordinates (15 pixels per default)
comment : comment show in 2nd line
commentrgb : color of comment (r,g,b)
commentalign : comment alignment ('center' by default, 'left')
commentstyle : 'italic' for italic font, 'small' for smaller font
run : action to execute when clic on text
icon : path of .png/.jpg picture
fontname : font of text (Tahoma per default)
fontsize : size of text (9 per default)
commentfontname : font of comment (fontname per default)
commentfontsize : size of comment (fontsize per default)

Code:
 <text rgb='128,0,0' label='text example' left='100'/>
	<text quit='no' commentfontsize='10' commentrgb='0,0,128' commentfontname='courier new' comment='comment-courier new 10pt' fontsize='16' label='Text-tahoma 16pt' rgb='128,0,0' />
---------------------------------------------------------------------------------------------------------
<button> item
Show a button

attributes
label : button label
run : action to execute when clic on text
Code:
 <button label='button example' run='program.exe'/>
---------------------------------------------------------------------------------------------------------
<separator> item
Déclare a items separator

attributes
label : text of separator
interline : show ('yes' per default) or hide ('no') items interline
Code:
   <submenu name='Weather' label='Weather'>
 ...
    <separator label='MSN' />
 ...
    <separator label='AccuWeather' />
 ..
<separator label='Google' />
  </submenu>
---------------------------------------------------------------------------------------------------------
<files> item
Create a list of files

attributes
filter : files mask to scan (you can use '*' in the filter))
show : display substring of file name '[start,len]' -> full file name per default
run : action to execute when clic on one item
%FILE% macro in run attribute : use the full file name
%SHOW% macro in run attribute : use the substring file name defined with show attribute
Code:
 <menu title='Skins'>
  <files filter='%JMLTODAY%\skins\*.*' run='%JMLTODAY%\JMLTools.exe;-skinfile:%FILE%'  />
</menu>
Code:
<menu title='Language'>
  <files filter='%JMLTODAY%\lang\JMLLang_*.ini' show='[8,2]' run='%JMLTODAY%\JMLWinToday.exe;-lang:%SHOW%'  />
 </menu>
---------------------------------------------------------------------------------------------------------
<checkbox> item
Create a 2 states checkbox

attributes
label : text of item
registry : registry key to test according with value0 and value1 attributes
format : registry key format ('STRING' per default, 'DWORD' for integer)
value0 : value which defines unchecked box
value1: value which defines checked box
run : action to execute when clic on text
Code:
    <checkbox label='Show 0-24 hours' registry='HKLM\\Software\\Microsoft\\CHome\\JMLToday\\Param\\time' value1='HH:mm' value0='hh:mm'   />
    <checkbox label='Show AM/PM' registry='HKLM\\Software\\Microsoft\\CHome\\JMLToday\\Param\\hour' value1='12' value0='24'  />
---------------------------------------------------------------------------------------------------------
<switch> item
Create a 2 states switch -> same as <checbox>

---------------------------------------------------------------------------------------------------------
<edit> item
show an edit control

attributes
label : initial content
title : left label
width : width of edit field (50% per default if title present)

id : unique identifier (you can use this in a run attribute of <button> control for example)
Code:
<edit id='%MYOFFSET%' label='reg:HKLM\\Software\\Microsoft\\CHome\\JMLPanex\\offset' />
	<button label='Save' run='%JMLPANEX%\JMLPanex.exe;-offset:%MYOFFSET%' />
---------------------------------------------------------------------------------------------------------
<registrykeylist> item
list items contained in a registry key (ex. 'Page1;Page2;Page3' contains 3 items)

attributes
registry : registry key that contains items
separator : items separator character (';' per default)
run : action to execute when clic on one item
%VALUE% macro in run attribute : use the item value
Code:
<text center='yes' style='italic' rgb='0,128,0' label='choose a plugin to clear his cache' />
    <registrykeylist registry='HKLM\\Software\\Microsoft\\CHome\\Plugins' run='%JMLPANEX%\JMLPanex.exe;-clearcache:%VALUE%' />
---------------------------------------------------------------------------------------------------------
<explorer> item
Create a file explorer button item

attributes
startdir : start folder to scan
filter : files mask to scan (you can use '*' in the filter, , to pick a folder, use '.')
updateid : id of item to update with selected file
Code:
<edit id='%EDIT%' />
 <explorer label='choose a file'  startdir='%APPDIR%' updateid='%EDIT%' />
---------------------------------------------------------------------------------------------------------
<picture> item
Create a picture item

attributes
icon : picture to show
Code:
   <picture icon='%APPDIR%\map.jpg' left='0' top='0' width='100%' />
---------------------------------------------------------------------------------------------------------
<icons> item
Create a item with up to 3 icons

attributes
iconleft : picture to show
runleft : action to execute
iconcenter : picture to show
runcenter : action to execute
iconright : picture to show
runright : action to execute
Code:
     <icons left='30' iconleft='%APPDIR%\contact.png' runleft='%APPDIR%\IconLeft.xmu' iconcenter='%APPDIR%\contact.png' runcenter='%APPDIR%\IconCenter.xmu' iconright='%APPDIR%\contact.png' runright='%APPDIR%\IconRight.xmu'/>
---------------------------------------------------------------------------------------------------------
<space> item
Add spaces beetween 2 items

attributes
height : height of space
Code:
	<space height='5%' />
---------------------------------------------------------------------------------------------------------
<selector> item
Add a selector item

attributes
updateid : id of item to update with selected file
values : list of values using a separator character
select : value to select per default
separator : character separator in values (';' per default)
showvalues : display different texts in the choices dropdown instead of real values
run : action to execute

Code:
  <edit id='%EDIT%' />
  <selector label='choose a value' updateid='%EDIT%' values='choix1;choix2;choix3' select='choix3'/>
  <selector run='ini:%SCRIPTPATH%\MyIni.ini[MySection]MySelector:%VALUE%' label='choose a value' updateid='%COMBO2%' values='0;1;2' showvalues='value0;value1;value2' /> 
---------------------------------------------------------------------------------------------------------
<datafile> item
List of contains of text file

attributes
file : text file name
separator : character separator in value
show : display substring of text '[start,len]' or part of text if separator exist (use %0...%n to select substring)
run : action to execute when clic on one item
%VALUE% macro in run attribute : use the full text line
%SHOW% macro in run attribute : use a substring
defined with show attribute
%0...%n macro in run attribute : use part of text line if separator exist
Code:
       <datafile file='%APPDIR%\CitiesMSN.txt' separator=',' show='%1' run='%JMLTODAY%\JMLMeteo.exe;-setcity:%0 -msn -map:%2' />
---------------------------------------------------------------------------------------------------------
<inilist> item
list items contained in a key in section of ini-file

example of ini-file : MyIni.ini
Code:
[MySection]
MyList=val1;val2;val3
MyChoose=...
attributes
ini: key that contains items
separator : items separator character (';' per default)
run : action to execute when clic on one item
%VALUE% macro in run attribute : use the item value
Code:
        <inilist updateid='%KEYLIST%' ini='%SCRIPTPATH%\MyIni.ini[MySection]MyList' run='ini:%SCRIPTPATH%\MyIni.ini[MySection]MyChoose:%VALUE%' quit='no' />
        <text comment='selected value' id='%KEYLIST%' align='left' left='30' label='ini:%SCRIPTPATH%\MyIni.ini[MySection]MyChoose' />
Last edited by JMHL; 1st June 2011 at 09:25 AM.
The Following 3 Users Say Thank You to JMHL For This Useful Post: [ View ]
24th December 2010, 01:35 PM   |  #3  
OP Retired Recognized Developer
Flag Bordeaux
Thanks Meter: 83
 
650 posts
Join Date:Joined: Apr 2006
Donate to Me
More
Informations - FAQ


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

%PROGRAMFILES% -> \Program Files.
%WINDOWS% -> \Windows
%MYVIDEO% -> \My Documents\My Video
%MYPICTURES% -> \My Documents\My Pictures
%MYMUSIC% -> \My Documents\My Music
%STARTMENU% -> \Windows\Start Menu
%PROGRAMS% -> \Windows\Start Menu\Programs
%STORAGECARD% -> \Storage Card

%APPDIR% -> Running program directory (for .exe)
%SCRIPTPATH% -> Running file directory, for file with associated program (.xmu file by example)

If you have JMLToday/JMLPanex installed :

%JMLTODAY% -> \Program Files\JMLToday
%JMLPANEX% -> \Program Files\JMLPanex
%SKIN% -> \Program Files\JMLToday\skins\skin_name
%LANG% -> \Program Files\JMLToday\lang
----------------------------------------------------------------------------------------
%Variables%

- You can identify an item with his 'id' attribute and use it in another item
Code:
<checkbox id='%VIBRATE%' quit='no' label='Vibrate' format='DWORD' registry='HKLM\Software\Microsoft\CHome\JMLPanex\vibrate' value0='0' value1='10' />
<button label='Save'  run='Program.exe %VIBRATE%'/>
-> launch program with '0' or '10' parameter value

- Predefined variables :
%VALUE% : value of item
%FILE%, %SHOW% : for <files> tag
----------------------------------------------------------------------------------------
Quit program

- When you clic on item that have a 'run' attribute the program is closed
- When you clic on checkbox item the program is closed
-> Unless you put [quit='no'] on each item that you do not want the program closes

- you can change the text of left-softkey ('Quit' per default) : add quitlabel='...' in <menu...> tag
----------------------------------------------------------------------------------------
Debug mode
Add debug='yes' in <menu...> tag

-> The 'run' action is not executed, just display a message
-> Checkbox is run with a diplayed message

2 files are created : debug.txt (list of items) ant run.txt (command line to execute when 'run' attribute exist).
----------------------------------------------------------------------------------------
Command in labels
You can prefix some labels with a command :
reg: -> the label is the content of registry key ( same as regstring: )
regstring: -> the label is the content of registry key (format : STRING)
regdword: -> the label is the content of registry key (format : DWORD)
ini: -> the label is the content of key in section of ini-file

lang: -> the label is tranlated (if JMLToday intalled : use JMLLang... files !) MUST BE BEFORE reg: or ini:

-> possibilities :
lang:reg:
lang:ini:
reg:
ini:
regstring:
regdword:


list of attributes using this feature :
label, comment, title, quitlabel, select, values, icon, iconleft, iconcenter, iconright,...
----------------------------------------------------------------------------------------
Multiple values/formatted-text for label
You can create complex/multiple/values/formatted-text for label with using '||' as separator
example in .xmu :
Code:
<text icon='%SKIN%\||reg:HKCU\software\JML\Meteo\origin||\||reg:HKCU\software\JML\Meteo\Day1\icon' ... />
with for JMLTODAY :
%SKIN% = you skin path
reg:HKCU\software\JML\Meteo\origin = accu for example
reg:HKCU\software\JML\Meteo\Day1\icon -> picture of Day1 (32.png as example)
....

-> text computed : %SKIN%\accu\32.png

----------------------------------------------------------------------------------------
Parameters in JMLMenuSense command-line
Parameters are allowed in .xmu call -> you can use these parameters as variables in menu

Example for showing weather of first day :
If you create a .lnk with :...\JMLMenuSense\JMLMenuSense.exe;-xmu:%JMLTODAY%\JMLMeteoX.xmu -day:1
-> you can use %-day% variables in your .xmu file
Code:
<text icon='%SKIN%\sys\Wind.png' label="reg:HKCU\software\JML\Meteo\Day%-day%\windspeed|| ||reg:HKCU\software\JML\Meteo\unit_speed" align='left' />
with for JMLTODAY :
reg:HKCU\software\JML\Meteo\Day1\winspeed -> 50 as example
reg:HKCU\software\JML\Meteo\unit_speed -> km/h as example

-> text computed : 50 km/h

[/color]
----------------------------------------------------------------------------------------
Conditions
You can add condition to show/hide a group of items : <condition> tag
You can add condition to show/hide a submenu : 'condition' attribute in <submenu> tag
You can add condition to show/hide a item : 'condition' attribute in item tag

List of test-conditions :
regempty:
iniempty:
regequal:
iniequal:
regfind:
inifind:
fileexist:
paramexist:

for inverse condition, add not: before.

Example :
Code:
<condition condition='not:regempty:HKCU\software\JML\Meteo\Night1\icon'/>
<separator interline='no' label="lang:NIGHT" />
<text scale='yes' icon=.../>
<text icon='%SKIN%\sys\Wind.png' label="reg:HKCU\software\JML\Meteo\Night1\windspeed|| ||reg:HKCU\software\JML\Meteo\unit_speed" align='left' />
<condition />
Last edited by JMHL; 26th May 2011 at 08:24 AM.
The Following User Says Thank You to JMHL For This Useful Post: [ View ]
24th December 2010, 01:43 PM   |  #4  
Senior Member
Marseille
Thanks Meter: 90
 
517 posts
Join Date:Joined: Dec 2008
Donate to Me
More
Seems great (and you are using a very good SDK )

Your soft can be used to create menu via an XML file, isn't it? Good idea and it can be very usefull! I will take a look soon.
24th December 2010, 01:46 PM   |  #5  
OP Retired Recognized Developer
Flag Bordeaux
Thanks Meter: 83
 
650 posts
Join Date:Joined: Apr 2006
Donate to Me
More
@petititi, @all : YES, you can create menu via an XML file. It's a first release, i can add some others features.....
24th December 2010, 07:24 PM   |  #6  
santod040's Avatar
Recognized Developer / Recognized Contributor
Flag NorCal
Thanks Meter: 8,573
 
6,341 posts
Join Date:Joined: Nov 2008
Donate to Me
More
Thanks JMHL, this should prove quite useful!!
Very nice work as always.
24th December 2010, 08:32 PM   |  #7  
mike2nl's Avatar
Senior Member
Flag Near Utrecht
Thanks Meter: 535
 
3,603 posts
Join Date:Joined: Jul 2009
More
Thank you, that looks very usefull in some cases. Will take a deeper look and test things..
25th December 2010, 04:32 PM   |  #8  
ai6908's Avatar
Senior Member
Flag Land of Lincoln
Thanks Meter: 266
 
3,604 posts
Join Date:Joined: Nov 2006
Donate to Me
More
Looks so much better than mortscript menus...looks awesome bro...thanks...
28th December 2010, 01:56 PM   |  #9  
ock's Avatar
Senior Member
Thanks Meter: 1,373
 
966 posts
Join Date:Joined: Mar 2010
Awesome! thanks to petititi and JMHL
4th January 2011, 07:32 AM   |  #10  
OP Retired Recognized Developer
Flag Bordeaux
Thanks Meter: 83
 
650 posts
Join Date:Joined: Apr 2006
Donate to Me
More
@all : new version 1.20 -> see Post #1 and #2.

Wait your feedback....
A++

Post Reply Subscribe to Thread

Tags
sdkmanila, sense, wm6.5, xml
Previous Thread Next Thread
Thread Tools
Display Modes