1998-03-20  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* TkExtra.m (ensureBltSupportFiles): Don't call getSwarmHome
	twice; use the local variable.  Duplicate basePath so that it
	may be printed later in a diagnostic message.

1998-03-18  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* internal.m: Don't include stdlib.h.
	(setSecondaryPath): Now takes `arguments' argument to get swarmHome
	instead of using SWARMHOME environment variable.

	* TkExtra.m: Include objectbase.h and objectbase/Arguments.h.
	(ensureBltSupportFiles): Enhance to check for usable blt_library
	in swarmHome/lib.  Now takes `arguments' argument.

1998-03-17  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* tkobjc.h: Don't include XDrawer.h if Win32.

	* ZoomRaster.m ([ZoomRaster -draw:X:Y:]): Don't define if
	Win32.

	* Raster.m ([Raster -draw:X:Y:]): Don't define if Win32.

	* Raster.h: Don't include XDrawer.h if Win32.  Don't declare
	- draw: (id <XDrawer):X:Y: in Win32.

	* Makefile (XDRAWER_H): Define as XDrawer.h if not Win32. 
	Put XDRAWER_H in BACKEND_H.  Replace XDrawer.h with XDRAWER_H 
	throughout.

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

	* internal.m: Include stdlib.h (for getenv).
	(setSecondaryPath): New function sets a secondary {TCL,TK}_LIBRARY
	path from $SWARMHOME/lib.
	(tkobjc_initTclInterp, tkobjc_initTkInterp): Use it.

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

	* internal.m: Include sys/time.h, protecting against redefinition
	of timezone.  Undo (X11) Status define to avoid warnings in
	Win32 header files.

	* win32dib.h: Declare new function dib_copy. 
	Uncomment dib_{un}lock.

	* win32dib.c (dib_fill): Make frameWidth even if it isn't.
	Include starting y offset in base.  
	(dib_{un}lock): Uncomment.
	(dib_copy): New function.

	* internal.m (tkobjc_raster_erase): Reserve 255/black for erasing
	rather than using temporary colormap.
	(tkobjc_raster_copy): Use new function dib_copy to copy
	old pixmap.

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

	* tkobjc.h: Don't include XPixmap when _WIN32.

	* internal.m: Remove dummy Tcl_{Create,Delete}FileHandler for
	unused BLT bgExec support.

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

	* internal.h: Move inclusion of Raster and Colormap after inclusion
	of tk.h.

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

	* ClassDisplayHideButton.m (tkobjc_configureWidgetToDrop): Send
	markForDrop, not drop.

	* win32dib.c: Include win32dib.h not dib.h.

	* Makefile (BACKEND_{H,O}): Renamed from XPIXMAP_{H,O}.  Include
	win32dib.[hm] for gnu-win32.

	* internal.m (Colormap): Define as X11Colormap during inclusion
	of tkWinInt.h.
	(tkobjc_raster_createPixmap): Use renamed tkobjc_raster_setColormap.

	* Makefile: Remove defines for Tk headers.  Make a rule
	for internal.o.
	(XPIXMAP_{H,O}): Define conditionally on MACHTYPE vs i386-pc-cygwin32.

	* internal.m: Include win32dib.h and Tk internal header files only
	if _WIN32.  Include <misc.h>.
	(Xfill): New function.
	(tkobjc_raster_fillRectangle}): Use dib_fill in Win32 case and
	Xfill in X case.
	(tkobjc_raster_erase): In Win32 case, setup a temporary colormap
	and use tkobjc_raster_fillRectangle with index of 0 to erase. 
	In X case, use Xfill.
	(tkobjc_raster_drawPoint,tkobjc_setColormap): New functions.
	(tkobjc_raster_createPixmap, tkobjc_raster_flush): Handle Win32
	case.
	(tkobjc_raster_copy): Disabled in Win32 case.
	(XDrawPoint, XCreatePixmap, XFreePixmap): Remove.

	* internal.h: Include <tkobjc/Colormap.h> and make a @class.
	(tkobjc_raster_{fillRectangle,drawPoint}): Takes a colormap index
	not a PixelValue.
	(tkobjc_raster_{erase,setColormap}): Declare.

	* Raster.m ([Raster -setColormap:]): Call tkobjc_setColormap.
	([Raster -erase]): Call tkobjc_raster_erase instead of
	tkobjc_raster_fillRectangle.
	([Raster fillRectangleX0:Y0:X1:Y1:Color:]): Color is now a colormap
	index, not a PixelValue.
	([Raster -drawSelf]): Remove debug message.

	* Raster.h (Raster): Make colormap public.

	* Colormap.h (Colormap): Make map, isSet, and cmap public.

	* win32dib.[hc]: New files.

