Help message Broadcasting system

Kay C Lan lan.kc.macmail at gmail.com
Thu Feb 11 18:12:11 EST 2010


Andrew,

I basically agree with Björnke with a couple of comments:

'help' is a constant and a message in Rev so using it as a custom
property may cause problems. As I guess you've already seen, most
people have some kind of prefix naming convention:

g    Global variable    gMyGlobal
t     Local 'temporary' variable    tMyVar
s    Script-local variable    sMyVar
p    Parameter (also called an argument)    sMyParam
k    Constant    kMyNumber
u    User-defined (or custom) properties    uMyProp

(stolen without permission from Richard Gaskin's excellent Fourth World site)

http://www.fourthworld.com/embassy/articles/scriptstyle.html

Secondly, look up 'target' in the Dictionary. Basically you can use
this to save yourself a lot of scripting. Instead of placing the same
script in every object you want Help, you just have to have one script
at the stack or card level, depending on your set up.

If you already have a DB with the Help statements then you would need
to add another column, 'target' and enter the matching data. You
already know how to extract data out of a DB using Rev so nothing new
there.

If you haven't got that DB set up, then I think Björnke's suggestion
of using custom properties is a good one. The information is stored in
a logical location, easy to find and update.

Rather than 'the text of field', have a look at 'HTMLText' in the
Dictionary. That way you can add little icons and bold text etc for
more emphasis, just like Rev's Dictionary.

Lastly, I'd probably use mouseEnter rather than mouseMove. Over a
large field, mouseMove could be sent multiple times, causing your
script to be triggered unnecessarily. MouseEnter will only be sent
once.

on mouseEnter
    set the HTMLText of field "Yellow Help Box" to the uMyHelp of the target
end mouseEnter

HTH

2010/2/12 Björnke von Gierke <bvg at mac.com>
>
> I'd do it like this, a script in every object that needs a help entry:
>
> on mouseMove
>  set the text of field "Yellow Help Box" to the help of me
> end mouseMove
>
> In the property inspector, go to the "custom properties" part, and click the topmost "+" sign.  in the dialog enter "help", and then enter the appropriate content into the bottommost field.
>
> Note: if you develop cross platform apps, then you do want to use mactoiso() or isotomac() on the custom property contents. One or the other, depending on which platform() you do fill the properties.
>
> As for the GLX framework, I only glanced at it shortly once, and thought it overly complex. like almost everything i look at these days...
>
> Have fun
> Björnke
>
> On 11 Feb 2010, at 22:33, Andrew Kluthe wrote:
>
> >
> > I am converting my noble little app into the glx framework, as I've realized
> > that what it does will be invaluable to me in the long run.
> >
> > A feature that was requested a couple of days ago, and I assume needs to be
> > developed early in the process, is for a Help system.
> >
> > For Example:
> >
> > 1.You click a field, lets say the field is for entering an insurance policy
> > number.
> >
> > 2. A box that is always on the bottom of the card/stack displays information
> > from a help Table in a db telling you the format of the purpose of this
> > field. (i.e. what to put here, what it means, what format it needs to be in,
> > etc.)
> >
> > I said that I could use tooltips to do something similar, but they really
> > want that little yellow help box.
> >
> > Reading up on GLX, it said something about handling broadcasting.
> >
> > Can I use GLX's broadcasting features to do something like this? Am I
> > misunderstanding the purpose of broadcasting? Am I spinning off into the
> > wrong quadrant of space?
> >
> > Your thoughts.
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution



More information about the use-livecode mailing list