1998-01-16  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* CompleteProbeDisplay.m ([CompleteProbeDisplay -update]): Check
	before doing each update, not before all of them.

	* SimpleProbeDisplay.m ([SimpleProbeDisplay -update]): Likewise.

1998-01-15  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* simtools.h (SET_WINDOW_GEOMETRY_RECORD_NAME): Add convenience
	macro.  ProbeDisplay and CompleteProbeDisplay derive from
	WindowGeometryRecordName protocol.
	CompositeWindowGeometryRecordName: New protocol.  ActionCache
	and GUIComposite protocols derive from it.
	

	* GUISwarm.m: ([GUISwarm -windowGeometryRecordName:]): Remove.

	* GUIComposite.m ([GUIComposite
	-setWindowGeometryRecordNameForComponent:widget:]): Insert when
	key doesn't exist.
	([GUIComposite -disableDestroyNotification]): New method.

	* GUIComposite.h: Declare -disableDestroyNotification.

	* CompleteProbeDisplay.m ([CompleteProbeDisplay -drop]): Disable
	destroy notification first thing.
	* SimpleProbeDisplay.m ([SimpleProbeDisplay -drop]): Likewise.


1998-01-14  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* GUISwarm.m ([GUISwarm -buildObjects]): Use
	SET_COMPONENT_WINDOW_GEOMETRY_RECORD_NAME.

	* GUISwarm.[hm]: Remove windowGeometryRecordNameForComponent and
	windowGeometryRecordName. 
	Add setWindowGeometryRecordNameForComponent:widget:.

	* GUIComposite.m (compareFunc): New static function for comparing
	component names.
	([GUIComposite -createEnd]): Create the componentList.
	([GUIComposite -setWindowGeometryRecordNameForComponent:widget:]): 
	New method.
	([GUIComposite -enableDestroyNotification:notificationMethod:]): Call
	Apply enableDestroyNotification:notificationMethod: to each
	component.

	* GUIComposite.h (GUIComposite): Include collections.h.  Drop
	notificationTarget and notificationMethod;
	enableDestroyNotification can't be done passthru because some
	users are createEnd, instead accumulate widgets in a
	componentList.  Drop windowGeometryRecordNameForComponenet and
	windowGeometryRecordName methods.  New method
	setWindowGeometryRecordNameForComponent:widget:.

	* ActionCache.m ([ActionCache -createProcCtrl]): Use new
	SET_COMPONENT_WINDOW_GEOMETRY_RECORD_NAME to set archiving name
	for panelWidget.

	* GUIComposite.m ([GUIComposite
	-enableDestroyNotification:notificationMethod:]): New method.

	* GUIComposite.h (GUIComposite): Add notificationTarget and
	notificationMethod.  Declare
	enableDestroyNotification:notificationMethod.

	* simtools.h: Drop windowGeometryRecordNameForComponent and
	windowGeometryRecordName fro WindowGeometryRecordName protocol.
	(SET_COMPONENT_WINDOW_GEOMETRY_RECORD_NAME_FOR): New macro.
	(SET_COMPONENT_WINDOW_GEOMETRY_RECORD_NAME): New macro.
	(CREATE_PROBE_DISPLAY, CREATE_COMPLETE_PROBE_DISPLAY,
	CREATE_ARCHIVED_PROBE_DISPLAY,
	CREATE_ARCHIVED_COMPLETE_PROBE_DISPLAY): Rename to be in caps.

	* CompleteProbeDisplay.m ([CompleteProbeDisplay -update]): Don't update
	if marked for drop.

	* SimpleProbeDisplay.m ([SimpleProbeDisplay -update]): Likewise.

	* CommonProbeDisplay.m ([CommonProbeDisplay -createEnd]): Use
	enableDestroyNotification to have markForDrop called when a probe
	display is killed by the window manager.
	([CommonProbeDisplay -markForDrop]): Call disableDestroyNotification
	first thing.

