detecting cell movement in a table
Richard Gaskin
ambassador at fourthworld.com
Sat Jun 27 19:59:40 EDT 2015
Dr. Hawkins wrote:
> I have handlers in the group that sometimes trigger on the
> revUpDateCellValue, but none of the other handles ever trigger.
> I have handlers like
>
> on revWhatever a,b,c,d
>
> ck a & cr & b & cr & c & cr & d
>
> breakpoint
>
> pass revWhatever
>
> end revWhatever
>
>
> none of these trigger as I move about and edit. I put them in both
> the table script and the group script.
>
> sometimes revCellUpdate is called when a cell changes, and other
> times not.
I'd guess the revTableLibrary is a frontScript, since it needs to be
able to respond to messages the user may otherwise override, and it
predates the invention of behaviors with their "before" message handling
option.
And since its custom handlers are needed only by itself, I'll bet it's
not passing them.
Reading the handlers in revTableLibrary it seems to make extensive use
of two custom properties to determine the current X and Y cell location:
cRevTable["currentXcell"]
cRevTable["currentYcell"]
So you can modify this setProp handler to respond to changes to either
of those:
setProp cRevTable[pProp] pVal
if pProp is "currentXcell" then
put pVal, the cRevTable["currentYcell"] of me
else if pProp is "currentYcell" then
put the cRevTable["currentXcell"] of me, pVal
end if
pass cRevTable
end cRevTable
PS: since you seem to spend a lot of time in the debugger to discover
the calling chain of handlers, you may find having those presented in a
list for you in real-time much easier and faster - this free tool does
that and more:
<http://fourthworld.net/revnet/devolution/4W_FlightRecorder.rev.gz>
If nothing else it's a useful example of the messageMessages global
property in action.
--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
____________________________________________________________________
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the use-livecode
mailing list