CDS Application Development Conventions
---------------------------------------

1. Object naming:

	- don't bother to name widgets you won't access (text output,
	  label, etc)
	- widget names should indicate type and function; consistency
	  throughout an entire application is of utmost importance
	- widget names should be unique, to a given page
	- proposed convention: <type>_<info>
	- examples: plot_PMF, scale_P, button_start

	- objects such as barcharts and xyplots should be named
	  uniquely, relative to the entire application (preventing any
	  possible memory conflicts or interference)

2. Widget actions:

	- constructors should generally not be used, except for
	  plotters, and only here to initialize plots.
	Page Action:
	  - currently, page actions are called whenever the page is
	    displayed. Be careful with code here.
	Scale:
	  - Drag should update whatever variable the scale changes, and
	    call a procedure to propagate the change.
	    (ie. minimize the amount of code inside these callbacks)
	  - if ValueChanged actions are to be the same as Drag, use
	    (activate-widget '<scale> 'Drag), instead of copying code
	PushButtons:
	  - use Activate, only.	 (other two are unnecessary, and
	    somewhat confusing, and may be eliminated)
	Text and ToggleButtons: [since we haven't used these
	  extensively, have to deal with later]

3. Style guidelines:

	- Applications should have a title page, in which any "global"
	  initialization should occur: ie. loading a file, defining
	  global variables, adding menu panes/items.  This init
	  can and should be placed in the page constructor of the first
	  page.
	- Apps should have their own help page, whose title is "Help
	  <topic>", where <topic> is what the app describes.
	  (how one does this, is as yet undefined)