1998-01-13  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* MessageProbeWidget.m:  Include simtools.h instead of ProbeDisplay.h.
	([MessageProbeWidget -Spawn]): Use CREATE_PROBE_DISPLAY instead of
	calling createProbeDisplayFor method.
	([MessageProbeWidget -argSpawn:which]): Likewise.

	* VarProbeWidget.m: Likewise.

	* simtools.m: Declare probeDisplay as an object complying to the
	ProbeDisplayManager protocol instead of being statically typed.
	Import simtools.h.
	(createProbeDisplay, createCompleteProbeDisplayNamed,
	getKeyForName, createArchivedProbeDisplayNamed,
	createArchivedCompleteProbeDisplayNamed): New functions.

	* simtools.h (_createProbeDisplay, _createCompleteProbeDisplay,
	createArchivedProbeDisplayNamed,
	createArchivedCompleteProbeDisplayNamed): Declare new functions.
	(CREATE_ARCHIVED_PROBE_DISPLAY): New macro to pass variable variable
	name through to archiving functions above.
	(CREATE_ARCHIVED_COMPLETE_PROBE_DISPLAY): Likewise.
	(ProbeDisplayManager): Replace setWindowGeometryRecordName
	versions of createProbeDisplayFor with
	createArchivedProbeDisplayFor:variableName: and
	createArchivedCompleteProbeDisplayFor:variableName.
	(CREATE_PROBE_DISPLAY, CREATE_COMPLETE_PROBE_DISPLAY): Define macros.

	* ProbeDisplayManager.m ([ProbeDisplayManager
	-_computeProbeDisplayKeyFor_:]): New method.  Returns
	ProbeDisplay- prepended to argument.
	([ProbeDisplayManager
	-_createDefaultProbeDisplayFor_:setWindowGeometryRecordName:]):
	Make this an internal method.
	([ProbeDisplayManager
	-_createProbeDisplayFor_:setWindowGeometryRecordName:]): Make this
	an internal method.
	([ProbeDisplayManager
	-createArchivedProbeDisplayFor:variableName:]): New method.
	([ProbeDisplayManager -createProbeDisplayFor:]): Use internal
	method for same functionality.
	([ProbeDisplayManager -createDefaultProbeDisplayFor:]): Likewise.
	([ProbeDisplayManager
	-createArchivedDefaultProbeDisplayFor:variableName:]): New method.
	([ProbeDisplayManager
	-createArchivedCompleteProbeDisplayFor:variableName:]): Use new
	internal method _computeProbeDisplayKeyFor_.
	([ProbeDisplayManager -createCompleteProbeDisplayFor:]): Preserve
	functionality, but it here.

	* ProbeDisplayManager.h: Replace setWindowGeometryRecordName:
	methods with variableName: methods.

	* simtools.h: Add dropProbeDisplaysFor: to the ProbeDisplayManager
	protocol.

1998-01-12  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* GUISwarm.m:  Import simtools.h for buildWindowGeometryRecordName.
	([GUISwarm -setWindowGeometryRecordName:]): New method.
	([GUISwarm -windowGeometryRecordName]): New method.
	([GUISwarm -windowGeometryRecordNameForComponent:]): New method.
	([GUISwarm -buildObjects]): setWindowGeometryRecordName for actionCache
	using derived name using component "ActionCache".

	* GUISwarm.h (GUISwarm): Add baseWindowGeometryRecordName instance
	variable.  Declare WindowGeometryRecordName-protocol-conforming
	methods setWindowGeometryRecordName,
	windowGeometryRecordNameForComponent, and windowGeometryRecordName.

	* ActionCache.m ([ActionCache -createProcCtrl]): Rename
	component from controlPanel to ButtonPanel.

	* GUIComposite.m: Import simtools.h for buildWindowGeometryRecordName.
	([GUIComposite-windowGeometryRecordNameForComponent:]): Use
	buildWindowGeometryRecordName to create the composite name.

	* simtools.m (buildWindowGeometryRecordName): New function.

	* simtools.h: Declare buildWindowGeometryRecordName.  New protocol
	WindowGeometryRecordName, derive ActionCache, and GUISwarm from it.

1998-01-06  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* simtools.h (Action): Rename
	setControlPanelGeometryRecordName to setWindowGeometryRecordName.
	(ControlPanel):  Remove setControlPanelGeometryRecordName.

	* Makefile (OBJECTS): Add GUIComposite.o.
	(HEADERS): Add GUIComposite.h.
	(GUIComposite.o): Add.

	* ActionCache.m ([ActionCache
	-setControlPanelGeometryRecordName]): Remove.
	([ActionCache -createProcCtrl]): Use inherited
	windowGeometryRecordNameForComponent intead of value previously
	provided by controlPanelGeometryRecordName.

	* ActionCache.h (ActionCache): Inherit from GUIComposite instead
	of SwarmObject.  Remove controlPanelGeometryRecordName and setter.

