ftp.nice.ch/Attic/openStep/developer/resources/MiscTableScroll.129.1.mw.s.gnutar.gz#/MiscKit2/Palettes/MiscTableScroll/Notes/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.