Data-Entry in a LiveCode form using the tab key
    Peter Brigham MD 
    pmbrig at gmail.com
       
    Mon Apr 18 17:02:37 EDT 2011
    
    
  
On Apr 18, 2011, at 12:43 PM, Bob Sneidar wrote:
> Or you can get a list of fields whose focusable is true and locktext is false (because you don't want to tab to labels now do you) and then present the developer with an interface where they can click sequentially on the fields in the order that they want to tab through, then save that list in a property of the card. Your tab through function can then get the short name of the current target, find it in the property list, check to see if it's the last one, get the first item if so, the next item if not, and then focus on that field. 
> 
> The advantage to this approach is that it will work universally for any card. Ideally you would want to copy every editable field on the card to a new one, along with a Cancel and Save button, and then save the list of fields in a property of the original card. 
You wouldn't have to make a whole new card, just a menuitem which launches something like (not tested):
on doFieldOrder
   answer "Click on the fields in the order you want. When done, press the commandkey."
   repeat
      if the commandkey is down then exit repeat
      wait until the mouseclick
      put word 2 of the clickfield into cf -- fld nbr
      if cf = empty then -- not a field
         answer "You must click on a field!"
         next repeat
      end if
      select the text of fld cf -- user feedback
      wait 5
      select empty
      put the short id of fld cf & cr after fldList
   end repeat
   delete char -1 of fldList
   set the tabOrderList of this card to fldList
   beep -- user feelback
end doFieldOrder
then use the customprop to find the id of the next field in the list when the user tabs out of the field.
-- Peter
Peter M. Brigham
pmbrig at gmail.com
http://home.comcast.net/~pmbrig
    
    
More information about the use-livecode
mailing list