
			       --------------------------
			        Help for DrawRuler V0.04
			       --------------------------

	Note : A StrongHelp version of this file can be shown via the
	DrawRuler window/iconbar menu (if !StrongHelp has been seen by the
	Filer), otherwise this text file will be shown.

About DrawRuler
---------------
	Provides a readout of work-area coordinates and other info for Draw.

	Can be configured to start automatically with Draw, so long as the
	Filer has already 'seen' it.

Installation
------------
	General
	-------
        Ensure that the 32-bit resources are installed on pre-Iyonix machines.
	You can get these from Castle's website if you don't have them.
	
	Delete completely any previous version on your system. Do not 'copy
	over' an older version.

	Copy to HD or wherever, and double-click to run. It will not start
	unless a copy of Draw is already running. You should have only one
	copy of DrawRuler on your system.

 	Note that the Filer must have already seen DrawRuler for 'autorun' to
	work once the option has been set, so it's a good idea to place it in
	your Apps directory alongside Draw or somewhere similar where it will
	get automatically booted.

	Should the taskname of !Draw ever change in the future, or to make it
	work with variants, you can edit this and the name of Draw's !Run file
	in DrawRuler's Messages file.

	AutoRun-Specific (ROM-based !Draw)
	----------------
	If you don't have a disc-based version of !Draw OR a 'soft copy' of
	Resources:$.Apps.!Draw on your HD, you will get an error when trying
	to set this option.

	Open Resources:$.Apps and drag a copy of the !Draw skeleton to the
	Apps directory on your HD.

	Run the new 'copy' of Draw or re-boot the machine to set up the new
	pathways etc. to point to the location on disc, rather than in ROM.

Using DrawRuler
---------------
	Mostly it's automatic and self-explanatory, with Interactive Help
	available for what few gadgets there are.

	You can't start more than one copy of DrawRuler, irrespective of the
	number of copies of Draw that are running. You can switch the 'focus'
	of DrawRuler between different windows and different copies of Draw
	by using the 'Unlink' button.

	Some extra Draw parameters can be seen 'at a glance' by toggling the
	DrawRuler dialogue to full-size. This can be handy, rather than going
	through menu trees to find out what the values of certain settings are.

	You can specify coordinates ABSolute (relative to bottom L.H. corner)
	or RELative (relative to last SELECT-CLICK over Draw work-area).

	The X/Y coords will normally be in DECimal format. This can be changed
	to show Whole:Subdivisions of the current grid spacing instead.
	This this will only work if Draw's grid-locking is ON, as it is fairly
	meaningless for an unlocked grid.
	This 'FRACtional' readout is most useful when working with
	spacings/subdivisions that do not round to sensible decimal values.
	
	Other aspects of DrawRuler's behaviour can be adjusted via the Choices
	dialogue, accessed from the DrawRuler menu.

	Unlink button
	--------------
	Forces the next Draw window that the pointer enters to become the current
	one. It enables you to switch the 'focus' of DrawRuler between multiple
	Draw windows and application copies.

	Quitting DrawRuler
	------------------
	DrawRuler will quit automatically when the last running copy of Draw
	is quit, or it can be quit separately while Draw is running.

Choices Dialogue
----------------
	Run automatically with Draw
	---------------------------
	When set, DrawRuler will start automatically when a copy of Draw is
	started, provided DrawRuler has already been 'seen' by the Filer.
	If you get an error box when setting, see the Installation section.

	Stay on top when active
	-----------------------
	When set, the DrawRuler window will be forced to the top of the window
	stack whenever the mouse pointer is over the current Draw window.

	Displayfield Font
	-----------------
	This will set the font to be used in the active part of the various
	displayfield gadgets. It does NOT affect 'general' window text such as
	gadget labels and title bar.

