[qoute="Seb]
Regarding the "next field" case:
Here again, a little sample would be appreciated to let us understand, here some remarks...
I think that you should design your dialogs so that you don't have to add particular code to jump to a specific field in a given condition.
The field navigation should be natural and implicit.
If the "always in edit mode" for record lists (INPUT ARRAY semantics) is not mandatory, consider using DISPLAY ARRAY with modification triggers (ON APPEND, ON INSERT, ON DELETE, ON UPDATE) - It's easier to deal with a DISPLAY ARRAY as with all special cases of INPUT ARRAY.
[/quote]
Seb,
Exactly. So in our case, if the user is in an array and leaves a row blank (ie they TAB from the first field of the row, and that row is blank), then the code jumps out of that array and to the next dialog (whatever that is). I have emulated this by creating an array of next/previous fields by dialog name and populating the array before the main DIALOG and then using a wrapper around DIALOG.nextField to pick up the current dialog name and set the field focus based on the array.
The issue being (from my perspective) is that I can never know what the next/previous dialog is and hence what the next/previous field is. The code we repeat all over the place is address input with contact methods. The contact methods are then editable and an array. So in that case, after the user has finished entering contact methods, tabbing from a blank contact method type would typically take the user to the start of the next dialog.
How then is it intended to move between the dialogs as (ie as shown), without knowing what fields make up the 'active' dialogs and what dialogs are active? IE in this case, if postcode lookup is active, I may want to jump from the postcode field to the contact methods. But this is this case - elsewhere the field following the postcode may be a completely different field. Does that make sense?