[comp.windows.news] Fresh Pie Menu Source Code & The Pseudo-Scientific Visualizer

don@BRILLIG.UMD.EDU (Don Hopkins) (08/28/88)

The following 5 files contain the PostScript source code that runs
under NeWS 1.1, and SGI's 4Sight 1.1. It should work just fine with
Grasshopper's MacNews, too. 

If you are using a Sun or a Mac or anything else, use "psh" to load
the files piemenu.ps, pullout.ps, neatwin.ps, and visualize.ps, in
that order. 

You only need sgipie.ps if you're running 4Sight 1.1 on a Silicon
Graphics Iris. In that case, load the files piemenu.ps, sgipie.ps, 
pullout.ps, neatwin.ps, and visualize.ps, in that order. 

If you put the files in your NeWS directory, you can put the following
lines into your user.ps to load them automatically when you start the
server: 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(NeWS/piemenu.ps) LoadFile pop
framebuffer /GLCanvas known { % SGI 4Sight?
  (NeWS/sgipie.ps) LoadFile pop
} if
(NeWS/pullout.ps) LoadFile pop
(NeWS/neatwin.ps) LoadFile pop
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Here is a short description of the 5 files:

piemenu.ps
	A few bug fixes since last posting. 
	Root no longer stops repainting after piemenu.ps is run from a menu.
	If /DontSetDefaultMenu is defined in systemdict, then loading
	piemenu.ps will not set DefaultMenu to PieMenu.
sgipie.ps
	Initial posting.
	A subclass of PieMenu that runs in the overlay plane of the
	SGI Iris 4D, under 4Sight version 1.1 (Silicon Graphic's
	port of NeWS 1.1). Only load this if you're running 4Sight.
pullout.ps
	Initial posting.
	A subclass of PieMenu that uses cursor distance from the
	menu center to specify an argument to the menu selection.
	Each menu key has an array of possible arguments, from which
	the cursor distance selects the argument value. The values in 
	the arrays are "Things" (cf. litemenu.ps & colordemo) that are
	painted in the menu center as feedback.
neatwin.ps
	A few bug fixes since last posting.
	Now shares one set of global frame menus between all windows.
	Hacked so "spin" won't mess up the global frame menu.
	If DontSetDefaultWindow is defined in systemdict, then loading
	neatwin.ps will not set DefaultWindow to NeatWindow.
visualize.ps
	A program for the Pseudo-Scientific Visualization of live
	PostScript data structures in the NeWS server. Demonstrates 
	the use of class PulloutPieMenu. The Pseudo-Scientific 
	Visualizer is the class browser for the other half of your 
	brain. 

Feel free to redistribute any of this code! (And you can make as many
backup copies of it as you want, as long as you print out and burn any
old versions! :-)

	-Don

Don Hopkins
don@brillig.umd.edu
...!uunet!mimsy!don
5819 Ruatan St., College Park, MD 20740 USA