The two prefixes I’ve been using myself relate to translation support and then general purpose display variables.
$$UI.LITERALNAME for ui text, where
$$UI.VARIABLES = “Variables”
and
$$UI.PRODUCTS = “Products”
This way when reading in the ui without showing Sample Data, you know what $$UI.THISTEXT is going to hold - “This text”. ;)
When it’s an on-the-fly display variable the prefix is $$DISPLAY.SOMESTRING
$$DISPLAY.ITEMCOUNT = Get ( FoundCount ) & “ “ & Plural ( $$UI.ITEMS ; Get ( FoundCount ) )
Following our conventions… These would just be lowercased.
$ui.items
or
$display.devicename
What do you think?
Matt
--
You received this message because you are subscribed to the Google Groups "FileMaker Development Standards" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fmstandards...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
$ui.items
or
$display.devicename
To unsubscribe from this group and stop receiving emails from it, send an email to fmstandards+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "FileMaker Development Standards" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fmstandards+unsubscribe@googlegroups.com.
I think it's worth pointing out that one of the benefits of layout object variables is that they can be locally scoped $variables, rather than needing to be $$VARIABLES.
--
I neglected to mention the stacking order (z-order) of layout objects. Layout objects are drawn back to front in z-order so if you have a variable farther back in the z-order than the object that defines them you can end up with a variable whose value is seemingly out of sync.
Yep. Got it.
In fact. One of my favorite patterns, although it is a hack because it’s somewhat hidden, is to use a single Refresh Object step on a button. The button is a simple Boolean toggle so the calc code of the refresh step is as follows.
Let ( [
$$TOGGLE = not $$TOGGLE;
$display.buttontext = If ( $$TOGGLE ; $$UI.ON ; $$UI.OFF )
];
"button.toggle"
)
The button is aptly named “button.toggle” of course and uses a the merge var of <<$display.buttontext>>.
Using Conditional formatting was sketchy when using a local var so I had to use a trigger script to initialize. This defeated the purpose of trying to toggle a global var without having a script. But using the Hide calc allows me to bypass the script.
Wehawwww!
--
The order of operations are as follows.
The Refresh Object step does not have anything to do with the Refresh Window step - other than sharing the word “Refresh”. It was added to FMP because Refresh Window can be very costly - especially on FM Go.
Matt
For more options, visit https://groups.google.com/d/optout https://groups.google.com/d/optout <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>.
--
You received this message because you are subscribed to the Google Groups "FileMaker Development Standards" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fmstandards...@googlegroups.com fmstandards...@googlegroups.com<mailto:fmstandards...@googlegroups.com <mailto:fmstandards...@googlegroups.com>>.
For more options, visit https://groups.google.com/d/optout https://groups.google.com/d/optout <https://groups.google.com/d/optout <https://groups.google.com/d/optout>>.
--
You received this message because you are subscribed to the Google Groups "FileMaker Development Standards" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fmstandards...@googlegroups.com fmstandards...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "FileMaker Development Standards" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fmstandards...@googlegroups.com fmstandards...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout https://groups.google.com/d/optout.