On Nov 7, 2021, at 5:51 PM, Alex Tweedly via use-livecode
<use-livecode@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@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode