With Real Studio 2012r1 we have changed the behavior of the tab order for Cocoa apps. In the past, the tab order for controls on your window was defined by you. You would click the Edit Tab Order button in the Window Editor and set the order in which you wanted the user to tab from control to control.
There are problems with this:
1) Most applications, including the Real Studio IDE, don't have the tab order set properly. This is due to the fact that every time you add a control, the tab order must be set for that control and users (ourselves included) tend to forget to do that. This causes problems for end users and is very easy for a developer to miss.
2) On OS X, the system will handle the tab order automatically and in doing so makes all kinds of keyboard accessibility features work for free such, as being able to tab into controls in toolbars. By circumventing the system's handling of tab order, apps built with Real Studio often don't handle keyboard accessibility very well, becoming a big problem for some users that really need this. If we continue to override the OS, we can't fix the bugs with keyboard accessibility. Also, generally speaking, we try to let the OS do whatever it does naturally so that we don't introduce bugs by circumventing it.
We have discovered that most applications have a tab order that is the same as what the OS would normally provide. So for Cocoa apps built with 2012r1, the tab order set on the layout is ignored and the tab order is generated automatically so that the OS can handle it. This solves both the problems above.
Currently, this change in behavior is limited to Cocoa apps. But it is our intention to change it for Windows, Linux and web applications as well. If you have a special case where you need the tab order to be different than the default, there is a way to handle this:
Tab order is handled by the parent container. You can use a parent control such as a group box or canvas to change the tab order. For example, say you have four Textfields, two columns and two rows:
Normally, the tab order would go:
C1R1 -> C2R1 -> C1R2 -> C2R2
If you need to change the order so that, for example, it goes C1R1 -> C1R2 -> C2R1 -> C2R2, put C1R1 and C1R2 on a canvas control. That will cause the tab order to go down instead of across.
We believe this change will result in a better user experience because the tab order will automatically work as expected on that OS, while still leaving you a way to achieve a different tab order if needed. If this method of changing the tab order does not work for you, please contact us through tech support. Before we make this change permanent, we want to get input from you, the community.
UPDATE: After considering feedback from the community, we have decided to rollback this change in R1. We are working on an update (R1.1) that will re-enable the ability to set the tab order once again. We have found a way to provide the default tab order along with a custom tab order option (the one you have now) which we will add to a future version.