How it Works
------------
	Communication with Task Manager
	-------------------------------
	DrawRuler keeps a list of the taskhandles of all running copies of Draw
	The list is created when DrawRuler starts, and DrawRuler is initially
	linked to the first running copy of Draw that the Task Manager finds.
	Wimp_MTaskClosedown and Wimp_MTaskInitialise messages are subsequently
	monitored, and the list is rebuilt every time a copy of Draw is quit
	or started. When no copies of Draw remain, DrawRuler will quit.

	Reading Draw Settings
	---------------------
	DrawRuler regularly (4 per sec) examines Draw$Options of the 'parent'
	copy of Draw by sending it Wimp_MSaveDesktop messages and retrieving this
	information via a temporary Pipe. Thus the grid and zoom parameters etc.
	currently set within Draw are constantly available for the coordinates
	calculations, which are performed in DrawRuler's null-event handler.

	Unlink button
	-------------
	When 'Unlink' is activated, the current 'parent' task and window handles
	are cancelled, flagging DrawRuler to look out for any window belonging
	to any one of the Draw copies in its list. When it finds one beneath the
	pointer, this becomes the new window/task pair that is linked-to.

	AutoRun setting
	---------------
	The autorun setting adds/removes a line in <Draw$Dir>.!Run to Filer_Run
	DrawRuler , using a temporary scrapfile as an intermediate step.

Limitations
-----------
	If you have multiple windows within the same copy of Draw, you will find
	that you need to re-select a setting on the new window before that
	setting gets 'linked' to DrawRuler. This seems to be down to Draw itself.
	The 'source' window for Draw$Options does not seem to simply follow the
	input focus, but does not actually update until the setting is reinforced
	or changed in the new window. I suspect that not much can be done about
	this. You just have to re-click on any setting that does not appear to be
	linking to DrawRuler. You will only be aware of this shortcoming if the
	multiple windows concerned have different grid/zoom settings.

	It is better in this respect if you use multiple copies of Draw rather
	than multiple windows under one copy, as you will not see this problem.

Upgrade History
---------------
	V0.01 - 12 Feb 2003 - First release.
	-------------------

	V0.02 - 14 Feb 2003 
	-------------------
	Now allows linking across different copies of Draw as well as between
	different windows within the same copy.

	Added a Choices dialogue and user !Choices file for the 'Run
	automatically with Draw' and 'Stay on top' settings.

	Autorun routines, previously separate, are now contained within
	the application and operate transparently via a Choices setting.
	The backup 'OldDrawRun' filetype has been changed to plain text while
	it is 'in storage', because if you happen to run it for any crazy
	reason, it screws up several of Draw's system variables - necessitating
	a reset before Draw will run again.

	V0.03 - 15 Feb 2003
	-------------------
	Fixed problem which meant it didn't work when paper size/limits were
	non-default i.e. whenever Draw$Options contained any 'P..' string.

	V0.04 - 24 Feb 2003
	-------------------
	Added installation instructions to this file calling for copying of
	!Draw skeleton to HD Apps directory, to make available a writable copy
	of <Draw$Dir>.!Run so that the autorun feature will work properly.

        DECimal/FRACtional readout format control added.
	
	Added the S/H manual - previously had only text !Help.

	Got rid of 'OldDrawRun' file. Now uses <Wimp$ScrapDir> and rebuilds
	<Draw$Dir>.!Run 'on the fly' when setting/unsetting autorun option.

	Significant changes to window template layout.

	Added ability in Choices to configure displayfield font.

	Choices dialogue now 'persistent' show type - previously 'transient'.

	Internal directory structure altered - 'Resources' directory added.

	Now compiled with the new 32-bit tools.

	'Parent' taskname/!Run file location now obtained from Messages file to
	allow for possible variants. These were previously hardwired in code.

			-----------------------------------

Acknowledgements/Contact
------------------------

	Many thanks to all those on csa.programmer who have helped
	me to get this far.

	Thanks to Raymond Cox for help in testing the 32-bit version.

	Any problems/bugs/ideas to
	hsdawson@argonet.co.uk

	Freeware - may be redistributed freely.

	Future updates will be made available at
	www.argonet.co.uk/business/hsdawson/soft.html

		    ---------------------------------------------