1998-03-09  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* common.m (tkobjc_updateIdleTasks, tkobjc_releaseAndUpdate):
	Disable use of BLT busy in _WIN32 case.

	* tkbusy.tcl: Note that isbusy isn't implemented.

	* tkobjc.m (initTkObjc): Evaluate comm_tcl, create a comm channel,
	and evaluate tkbusy_tcl in _WIN32 case.

	* Makefile (%_tcl.x): Handle backslashes.
	(tkobjc.o): Depend on comm_tcl.x, tkbusy_tcl.x as well.

	* comm.tcl, tkbusy.tcl: New files.

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

	* internal.m: Define WindowsArguments as Arguments during load of
	tkWinInt.h.  Define BOOL as BOOL_ during load of tkInt.h.
	Do these includes before Swarm class includes.
	(XDrawPoint, XCreatePixmap, XFreePixmap): New functions for __WIN32_.

	* internal.h: Don't include X11/xpm.h if __WIN32__.
	gnu-win32 B19 supplies X11 header files.  

        * internal.[hm]: Make width and height arguments unsigned.

	* internal.m: Don't include tkobjc/Widget.m. Include internal.h
	first.  Define BOOL to be BOOL_ to avoid conflict with Xmd.h.
	Include tkInt.h and, if __WIN32__, tkWinInt.h. 
	(tkobjc_linkVar): Make second argument void *.
	tkobjc_raster_{fillRectangle,drawPoint,createContext,createPixmap,
	setBackground,copy,flush}: New functions.

	* internal.h: Define Colormap as X11Colormap before including X11
	things.  Otherwise, don't try to preserve Colormap preprocessor
	definitions.  Include and define Raster class.  Declare
	tkobjc_raster_{fillRectangle,drawPoint,createContext,createPixmap,
	setBackground,copy,flush}.

	* XDrawer.h: Include internal.h instead of X11/Xlib.h.

	* Raster.m ([Raster -createEnd]): Don't set display or xwin
	(variables removed).
	([Raster -getDisplay]): Removed.
	([Raster -createEnd]): Use tkobjc_raster_createContext and
	tkobjc_raster_createPixmap instead of calling X primitives.
	([Raster -setColormap:]): Use tkobjc_raster_setBackground instead
	of using X primitives.
	([Raster -setWidth:Height:]): Use tkobjc_raster_createPixmap and
	tkobjc_raster_copy instead of using X primitives.
	([Raster -erase]): Use tkobjc_raster_fillRectangle rather than
	using X primitives.  Don't bother preserving foreground color.
	([Raster -drawPointX:Y:Color:]): Use tkobjc_raster_drawPoint
	rather than X primitives.
	([Raster -fillRectangleX0:Y0:X1:Y1:Color:]): Use
	tkobjc_raster_fillRectangle rather than using X primitives.
	([Raster -drawSelf]): Use tkobjc_raster_flush rather than 
	X primitives.

	* Raster.h (Raster):  Make tkwin, gc, pm, width and height
	public (for access by internal.m routines).  Remove display, and xwin.

	* Colormap.m ([Colormap -setColor:ToName:]): Get xc in two
	steps:  XParseColor and XAllocColor instead of XAllocNamedColor.
	(More precision in error reports and Tk 8 lacks an emulation
	routine for the latter.)

	* Colormap.h: Type of cmap renamed from Colormap_ to X11Colormap.

1998-02-27  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* InputWidget.[mh] ([InputWidget -linkVariableDouble:], 
	[InputWidget -linkVariableBoolean:]): New methods.

	* Graph.m: Don't include string.h, stdio.h, or collections.h.
	Include misc.h for strdup.

	* Graph.h (Graph): Add setRangesYMin:Max:.

1998-02-24  Alex Lancaster  <alex@santafe.edu>

	* common.[hm] (tkobjc_updateIdleTasks): Renamed from
	(tkobjc_updateIdleTasksAndHold) and parameterized to take an
	argument (int hold) to specify hold status.

1998-02-18  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* TkExtra.m ([TkExtra -preInitWithArgc:argv:]): Constify argv.

	* tkobjc.m: Include objectbase/Arguments.h.  Change initTkObjc
	to take an Arguments object.

	* testHistogram.m: Include objectbase/Arguments.h.  Create an
	Arguments object and pass it to initTkObjc.

	* testGraph.m (main): Include objectbase/Arguments.h. Create Graph
	not BLTGraph, and use setTitle: and setAxisLabelsX:Y:.  Create an
	Arguments object and pass it to initTkObjc.

	* testFrame.m (main): Include objectbase/Arguments.h. Use
	initModule(collections) instead of initCollections().  Create an
	Arguments object as pass it to initTkObjc.

	* testRaster.m (main): Likewise.  Use Colormap instead of XColormap.

	* internal.h (tkobjc_initT{cl,k}Interp): Now take id as argument
	instead of argc, argv.

	* internal.m (tkobjc_initT{cl,k}Interp): Likewise.

	* global.h: Add promptAndEval to TkExtra protocol.
	(initTkObjc): Now takes id as argument instead of argc, argv.

	* Makefile (testFrame, testHistogram, testRaster, testGraph): 
	Use -ltkobjc -lsimtools $(LIBS) instead of naming everything
	(simtools is for archiving routines).

	* ArchivedGeometryWidget.m ([ArchivedGeometryWidget -drop]): 
	Disable destroy notification before dropping.

