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.