Cursor Placement in MobileControl

Mike Kerner MikeKerner at roadrunner.com
Wed Mar 6 14:11:48 EST 2024


it would be nice to have a universal field widget, and be able to have this
sort of behavior be part of it...

On Wed, Mar 6, 2024 at 2:07 PM Bob Sneidar via use-livecode <
use-livecode at lists.runrev.com> wrote:

> 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
>
> _______________________________________________
> 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
>


-- 
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."


More information about the use-livecode mailing list