From: kskalb@immd1.informatik.uni-erlangen.de (Klaus Kalb)
Subject: Re: Finally an enhanced custom menu!
Organization: CSD., University of Erlangen
Date: Wed, 30 Sep 1992 12:55:52 GMT

Simone.Rapisarda@p10.f800.n33.z2.fidonet.org (Simone Rapisarda) writes:

>Talking about customization, one of the things that I hate more in the HP48
>is the fact that an HP48 user cannot create tree-structured menus, s/he is
>compelled to use flat menus.

That's true. I was feeling the same way and I worked out a somewhat
different solution some time ago.

Here it is:
The following object must be assigned to a key, eg. the CST-key.
It will look for a directory in the path named 'CSTDIR'.
The entries in CSTDIR must be either lists in the normal menu format
or anything else that evaluates to such a list.

Pressing the assigned key will give you a menu with the names
of the variables in CSTDIR, all with a bar over them.
(only those evaluating to a list are included)
Pressing a menu key will give you the menu defined by the list.

Direct access to library menus isn't possible right now, but I
think it could be done.

Be careful while using it. There isn't very much error checking,
so crashes are very likely, especially if CSTDIR is bad.
If CSTDIR is just missing, you will get an undefined name error.
Remember that each entry in CSTDIR will be evaluated.

The following object contains a directory with the source code,
the executable, a small setup doing the assigment to the CST-key
and a sample CSTDIR.
Download it to your HP48, play with it and tell me about your thoughts.
By the way: Don't call the downloadad directory 'CSTDIR'.
I just found out that this will give you a crash...

Just another proposal. It works for me.

-KK

BEGIN_UU kkcst
begin 644 kkcst.uue
M2%!(4#0X+466*O!_Z 4    #4U)# Y8J\'\*      9#<W1$:7(&+"HP,@ Z
M.@H@5&%K94]V97(*($-+,$Y/3$%35%=$"B![($E$($-35$1)4B!]"B!,25-4
M4D-,"B!$55!465!%4E)0/PH@3F-A<V5465!%15)2"B!#3TY415A40 H@4U=!
M4 H@0T].5$585"$*($1/5D%24PH@24Y.15)#3TU0"B!$55 C,#T*(#]32TE0
M"B Z.@H@($154 H@(",Q*U]/3D5?1$\*(" @1%50"B @(",Q*U)/3$P*(" @
M1%50( H@("!)1#XD"B @(%-705 *(" @159!3 H@("!$55!465!%3$E35#\*
M(" @251%"B @(" Z.B!45T][?4X@4U=!4" ["B @(" Z.B R1%)/4" C,2T@
M.PH@($Q/3U *(#L*('M]3@H@4U=!4 H@0T].5$585"$*("<@4%12(#-&,#,V
M"B G(%!44B S149%-@H@4D]4"B!42%)%10H@.CI."B G(%!44B T,#=&0@H@
M4U=!4 H@)R!05%(@-#!$0S *(%1(4D5%"B Z.DX*($5604P*.PI4 S!0A%4T
M8*D"_Z<     8# T1T>4)F?0V0*(!U2A&'0J@.0"!D-35$1)4BLQH+D@O2%F
MM&-:C3 B PB-D'<8KU1@)F(J<=#9 H@QL#T'B#$P+V&(,9"^!2,RX/@&$2*&
MK6&=+9 ;8R,RL!(#G2V )0,./K 2 S1SL!(#650P(@,(C7#I!C;P<^D&YN]3
M*0,-0%!$!9=NL'] (S)PZ0; #=0 !$54X/@&*S$@%0 &0U-41$E2!I8J\'_F
M      -'K4P#="J Y (!1T@N$("$Y (!24@N$*"$Y (!2T@N$,"T$@-* # 0
MU&HT0*<"2"X0$(3D @%"2"X0,(3D @%$2"X04(3D @%&*S&@!  $2&]M902=
M+>!A(R6A 10:E*'1NQ^^HY%C(RLQD ,  T-S5 .=+>!A(T@N,# T195C(RLQ
MD!( !5-%5%50!9TMX&$C="J Y (#15A%2"Y@,#1'1Y0FMQ(#0 LRDP(!    
,   P O0DDF,C*S$ 
 
end
END_UU

BEGIN_ASC kkcst.asc
%%HP: T(3)A(R)F(.);
"69A20FF78E50000000303525343069A20FF7A0000000006034374744962760C2
A2032300A3A3A0024516B656F4675627A00234B403E4F4C41435457544A002B7
0294440234354544942502D7A002C49435452534C4A002445505459505542525
05F3A002E43616375645950554542525A00234F4E44554854504A00235751405
A00234F4E44554854512A00244F465142535A00294E4E4542534F4D405A00244
55053203D3A002F335B49405A002A3A3A00202445505A002023213B2F5F4E454
F544F4A0020202445505A00202023213B225F4C4C4A002020244550502A00202
029444E342A002020235751405A0020202546514C4A002020244550545950554
C4943545F3A0020202944554A002020202A3A3024575F4B7D7E4023575140502
B3A002020202A3A302234425F405023213D202B3A00202C4F4F405A002B3A002
B7D7E4A00235751405A00234F4E44554854512A0027202054525023364033363
A0027202054525023354645463A00225F445A0024584255454A002A3A3E4A002
7202054525024303736424A00235751405A0027202054525024303443403A002
4584255454A002A3A3E4A002546514C4A0B3A045300305485543069A20FF7A00
00000006034374744962760D9D208870451A8147A2084E2060343545449425B2
130A9B02DB12664B36A5D803223080D8097781FA45066226A2170D9D2088130B
D370881303F216881309EB5032230E8F60112268DA16D9D209B13632230B2130
D9D2085230E0E30B213043370B2130954503223080D8079E60630F379E606EFE
359230D00405445079E60BF7043223079E600CD04D004054450E8F60B2130251
00603435454494256069A20FF76E000000003074DAC43047A2084E20107484E2
0108484E20109484E2010A484E2010B484E2010C4B2130A40003014DA643047A
2084E20101484E20102484E20103484E20104484E20105484E201064B2130A40
004084F6D65640D9D20E1632521A1041A1491A1DBBF1EB3A193632B213093000
3034374530D9D20E163284E203034354593632B21309210050355445550550D9
D20E163247A2084E203054855484E2060343747449627B213004B02339201000
0000000003204F42293632B21302215"
END_ASC



---
------------------------------------------------------------------------------
    Klaus Kalb     | mail :  IMMD1 / Martenstr. 3 / W-8520 Erlangen / Germany 
 Werch ein Illtum  | email:  kskalb@immd1.informatik.uni-erlangen.de   
------------------------------------------------------------------------------
Newsgroups: comp.sys.hp48