1998-02-05  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* tkobjc.m: Include global.h.

	* TkExtra.m ([TkExtra -preInitWithArgc:argv:]): 
	For Tcl 8, preload word.tcl to avoid inexplicable error
	about second argument to tcl_wordBreak{Before,After} with
	first use of a double-click on a VarProbeEntry. 
	Thanks to Paul Johnson for reporting this.

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

	* Colormap.m ([Colormap -setColor:ToName:]): Remove cast
	to Color for assignment to map[].
	([Colormap -pixelValue:]): Remove cast to PixelValue for white.

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

	* TkExtra.m ([TkExtra -preInitWithArgc:argv:]): In 8.0-unoff, 
	don't import everything, just the BLT features we really need.

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

	* InputWidget.[hm]: New method linkVariableInt:.

	* tkobjc.m (initTkObjc): Remove assignment to Colormap.

	* tkobjc.h: Include tkobjc/Graph.h instead of tkobjc/BLTGraph.h
	and tkobjc/Colormap.h instead of tkobjc/XColormap.h.

	* internal.m: New functions tkobjc_createEventHandler and
	tkobjc_deleteEventHandler.

	* internal.h: Include X11/Xlib.h for XColormap and X11/Xutil.h for
	ZoomRaster.  Include objc/objc.h.  Declare new functions
	tkobjc_createEventHandler and tkobjc_deleteEventHandler.

	* ZoomRaster.m: Reformatting throughout.

	* Widget.m ([Widget -createEnd]): Use getObjectName instead of
	tclObjc_objectToName.  Reformatting throughout.

	* SimpleProbeDisplayHideButton.m ([SimpleProbeDisplayHideButton
	-createEnd]): Use getObjectName instead of tclObjc_objectToName.

	* NodeItem.m:  Don't include string.h, stdio.h, or stdlib.h.
	([NodeItem -createBindings]): Store widget name and object
	name in variables and use those.  Reformatting throughout.

	* Makefile (OBJECTS, HEADERS): Change BLTGraph to Graph, and
	XColormap to Colormap.
	(Graph.o): Renamed from BLTGraph.o.
	(Colormap.o): Renamed from Colormap.o.

	* CanvasItem.m: Don't include string.h, stdio.h, or stdlib.h.
	([CanvasItem -createBindings]): Use getObjectName instead of
	tclObjc_objectToName.  Reformatting throughout.

	* Canvas.m: Don't include string.h, stdio.h, or stdlib.h.

	* ArchivedGeometryWidget.m ([ArchivedGeometryWidget
	-setWindowGeometryRecordName:]): Include internal.h.
	([ArchivedGeometryWidget -setWindowGeometryRecordName:]): Change
	from "global.h" to tkobjc/global.h.
	([ArchivedGeometryWidget
	-enableDestroyNotification:notificationMethod:]): Use
	tkobjc_createEventHandler.
	([ArchivedGeometryWidget -disableDestroyNotification]): Use
	tkobjc_deleteEventHandler.

 	* Graph.[hm]:  Renamed from BLTGraph.[hm].

	* Colormap.[hm]: Renamed from XColormap.[hm].
	
	* tkobjc.m: Include internal.h and gui.h.  Don't include
	tkobjc/TkExtra.h Define globalTkInterp to conform to the TkExtra
	protocol.
	(initTkObjc): Constify argv.  Use tkobjc_initTclInterp and
	tkobjc_initTkInterp.  Set Colormap to XColormap.

	* global.h: Make globalTkInterp extern conform to TkExtra
	protocol, declared immediately above.  Constify argv argument to
	initTkObjc declaration.

	* common.m: Include defobj.h and tk.h.
	(tkobjc_dragAndDropTarget, dragAndDropTargetArg,
	oldSetupDragAndDrop, newSetupDragAndDrop, oldSetupDragAndDropArg,
	newSetupDragAndDropArg, tkobjc_bindButton3ToSpawn,
	tkobjc_bindButton3ToArgSpawn): Use getObjectName method instead of
	tclObjc_objectToName.
	(tkobjc_drag_and_drop_object): Use new defobj nameToObject
	function instead of tclObjc_nameToObject.

	* common.h: Use #include <objc/objc.h>, not #import <objc/objc.h>.

	* ZoomRaster.m: Don't include string.h, stdio.h, stdlib.h,
	tclObjc.h, tkobjc/TkExtra.h, or X11/Xutil.h.  Include
	internal.h. Reformatting throughout.

	* XPixmap.m ([XPixmap -setFile:]): Include internal.h.
	Don't include tkobjc/TkExtra.h or X11/xpm.h.
	([XPixmap -createEnd]): Use tkobjc_nameToWindow.

	* XPixmap.h: Include gui.h.  Don't include tk.h.

	* XColormap.m: Don't include TkInterp.h.  Include gui.h.
	([XColormap -map]): Return PixelValue, again.
	([XColormap -pixelValue:]): Likewise. 
	([XColormap -setColor:ToName:]): Use Color not GUI_Color.
	([XColormap -setColor:ToRed:Green:Blue:]): Likewise.
	([XColormap -setColor:ToGrey:]): Likewise.
	([XColormap -white]): Return PixelValue, not GUI_PixelValue.
	([XColormap -black]): Likewise.
	([XColormap -colorIsSet:]): Take Color as argument, not GUI_Color.

	* XColormap.h: Don't provide typedefs for PixelValue or Color,
	they come from gui.h now.  map, pixelValue:, white, and black return
	a PixelValue again.  The setColor methods and colorIsSet: once
	again use PixelValue, not GUI_PixelValue.

	* TkExtra.h: Don't include tk.h.

	* SuperButton.m: Don't include tclObjc.h, tkobjc/common.h, stdlib.h,
	or string.h.
	(tkobjc_configureWidgetToPackBeforeAndFillLeftThenDisableAndResize): 
	Don't use tclObjc_objectToName, use getObjectName.

	* Raster.m: Don't include string.h, stdio.h, stdlib.h, tclObjc.h,
	or TkInterp.h.  Include internal.h.
	([Raster -createEnd]): Use tkobjc_nameToWindow.
	([Raster -setButton:Client:Message:]): Use ButtonLeft/Middle/Right
	symbols instead of integers in case statement.
	([Raster -handleButton:X:Y:]): Likewise.

	* Raster.h: Don't include tk.h, or XColormap.h.  Don't
	define ButtonLeft, ButtonMiddle, or ButtonRight, they come
	from gui.h now.  Include internal.h.  Minor reformatting.

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

	* InputWidget.m:  Include internal.h.  Don't include TkInterp.h,
	stding.h, or stdio.h.
	([InputWidget -linkVariable:Type:]): Use tkobjc_unlinkVar and
	tkobjc_linkVar.

	* internal.[hm]:  New files.  These routines encapsulate
	sorts of interpreter access only used internally.  The header
	file loads X headers files, but keeps Colormap free.

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

	* Histogram.m ([Histogram -hideLegend]): Only use -hide yes
	if using BLT 2.3, not BLT 2.1 or BLT 8.0-unoff.

	* TkExtra.m ([TkExtra -getBltFullVersion]): Check for 8.0 before
	getting the patchlevel; asking for
	blt::blt_versions(BLT_patchlevel) caused Tcl7.6/Tk4.2 to core dump
	in LookupVar.

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

	* ClassDisplayLabel.[hm], VarProbeLabel.[hm]: New files.
	
	* Widget.[hm]: Remove enableRelif, setBorderWidth:,
	setupWindowExitColor setupWindowExitColor, and focus.

	* Makefile (OBJECTS,HEADERS): Add ClassDisplayLabel and VarProbeLabel.
	(ClassDisplayLabel.o, VarProbeLabel.o): Add.

	* Label.m: Remove anchorEast, anchorWest, and colorBlue.

	* Label.h: Likewise.  Declare createEnd.

	* Frame.m ([Frame -setBorderWidth:], [Frame -setReliefFlag:]): New
	methods.
	([Frame -createEnd]): Create relief if reliefFlag is set.
	Set borderwidth if non-zero.

	* Frame.h (Frame):  Add borderWidth and reliefFlag.  Declare
	setters.

	* CompleteProbeDisplayLabel.m ([CompleteProbeDisplayLabel
	-createEnd]): Remove calls to anchorWest and colorBlue, they are
	now inherited.  Replace calls to setupWindow{Entry,Exit}Color with
	direct calls to globalTkInterp; those methods were only used
	here, and therefore have been removed.

	* CompleteProbeDisplayLabel.h: Include ClassDisplayLabel.h instead
	of Label.h. (CompleteProbeDisplayLabel): Inherit from
	ClassDisplayLabel.

	* tkobjc.m: Don't include unistd.h or string.h.
	(ensureBltSupportFiles): Remove.
	(initTkObjc): Don't append $blt_library to auto_path.

	* TkExtra.m: Include unistd.h and string.h.
	(ensureBltSupportFiles): Moved from tkobjc.m.
	([TkExtra -preInitWithArgc:argv:]): Check to see that Blt_Init
	returns TCL_OK; possibily more strict.  Use getBltFullVersion to
	see BLT is 8.0-unoff.  In that case, import from blt::.  Call
	ensureBltSupportFiles and append $blt_library to autopath.
	([TkExtra -getBltFullVersion]): New method.
	([TkExtra -newBLTp]): Return NO in the case of 8.0-unoff; it uses
	the BLT 2.1 semantics.

	* TkExtra.h: Declare getBltFullVersion.

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

	* SimpleProbeDisplayHideButton.m, ClassDisplayHideButton.m, tkobjc.m:
	Include tkobjc/common.h instead of tkobjc/control.h.

	* XDrawer.h: Reformatting throughout.

	* ClassDisplayHideButton.[hm], CompleteProbeDisplayLabel.[hm],
	MessageProbeEntry.[hm], ProbeCanvas.[hm],
	SimpleProbeDisplayHideButton.[hm],
	SuperButton.[hm],VarProbeEntry.[hm]: New classes to encapsulate
	tkobjc_* functionality and give some explict semantics.

	* Histogram.[hm]:  Renamed from Histo.[hm].
	
	* tkobjc.m (registerInterp): New static function.
	(initTkObjc): Use registerInterp instead of
	tkobjc_registerCommand.

	* tkobjc.h: Use Histogram.h instead of Histo.h.
	Add ClassDisplayHideButton.h, SimpleProbeDisplayHideButton.h,
	SuperButton.h, MessageProbeEntry.h, VarProbeEntry.h, ProbeCanvas.h.
	Drop DragDrop.h.

	* common.[hm]: Add (remaining tkobjc_* routines from control).
	
	* control.[hm], DragDrop.[hm]:  Remove.
	
	* ZoomRaster.h: Reformatting throughout.

	* XColormap.m ([XColormap -map], [XColormap -pixelValue:],
	[XColormap -white], [XColormap -black]): Use GUI_PixelValue for
	return type.
	([XColormap -setColor:ToName:], [XColormap -colorIsSet:]): Use
	GUI_Color for first argument.
	([XColormap -setColor:ToRed:Green:Blue:]): Likewise.
	([XColormap -setColor:ToGrey:]): Likewise.

	* XColormap.h: Include <gui.h>
	Make XColormap conform to <Colormap>.
	Use GUI_PixelValue for map, pixelValue, white, black methods.
	Use GUI_Color for pixelValue for colorIsSet: and setColor methods.

	* Widget.m: Don't include string.h, stdio.h, stdlib.h, stdarg.h,
	tclObjc.h, and TkInterp.h.  Include tkobjc/common.h.
	([Widget -createEnd]): Use new method setWidgetNameFromParent:
	instead of makeNameFromParentName:.
	([Widget -pack]): Use tclobjc_pack instead of calling
	globalTkInterp directly.
	(makeWidgetName): New static function (functionality of
	makeNameFromParentName).
	([Widget -makeWidgetNameFor:], [Widget -setWidgetNameFromParent:],
	[Widget -setWidgetNameFromParentName:], [Widget -packToRight:],
	[Widget -packBeforeAndFillLeft:expand:],
	[Widget -packFillLeft:], [Widget -packFill], [Widget
	-packForgetAndExpand], [Widget -setActiveFlag:], [Widget
	-enableRelief], [Widget -setBorderWidth:], [Widget
	-setupWindowEntryColor], [Widget -setupWindowExitColor], [Widget
	-focus]): New methods for tkobjc_* functionality.

	* Widget.h: New methods packToRight:,
	packBeforeAndFillLeft:expand:, packFillleft:, packFill,
	packForgetAndExpand, setActiveFlag:, enableRelief,
	setBorderWidth:, setupWindowEntryColor, setupWindowExitColor,
	focus, setWidgetNameFromParent:, setWidgetNameFromParentName:,
	makeWidgetNameFor:.

	* Raster.m ([Raster -getColormap]): Return id <Colormap>.
	([Raster -setColormap:]): Take id <Colormap>.

	* Raster.h: Include gui.h.
	(Raster): Make colormap an id conforming to Colormap protocol
	not a XColormap *.
	getColormap now returns a id <Colormap>.
	setColormap takes a id <Colormap>.
	drawPointX:Y:Color:, fillRectangleX0:Y0:X1:Color:  Use GUI_Color.
	
	* Makefile (OBJECTS, HEADERS): Add ClassDisplayHideButton,
	SimpleProbeDisplayHideButton, SuperButton, MessageProbeEntry,
	VarProbeEntry, CompleteProbeDisplayLabel, ProbeCanvas, and common.
	Drop DragDrop and control.  Change Histo to Histogram.
	(OTHERCLEAN): Change testHisto to testHistogram.
	(testHistogram): Change from testHisto.
	(Histogram.o): Replaces Histo.o.
	(DragDrop.o, control.o): Drop.
	(ClassDisplayHideButton.o, SimpleProbeDisplayHideButton.o,
	SuperButton.o, MessageProbeEntry.o, VarProbeEntry.o,
	ProbeCanvas.o, common.o): Add.

	* Label.m ([Label -anchorEast], [Label -anchorWest], [Label
	-colorBlue]): New methods to replace tkobjc_* functionality.

	* Label.h: Declare new methods anchorEast, anchorWest, and colorBlue.

	* Frame.m: Don't include string.h, stdio.h, stdlib.h, or
	TkInterp.h.  Include tkobjc/common.h.
	([Frame -createEnd]): Use new method setWidgetNameFromParentName
	instead of removed makeNameFromParentName.
	([Frame -createEnd]): Use tkobjc_makeFrame to create a frame
	instead of calling globalTkInterp directly.
	([Frame -assertPosition], [Frame -assertGeometry], [Frame
	-withdraw], [Frame -deiconify]): New methods replace tkobjc_*
	functionality.

	* Frame.h: Declare new methods assertGeometry, assertPosition,
	withdraw, and deiconify.

	* Entry.m: Reformatting throughout.

	* Entry.h: Declare createEnd, setValue:, and setWidth:.

	* CompositeItem.h: Reformatting throughout.

	* ButtonPanel.m: Don't include tclObjc.h or TkInterp.h.
	([ButtonPanel -setButtonTarget:]): New method, drop
	setTargetName.
	([ButtonPanel -addButtonName:actionName:]): Use targetName
	instead of defaultTargetName.

	* ButtonPanel.h: New method setButtonTarget:.
	(ButtonPanel): Rename instance variable defaultTargetName to
	targetName.  Drop setTargetName.

	* Button.m ([Button -createEnd]): Don't include tclObjc.h or
	TkInterp.h.
	([Button -setButtonTarget:method:]): New method.

	* Button.h: Declare new method setButtonTarget:.

	* BLTGraph.m ([BLTGraph -setTitle:]): Rename from title:.
	([BLTGraph -setAxisLabelsX:Y:]): Rename from axisLabelsX:Y:.

	* BLTGraph.h: Rename title: to setTitle: and axisLabelsX:Y:
	to setAxisLabelsX:Y:.

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

	* TkExtra.h, BLTGraph.m, Button.m, ButtonPanel.m, CheckButton.m,
	Entry.m, Form.m, Frame.m, Histo.m, InputWidget.m, Label.m,
	Raster.m, Widget.m, XColormap.m: Tk.h changed to TkInterp.h.

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

	* tkobjc.m (ensureBltSupportFiles): New function.  Looks for
	bltGraph.tcl and exits with warning message upon failure.
	(initTkObjc): Use above.

	* control.m: Include stdlib.h for free.
	(tkobjc_configureHideBitmap): Use the `hide' bitmap.
	(tkobjc_configureHideButton): Use the `special' bitmap.
	(tkobjc_packForgetArmSuperAndResize): Copy the subclass name
	so that tclObjc_objectToName can be used on owner; free it at the end.

	* ArchivedGeometryWidget.m ([ArchivedGeometryWidget
	-disableDestroyNotification]): Don't try to disable the event
	handler if already disabled; set destroyNotificationTarget to nil
	after disabling so that we know.

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

	* Frame.m ([Frame -drop]): Don't destroy if already destroyed.

	* BLTGraph.m ([GraphElement -drop]): Don't delete elements in
	the case the graph has been destroyed.
	
	* ArchivedGeometryWidget.m ([ArchivedGeometryWidget
	-getDestroyedFlag]): New method.
	([ArchivedGeometryWidget +createBegin:]): Initialize destroyedFlag
	to NO.
	([ArchivedGeometryWidget -drop]): Don't destroy if already
	destroyed.
	([ArchivedGeometryWidget -_notifyTarget_]): Don't drop (renamed
	method), and pass self as an argument to the notification method.
	(structure_proc): Use renamed _notifyTarget_.
	([ArchivedGeometryWidget
	-enableDestroyNotification:notificationMethod:]): Don't setup
	handler if target is nil.

	* ArchivedGeometryWidget.h (ArchivedGeometryWidget): Add
	destroyedFlag, and getter.

	* ArchivedGeometryWidget.m ([ArchivedGeometryWidget
	-disableDestroyNotification]):  New method.

	* Frame.m ([Frame -drop]): Call archiverUnregister since we
	aren't calling [super drop].

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

	* ArchivedGeometryWidget.m (structure_proc): New function.  A
	handler for Structure changes to the widget (e.g. destruction).
	([ArchivedGeometryWidget -_notifyTargetAndDrop_]): New internal
	method called by above handler.
	([ArchivedGeometryWidget
	-enableDestroyNotification:notificationMethod:]):  Configures
	an event handler for structure changes, and sets the target
	and method for notification.

	* Raster.m ([Raster -drop]):  Remove. 

	* Raster.[hm]: Reformatting throughout.

	* Frame.m ([Frame -createEnd]): Minor reformatting.

	* Canvas.m ([Canvas -drop]): Remove; leave that to superclass.

	* Canvas.[hm]: Minor reformatting.

	* BLTGraph.m ([GraphElement -drop]): Leave destruction of widget
	to superclass.

	* BLTGraph.[hm]: Minor reformatting.

	* ArchivedGeometryWidget.m ([ArchivedGeometryWidget -drop]): 
	Destroy the parent widget on drop.

	* ArchivedGeometryWidget.h (ArchivedGeometryWidget): Add
	destroyNotificationTarget and destroyNotificationMethod variables, and
	declare enableDestroyNotification.

	* CanvasItem.m ([CanvasItem -createBindings]): Constify temp.

