Control of Text Fields.

Roger Guay irog at mac.com
Tue Nov 9 22:38:38 EST 2021


Alex and Richmond,

This discussion has been very helpful. Thank you! Please see my latest post on the forums where I offer my Formulator stack that seems to work, partly I think because I don’t lock the text of the multiple fields in my stack. Who woulda thunk?

https://forums.livecode.com/viewtopic.php?f=7&t=36444 <https://forums.livecode.com/viewtopic.php?f=7&t=36444>

Cheers,

Roger


> On Nov 7, 2021, at 5:51 PM, Alex Tweedly via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> 
> On 07/11/2021 11:36, Richmond via use-livecode wrote:
>> No hard feelings.
>> 
>> See what I have got up to over on the Forums, and
>> 
>> https://forums.livecode.com/viewtopic.php?f=7&t=36444
>> 
>> PLEASE, feel free to pull the thing to bits.
>> 
> I don't want to "pull the thing to bits". Like you, I enjoy seeing "competing" multitude of ways to do things - I can learn from them all.
> 
> But I did have a quick look, so I'll just point out a small number of nitpicks.
> 
> 1. the whole 'locktext' thing is weird, and causes various anomalies.
> When I first open the stack, and click in the field, I can type digits and have them appear in the field, as you'd expect. But once I've clicked on an 'arrow-emulator' the field becomes locked and one can no longer type in characters.  Clicking *outside* the field will then free it up again, so typing becomes possible.
> 
> 2. disappearing iBeam.
> 
> If I position the ibeam in the middle of the text in the field, and use one of the arrow emulator buttons, the iBeam  moves properly - but then disappears (perhaps when the 'locktext' is set true).
> 
> 3. incorrect entry position.
> 
> As in 2 above, although the ibeam was last seen in the correct place after using the ">" button to move it to the right, if I then click on a digit button, that digit appears at the end of the field, not where it should have gone
> 
> 4. Incorrect arrow key emulation (same problem as I mentioned in the previous email).
> 
> If you select a chunk of text in the field, then use the left-arrow emulator button, the ibeam is positioned before the *last* character of the selection, instead of before the first.
> 
> 
> There were a couple of others, omitted for brevity. I've created a modified version your stack with my suggested handlers, and will attempt to upload it to the forum later.
> 
> Then there was another issue which I haven't tackled - it would mean changing lots of very similar tiny scripts, and is too tedious.
> 
> 5. character input should replace any selection
> 
> Just like in a regular field, if there is an active selection, typing a character (or clicking a digit button, should *replace* it, not simply add the newly typed (or clicked) digit.
> 
> 
> I've taken my earlier handler suggestion, and broken the bits of code out into individual button scripts, which removes the apparent complexity that you disliked earlier. As far as I know, no problems have yet been found with that approach. As one example, the code for left-arrow emulator would be
> 
>>  on mouseUp
>>    focus on field "fWORK"
>>    put word 2 of the selectedchunk into tFirst
>>    put word 4 of the selectedchunk into tLast
>>    select before char (min(tFirst, tLast)) of fld "fWORK"
>> end mouseUp
> I've uploaded this revised version on the forum thread.
> 
> Best wishes,  Alex
> 
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the use-livecode mailing list