💾 Archived View for mirrors.apple2.org.za › archive › apple.cabi.net › FAQs.and.INFO › IIGS.SPEC.INF… captured on 2024-12-17 at 13:02:57.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

Newsgroups: comp.sys.apple2.programmer
Path: news.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics.uiowa.edu!math.ohio-state.edu!sdd.hp.com!swrinde!elroy.jpl.nasa.gov!decwrl!olivea!apple.com!goofy.apple.com!mumbo.apple.com!gallant.apple.com!kip-86.apple.com!dlyons
From: David A Lyons <dlyons@apple.com>
Subject: Standard File keyboard navigation
Sender: news@gallant.apple.com
Message-ID: <1993Aug4.231751.11594@gallant.apple.com>
X-Useragent: Nuntius v1.1.1d27
Date: Wed, 4 Aug 1993 23:17:51 GMT
X-Xxdate: Wed, 4 Aug 93 23:57:31 GMT
X-Xxmessage-Id: <A8858CEBE5011556@kip-86.apple.com>
References: <fmlinCB7FC6.3oz@netcom.com>
Organization: Apple Computer, Inc.
Lines: 33

In article <fmlinCB7FC6.3oz@netcom.com> Frank M. Lin, fmlin@netcom.com
writes:
> I forgot to save the article you wrote which discribed how to fix the 
> standard file dialog key navigation bug.  Can you write it again?

ListKey lets navigation strings accumulate even across calls that rebuild
the list being navigated in, so the fix is to patch the List Manager to
clear the accumulated navigation string when the list -being navigated
in- gets rebuilt.

Calling ListKey with a keyDown event of the Clear key (character 18, same
as Control-X) will clear the prefix string.

The trick is figuring out what to actually do.  Patching NewList2 is a
start: nuke the string -if- the control being operated on matches the
control that was last passed to ListKey, implying that you need to patch
ListKey to make note of what control it got fed most recently.  (If some
-other- list gets rebuilt, you should keep navigating.  For example, in
ChooseFont every key you type while navigating the family list causes the
size list to get rebuilt.)

But Standard File uses NewList rather than NewList2, so it doesn't pass a
control handle.  I haven't checked on how hard it is to correlate the
List Record Pointer passed to NewList to a control handle.

A completely different approach would be to make Standard File do a
special ListKey call to clear the string whenever it is rebuilding the
file list.  (But that would only fix things for Standard File.)

Dave Lyons, dlyons@apple.com
Mr Tangent

My opinions are my own, not Apple's.