1997-12-19  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* simtools.h (ActionCache): Make setScheduleContext a Using phase
	method.  Add setControlPanelGeometryRecordName. 
        (InFile): Add getline to InFile protocol.
	Reformatting throughout (remove gratuitous space).

	* ProbeDisplay.h: Reformatting throughout.

	* GUISwarm.m ([GUISwarm -buildObjects]): Remove
	controlPanelGeometryRecordName setter.  Don't use it in buildObjects.

	* GUISwarm.h (GUISwarm): Remove controlPanelGeometryRecordName
	and setter.

	* ActionCache.h: Make setScheduleContext a Use phase method.
	Minor reformatting.	

	* ActionCache.m ([ActionCache -setScheduleContext:]): Likewise
	(just moved).

1997-12-18  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* simtools.h: Add setWindowGeometryRecordName to ProbeDisplay
	protocol.

	* ProbeDisplay.h: Reformatting method declarations.

1997-12-17  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* MessageProbeWidget.m ([MessageProbeWidget -dynamic]): Constify
	test and result_string.
	([MessageProbeWidget -dynamic]): Cast result_string to void for free
	in order to avoid warning.

	* ClassDisplayWidget.m ([ClassDisplayWidget -createEnd]): Remove
	cast on argument of setText.

	* ObjectSaver.m ([ObjectSaver -saveObject:]): Constify
	fromFileNamed argument.
	([ObjectSaver +save:toFileNamed:withTemplate:]): Likewise.

	* ObjectLoader.m ([ObjectLoader +load:fromFileNamed:]): Constify
	fromFileNamed argument.

	* ObjectLoader.h: Constify fromFileNamed argument to load.

	* ObjectSaver.h: Constify toFileNamed argument for save methods.
	Reformatting throughout.
	
1997-12-16  Alex Lancaster  <alex@wijiji.santafe.edu>

	* tests: Added subdirectory with some "unit" module tests.

1997-12-13  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* ControlPanel.m ([ControlPanel -setStateSave]): Renamed from
	setStateStoppedAndSave.  This version doesn't call setStateStopped.
	Minor reformatting.

	* ControlPanel.h: Rename setStateStoppedAndSave to setStateSave.
	Reformatting throughout.

	* ActionCache.m ([ActionCache -insertAction:]): Insert renamed
	setStateSave.
	([ActionCache -deliverActions]): Only schedule a Stop, do
	Save and Quit immediately.
	([ActionCache -sendActionOfType:type:]): Don't set running
	status if it is a Save; try to be passive.
	Reformatting throughout.

1997-12-12  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* MessageProbeWidget.m ([MessageProbeWidget -idReceive:which]): 
	Duplicate output of tclObjc_objectToName; it is needed and will
	get overwritten.

1997-12-11  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* Archiver.m (defaultFileName): Change from ~/.swarm to
	~/.swarmArchiver for default archiver path.

