Skip to main content

[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?

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.

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.





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 
  




Back to the top