This is the README for KeyDownBrowser.1.0.N.bs.tar.gz [Download] [Browse] [Up]
Jim Million uunet!wiltel!jmillion November 1992 KeyDownBrowser.palette (v1.0) KeyDownBrowser.palette is a 3.0 InterfaceBuilder View palette for the NXBrowser subclass KeyDownBrowser. KeyDownBrowser extends NXBrowser to provide Workspace Manager-like response to keyboard entry. Arrow keys may be used for manuevering. Other keystrokes are interpreted as search criteria within the appropriate column. Selection within the browser by arrow keys or by keystroke matching is equivalent to a single mouse click and sends the action to the target. Pressing the Return key is equivalent to a double-click and sends the double action to the target. KeyDownBrowser overrides NXBrowser's default arrow key behavior, instead providing the more intuitive behavior found in the Workspace Manager browser. Rules for keystroke search were modeled after WM as well. (see Notes... below). Important Files... KeyDownBrowser.[hm] is the class represented by the palette. KeyDownMatrix.[hm] is the Matrix class for an instance of KeyDownBrowser. It overrides Matrix' mouseDown: method to make its containing browser First Responder. KeyDownBrowserInspector.[hm] manages IB Attributes inspection of an instance of KeyDownBrowser. Notes... If you prefer NXBrowser's default arrow key handling, modify the keyDown: method to call [super keyDown: theEvent] for any arrow key hits. I've modified WM's arrow key handling in two cases. In WM, it is possible to arrow left or right without bringing the newly selected cell into view. KeyDownBrowser will always scroll a newly selected cell to visible. If you would prefer WM behavior, modify the leftArrow: and rightArrow: methods and remove the scrollCellToVisible:: methods. Any cell selection sends the action. This will be modified to only send action on appropriate keyup events as soon as I figure out why I'm not receiving keyup events. You will need to include KeyDownBrowser.[hm] and KeyDownMatrix.[hm] in any project that uses this palette (or just include the interface file and link against the object files). (OTHER_OFILES in a Makefile.preamble).
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.