Cursor Placement in MobileControl
Bob Sneidar
bobsneidar at iotecdigital.com
Wed Mar 6 14:06:20 EST 2024
That is damn handy. That could be massaged to work with a Livecode field too. I’m going to work on that.
Bob S
> On Mar 6, 2024, at 10:13 AM, Ralph DiMola via use-livecode <use-livecode at lists.runrev.com> wrote:
>
> Dan,
>
> Nice... thanks!
>
> Ralph DiMola
> IT Director
> Evergreen Information Services
> rdimola at evergreeninfo.net
>
> -----Original Message-----
> From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf
> Of Dan Friedman via use-livecode
> Sent: Wednesday, March 06, 2024 11:15 AM
> To: How to use LiveCode
> Cc: Dan Friedman
> Subject: Re: Cursor Placement in MobileControl
>
> Panos,
>
> Thank you for the suggestion! That worked out well! For anyone
> interested, here's the snippet for formatting a phone number as you type in
> a mobile native field control:
>
> //this assumes that the mobileControl type for Android is "multiline" and
> the mobileSetKeyboardType has been set to "email"
>
> on inputTextChanged
> put mobileControlTarget() into pField
> put mobileControlGet(pField,"text") into pText
>
> if pField = "phoneNumber" then
> put "" into fText
> put numbersOnly(pText) into pText
>
> if char 1 of pText = "1" then
> put "" into fText
> mobileControlSet "phoneNumber","text",fText
> androidGoLastChar "phoneNumber",fText
> put fText into dataEntered["phone"]
> exit inputTextChanged
> end if
>
> if the number of chars in pText < 4 then
> put pText into fText
> mobileControlSet "phoneNumber","text",fText
> androidGoLastChar "phoneNumber",fText
> else
> if (the number of chars in pText > 3) then
> put "(" & char 1 to 3 of pText & ")" into char 1 to 3 of fText
> put " " & char 4 to 6 of pText after fText
> end if
> if the number of chars in pText > 6 then
> put "-" & char 7 to 10 of pText after fText
> end if
>
> mobileControlSet "phoneNumber","text",fText
> androidGoLastChar "phoneNumber",fText
> end if
> end if
> end inputTextChanged
>
> function numbersOnly pNum
> //returns only the numbers in pNum
> put "" into fNum
> repeat for each char c in pNum
> if isNumber(c) then
> put c after fNum
> end if
> end repeat
>
> return fNum
> end numbersOnly
>
> on androidGoLastChar mControl,xText
> if ("Android" is in the platform) then
> mobileControlSet mControl,"selectedRange",(the number of chars in
> xText+1,0)
> end if
> end androidGoLastChar
>
>
> Thank you!
>
> Dan Friedman
> CEO, ClearVision Technologies, LLC
> Voice: 909/484-2052
> http://www.clearvisiontech.com
>
>
> From: use-livecode <use-livecode-bounces at lists.runrev.com> on behalf of
> panagiotis merakos via use-livecode <use-livecode at lists.runrev.com>
> Date: Tuesday, March 5, 2024 at 9:45 AM
> To: How to use LiveCode <use-livecode at lists.runrev.com>
> Cc: panagiotis merakos <merakosp at gmail.com>
> Subject: Re: Cursor Placement in MobileControl Hello Dan,
>
> I take it you are formatting the text in inputTextChanged?
>
> Unfortunately yes, on Android calling
>
> mobileControlSet "phoneNumber","text", pText
>
> puts the cursor in the beginning of the text:
>
> https://quality.livecode.com/show_bug.cgi?id=24055
>
> RE using the selectedRange with mobile native controls, I think this
> property is supported only on multiline input fields. So I suppose you could
> make the fields to be multiline and give it a try.
>
> Kind regards,
> Panos
> --
>
> On Tue, 5 Mar 2024 at 18:53, Dan Friedman via use-livecode <
> use-livecode at lists.runrev.com> wrote:
>
>> I am trying to create a field on mobile (iOS and Android) that will
>> format a phone number as your type (client request). I am able to do
>> this on iOS as the command: mobileControlSet
>> "phoneNumber","text",pText puts the cursor AFTER the text so the user
>> can simply continue typing. But, on Android, the cursor is placed at the
> beginning of the text after the
>> mobileControlSet command is called. Is there a way to set the position
> of
>> the cursor on a native mobile text field?
>>
>> I did notice that the Android Native Field widget has a selectedRange
>> property. Can I use this property on a native Android control? And,
>> can I set the selectedRange to "16,15" to set the cursor location, not
>> select text?
>>
>> Why not just use the Android Native Field widget, you ask? I will if I
>> have to. but I prefer to use the native control as it is
>> cross-platform and I don't need to case out for which platform we're
>> on. You would need to create the control and hide the widget for iOS
>> and show the widget for Android. I'll also have to case out the
>> setting and getting of the text as they have different methods. I'll do
> this if I have to, but I'd rather
>> have a single code set and not have to manage/update separate methods. I
>> would use the standard LC field, but client wants the standard
>> hold->popupMenu->paste command to work.
>>
>> Any thoughts or ideas?
>>
>> -Dan
>> _______________________________________________
>> 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
>>
> _______________________________________________
> 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
> _______________________________________________
> 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
>
>
> _______________________________________________
> 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