Another Gotcha

Bob Sneidar bobs at twft.com
Tue Jan 3 12:40:41 EST 2012


Because a mouseDown only gets sent when the tool is Browse. The contextual menu gets built when using the pointer tool. I am creating a dev utility for adding field validations in a database app framework. I only want this to be visible when using the pointer tool. 

Bob


On Jan 2, 2012, at 7:22 PM, Pete wrote:

> Why not do this in a mouseDown handler for the menu?
> 
> On Thu, Dec 29, 2011 at 5:18 PM, Bob Sneidar <bobs at twft.com> wrote:
> 
>> S'not. ;-) It's the handler that builds contextual menus. By trapping it
>> and doing your own thing you can make your own contextual menus, or add to
>> existing ones. I have this in a frontScript which puts a few extra things
>> at the top of the contextual menu if a field is the target:
>> 
>> on revHookBuildObjectEditorContextMenu pMenuTarget, pMenuName, @pMenu,
>> tModifiedMenu
>>   put the topstack into theCurrentStack
>>   put the long name of this card of theCurrentStack into theCurrentCard
>>   put the customproperties of theCurrentStack into theCustomProps
>>   switch
>>       case word 1 of pMenuTarget is not "field"
>>           put "false" into valOn
>>           break
>>       case not theCustomProps is an array
>>           put "false" into valOn
>>           break
>>       case "PreValidations" is among the keys of theCustomProps
>>           put "true" into valOn
>>           break
>>       case "MidValidations" is among the keys of theCustomProps
>>           put "true" into valOn
>>           break
>>       case "PostValidations" is among the keys of theCustomProps
>>           put "true" into valOn
>>           break
>>   end switch
>> 
>>   if valOn then
>>       put "Data Type" into line 1 of theValMenu
>>       put tab & "Text" into line 2 of theValMenu
>>       put tab & "Number" into line 3 of theValMenu
>>       put tab & "Date" into line 4 of theValMenu
>>       put "-" into line 5 of theValMenu
>>       put "Pre-Validations" into line 6 of theValMenu
>>       put "Mid-Validations" into line 7 of theValMenu
>>       put "Post-Validations" & lf & "-" & lf into line 8 of theValMenu
>>       -- put the valMenu of me into theValMenu
>>       put theValMenu before pMenu
>>       put pMenu
>>   end if
>>   pass revHookBuildObjectEditorContextMenu
>> end revHookBuildObjectEditorContextMenu
>> 
>> 
>> function dispatchContextMenuPick pMenuName, pWhich
>>   if "Data Type" is in pWhich or "Validations" is in pWhich then
>>       send "initVal" && pWhich to the topstack in 0 seconds
>>       exit to top
>>   end if
>>   pass dispatchContextMenuPick
>> end dispatchContextMenuPick
>> 
>> 
>> On Dec 29, 2011, at 4:04 PM, Richard Gaskin wrote:
>> 
>>> Bob Sneidar wrote:
>>> 
>>>> I have been using a trick John Craig showed me for appending to a
>> contextual menu which has been very handy for me. The gotcha is that
>> instead of building the menu on the fly using "put theMenuItem into line 1
>> of theMenu" (or something like that) I decided to simply create a custom
>> property with the additional menu items I wanted, and then put that
>> property before pMenu in the revHookBuildObjectEditorContextMenu handler in
>> my front script.
>>> 
>>> "revHookBuildObjectEditorContextMenu"?
>>> 
>>> Where is that documented?
>>> 
>>> --
>>> Richard Gaskin
>>> Fourth World
>>> LiveCode training and consulting: http://www.fourthworld.com
>>> Webzine for LiveCode developers: http://www.LiveCodeJournal.com
>>> LiveCode Journal blog: http://LiveCodejournal.com/blog.irv
>>> 
>>> _______________________________________________
>>> 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
>> 
>> 
> 
> 
> -- 
> Pete
> Molly's Revenge <http://www.mollysrevenge.com>
> _______________________________________________
> 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