Phoebus - I've just had a quick look at the notes I have for my
program launcher and broadly this is how it worked. I gave up on this
partly due to lack of time at the time and partly because of hearing
about the Jim Hunkins QDT Desktop system (anyone heard any more about
that?)

Set up Easyptr menus for the screen sizes it is designed to handle. In
the case of my program, it was QL screen, EGA, VGA, SVGA and 1024x512
(my system at the time wouldn't go beyond 800x600 but I hacked a menu
using a routine borrowed from Rich Mellor's BASIC Reference Guide)

Check screen size in use and draw appropriate menu (using eithe
SCR_XLIM, SCR_YLIM etc or my DISPLAY_CDE from QL Today).

The menu had basically 3 little iconsprites on the top line,
move+redraw+esc/X and an info window with the title. The diagram below
tries to show what I mean. The [ ] bits are loose items defined in
Easyptr - to add a program you simply defined a loose item with the
name text (loose items -1, -2 and -3 had sprites for move/resize/exit
and -4 to -something along the bottom for shortcuts to other desktop
menus)

+------------------------------------------+
| [MOVE] [RESIZE]  DJ DESKTOP          [X] |
|                                          |
| [    ] [    ]  [    ]  [    ]  [    ]    |
| [    ] [    ]  [    ]  [    ]  [    ]    |
| [    ] [    ]  [    ]  [    ]  [    ]    |
etc as far as the window menu size allowed, then at the bottom a
separate set ofloose items for menus etc. Easyptr allows info windows
and loose items to overlap if required, this could sometimes (with
care) be used to provide separate backgrounds if really required.
Obviously, the 'menu' loose items strip could go at the top Win3.1
style if required.

|                                          |
+------------------------------------------+
| [menu1] [menu2] [menu3] etc              |
+------------------------------------------+

The program basically sat there reading mouse and keyboard and waited
for a loose item to be hit, when it looked at the setting for that
loose item if defined (if not, ignored). Right click (DO) brought up a
Windoze style context menu offering to add new button settings, change
settings, delete, move setting to different loose item and so on.
Clicking on resize cycled through the different menu sizes, drawing
the next size up until that wouldn't fit then back to QL screen size.

I appreciate this is probably not what you really want to do, as I
guess you will want to do something more graphical like a real GUI,
and this provides only a fixed format program list, no drag 'n' drop
etc but this seemed quite easy to code for someone like me whose
requirements weren't really that complex and the idea was to create
something passable which was quick and easy to program and gave me a
'sort of GUI' better than the old DEV Manager program.

Now I'm "between jobs" it might be a bit of a brain-stimulator to keep
me occupied at home for a little while.

--
Dilwyn Jones
[EMAIL PROTECTED]
http://www.soft.net.uk/dj/index.html

Reply via email to