(Comp.sys.hp48) Item: 2434 by fee@waikato.ac.nz [Conan J. Fee] Subj: XPNDR - A menu & softkey expander util Date: 21 Dec 1992 Hello all. Here is a Christmas present - a utility which I just finished developing (with the help of Detlef Muller). Basically, as the attached documentation shows, it is a utility for expanding the current menu and providing more than the standard 6 menu softkeys (up to 36, to be exact). It is VERY simple to operate (self-explanatory) and doesn't take up much room. Try it. I posted this to comp.sources.hp48 but that newsgroup is empty right now, and there is no indication as to when it will be updated. Enjoy. Regards, Conan. [Note: Also see XMENU for an alternate approach. -jkh-] --------------------------- Begin XPNDR.DOC XPNDR v1.0 by Conan J. Fee University of Waikato, Hamilton, New Zealand. email: fee@waikato.ac.nz DESCRIPTION: XPNDR version 1.0 is a utility which shows all pages of the current menu on screen at once and allows you to choose any of the menu functions by pressing a key ie: you now have up to six rows of softkeys, not just the first row. If you have ever had to search through several pages of an unfamiliar menu in search of the command you want, not known whether to press NXT or PREV to get the menu page you want, or not known whether the programming command you seek is in the TEST, BRANCH or CONTROL menu, let alone which page, then XPNDR is for you! OPERATION: Assign XPNDR to a user key (I use BLUE-NXT) and then whenever you execute XPNDR, you will see all pages (six pages maximum) of the current menu, whether it is a library, a user directory or a built-in menu such as the MTH menu, shown on screen at once. The first four rows of keys then act as softkeys for the corresponding functions. If the menu has more than 4 pages (this is rare for built-in menus, but try it with the STATS menu), on-screen instructions tell you what to do. If you press a key that doesn't correspond to a function - no problem. XPNDR quits without taking action. XPNDR not only executes the function shown but works as a typing aid and works with all shift planes. Try it to convert units, to recall a variable's contents or to store an object in a user-variable. ie: it works the same as softkeys. It's that simple! INSTALLATION: 1. Download XPNDR to your HP48. 2. Store the resulting directory wherever you like. 3. Enter the directory, recall the contents of XPNDR to the stack and store it as XPNDR in the home directory. 4. Recall (don't evaluate) the contents of SETUP to the stack - you should get the name XPNDR on the stack. 5. Assign the result of 4, above, to whatever key you like (I think BLUE-NXT is a pretty logical choice). 6. Purge everything except the copy of XPNDR in the home directory. Away you go! NOTE: Please use SETUP to put the name XPNDR on the stack for assigning to a key - merely entering the name 'XPNDR' from the keyboard will not allow XPNDR to function correctly. (The contents of SETUP are actually a sys_RPL routine with source code comprised of :: TakeOver ID XPNDR ;) ACKNOWLEDGEMENT: Thanks VERY much to Detlef Muller for his absolutely invaluable help and suggestions in working out this routine. Detlef - you're a marvel! SUGGESTIONS: You'll notice the routine is a little slow (but still faster than searching individual menu pages), especially for more than 4 menu pages. This is virtually unavoidable for sys_RPL, since the menu grobs are not stored internally but must be redrawn each time a new menu page is displayed. Anyone who is a machine-code ace can probably speed this up a bit. Feel free to do this and please let me have a copy. The maximum number of menu pages is six - this is because the routine would get cumbersome, large, slow and require more interaction from the user to get more than this number of functions on-screen at once. I don't think the extra complexity is worth it for the very few menus that might have more than six pages. If you disagree, you are welcome to modify the routine. Just let me know if you do. DISCLAIMER: This routine is provided free and without any warantee whatsoever. You don't have to use this and I don't want to be sued for providing freeware!!! (On the other hand, if you're the litigious type and you're really bent on suing me despite this disclaimer, go ahead - you're welcome to take over every cent of my substantial overdraft.) REPORT: Bugs, comments and suggestions to me via email:fee@waikato.ac.nz ----------------------------------------------------------------- Conan J. Fee _ fee@waikato.ac.nz Centre for Technology (_)o University of Waikato, Hamilton /\ \ Phone: +(64)(7)8384206 Private Bag 3105, New Zealand Fax: +(64)(7)8384324 -----------------------------------------------------------------