1997-12-10  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* InFile.m ([InFile -getChar:]): fgetc to an int (for comparison
	with EOF).
	([InFile -skipLine]): Likewise.

	* simtools.h: Consify toExecute argument of ActionCache
	sendActionOfType.
	Consify setBaseName argument of UName create.
	Consify argument to UName setBaseName.
	Consify return of UName getNewName.
	Consify withName argument of InFile create.
	Consify withName argument of OutFile create.
	Consify argument to OutFile putString.
	Consify withName argument of AppendFile create.
	Consify argument to AppendFile putString.

	* UName.m ([UName +create:setBaseName:]): Consify setBaseName
	argument to create.
	([UName -setBaseName:]): Consify argument.
	([UName -getNewName]): Consify return.
	Reformatting throughout.

	* UName.h: Consify setBaseName argument to create.
	Consify argument to setBaseName.
	Consify return of getNewName.
	Reformatting throughout.

	* AppendFile.m ([AppendFile +create:withName:theName]): Consify 
	withName argument. 
	Reformatting throughout.

	* AppendFile.h: Consify withName argument to create.
	Reformatting throughout.

	* ActionHolder.m ([ActionHolder -setActionName:]): Consify argument.
	([ActionHolder -getActionName]): Consify return.
	Reformatting throughout.

	* ActionHolder.h (ActionHolder): Consify name.
	Consify argument to setActionName.  Consify return of getActionName.
	Reformatting throughout.

	* ActionCache.m ([ActionCache -sendActionOfType:type:]): Consify
	toExecute argument.  Reformatting throughout.

	* ActionCache.h: Constify toExecute argument of sendActionOfType.
	Reformatting throughout.

	* MessageProbeWidget.m ([MessageProbeWidget -idReceive:which]):
	Use renamed tkobjc_gimme_drag_and_drop_object.
	* VarProbeWidget.m ([VarProbeWidget -idReceive]): Likewise.

	* MessageProbeWidget.m (isSpace): Add macro to cast char to int
	before passing to isspace.
	(empty): Use new macro isSpace.

	* ProbeDisplay.m ([ProbeDisplay -setWindowGeometryRecordName:]):
	Include tkobjc/control.h.

	* VarProbeWidget.m ([VarProbeWidget -createEnd]): Update to new or
	renamed tkobjc_setAnchorEast, tkobjc_setWidth,
	tkobjc_bindReturnToSetValue,
	tkobjc_bindKeyReleaseReturnToResetColorAndUpdate,
	tkobjc_bindFocusInToSetSelection,
	tkobjc_bindFocusOutToClearSelection, tkobjc_disabledState,
	tkobjc_bindButton3ToSpawn, tkobjc_bindButton3ToBeUnhelpful.
	([VarProbeWidget -Spawn]): Update to renamed tkobjc_ringBell and
	tkobjc_update.
	([VarProbeWidget -update]): Update to renamed
	tkobjc_normalState, tkobjc_disabledState, and tkobjc_update.
	([VarProbeWidget -idReceive]): Update to renamed tkobjc_focus.
	([VarProbeWidget -package]): Update to renamed tkobjc_ringBell
	and tkobjc_update.

	* SimpleProbeDisplay.m ([SimpleProbeDisplay -createEnd]): Update
	to renamed tkobjc_setRelief, tkobjc_getId, tkobjc_setAnchorWest,
	tkobjc_setColorBlue, tkobjc_bindButton3ForCompleteProbeDisplay,
	tkobjc_bindWindowEntry, tkobjcWindowExit,
	tkobjc_configureHideButton, tkobjc_packFill, and
	tkobjc_packFillLeft.
	([SimpleProbeDisplay -package]): Update to renamed tkobjc_packageName.
	([SimpleProbeDisplay -getId]): Update to renamed tkobjc_getId.

	* ProbeDisplay.m ([ProbeDisplay -createEnd]): Update to renamed
	tkobjc_updateIdleTasksAndHold and tkobjc_releaseAndUpdate.


	* MessageProbeWidget.m ([MessageProbeWidget -createEnd]): Update
	to new or renamed tkobjc_disabledState, tkobjc_setWidth,
	tkobjc_bindButton3ToSpawn, tkobjc_bindButton3ToBeUnhelpful,
	tkobjc_packFillLeft, tkobjc_setText, and
	tkobjc_bindButton3ToArgSpawn.  Reformatting throughout.
	([MessageProbeWidget -dynamic]): Update to renamed
	tkobjc_ringBell, tkobjc_normalState, tkobjc_disabledState.
	([MessageProbeWidget -Spawn]): Update to renamed tkobjc_ringBell.
	([MessageProbeWidget -argSpawn:which]): Likewise.
	([MessageProbeWidget -package]): Likewise.
	([MessageProbeWidget -package:which]): Likewise.
	([MessageProbeWidget -idReceive:which]): Use new tkobjc wrapper
	function tkobjc_gimme_ddobj.  Use renamed tkobjc_normalState,
	tkobjc_disabledState, and tkobjc_update.
	Reformatting throughout.

	* ControlPanel.m ([ControlPanel -waitForControlEvent]): Update
	to renamed tkobjc_doOneEventSync.

	* CompleteProbeDisplay.m ([CompleteProbeDisplay -do_resize]): Update
	to renamed tkobjc_packForgetAndExpand, tkobjc_assertGeometry.

	* CommonProbeDisplay.m ([CommonProbeDisplay -createEnd]): Update
	to renamed tkobjc_getId, tkobjc_withdrawWindow,
	tkobjc_configureProbeCanvas, tkobjc_setBorderWidth,
	tkobjc_createWindow,
	([CommonProbeDisplay -install]): Update to renamed tkobjc_deiconify,
	tkobjc_assertGeometry.

	* ClassDisplayWidget.m ([ClassDisplayWidget -createEnd]): Update
	to new or renamed tkobjc_setRelief, tkobjc_setAnchorWest,
	tkobjc_setColorBlue, tkobjc_packForgetArmSuperAndResize,
	tkobjc_configureHideBitmap, tkobjc_configureWidgetToDrop,
	tkobjc_configureSpecialBitmap, tkobjc_configureSuperBitmap,
	tkobjc_configureWidgetToPackBeforeAndFillLeftThenDisableAndResize,
	tkobjc_configureWidgetToBeep, tkobjc_disabledState,
	tkobjc_packToRight,
	tkobjc_packBeforeAndFillLeft,tkobjc_packFillLeft.
	([ClassDisplayWidget -armSuperButton]): Update to
	renamedtkobjc_normalState.
	Reformatting throughout.

	* ClassDisplayWidget.h: Reformat throughout.

	* ActionCache.m ([ActionCache -createProcCtrl]): Update to
	renamed tkobjc_registerCommand.
	([ActionCache -doTkEvents]): Update to renamed tkobjc_doOneEventAsync.

