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@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to