Script editor handler filter [was: Re: Script Editor future]

Mike Kerner MikeKerner at roadrunner.com
Tue Aug 25 09:30:34 EDT 2015


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."



More information about the use-livecode mailing list