1997-12-09  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* InFile.m ([InFile +create:withName:]): Constify withName argument.
	Reformatting and variable elimination throughout.

	* InFile.h: Constify withName argument to create.

	* OutFile.m ([OutFile +create:withName:]): Constify withName argument.
	([OutFile -putString:]): Constify argument.  Reformatting throughout.

	* OutFile.h: Constify withName argument to create.
	Constify argument to putString.  Reformatting throughout.

	* MessageProbeWidget.m ([MessageProbeWidget -dynamic]): Remove
	cast to char* for setValue.
	([MessageProbeWidget -idReceive:which]): Likewise.

	* VarProbeWidget.m: Reformatting throughout.

	* simtools.m (initSwarm): Remove TkInterp evals for bitmaps
	hide, super, and special.  Remove Tcl routines send_id, gimmie,
	sitecmd, and do_package.  (These are now in tkobjc's simtools.tcl.)
	Reformatting throughout.
	
Mon Dec  8 22:37:39 1997  glen e. p. ropella  <gepr@swarm.com>

	* simtools: replaced all instances of swarmobject.h with
	objectbase.h and swarmobject/ with objectbase/

1997-12-08  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* VarProbeWidget.h: Constify return of -package. Reformatting
	throughout.

	* VarProbeWidget.m ([VarProbeWidget -createEnd]): Replace calls to
	Tcl with new tkobjc functions setAnchorEast, setWidth,
	disabledState,
	([VarProbeWidget -Spawn]): Use new tkobjc functions ringBell, and
	update.
	([VarProbeWidget -update]): Use new tkobjc functions normalState,
	disabledState, and update.
	([VarProbeWidget -package]): Constify return value.  Use new 
	tkobjc functions ringBell and update.

	([VarProbeWidget -idReceive]): Use new tkobjc function focus.

	* MessageProbeWidget.m ([MessageProbeWidget -createEnd]): Replace
	calls to Tcl with new tkobjc functions disabledState, setWidth,
	and setText, and existing tkobjc function packFillLeft.
	([MessageProbeWidget -dynamic]): Use new tkobjc functions
	ringBell, normalState, and disabledState.
	([MessageProbeWidget -Spawn]): Use new tkobjc function ringBell.
	([MessageProbeWidget -argSpawn:which]): Likewise.
	([MessageProbeWidget -package]): Likewise.
	([MessageProbeWidget -package:which]): Likewise.
	([MessageProbeWidget -idReceive:which]): Use new tkobjc function
	normalState, disabledState, and update. 
	Reformatting throughout.

	* MessageProbeWidget.h: Consify -package and -package:.
	Reformatting throughout.

	* MessageProbeWidget.m: Include <tkobjc/control.h>.
	
	* MessageProbeWidget.m ([MessageProbeWidget -dynamic]): Add
	extra conditional braces to pacify GCC.

1997-12-08  Alex Lancaster  <alex@wijiji.santafe.edu>

	* ObjectSaver.m ([ObjectSaver -saveObject:]):
	Changed call to probeAsString to probeAsString withFullPrecision
	to write floats and doubles with the precision as set in the global
	probeLibrary instance (or the %g default).

1997-12-08  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* ControlPanel.m ([ControlPanel -_actionCacheWarning_:]): 
	Add warning for obsolete methods that should now be destined
	to ActionCache.
	([ControlPanel -getPanel]): Use _actionCacheWarning_.
	([ControlPanel -doTkEvents]): Likewise.

Mon Dec  8 15:08:41 1997  glen e. p. ropella  <gepr@seamus.trail.com>

	* SimpleProbeDisplay.m ([SimpleProbeDisplay -createEnd]):  
	Added third argument to configureButton3ForCompleteProbeDisplay()
	call.

	* ProbeDisplayManager.m ([ProbeDisplayManager 
	-createDefaultProbeDisplayFor:setWindowGeometryRecordName:]): 
	Added probemap creation call.
	
	* ControlPanel.m ([ControlPanel -doTkEvents]): Changed the
	fatal error back to a warning.
	([ControlPanel -getPanel]): Changed the fatal error back to
	a warning.

1997-12-07  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* ControlPanel.m ([ControlPanel -getPanel]): Switch from the
	ObsoleteMessage warning to a fatal error, APIChange.
	([ControlPanel -doTkEvents]): Likewise.
	Reformatting throughout.

	* GUISwarm.m: Include ControlPanel.h.  Reformatting throughout.

	* GUISwarm.h (GUISwarm): Change from ControlPanel type to an id.
	Reformatting throughout.

1997-12-07  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* simtools.h (CompleteProbeDisplay): Add getMarkedForDropFlag
	to protocol.

	* ProbeDisplay.m (resetObjectError): Add routine for error message
	formerly invoked using redundant code.
	([ProbeDisplay -setProbedObject:anObject]): Use above.
	([ProbeDisplay -setProbeMap:]): Likewise.
	([ProbeDisplay -createEnd]): Use new routines updateIdleTasksAndHold
	and releaseAndUpdate (in place of direct calls to the Tcl interpreter).
	([ProbeDisplay -createEnd]): Move common creation code for
	CompleteProbeDisplay and SimpleProbeDisplay out of conditional.
	Reformatting throughout.

	* ProbeDisplayManager.m ([ProbeDisplayManager -createEnd]):
	Include CommonProbeDisplay instead of SimpleProbeDisplay (for 
	getMarkedForDropFlag).

	* CompleteProbeDisplay.m ([CompleteProbeDisplay -createEnd]):
	Modified to call CommonProbeDisplay's createEnd and install.

	* SimpleProbeDisplay.m ([SimpleProbeDisplay -createEnd]):
	Likewise.

	* CompleteProbeDisplay.[hm] (CompleteProbeDisplay): Removed things
	now found in CommonProbeDisplay.

	* SimpleProbeDisplay.[hm] (SimpleProbeDisplay): Likewise.

	* CommonProbeDisplay.h: New abstract class for things common
	to SimpleProbeDisplay and CompleteProbeDisplay.h.

	* ControlPanel.m: Include simtools/global.h instead of locally
	declaring probeDisplayManager.

1997-12-04  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* simtools.h (ProbeDisplayManager): Add setDropImmediatelyFlag.

1997-12-04  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	From Dwight Wilson <wilson@blaze.cs.jhu.edu> (slightly adapted)
	
	* SimpleProbeDisplay.m ([SimpleProbeDisplay -createEnd]): set
	markedForDropFlag = NO;
	([SimpleProbeDisplay -markForDrop]): Add.
	([SimpleProbeDisplay -getMarkedForDropFlag]): Add.

	* SimpleProbeDisplay.h (SimpleProbeDisplay): Add markedForDropFlag
	instance variable and getter.

	* ProbeDisplayManager.m: Reformatting throughout.  Move include of
	DefaultProbeMap.h to top.  Include SimpleProbeDisplay.h, for
	getMarkedForDropFlag).
	([ProbeDisplayManager -createEnd]): set dropImmediatelyFlag = YES.
	([ProbeDisplayManager -update]): Drop the items on the probeList
	so marked.
	([ProbeDisplayManager -setDropImmediatelyFlag:]): Add.
	([ProbeDisplayManager -getDropImmediatelyFlag]): Add.

	* ProbeDisplayManager.h: Add dropImmediatelyFlag and accessor methods.
	Reformatting throughout.

	* ControlPanel.m: Declare probeDisplayManager.
	([ControlPanel -setStateStopped]): Call [probeDisplayManager
	setDropImmediatelyFlag : YES] on the probeDisplayManager.
	([ControlPanel -setStateStepping]): Likewise.
	([ControlPanel -setStateRunning]): Call [probeDisplayManager
	setDropImmediatelyFlag: NO] on the probeDisplayManager.

