[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [platform-swt-dev] Tab order & drawing (Z) order
|
> Changing the z order when the tab order changes will have bad
> consequences.
>
> For one thing, the tab order does not always contain all the children
> that appear in the z-order because some children like Label can not
take
> focus. What will you do with the other widgets?
Controls that can't take focus like STATIC (Label) are not traversed on
Windows, no matter where in the Z order they are.
> Further, the z-order is used by layouts such as GridLayout to
determine
> the placement of widgets within the cells of the grid. If the user
> chooses to change the tab traversal order, this will also impact the
way
> widgets are laid out which may not be desirable.
Point taken. Although I dare to say that laying out controls by their Z
order is questionable design decision as well.
> The way setTabList is used in Eclipse is to exlude some widgets from
the
> tab order so that keyboard navigation will be faster - e.g. when an
editor
> has focus, the views are excluded from the tab order so keyboard
> navigation takes you to the toolbars and the editor only.
Windows allows controls to be dynamically included/excluded from the
traversal order (which is a subset of the Z (drawing) order) by
setting/clearing the WS_TABSTOP flag using SetWindowLong().
Anyway. I found other reasons not to use the Fox implementation of tab
traversal. For one, if I use it I think I won't be able to implement the
SWT.Traverse event behaviour. Oh well. Seems like I'll reuse most of the
SWT/Win32 implementation. :)
Thanks!
>
>
>
>
>
> Steve Northover/Ottawa/IBM@IBMCA
> Sent by: platform-swt-dev-admin@xxxxxxxxxxx
> 02/27/2003 01:10 PM
> Please respond to platform-swt-dev
>
>
> To: platform-swt-dev@xxxxxxxxxxx
> cc:
> Subject: Re: [platform-swt-dev] Tab order & drawing (Z)
> order
>
>
>
> There is only one concept of Z-order and this is used by default for
> traversal order.
> Composite.get/setTabList() can be used to override the default
traversal
> and has nothing to do with Z-order.
>
>
>
>
> "Ivan Markov" <ivan.markov@xxxxxxxxx>
> Sent by: platform-swt-dev-admin@xxxxxxxxxxx
> 02/27/2003 10:43 AM
> Please respond to platform-swt-dev
>
> To: platform-swt-dev@xxxxxxxxxxx
> cc:
> Subject: [platform-swt-dev] Tab order & drawing (Z)
order
>
>
>
> Hi,
>
> I was just looking at the SWT/Win32 & SWT/GTK2 sources I noticed that
SWT
> has in fact two conceptions of controls' order:
> 1) Drawing order, manipulated via
Control.moveAbove()/moveBelow()
> 2) TAB traversal order, implemented all in Java, manipulated via
> Composite.GetTabList()/setTabList()
>
> Is that true or I've overlooked something..?
>
> If so, why the need for two different orders? In The One True
Operating
> System, there is a single, "Z" order which defines both of these. Same
in
> other toolkits I've seen J
> Also, it seems to me that by using Windows Dialogs for Composite,
Shell,
> etc. the TAB traversal Java code could have been avoided. I'm probably
> wrong here though.
>
> Guys, I need to know the answer because I'm planning to unite the two
> orders in SWT/Fox; (setTabList() will have the side effect of changing
the
> drawing order and vice versa).
>
> It shouldn't have serious implications shouldn't it? I mean, if
controls
> are to be TAB traversed, they normally don't overlap, so the drawing
order
> is a non-issue. And if they do overlap, usually the first covers all
the
> others, so TAB order is not an issue.
>
> Am I wrong? Probably. I know OTI/SWT developers do read the list so
please
> be so kind to answer me at least once - constructively. J
>
> /Ivan
>
>
>
> _______________________________________________
> platform-swt-dev mailing list
> platform-swt-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/platform-swt-dev