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.

