Script editor handler filter [was: Re: Script Editor future]
Charles Warwick
charles at techstrategies.com.au
Wed Aug 26 02:07:00 EDT 2015
Good idea… request submitted:
http://quality.runrev.com/show_bug.cgi?id=15774 <http://quality.runrev.com/show_bug.cgi?id=15774>
> On 25 Aug 2015, at 11:30 pm, Mike Kerner <MikeKerner at roadrunner.com> wrote:
>
> Why not put in a bug report with an enhancement request with the changes?
> I've supplied a few such improvements that have been accepted.
>
> On Tue, Aug 25, 2015 at 3:26 AM, Charles Warwick <
> charles at techstrategies.com.au> wrote:
>
>>>>
>>>> I expected there might be some issues around that.
>>>>
>>>> If it helps, I am happy to send through a list of the changes in
>>>> textual format via e-mail. I appreciate that is a more manual
>>>> process from your side, so may not be suitable.
>>>
>>> If the stack is shareable feel free to email a zipped copy to me. It'd
>> be a good test case for a stack diff tool I have somewhere on my hard
>> drive….
>>
>>
>> Thanks for the offer. I kept track of my changes in a text file so that I
>> could re-apply it in later versions if the stack ever changed, so I only
>> needed to tidy them up before posting them here.
>>
>> Here are the changes:
>>
>> ---
>>
>> Open ide/Toolset/palettes/revscripteditor.rev in LC.
>>
>> For an installed copy of LC 7 on Mac, this is in: /Applications/LiveCode
>> 7.x.x/Contents/Tools/Toolset/palettes/
>>
>> I don’t have Windows, but I assume the directory would be something like:
>> C:/Program Files/Run Rev/LiveCode 7.x.x/Toolset/palettes/
>>
>> Modify command "update" of button "Handler List" of group "Behaviors"
>>
>> (In LC8, this behavior is stored in a script only stack in
>> ide/Toolset/palettes/script
>> editor/behaviors/revsehandlerlistbehavior.livecodescript)
>>
>> After the following code:
>>
>> if sePrefGet("editor,sortHandlerList") is "alphabetical" then
>> sort tHandlers by word 2 of each
>> else if sePrefGet("editor,sortHandlerList") is "order-of-appearence"
>> then
>> # OK-2008-07-21 : Bug 6805 - Sort the handlers by their line number
>> sort tHandlers numeric by word 3 of each
>> else
>> # OK-2009-03-03 : Bug 7690 - We could change this in the engine, but
>> considering that in the default
>> # settings we sort alphabetically anyway, it probably doesn't make
>> much difference to just sort here.
>> # This will produce an ordering F, G, H, PF, PH, S, which may need
>> to be adjusted using a custom search
>> # function here.
>> sort tHandlers numeric by handlerTypeSortCallback(word 1 of each)
>> end if
>>
>> Add the following lines:
>>
>> # Filter the list of handlers shown by the contents of the Filter
>> Handler field if it has a value.
>> if tHandlers is not empty then
>> if the cApplyFilter of field "Filter Handler" of group "Left Bar" is
>> "true" and field "Filter Handler" of group "Left Bar" is not empty then
>> put field "Filter Handler" of group "Left Bar" into tFilterHandler
>> filter tHandlers matching "*" & tFilterHandler & "*"
>> end if
>> end if
>>
>> —
>>
>> All other changes are performed in the substack “revSETemplate”...
>>
>> Modify command "resize" of group "Left Bar" of card "Main" of stack
>> "revSETemplate" to be:
>>
>> command resize
>> # Ensure the Filter Handler field is displayed above the list of
>> handlers.
>> set the width of field "Filter Handler" of me to the width of me
>> set the top of field "Filter Handler" of me to the top of me
>> set the left of field "Filter Handler" of me to the left of me
>> set the width of group "Left Handler List" of me to the width of me
>> set the height of group "Left Handler List" of me to the height of
>> me - the height of field "Filter Handler"
>> set the top of group "Left Handler List" of me to the bottom of
>> field "Filter Handler" of me
>> set the left of group "Left Handler List" of me to the left of me
>>
>> send "resize" to group "Left Handler List" of me
>> end resize
>>
>> --
>>
>> Add a field called "Filter Handler" to group "Left Bar" of card "Main" of
>> stack "revSETemplate" by running the following commands from the message
>> box:
>>
>> (There is no need to layout the field on the card, as the resize handler
>> above is called when the script editor is opened as well as resized)
>>
>> create field "Filter Handler" in group "Left Bar" of card "Main" of
>> stack "revSETemplate"
>> set the dontWrap of field "Filter Handler" of group "Left Bar" of card
>> "Main" of stack "revSETemplate" to false
>> set the text of field "Filter Handler" of group "Left Bar" of card
>> "Main" of stack "revSETemplate" to "Filter handler list..."
>> set the textColor of field "Filter Handler" of group "Left Bar" of card
>> "Main" of stack "revSETemplate" to 192,192,192
>> set the height of field "Filter Handler" of group "Left Bar" of card
>> "Main" of stack "revSETemplate" to 24
>>
>> edit the script of field "Filter Handler" of group "Left Bar" of card
>> "Main" of stack "revSETemplate"
>>
>> Add the following to the field's script:
>>
>> on openField
>> # If there is no filter currently in the field, set the field to
>> empty.
>> if the cApplyFilter of me is not "true" then
>> put empty into me
>> set the cApplyFilter of me to "true"
>> set the textcolor of me to black
>> end if
>> end openField
>>
>> on textChanged
>> send "update" to group "Left Handler List" of group "Left Bar" in 0
>> milliseconds
>> end textChanged
>>
>> on returnInField
>> select char 1 to -1 of me
>> end returnInField
>>
>> on enterInField
>> select char 1 to -1 of me
>> end enterInField
>>
>> on closeField
>> # If the field is empty, then show the default text and set the
>> cApplyFilter flag to ensure the handler list isn't filtered.
>> if the text of me is empty then
>> set the cApplyFilter of me to "false"
>> put "Filter handler list..." into me
>> set the textcolor of me to 192,192,192
>> end if
>> end closeField
>>
>> on exitField
>> # If the field is empty, then show the default text and set the
>> cApplyFilter flag to ensure the handler list isn't filtered.
>> if the text of me is empty then
>> set the cApplyFilter of me to "false"
>> put "Filter handler list..." into me
>> set the textcolor of me to 192,192,192
>> end if
>> end exitField
>>
>> --
>>
>>
>> _______________________________________________
>> 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."
> _______________________________________________
> 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