Sony Encouraging SmartWatch 2 Development

Mobile device companies like selling devices–it’s how they make their money and … more

Easily Toggles Your Lollipop Mobile Data Network Type

Android Lollipop is by good margin the most advanced and refinedversion of … more

Unofficial CM12 for Android One, Disabling Encryption on Nexus 6 – XDA TV

Android One devices have received an Unofficial CyanogenMod … more

Pushbullet Universal Copy/Paste Availabe for Linux, Mac OS X

Pushbullet is one of those useful utilities that once installed, permanently … more

Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[WM6.5] [Titanium program] JMLPanex v3.00 (18-Jan-2011)

OP JMHL

25th August 2009, 09:53 PM   |  #1  
OP Retired Recognized Developer
Flag Bordeaux
Thanks Meter: 83
 
650 posts
Join Date:Joined: Apr 2006
Donate to Me
More
Developed on HTC Diamond (VGA 480 640) with standard Titanium (no WM7.. Project, etc....)

Post#2 : Configuration/Parameter Informations


JMLPanex program (JML Panel Execute) allows multiple hotspots on a plugin (-> Association picture/program).






Changelog Version 3.00 : see Post#2 Thank you for offering me a beer. All donations (3€, 5$, +) are appreciated !
- Required for JMLToday v6.00
- all parameters in registry (JMLPanex.ini deleted)
- configuration with JMLMenuSense program (Sense UI interface)
- vibration when long clic (if 'vibrate' parameter enabled and JMLToday v6.00 required)
- remove all .mscr scripts
- sound clic (@Freezy1982 idea's)
- expand zone-area picture from A-Z (26 maxi, 5x5 or 2x13...) to A-Z,a-z (52 maxi, 7x7 or 5x10....)

Installation instructions :
1- Install JMLMenuSense v1.30 -> *JMLMenuSense thread*
2- Install JMLPanex cab file

-> In Windows Start Menu, -> in JMHL folder, -> you have a JMLPanexSense link to configure JMLPanex.


Changelog Version 2.70 :
- #ITEM command : allows a area-zone (A, B. ..) to behave as an ID (execute program, conditional action.....)
- #PAGEITEM command = #GOTO + #ITEM
- make a vibration on click
- manages long click to provide 2 actions on a picture
- apptodate compatible
Changelog Version 2.60 :
- Deplacement optimisation (little faster)
- Zone-area depending of the picture (-> see @HC_72 Post#228)
- Add more effects when clic.
Changelog Version 2.50 :
- It write the name of PNX file used -> in ...CHome\JMLPanex\PnxFile register key
- It scan the tag < button > in .CPR file.
- #FOLDER command : open folder with ":MSFEXPLORE"
- Conditionnal action based on the content of the registry key (see post#2)
Changelog Version 2.30 :
- dim=RxC (ROWSxCOLS), ex : dim=4x1, dim=2x4 ..... with a single restriction : MAX of 26 positions.
Changelog Version 2.10:
- Bug : Cache works on Portrait AND Landscape mode
- Compatible BronzeListView CPR (to tested. thanks)
Changelog Version 2.00 :
- caching the cpr-part of each Panel for faster reaction (another MichelDiamond's idea)
- reverse search for <Images> (because a big Image must be in First position in CPR, but must be scanned in Last position by JMLPanex)
- #GOTO command to interact with others Pages of a Plugin or another Plugin without manual sliding
- add %JMLTODAY% and %JMLPANEX% for path-file


Have Fun!

NO MIRRORS, thanks.
Attached Files
File Type: cab JMLPanexV2.00.cab - [Click for QR Code] (27.1 KB, 1412 views)
File Type: cab JMLPanexV2.10.cab - [Click for QR Code] (29.2 KB, 6321 views)
File Type: cab JMLPanexV2.30.cab - [Click for QR Code] (34.0 KB, 5971 views)
File Type: cab JMLPanexV2.50.cab - [Click for QR Code] (35.6 KB, 2693 views)
File Type: cab JMLPanexV2.60.cab - [Click for QR Code] (34.5 KB, 2907 views)
File Type: cab JMLPanexV2.70.cab - [Click for QR Code] (43.2 KB, 1516 views)
File Type: cab JMLPanexV3.00.cab - [Click for QR Code] (108.4 KB, 2997 views)
Last edited by JMHL; 19th January 2011 at 01:32 PM.
25th August 2009, 09:53 PM   |  #2  
OP Retired Recognized Developer
Flag Bordeaux
Thanks Meter: 83
 
650 posts
Join Date:Joined: Apr 2006
Donate to Me
More
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.:
Code:
[Page1]
...
XMLTOTAL=[Page1_XMLTOTAL_Action]
SmsNotify={Page1_SmsPNG_Action}

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

[Page1_SmsPNG_Action]
.jpg=#PAGEITEM Page4 Infos
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
[color=blue]
(-> see @HC_72 Post#228)
You can define different areas of actions in function of the image displayed.
Code:
[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 !)
Code:
[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)

Code:
<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"/>

... same page description as before
----------------------------------------------------------------------------------------
#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 :
Code:
[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.
Last edited by JMHL; 18th January 2011 at 09:04 PM.
25th August 2009, 10:50 PM   |  #3  
Jumba's Avatar
Senior Member
Flag Johannesburg
Thanks Meter: 514
 
1,040 posts
Join Date:Joined: Nov 2008
Donate to Me
More
Excellent! Updated skins on the way.
25th August 2009, 11:42 PM   |  #4  
jug6ernaut's Avatar
Retired Moderator / Recognized Developer
Flag San Antonio, Tx
Thanks Meter: 464
 
2,544 posts
Join Date:Joined: Jun 2006
More
wow nice/exciting!
26th August 2009, 01:14 AM   |  #5  
MichelDiamond's Avatar
Retired Recognized Developer
Thanks Meter: 272
 
2,222 posts
Join Date:Joined: Jul 2009
Donate to Me
Short Info: will work on each Resolution in TitaniumListView-Skins

You can have Buttons without any new running background-process.

Try it with JMLToday - and you will get working SMS, Phone,.... - Buttons It's great!
26th August 2009, 08:00 AM   |  #6  
Jumba's Avatar
Senior Member
Flag Johannesburg
Thanks Meter: 514
 
1,040 posts
Join Date:Joined: Nov 2008
Donate to Me
More
Heya, can we now use buttons that are out of the focus bar area? This wasn't the case in the beta.
26th August 2009, 09:15 AM   |  #7  
mysterd's Avatar
Senior Member
Thanks Meter: 0
 
161 posts
Join Date:Joined: Feb 2008
More
Sorry to be a little off topic or if I didn't search enough... But I haven't changed my ROM to a 6.5 one yet, so I don't really understand the titanium behaviour. Can you give me pointers to some information about that ?

From what I read here, in the normal titanium plugins, you can't have multiple clicking areas ? Is that true ? From the screenshots of software like JMLToday, I had understood that it was possible to have real buttons on a titanium panel (for example to enable / disable bluetooth and so on...). Am I wrong ?

Mods, if I'm way too off topic, please delete this post...

Thanks in advance for your help.

Cheers
26th August 2009, 09:56 AM   |  #8  
OP Retired Recognized Developer
Flag Bordeaux
Thanks Meter: 83
 
650 posts
Join Date:Joined: Apr 2006
Donate to Me
More
@MysterD : French s&#238;te -> http://htc-touch-diamond.forumactif....out-t14134.htm

A++
26th August 2009, 10:03 AM   |  #9  
mysterd's Avatar
Senior Member
Thanks Meter: 0
 
161 posts
Join Date:Joined: Feb 2008
More
Thanks for your answer... I'm already a member of this forum, too

I'll try and read everything over there too...
26th August 2009, 12:45 PM   |  #10  
MichelDiamond's Avatar
Retired Recognized Developer
Thanks Meter: 272
 
2,222 posts
Join Date:Joined: Jul 2009
Donate to Me
Yes - Titanium itself has no workable buttons by default - but if you once use it - I already was a Fan of TF3D2 - I changed to Titanium. It's integrated in system - no third party - and uses much less RAM and Battery than TF3D2.
And it's easy to configure - not like the Manila-Files (please read the other Threads about "Titanium" as Search Tag - then you will see, how nice it is)

But - with JMLPanex - everybody can easily switch his Plugin to a Plugin with working Buttons (and WITHOUT 24/7-Script to do this!!!) - everybody can do this now - I don't know, if the users (and especially the Plugin-Developers) already mentioned it, what a Killer app is JMLPanex.

I will make an example as How-To tomorrow (with JMLToday - but you can use this in the same way for EACH TITANIUM-PLUGIN, that it gets workable Buttons in an easy an light way)


Post Reply Subscribe to Thread

Tags
jmlpanex, titanium, titaniumrss, wm6.5
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes