Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,741,210 Members 49,346 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
JMHL
Old
(Last edited by JMHL; 19th January 2011 at 12:32 PM.)
#1  
Retired Recognized Developer - OP
Thanks Meter 83
Posts: 650
Join Date: Apr 2006
Location: Bordeaux

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

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, 1410 views)
File Type: cab JMLPanexV2.10.cab - [Click for QR Code] (29.2 KB, 6316 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, 2894 views)
File Type: cab JMLPanexV2.70.cab - [Click for QR Code] (43.2 KB, 1514 views)
File Type: cab JMLPanexV3.00.cab - [Click for QR Code] (108.4 KB, 2984 views)
If you like my work, thank you for offering me a beer. All donations are appreciated !
-> *Donate* <-
Contributions to XDA : JMLToday, JMLPanex, JMLStocks, JMLLauncher, JML...Tools, JMLPicture, JMLMenuSense etc...
If you use one of these programs in your developments/skins that have donations, thanks for a small donation.
 
JMHL
Old
(Last edited by JMHL; 18th January 2011 at 08:04 PM.)
#2  
Retired Recognized Developer - OP
Thanks Meter 83
Posts: 650
Join Date: Apr 2006
Location: Bordeaux

 
DONATE TO ME
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:
Select 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:
Select 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:
Select 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:
Select 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:
Select 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.
 
Jumba
Old
#3  
Jumba's Avatar
Senior Member
Thanks Meter 514
Posts: 1,040
Join Date: Nov 2008
Location: Johannesburg

 
DONATE TO ME
Excellent! Updated skins on the way.
 
jug6ernaut
Old
#4  
jug6ernaut's Avatar
Retired Moderator / Recognized Developer
Thanks Meter 458
Posts: 2,534
Join Date: Jun 2006
Location: San Antonio, Tx
wow nice/exciting!

-Active-
- Nexus5 -
- Nexus7.2 -

-Retired-
- Xperia Z2 - LG G2 - Xperia ZL - Samsung Note2 - Samsung Note1 - GalaxyNexus - Motorola Atrix - NexusOne - LG Expo - HTC TouchPro2 - HTC Kaiser - HTC Wizard -
- Nexus7 - HP Touchpad - Motorola Xoom -

"You can lead a fool to knowledge, but you can not make them think."
 
MichelDiamond
Old
#5  
MichelDiamond's Avatar
Retired Recognized Developer
Thanks Meter 272
Posts: 2,222
Join Date: 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!



Sense Apps: by me: CHTS,CHTSLoco | partly by me: CHTEditor | system parts by me: CHT

Other Apps: Blue Prodigy | TICS | MichasRefresh | TitaniumStarter | TitaniumRSS


 
Jumba
Old
#6  
Jumba's Avatar
Senior Member
Thanks Meter 514
Posts: 1,040
Join Date: Nov 2008
Location: Johannesburg

 
DONATE TO ME
Heya, can we now use buttons that are out of the focus bar area? This wasn't the case in the beta.
 
mysterd
Old
#7  
mysterd's Avatar
Senior Member
Thanks Meter 0
Posts: 161
Join Date: Feb 2008
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
MysterD


Samsung Galaxy S2 (i9100)
ROM : Stock Samsung ICS 4.0.3 (i9100XWLPD)
 
JMHL
Old
#8  
Retired Recognized Developer - OP
Thanks Meter 83
Posts: 650
Join Date: Apr 2006
Location: Bordeaux

 
DONATE TO ME
@MysterD : French sîte -> http://htc-touch-diamond.forumactif....out-t14134.htm

A++
 
mysterd
Old
#9  
mysterd's Avatar
Senior Member
Thanks Meter 0
Posts: 161
Join Date: Feb 2008
Thanks for your answer... I'm already a member of this forum, too

I'll try and read everything over there too...
MysterD


Samsung Galaxy S2 (i9100)
ROM : Stock Samsung ICS 4.0.3 (i9100XWLPD)
 
MichelDiamond
Old
#10  
MichelDiamond's Avatar
Retired Recognized Developer
Thanks Meter 272
Posts: 2,222
Join Date: 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)




Sense Apps: by me: CHTS,CHTSLoco | partly by me: CHTEditor | system parts by me: CHT

Other Apps: Blue Prodigy | TICS | MichasRefresh | TitaniumStarter | TitaniumRSS



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

Advanced Search
Display Modes


XDA PORTAL POSTS

Give Your Screen Some Color with HexaTime Live Wallpaper

We don’t often cover very many live wallpapers here on the XDA Portal. You may … more

Android Wear App Review: Command Google Now with Commandr – XDA Developer TV

OK Google. Make Me a sandwich. How many times have you … more

Play Your Hits and Learn the Lyrics with NextGen Music Player

There are plenty of music players for Android available in Play Store. They … more

Control Your Toast Notifications with SlicedToasts

Toasts are delicious, even in their Android flavor. In Android, toast doesn’t lead … more