home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
fish
/
enhancements
/
general
/
popupmenu
/
popupmenu.doc
< prev
next >
Wrap
Text File
|
1990-12-31
|
6KB
|
188 lines
PopUpMenu V3.5 by Martin Adrian 90-08-16
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Introduction
~~~~~~~~~~~~
Are you using QMouse, DMouse, or HeliosMouse and "always" get the wrong
menues when you press the mousebutton?
Have you ever needed pop-up menues for your Amiga?
The solution: PopUpMenu
What is it ?
~~~~~~~~~~~~
This small program makes it possible for You to use popupmenues with
every program that uses standard intuition menues.
~~~~~
The popupmenues works just like the standard pull-down menues for both
the user (multiple selections, checkmarks, commandkeys) and the
programmer (MENUPICK and MENUVERIFY).
All intuition menu-flags (COMMSEQ, HIGHBOX, MENUTOGGLE ...)
are fully supported.
Features:
~~~~~~~~~
* The Pop-up menues will not show up when you press the menubutton
if any of the following conditions are true:
1) No window is active. \
2) The active window has no menues. |
3) The active window has the flag RMBTRAP set. |- Same as Intuition
4) The active window has a requester open. /
5) The mousepointer is in the screens menubar.
(standard pull-down menues will appear)
6) You are pressing any qualifier key.
(shift, alt, ctrl, left or right Amiga, left (or middle) mousebutton)
* If a menuitem has subitems this is marked with a small arrow.
* The program remembers the last menu selected.
(Works only with items selected with PopUpMenues and does not remember
different windows).
Differences from Intuition:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bad:
Drag-select is not supported (i never use it), Use Multiple selcet.
Good:
Mousepointer don't stop while menuwindows are opened or closed.
Good or bad ?
PopUpMenu does not remove any inputevents (RAWKEY, MOUSEMOVE ...)
while the menues are shown.
Installation:
~~~~~~~~~~~~
To use the program put the file `PopUpMenu' and 'PopUpMenu.info'
in your current directory.
To turn on the pop-up menues just type:
1> PopUpMenu
(If You (or maybe Kickstart 2.0) don't like selfdetaching programs,
Run (or RunBack) the PopUpMenu.run program, (Stacksize >= 2000)
To turn them off, just type:
1> PopUpMenu
Workbench users can click the PopUpMenu-icon.
The program will use 9K ! (including stack)
Distribution
~~~~~~~~~~~~
This version of the PopUpMenu program is released as Public Domain.
~~~~~~~~~~~~~~
This program can be used, copied, included in a library or commercial
product as long as You don't do it for profit.
(Please include PopUpMenu.doc in the copy)
You may also use the source for your own programs, but if You intend
to do a similar popupmenu-program with it please let me know.
Warnings:
~~~~~~~~~
* Don't use PopUpMenu with version number 2.XX since they may end up with
a spectacular crash and a visit to the guru.
* Intuition is a very big inputhandler (I think), this means that intuition
will lockup the input.device if it tries to draw something on a locked
screen. This will lead to a deadlock since my program is waiting for
mouseevents from the input.device.
To walk around this I have installed a timer to go off every 0.2s, if
no inputevents has arrived in this time my program does the following:
remove all displayed menues, unlock the screen, wait for the
input.device to start, lock the screen again, draw all menues again.
* It is not possible to remove older versions (2.42 and lower) with
this program.
* The program RSdemo scrolls it's screen if you press an arrowkey while
menues are shown. RSdemo doesn't seem to use layers.library for the
drawing (The screen is locked).) This do not happen with the intuition
menues because intuition eats all inputevents during menu operation.
FUTURE:
~~~~~~~
Size is to big.
The program only remembers the last menu (not menuitem or subitem) selected.
Author:
~~~~~~~
Martin Adrian o
Motgången 305 (the å is an 'a' with a ring above -> a)
S-412 80 Gothenburg
Sweden
USENET d5adria@dtek.chalmers.se (not sure if this works anymore)
Thanks to:
Derek Zahn for the PopUpMenu program on FishDisk 96
Commodore for the Amiga
Arp - people for Arp 1.3 & AShell
Lattice for the C compiler (5.0)
My English teatcher
Anna my girlfriend
You for using this program.
New in version 3.5
~~~~~~~~~~~~~~~~~~
For compability:
* Disabled menues items is now shown.
* Menues is now sorted after their LeftEdge value.
New in version 3.4
~~~~~~~~~~~~~~~~~~
For safety:
* Now checks to see if screen and window is still present after the
input.device lockup fix.
* Rearranged the files so all PopUpMenu hunks shows in Xoper.
(It should be 3 of them)
For compability:
* Fixed a small bugs that sometimes made itemwindows to small.
* The program no longer clears the menuitemfield before drawing
the highimage. (Intuition doesn't)
For Distribution:
* Now the PopUpMenu.run works (Ver 3.2 didn't OOPS!).
* Size is now < 7K.
New in version 3.2
~~~~~~~~~~~~~~~~~~
For speed:
* Some code optimizations (C -> Assembler).
For safety:
* MENUVERIFY is now fully supported.
* Forbid() and LockIBase() is now used where needed. (I hope.)
* Made my own SwapBitsRastPortClipRect. (No more guru #81000005)
For use:
* Shows if an item has subitems.
* Now always shows items & subitems (even if they cover other menuwindows).
* Now resumes after the input.device lock-up.
For compability:
* Fixed Fontbug.
New Distrbution:
* Public Domain. (i'm not a poor student anymore 8-) )