Front and Back Scripts on Mobile

Ralph DiMola rdimola at evergreeninfo.net
Tue Jul 5 18:41:38 EDT 2016


This is what works for me. Note the commented out answer dialog of the scroller. Uncomment it so you know the message path is correct. I think you are missing==> [mobileControlSet sName , "scrollingEnabled" , true]


command CreateScroll sName
   local crect
   
   if dev () then exit CreateScroll
   put (the rect of control sName) onto crect
   
   mobileControlCreate "scroller", sName
   mobileControlSet sName , "rect", crect
   mobileControlSet sName , "visible",  false   
end CreateScroll

command ActivateScroll sName , Xscroll , Yscroll
   Local crect , sRect
   
   if dev () then exit ActivateScroll
   put  ("0,0," & (the formattedwidth of control sName) & "," & the formattedheight of control sName + 20 ) into sRect
   mobileControlSet sName , "contentRect" ,  sRect
   mobileControlSet sName , "vIndicator" , true
   mobileControlSet sName , "scrollingEnabled" , true
   mobileControlSet sName , "visible", true
   if Xscroll is not empty and Xscroll >= 0 then
      mobileControlSet sName , "hScroll" , round(Xscroll)
   end if
   if Yscroll is not empty and Yscroll >= 0 then
      --answer sName , Xscroll , Yscroll
      mobileControlSet sName , "vScroll" , round(Yscroll)
   end if
   
end ActivateScroll

on scrollerDidScroll hScrolled, vScrolled
   local ControlID
   --answer "Here!"
   try
      put mobileControlTarget() into ControlID
      set the vscroll of control ControlID of stack "xxx" to vscrolled
      set the hscroll of control ControlID of stack "xxx" to hscrolled
   end try
   pass scrollerDidScroll
end scrollerDidScroll

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 Sannyasin Brahmanathaswami
Sent: Tuesday, July 05, 2016 6:05 PM
To: How to use LiveCode
Subject: Re: Front and Back Scripts on Mobile

Hmmm, today it's not working… not sure how to debug… but buildomh on stand alone with this in the backscript


command CreateScroller pName -- scrolling regions,groups, fields

if not isMobile() then exit CreateScroller

deleteMobileControl pName -- delete any existing

put (the rect of control pName) into tRect

mobileControlCreate "scroller", pName

mobileControlSet pName, "rect", tRect

put ("0,0," & (the formattedwidth of control pName) & "," & the formattedheight of control pName) into tRect

mobileControlSet pName, "contentRect" , tRect

mobileControlSet pName, "hScroll" , 0

mobileControlSet pName, "vScroll" , 0

mobileControlSet pName, "hIndicator" , false

mobileControlSet pName, "visible", true

end CreateScroller

on scrollerDidScroll hScrolled, vScrolled

put mobileControlTarget() into tControlID

set the vscroll of control tControlID to vscrolled

pass scrollerDidScroll

end scrollerDidScroll

is failing… the control will not scroll


From: use-livecode <use-livecode-bounces at lists.runrev.com> on behalf of Richard Gaskin <ambassador at fourthworld.com>
Reply-To: How LiveCode <use-livecode at lists.runrev.com>
Date: Saturday, July 2, 2016 at 8:47 AM
To: How LiveCode <use-livecode at lists.runrev.com>
Subject: Re: Front and Back Scripts on Mobile

I believe a more accurate description is that the scrollerDidScroll message is sent to the *script* that created the scroller, which many not necessarily be a stack.

In my case it's a backscript, and it works well.

It seemed painfully tedious to even think about typing scroller instantiation code for every controls that needs it, so I don't.
Instead, a backscript scans controls during preOpenCard and anything that needs a scroller gets one instantiated for it (along the way it also turns off scrollbars, since of course those are only useful on desktop).


_______________________________________________
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