1997-12-04  Marcus G. Daniels  <mgd@wijiji.santafe.edu>
	
	* SimpleProbeDisplay.m: Reformatting throughout.  Include
	tkobjc/control.h instead of tkobjc.h.
	([SimpleProbeDisplay -createEnd]): Use new tkobjc functions
	withdrawWindow, configureProbeCanvas, setBorderWidth,
	createWindow, setRelief, getId, setAnchorWest, setColorBlue,
	configureButton3ForCompleteProbeDisplay, configureWindowEntry,
	configureWindowExt, configureHideButton, packFill, packFillLeft,
	deiconify, assertGeometry to consolidate code with
	CompleteProbeDisplay.
	([SimpleProbeDisplay -package]): Now returns const char *.
	([SimpleProbeDisplay -getId]): Use tkobjc function getId.

	* SimpleProbeDisplay.h: Reformatting throughout.
	Add `const' to return string of -package.

	* ControlPanel.m: Include tkobjc/control.h, omit tkobjc/global.h
	later in the code.
	([ControlPanel -waitForControlEvent]): Use new tkobjc wrapper
	doOneEventSync instead of calling Tk_DoOneEvent directly.

	* CompleteProbeDisplay.m: Reformatting throughout.
	 ([CompleteProbeDisplay -setWindowGeometryRecordName:]): Include
	tkobjc.h instead of tkobjc.h.
	([CompleteProbeDisplay -createEnd]): Use new tkobjc functions
	withdrawWindow, configureProbeCanvas, setBorderWidth,
	createWindow, deiconify, assertGeometry (to consolidate common code
	with SimpleProbleDisplay).
	([CompleteProbeDisplay -do_resize]): Use new tkobjc packForget and
	assertGeometry.

	* ActionCache.m: Include tkobjc/control.h instead of
	tkobjc/global.h; avoid using TclTk features directly.
	([ActionCache -createProcCtrl]): Use new tkobjc function
	registerCommand instead of calling registerObject: directly.
	([ActionCache -createProcCtrl]): Use new ButtonPanel methods
	setTargetName and addButtonName: actionName: instead of sending
	combined command+action string.
	([ActionCache -doTkEvents]): Use new tkobjc wrapper function
	doOneEventAsync instead of Tk_DoOneEvent.

1997-12-02  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* simtools.m: Included string.h (for strncmp).

1997-12-01  Alex Lancaster  <alex@wijiji.santafe.edu>

	* Makefile: (OBJECTS, HEADERS): Added AppendFile

	* simtools.h: Added AppendFile and added reverseOrder method to
	QSort protocol.

	* QSort.m and QSort.h: added factory method +(void) reverseOrderOf:
	aCollection to reverse the current order of a collection.

	* AppendFile.[hm]: Added.  Allow users
	to append to a file - rather than just overwriting.
	
1997-11-29  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* CompleteProbeDisplay.m ([CompleteProbeDisplay -drop]): Disable
	explicit calls to destroy.

	* SimpleProbeDisplay.m [SimpleProbeDisplay -drop]): Disable
	explicit call to destroy.

	* CompleteProbeDisplay.m ([CompleteProbeDisplay -createEnd]):
	Eliminated bizarre nested indentation.

	* Makefile (OBJECTS, HEADERS): Add Archiver.
	(Archiver.o): Add.

	* simtools.m: Import Archiver.h.  Define applicationName and
	applicationMode variables.
	(setApplicationValue): Add.  Routine strips slashes from a program
	name.
	(initSwarm): Create and assign applicationName and applicationMode
	from argv[0] and `-a' option respectively.
	(initSwarm): Create archiver.
	(printHelp): Add info about `-appMode' option.

	* simtools.h: Make Object{Loader,Saver} fromFileNamed: arguments const.

	* global.h: Add applicationName and applicationMode extern objects.

	* ProbeDisplayManager.h: Add
	create{Default,Complete}*ProbeDisplayFor:setWindowGeometryRecordName: 
	prototypes.

	* simtools.h: Add methods below to ProbeDisplayManager protocol.

	* ProbeDisplayManager.m ([ProbeDisplayManager
	-createProbeDisplayFor:setWindowGeometryRecordName:]): Add.
	([ProbeDisplayManager
	-createDefaultProbeDisplayFor:setWindowGeometryRecordName:]): Add.
	([ProbeDisplayManager
	-createCompleteProbeDisplayFor:setWindowGeometryRecordName:]): Add.

	* ProbeDisplay.m ([ProbeDisplay -setWindowGeometryRecordName:]): Add.
	([ProbeDisplay -createEnd]): Add calls to setWindowGeometryRecordName.

	* ProbeDisplay.h (SwarmObject): Add instance variable
	windowGeometryRecordName and setter.

	* GUISwarm.m ([GUISwarm -setControlPanelGeometryRecordName:]): Add.
	([GUISwarm -buildObjects]): Add create-time call
	to setControlPanelGeometryRecordName.
	
	* GUISwarm.h (GUISwarm): Add controlPanelGeometryRecordName
	instance variable and setter.

	* ControlPanel.m: Import Archiver.h.
	([ControlPanel -setStateStoppedAndSave]): Add (stop and call
	archiverSave).

	* ControlPanel.h: Add declaration of -setStateStoppedAndSave.

	* {Simple,Complete}ProbeDisplay.m: Import Archiver.h.
	([{Simple,Complete}ProbeDisplay -setWindowGeometryRecordName:]): Add.
	([{Simple,Complete}ProbeDisplay -createEnd]): For topLevel, add
	create-time call to setWindowGeometryRecordName.

	* {Simple,Complete}ProbeDisplay.h: Add windowGeometryRecordName
	instance variable and setter.

	* ActionCache.m: Import Archiver.h.
	([ActionCache -setControlPanelGeometryRecordName:]): Add.
	([ActionCache -insertAction:actionHolder]): Recognize "Save" by
	settting actionHolder to setStateStoppedAndSave. Change syntax of
	`unrecognized action name' message to better discriminate the
	action name.
	([ActionCache -deliverActions]): Recognize "Save" in the same vein
	of "Stop".  Change syntax of `unrecognized action name' message to
	better discriminate the action name.
	([ActionCache -sendSaveAction]): Add.
	([ActionCache -createProcCtrl]): Add call to
	setWindowGeometryRecordName for the control panel. Add "Save" button.
	Don't pack the widget (Frame).

	* ActionCache.h (ActionCache): Add controlPanelGeometryRecordName
	instance variable and setter method.

	* Archiver.[hm]:  New files. 

Fri Nov 28 16:49:14 1997  glen e. p. ropella  <gepr@swarm.com>

	* GUISwarm.h (@interface GUISwarm): Changed typing of 
	controlPanel from static to protocol adherence to avoid
	compiler warning.

1997-11-20 Marcus G. Daniels  <mgd@wijiji.santafe.edu>
	
	From glen e. p. ropella  <gepr@grasshopper.santafe.edu>
	
	* Action[Cache|Holder].[hm]: Changed header.

	* simtools.h (library-wide): Brought simtools library
	into conformance with protocol interface standard.
	
	* ControlPanel.[hm]
	  src/simtools/simtools.[hm]
	  src/simtools/NSelect.m
	  src/simtools/QSort.m
	  src/simtools/ActionCache.[hm]
	  src/space/Discrete2d.m
	  (headers):  Moved symbols around and changed imports and includes
	such that simtools.h new protocol interface is followed.

1997-11-16  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* ClassDisplayWidget.m ([ClassDisplayWidget -createEnd]): Use
	isKindOf instead of isMemberOf so that use of subclasses of
	VarProbe and MessageProbe are possible.

	* SimpleProbeDisplay.m ([SimpleProbeDisplay -createEnd]): Same.
	
	* ObjectSaver.m ([ObjectSaver -saveObject:]): Same (only VarProbe).

	* ObjectLoader.m ([ObjectLoader -loadObject:]): Use new getline
	method (so that objects with spaces can be read).

	* ObjectLoader.[hm] ([ObjectLoader -setTemplateProbeMap:]): Add
	setTemplateProbeMap method to ObjectLoader.

	* ClassDisplayWidget.m ([ClassDisplayWidget -createEnd]): Replace
	call to Tcl for drag&drop with new tkobjc dragAndDrop function.

	* MessageProbeWidget.m ([MessageProbeWidget -createEnd]): Same.
	
	* SimpleProbeDisplay.m ([SimpleProbeDisplay -createEnd]): Same.

	* VarProbeWidget.m ([VarProbeWidget -createEnd]): Same.

	* ObjectSaver.m ([ObjectSaver -saveObject:]): Make the save buffer
	bigger.

	* InFile.[hm] ([InFile -getLine:]): Add method.

	* ActionCache.[hm]: Fix identifying header comment.

	* ActionCache.m: Include <simtools/ActionCache.h> instead of
	"ActionCache.h" to prevent possibility of multiple inclusion.

