ftp.nice.ch/pub/next/developer/resources/classes/misckit/MiscKit.1.10.0.s.gnutar.gz#/MiscKit/Palettes/MiscTableScroll/BUGS.txt

This is BUGS.txt in view mode; [Download] [Up]

//-----------------------------------------------------------------------------
// MiscTableScroll BUGS
// $Id: BUGS.txt,v 1.43 97/07/08 14:38:59 sunshine Exp $
//-----------------------------------------------------------------------------

BUGS:
----
- Text on row titles is still getting clipped when dragged if the row wasn't 
	entirely visible when dragging was initiated.  

- Incorrect coordinate transformations
	draw_view() in MiscTableView is *not* transforming the PostScript 
	graphics state.	 It is doing the appropriate transformation calculations, 
	but never actually applies them to the gstate.	

	Eric took a different approach to drawing a slot for the drag-cache than 
	Pawl's draw_view().	 Eric tried using -copyPSCodeInside:to: to create the 
	drag cache.	 It automatically includes all the subviews (good) and 
	doesn't have the problem with row title-cell text being clipped which 
	draw_view() has (good).	 However, it thinks it is creating PostScript 
	code for a printer, so it uses printer fonts instead of screen fonts 
	(bad), and it doesn't draw images with alpha (transparency) because it 
	thinks it's going to a printer (bad).  

- Problems with dragging columns
	zarnuk says: Dropping a column in the same location that it was dragged 
	out of causes the column to be re-drawn, but does not draw the subviews.  

- Auto-scrolling broken.
	Eric broke auto-scrolling during mouse tracking by giving the cell a 
	chance to track the mouse first.  Apparently one should be clipping the 
	tracking rect to the visible rect so that the cell's tracking loop exits 
	if the mouse is dragged past the edge of the visible rect.	This way 
	TableView will be able to scroll the view as appropriate.  

- Border views get out of sync with docView.  To reproduce:
	1) In IB, create a window with a TableScroll on it.
	2) Turn on row border.
	3) Add 5 or 6 rows.
	4) Enter test-mode.
	5) Make the window small enough so that there is avertical scroll knob.
	6) Scroll down to the bottom.
	7) Resize the window width-wise only (make it wider).
	8) Note that the scroll knob jumps and the views get out of sync.  You 
	   can see this visually by clicking on a row in the docView.  
	This also happens to the column border view if one swaps column for row 
	and row for column in the above description.  

- Resizing 'autosize' slots generates truly bizarre behavior.  Needs to be 
	fixed.	

- TableCell's "extra" data will probably have alignment problems on HPPA and 
	Sparc.	

FIXED:
-----
v129
- Editing with MiscTableCell in non-default zone causes crash upon first edit
	in some other zone.	 This occurs in ScrollDir.	1) Launch, 2) cmd-n to
	open /tmp, 3) double-click on "console.log", 4) cmd-w, 5) double-click
	on a filename in home directory, 6) BOOM! [Eric: I disassembled portions
	of the AppKit to find out what was going on.  It turns out that this is a
	NeXT bug.  They allocate ClipViews from transient zones -- such as in
	ScrollDir -- and cache them for later re-use.  They don't bother to
	consider that the zone may become defunct.	To get around the problem, I
	disabled use of private zones in the demo programs.]

v127
- getRow:col:forPoint: is incorrectly returning 'self' even when point is 
	outside of bounds, in which case it should return 'nil'.  
- Tabbing from cell to cell during editing doesn't adjust keyboard cursor.
- MiscTableScroll is drawing the keyboard-cursor when it shouldn't be.	When 
	you call -setCursorRow: (or -setCursorCol:) the cursor is unconditionally 
	being drawn -- even if it shouldn't be (for instance, if the 
	MiscTableScroll is not first responder, or the cursor has been disabled).  
- drawCellAt:: subverts drawing of the keyboard cursor.	 It draws right on 
	top of the keyboard cursor without restoring it.  [This wasn't a bug 
	after all.	It was merely a display artifact from the preceding bug.] 
- The feedback from MiscTableScroll's incremental-search draws outside of the 
	view's frame.  When the feedback is later erased, the portion outside of 
	the frame does not get erased.	(This problem can be observed by making 
	the Table Selector in PCS narrow and typing the name of a long table, 
	such as "Surgical Positioning Aids".) 

- LAZY MODE BUG:
	If you edit a cell which is only partially visible (by double- clicking, 
	for instance) the cell is scrolled to visible before editing is started.  

	However, the cell is latched *before* scrolling.  The scrolling may blast 
	the contents of the cell when drawing the newly exposed portions of the 
	view.  Therefore, when editing is finally started, the cell contents are 
	not what they were when it was latched.	 

	There is a FIXME in the source suggesting copying the cell in lazy mode.  
	This seems like a good solution.  (Even just scrolling around after 
	editing has begun will destroy the old cell.) 

- Sometimes editing is started with the wrong frame rectangle. To reproduce:
	1) Bring up the Workstation table editor in PCS.
	2) Start editing the very last field on the very last row.
	3) Tab.
	4) It is now editing the very first field on the very first row.
	5) Notice that the rectangle which was used for the editing is wrong 
	   (doesn't cover the entire cell).	 
	[This turned out to be another guise of the preceding LAZY MODE BUG.]

v125
- Fixed v121 bug -- fonts were not restored properly in
	-[MiscTableCell tableScroll:reviveAt::].

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.