1998-01-11  Alex Lancaster  <alex@santafe.edu>

	* Canvas.m: ([Canvas -drop]): Added "destroy" Tk command to
	drop canvas when it is dropped, in the same way as a BLTGraph.

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

	* Histo.h (Histo): Subclass from ArchivedGeometryWidget.
	* Canvas.h (Canvas): Likewise.

	* BLTGraph.m ([GraphElement -createEnd]): Use different code
	for setting active line width and symbol between BLT 2.1 and BLT 2.3.
	([GraphElement -setColor:]): Set the active line color to be the
	same as the inactive line color.  Different versions for BLT 2.1
	and BLT 2.3.

	* DragDrop.m (new_BLT_p): Remove.
	(setupDragAndDrop): Use newBLTp method now in TkExtra.
	(setupDragAndDropArg): Likewise.
	(setupHandler): Likewise.

	* TkExtra.m ([TkExtra -newBLTp]): Move new_BLT_p predicate from
	DragDrop and rename it to newBLTp.

	* TkExtra.h: Add newBLTp.

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

	* WindowGeometryRecord.h: Remove get_expr_func_t and
	put_string_func_t typedefs.

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

	* analysis.tcl: Delete troublesome newlines for parameters
	in first line of active_item_info.

	* control.[hm] (tkobjc_setupHistogramActiveOutlierMarker): Use 
	a descriptive name (was tkobjc_setupHistogramMisc).

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

	* simtools.tcl: Delete extra line in sitecmd.

	* XPixmap.m ([XPixmap -setFile:]): Constify argument.
	Reformatting throughout.

	* XPixmap.h (XPixmap): Constify filename.
	Constify argument to setFile.
	Reformatting throughout.

	* XColormap.m ([XColormap -setColor:ToName:]): Constify ToName
	argument.  Reformatting throughout.

	* XColormap.h: Constify ToName argument to setColor.
	Reformatting throughout.

	* Form.m ([Form -addLineName:Variable:Type:]): Constify first
	argument.  Reformatting throughout.

	* Form.h: Constify first argument to addLineName.
	Reformatting throughout.

	* CanvasItem.m: Reformatting throughout.

	* CanvasItem.h (CanvasItem): Constify item.
	Reformatting throughout.

	* RectangleNodeItem.m ([RectangleNodeItem -createItem]): Cast
	argument to free to void* to avoid warning.
	Reformatting throughout.

	* RectangleNodeItem.h: Reformatting throughout.

	* Rectangle.[hm]: Reformatting throughout.

	* OvalNodeItem.m ([OvalNodeItem -createItem]): Cast argument
	to free to void* to avoid warning. 
	Reformatting throughout.

	* OvalNodeItem.h (NodeItem): Reformatting throughout.

	* NodeItem.m ([NodeItem -setColor:]): Constify argument.
	([NodeItem -setBorderColor:]): Likewise.
	([NodeItem -setString:]): Likewise.
	Reformatting throughout.

	* NodeItem.h (NodeItem): Constify text, item and string.
	Constify argument to setString, setColor, and setBorderColor.
	Reformatting throughout.

	* LinkItem.m ([LinkItem -setColor:]): Constify argument.
	Reformatting throughout.

	* LinkItem.h (LinkItem): Constify line1 and line2.
	Constify argument to setColor.
	Reformatting throughout.

	* BLTGraph.m ([BLTGraph -title:]): Constify argument.
	([BLTGraph -axisLabelsX:Y:]): Constify arguments.
	([GraphElement -getName]): Constify return.
	([BLTVector -getName]): Likewise.
	([GraphElement -setLabel:]): Constify argument.
	([GraphElement -setColor:]): Likewise.
	([GraphElement -setSymbol:]): Likewise.
	Reformatting throughout.

	* BLTGraph.h: Constify argument to BLTGraph title.
	Constify arguments to BLTGraph axisLabelsX:Y:.
	(GraphElement): Constify name.
	Constify getName, setLabel, setColor, setSymbol.
	(BLTVector): Constify name.
	Constify getName.

	* Histo.m ([Histo -setNumPoints:Labels:Colors:]): Constify arguments.
	([Histo -title:]): Constify argument.
	([Histo -axisLabelsX:Y:]): Constify arguments.
	Reformatting throughout.

	* Histo.h (Histo): Constify elements.
	Constify arguments to setNumPoints.
	Constify argument to title.
	Constify argument to axisLabels.
	Reformatting throughout.

	* control.[hm]: Add new functions tkobjc_setupZoomStack,
	tkobjc_setHistogramBarWidth, tkobjc_setHistogramXaxisRange,
	tkobjc_setupHistogramMisc, tkobjc_setupHistogramLegend,
	tkobjc_histogramActiveItemInfo,
	tkobjc_setHistogramActiveOutlierText.  These features were
	used in the analysis/EZBin and analysis/EZDistribution classes.

	* control.[hm] (tkobjc_gimme_drag_and_drop_object): Renamed from
	tkobjc_gimme_ddobj.

	* DragDrop.m (new_BLT_p): New function.
	(oldSetupDragAndDrop): New function.
	(newSetupDragAndDrop): New function.
	(setupDragAndDrop): New function.
	(oldSetupDragAndDropArg): New function.
	(newSetupDragAndDropArg): New function.
	(setupDragAndDropArg): New function.
	(oldSetupHandler): New function.
	(newSetupHandler): New function.
	(setupHandler): New function.
	(setupDragAndDrop): Use new functions newSetupDragAndDrop and
	oldSetupDragAndDrop.
	(setupDragAndDropArg): New function.
	(dragAndDrop): Use new function setupHandler.
	(dragAndDropArg): Use new functions setupDragAndDropArg and
	setupHandler.

	* WindowGeometryRecord.m: Include collections/predicates.h.

	* TkExtra.m ([TkExtra -preInitWithArgc:argv:]): Constify return
	of preInitWithArgc.  Minor reformatting.

	* tkobjc.m (initTkObjc): Update to renamed tkobjc_registerCommand.

	* simtools.tcl: Add `super' bitmap.

	* control.[hm]: Prefix everybody with "tkobjc_".  Add
	tkobjc_configureHideBitmap, tkobjc_configureSpecialBitmap,
	tkobjc_configureSuperBitmap, tkobjc_configureWidgetToBeep,
	tkobjc_configureWidgetToDrop,
	tkobjc_configureWidgetToPackBeforeAndFillLeftThenDisableAndResize,
	tkobjc_bindButton3ToSpawn, tkobjc_bindButton3ToArgSpawn,
	tkobjc_bindButton3ToBeUnhelpful, tkobjc_bindReturnToSetValue,
	tkobjc_bindKeyReleaseReturnToResetColorAndUpdate,
	tkobjc_bindFocusInToSetSelection,
	tkobjc_bindFocusOutToClearSelection, and tkobjc_gimme_ddobj.
	Renamed tkobjc_bindButton3ForCompleteProbeDisplay from
	configureButton3ForCompleteProbeDisplay, tkobjc_bindWindowEntry
	from configureWindowEntry, tkobjc_bindWindowExit from
	configureWindowExit.
	
1997-12-09  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* control.m (dynamicEval): Add.

	* control.h: Add dynamicEval.

	* InputWidget.m ([InputWidget -setValue:]): Constify argument.
	Reformatting throughout.
	([InputWidget -linkVariable:Type:]): Cast variableName to char*
	for Tcl_UnlinkVar and TclLinkVar.
	([InputWidget -createEnd]): Add char * buf variable to
	write the value for variableName.

	* InputWidget.h (InputWidget): Constify variableName.
	Constify argument to setValue.
	Reformatting throughout.

	* Entry.m ([Entry -setValue:]): Constify argument.
	Reformatting throughout.

	* Entry.h (InputWidget): Reformatting throughout.

	* CheckButton.m (stringIsFalse): Constify argument.
	([CheckButton -setValue:]): Constify argument.
	Reformatting throughout.

	* CheckButton.h: Reformatting throughout.

	* analysis.tcl: New file.

	* simtools.tcl: New file.

	* tkobjc.m: Include tkobjc/control.h.  include simtools_tcl.x and
	analysis_tcl.x.
	(initTkObjc): Add check for batchmode.  In this case, set
	globalTkInterp to Tcl and return.  Remove text of analysis EZBin Tcl
	support routine active_item_info.  Remove disabled BLT-related
	code.  Evaluate simtools_tcl and analysis_tcl.

	* Makefile (tkobjc.o): Add dependencies on generated analysis_tcl.x
	and simtools_tcl.x.  Add rule for conversion of tcl to tcl.x (C strings
	of the files).

	* DragDrop.m: Minor reformatting.

	* Raster.m ([Raster -createEnd]): Cast second argument to
	Tk_NameToWindow to char * to avoid GCC warning.
	Reformatting throughout.

Mon Dec  8 22:47:34 1997  glen e. p. ropella  <gepr@swarm.com>

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

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

	* control.m: Include <string.h>.
	Move Tcl/Tk from MessageProbeWidget and VarProbeWidget:
	(setAnchorEast): Add.
	(setWidth): Add.
	(setText): Add.
	(ringBell): Add.
	(normalState): Add.
	(disabledState): Add.
	(update): Add.
	(focus): Add.

	* control.h: Declare new functions setAnchorEast, setWidth,
	setText, ringBell, normalState, disabledState, update, and focus.

	* control.m (configureButton3ForCompleteProbeDisplay): Add
	argument, probeDisplayManager, to avoid need for knowledge of
	simtools in tkobjc.  Allocate probeDisplayManager name dynamically.

	* control.h: Add declarations for packForget, deiconify,
	releaseAndUpdate, and updateIdleTasksAndHold.
	(configureButton3ForCompleteProbeDisplay): Add probeDisplayManager
	argument to avoid need for declaration for a simtools object.

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

	* control.m (releaseAndUpdate, updateIdleTasksAndHold): Add.  
	(These calls to Tcl were made in simtools/ProbeDisplay.m.)

	* Widget.[hm] (Widget): Constify, minor reformatting.

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

	* Widget.[hm] ([Widget -setWindowGeometry:s]): Constify.

	* TextItem.[hm] ([TextItem -setText:]): Constify setter and
	instance variable.

	* Label.[hm] ([Label -setText:]): Constify.

	* ButtonPanel.[hm] ([ButtonPanel -addButtonName:Command:]): Constify.

	* Button.[hm] ([Button -setText:]): Constify.
	([Button -setCommand:]): Constify.

	* control.m (configureHideButton): Call markForDrop not drop 
	(for safeprobes).

	* control.[mh]: New files.

	* Makefile (OBJECTS, HEADERS): Add control.[mh], common code from
	SimpleProbeDisplay and CompleteProbeDisplay.
	(control.o): Add.

	* Frame.m ([Frame -drop]): Remove diagnostic.

	* ButtonPanel.m: Include collections/String.h.
	([ButtonPanel -setTargetName:]): Add.
	([ButtonPanel -addButtonName:actionName:]): Add.

	* ButtonPanel.h: Declare new methods -setTargetName and 
	-addButtonName: actionName:.

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

	* Frame.m ([Frame -drop]): Add.  (Only drop if no parent.)

	* Frame.h: Add -(void)drop.

	* Makefile (OBJECTS,HEADER): Add WindowGeometryRecord and
	ArchivedGeometryWidget
	(WindowGeometryRecord.o, ArchivedGeometryWidget.o): Add.

	* tkobjc.h: Include WindowGeometryRecord.h and
	ArchivedGeometryWidget.h.

	* ButtonPanel.m: Remove -createEnd; Frame will take care of it.

	* ButtonPanel.h (Frame): Derive ButtonPanel from Frame, not Widget.

	* Frame.m ([Frame -createEnd]): Call registerAndLoad (since
	ArchivedGeometryWidget's createEnd isn't being called).

	* Frame.h: Inherit from ArchivedGeometryWidget instead of Widget.
	* BLTGraph.h: Likewise.
	* Raster.h: Likewise.

	* WindowGeometryRecord.h: New files.  An object for storing
	geometry information.

	* ArchivedGeometryWidget.[hm]: New files. An enhanced Widget that
	can communicate with the Archiver class (in simtools).

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

	* [Zoom]Raster.[hm] ([-handleButton]): Changed -handleButton
	X and Y arguments from (long) to (int)because of a problem on
	HP/UX.

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

	* tkobjc.h: Import DragDrop.h.

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

	* TkExtra.[hm] ([-getBltVersion]): Add routine to return the version
	of BLT being used.

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

	* DragDrop.[hm]: New files.  Add functions containing the drag&drop
	logic previously found in various classes in simtools/.  These
	functions serve to dynamically adjust to the version of BLT being
	used.
  
1997-11-15  Marcus G. Daniels  <mgd@wijiji.santafe.edu>

	* BLTGraph.m ([GraphElement -createEnd]): In BLT 2.3, the default
	symbol type for lines is now a circle; explicitly specify no
	symbol.

