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

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

//-----------------------------------------------------------------------------
// MiscTableScroll TODO
// $Id: TODO.txt,v 1.36 97/06/10 05:20:06 sunshine Exp $
//-----------------------------------------------------------------------------

TODO:
----
- Add a keyboard equivalent to start text editing in a cell.
- Consider adding support for up/down keys during editing which would edit 
	the previous and next cells in the current column, respectively.  Having 
	done so in Clew(tm), we see how extremely nice this feature is.	 
- isSelectable should be conditional.  Currently it unconditionally returns 
	YES.  Instead, it should return YES only if rows and columns are present.  
	This will eliminate the (probably) undesirable behavior where it accepts 
	first-responder status even when its empty.	 
- Finish printing -- page headers/footers options, etc.
- Document the printing methods.
- Add dragging-destination support so that images can be dragged-in and 
	dropped on cells.  The delegate should get appropritate messages.  
- MiscTableView -- route drawRect: through a cell-coordinate oriented 
	-doDrawRange:::: and provide a public -drawRange::: method.	 Most places 
	where drawing is done in the code, we know the cell coordinates.  It does 
	not make sense to convert them to NXRect visual rectangle only to convert 
	it back to cell coordinates.  
- We should automate the rcs -n version label tag in the pack.sh script.
- Allow all cells under mouse to participate in mouse-tracking rather than 
	*only* the first cell under which the mouse went down.	
- Centralize selection-mode handling during mouse & keyboard tracking.	Right 
	now this is spread throughout TableView, BorderView, TableScrollKB, and 
	TableScrollISearch.	 Each needs to perform selection via either mouse or 
	keyboard, and each reimplements much of the same code.	
- Add ability to disable selection.	 Pawl says: We should add the ability to 
	disable selection.	We never had an example where this was desirable 
	before, but with Narinder's scheduler, there is no useful information in 
	the underlying table view.	The only useful items are the subviews that 
	he is adding.  Having selection enabled runs into that problem where we 
	obscure the subview in reflectSelection.  
- Use display: mechanism to perform drawing.  Pawl says: We should use the 
	-display::: mechanism to perform more of our drawing.  Specifically, I 
	think this can be used to fix the problems with the mis-drawn dragged 
	columns.  It will also address a problem that Narinder is running into 
	when he is trying to attach subviews to the table-view.	 Basically, since 
	we short-circuit the display::: mechanism when we do our drawing in 
	-reflectSelection, we never give subviews a chance to draw themselves.	
	Subviews get obscured whenever we redraw a slot that contains them.	 
	Also, subviews do not get a chance to draw themselves onto the slot that 
	is being dragged.  
- Upgrade keyboard interaction to mirror OpenStep conventions: Ctrl-tab and 
	Ctrl-Shift-tab when plain tab has other interpretations.  
- Use NXOrderStrings() for case-insensitive comparisons in 
	MiscTableScroll(Sort) and MiscTableScroll(IncrementalSearch) 
- The C++ MiscTableBorder stuff should be doing its allocations from the 
	table scroll's zone.  
- Need IB (and possibly user) interface for setting cell alignment, wrap.  I 
	think this can be handled by the slot inspector.  
- Allow copyFont / pasteFont operations.
- Need to figure out what to do about data-sizing.
- User should be able to set the width/height of row/col titles, just like 
	resizing normal slots.	
- Should be able to put a label on the "null-view" -- specifically, a title 
	for the row-titles column.	
- Should be able to resize uniformSize borders.	 The result should be to 
	change the uniform size for the whole border.  
- Figure out how icon cells should work precisely.	Should they take control 
	of the image display in any way? For instance, if the cell is too small 
	to contain the entire image should it be cropped? Scaled? Not shown? 
- Add search (find) support.
- Consider adding facilities to automatically save column order and sizes to 
	NeXT defaults (like Window does).  
- Need to revamp mouse-tracking, selection (cell-wise selection).
- Fix the handling of the grid.	 The width for the grid lines should not 
	count as part of the width of the slots.  It should be separated from the 
	slots themselves entirely.	Move grid drawing out of the *BORDER* cells.  
	(This has already been done for the *table* cells.) 
- Provide public access / IB methods for selecting grid styles.

DONE:
----
v127
- Make cell prototypes scrollable by default -- since we've had to do this 
	manually in each place which has used cell editing to date.	 
- After editing ends via Return in TableScroll, firstResponder status should 
	be returned to the TableScroll, rather than reverting uselessly to the
	Window.
- Put together some kind of coordinated error-reporting mechanism.	Create
	assertion macro(s) which raise exceptions which can be caught and logged
	if needed (unlike standard assert()).

v126
- Update documentation on ownerDraw stuff.

v123
- Remove the unnecessary code in MiscTableView's -drawSelf:: which sets up a 
	clipping rect if there are subviews.  It's not needed at all since no 
	drawing of subviews occurs inside of -drawSelf::.  
- Remove the unused -tooSmall method in MiscTableViewPrint.M Not only is this 
	method unused, but it's probably not the correct thing to do.  This 
	presumes that the view is being used in an interactive application.	 It's 
	probably better to throw a "too small" exception.  
- Remove the unused -putImage:atPoint: method from MiscTableViewPrint.M
- Inline use-owner-font check in MiscTableCell's high-frequency 
	-tableScroll:reviveAt::.  
- Add unselect{row/col/slot} methods.
- Merge -reflectSelection and -selectionChanged since they now do the same 
	thing.	In the OpenStep version, -reflectSelection was removed 
	altogether.	 

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