Re: todo-2004-01-14

David Crawshaw <[email protected]> Wed, 14 Jan 2004 18:09:22 +1000
Newsgroups gmane.comp.java.xwt.widgets
Message-ID <[email protected]>
On 14/01/2004, at 11:47 AM, Charles Goodwin wrote:
> focusable:
> - move focuspane work to static in focusable

This is a bad idea. To make the code fit inside <static>, it's going to 
have to be hacked around so it uses an array inside the surface object, 
and all the functions will have to take surface as a parameter and it 
will never be possible to easily simplify the creature using traps on 
JS Objects (which we'll soon have).

focuspane simply provides the generic implementation for the functional 
model of xwt.theme.surface. Nothing mandates that it exists and the 
only other *ables that need one are ones that register boxes with the 
surface. To my knowledge, the only other one that requires this is 
popups.

There is a case for renaming this focusmanager, as its not really a 
pane.

> - make focusable aware of states (ie check for enabled)

I'll handle this, just list all the ones you want it to handle.

> - make focusable flexible (local nextFocus/prevFocus)

I thought about nextFocus/prevFocus, and I really couldn't see the 
need. If something wants that information, it's messing with the focus 
model. So why doesn't it just ask the surface, using the documented 
functional model in xwt.theme.surface.

> - compare with li focusable for missing semantics

There are some things missing, but I really couldn't put them in until 
clickable, etc is working. If you find any, I'd like to do them if you 
could send an message.

> - document code better

I was actually quite proud of some of that documentation. :-S focuspane 
doesn't have any because it's all in xwt.theme.surface (for which it is 
simply part of the implementation), and I believe xwt.theme.focusable 
has all the details required for anyone wanting to make use of a 
focusable pane.

Where would you add docs?

d