Problem with FocusIn

Eric Chatonet eric.chatonet at sosmartsoftware.com
Mon Nov 5 06:04:20 EST 2007


Hello Claus,

I think you are right when wanting to use closeField.
In the script of the card:

local lChangedFlag -- local script variable
on closeField
   put true into lChangedFlag
   -- will be set to true for any change in any field in the card
end closeField

on closeCard
   if lChangedFlag then <save>
   put false into lChangedFlag
end closeCard

Best regards from Paris,
Eric Chatonet.

Le 5 nov. 07 à 11:55, Claus Dreischer a écrit :

> Hello Devin,
>
> i think i do want to use the closeField message :-)
> because i want to know when a field *has* changed.
>
> Context:
> The card has several fields like name, company, street, address, etc.
> a save button, to buttons for up and down paging, a "new" button  
> and a "delete" button.
>
> What i'd like to achive is to remember the user to save his changes,
> when he changed a field and not saved it by pushing the "save" button.
> So i need a flag like "some-fields-have-changed" to evaluate when  
> he is pressing the "up" or "down" button,
> or when he's leaving the card.
>
> Regards,
>    Claus.
>
>
>> Hello Claus,
>
> ...
>
>>> The solution to my problem is the closeField message, which is only
>>> sent when the content *has* changed.
>>
>> What you want is the exitField message. It is sent when leaving the
>> field and the content has not changed.
>>
>> Devin
>>
>>>
>>>
>>>> check the field locking.
>>>>
>>>> from the docs:
>>>>
>>>> If the control is an unlocked field or a button whose menuMode is
>>>> "comboBox", the openField message is sent to it instead of the
>>>> focusIn message.
>>>>
>>>> A locked field receives the focusIn message when the user tabs to
>>>> it or otherwise makes it active (focused), or when text in it is
>>>> selected by a handler.
>>>>
>>>>> Hi,
>>>>>
>>>>> i have problems with the focusIn message.
>>>>>
>>>>> What i want to achive is to remember the value of a field
>>>>> when the user is editing it (on focusIn). After that (on  
>>>>> focusOut),
>>>>> i would like to check the new value against the remembered one.
>>>>> If they are different, the change has to be saved,
>>>>> so i ask the user to do so when he's leaving the card.
>>>>>
>>>>> I think the focusIn message is not sent because even something  
>>>>> like
>>>>>
>>>>> on focusIn
>>>>> 	beep
>>>>> end focusIn
>>>>>
>>>>> does not work.
>>>
>>
>> Devin Asay
>> Humanities Technology and Research Support Center
>> Brigham Young University
>
----------------------------------------------------------------
Plugins and tutorials for Revolution: http://www.sosmartsoftware.com/
Email: eric.chatonet at sosmartsoftware.com/
----------------------------------------------------------------





More information about the use-livecode mailing list