Downloads >
Sharing the Knowledge : Resources for FileMaker Developers
LayoutProperties 2.2
Aug 14t h, 2007. BH&A announces LayoutProperties 2.2
thanks to the community dynamism, LayoutProperties concept was already revamped and improved in version 2.0, only a few weeks after the release of version 1.0
Now, version 2.2 takes it even further.
Developed by Fabrice Nordmann, working for BH&A, this revolutionary technique saves precious time for developers and considerably reduces the error risk.
The principle: rather than placing the way in which layouts must be displayed in scripts or in their parameters, this is embedded directly in the layouts.
Thanks to the functionalities of FileMaker 8.5 and 9, the layout can become an object in the sense that it is understood in the object-oriented programming. This technique makes it possible to largely overcome the limitation of FileMaker – which does not allow to set a property for a layout’s object.
With version 2.2, Layouts can really communicate, send messages to each other, and adpat their behavior.
This is not a plug-in, but rather a grouping of custom functions, scripts and a layout object to copy in your file. No field or relationship is required for LayoutProperties to function! Implementing LayoutProperties in your application takes no more than five minutes.
Ease of use
One of the version 1.0 strengths was already its ease of use, but version 2.0 and now 2.2 makes it a child play : only one layout object to manipulate, that can be resized to one pixel by one, so you will need no more hiding tab panel, or zoom in, or even type in a small size font.
More Powerful
LayoutProperties now can be applied to a layout before leaving or after displaying a layout.
Included navigation history : a layout can be recorded in the navigation history or not, making it a snap to offer your clients a back/next internet-browser-like interface.
Declare variables, trigger as many scripts as you wish (free third party plug in required)
Center or align window on parent window or on screen
By adopting LayoutProperties, you immediately gain hours of development time. By freeing yourself from the context, you considerably simplify your development work. You radically reduce the risk of error. You make the navigation and display of your applications more flexible. Put more simply, by giving the layout its own display characteristics, you eliminate the risk of errors related to programming scripts or to the quality of the data of your interface.
But above all, the reason why we have decided to distribute this file commercially is to encourage you to advance this technique further. We are convinced that these properties that have already been developed can be improved and that other layout properties can be envisaged. Already, versions 2.1 and 2.2 are mostly inspired by contributions from early versions buyers.
By buying LayoutProperties and passing on your improvements, you receive the improvements made by other developers that have been passed on to us. Regard this as an open-source platform with an entry ticket, one that will enable us to support developers and co-ordinate future improvements.
When you buy LayoutProperties, you are buying the right to unlimited use. It costs 199€ – about the same as you would bill for the cost of two hours of development. With LayoutProperties you will gain much more as from the first week of use!
Of course LayoutProperties 2.2 is free for early versions buyers (so will later versions be).

Purchase information :
Price is 199€. Please send to this bank account, send an e-mail (we never know), and receive your own copy of LayoutProperties 2.2
IBAN: BE78 3101 5515 1586
BIC: BBRUBEBB
Bank Address: ING - Avenue Georges Henri 178 - 1200 Brussels
Beneficiary: BH&A - Rue Vanderkindere 471 - 1180 Brussels
VAT:
Sales outside EU : 0%
Sales inside EU (If you do not have a valid VAT Number) : add 21%
Sales inside EU (If you have a valid VAT Number) : 0% (Please mention your
Vat number when ordering)
Reasons for buying LayoutProperties 2.2
If the general principle is in the public field, the LayoutProperties file includes many advanced features that will immediately make this modest investment cost effective (the most spectacular are indicated in bold in the list below):
- Navigation history
- Move window
- Resize window
- Center or align window (on both screen on parent window)
- Adjust window (Windows users can now maximise a window without maximising all of them!)
- Set variables and Trigger scripts on various events (before leaving a layout, after displaying it, before closing a modal window, after closing it)
- Popup windows
- Modal windows
- Window uniqueness (a layout can be set so as to close every other window when displayed)
- Window title
- Zoom level
- Zoom lock
- Status area show/hide
- Status area lock
- Text ruler show/hide
- View as (form, list, table)
- Window mode (browse, preview, find)
- Memorise user's modification within a session (resizing, zoom, status area, etc.)
- Go to objects (you can automatically show a different tab panel if a document is locked or not, for example).
- Restore tab panels state
Bundled with layout properties, Fabrice Nordmann's 'restore tabs' technique allows you to store and restore all selected tab panels (visible or not) on all layouts: no more ‘switch to default tab’ hassle.
- Hard code or use formulas
This is revolutionary as it allows you to overcome FileMaker’s limitation, which does not allow a property to be set for a named object. Thanks to this feature, the layout itself is able to behave according to your data!
- Simplified syntax
Several properties include a simplified syntax. For example, if a window should pop up with a height twice as big as the original window, simply write "*2" instead of a long calculation! Simply use ‘+’ and ‘-’ to zoom in or out instead of many Case statements.
- Audit function
LayoutProperties includes a powerful audit function that allows you to see the layout properties immediately, without even switching to layout mode.
Requirements :
LayoutProperties 2.2 requires FileMaker 8.5 or later, and the use of one of these three free plug-ins:
- myFMbutler's DoScript 2.0
- zippTools' zippScript
- Software for Humans' EventScript
(the use of those plug-ins was only optional in previous version, please contact us to get an old version of LayoutProperties)
The following FileMaker Magazine articles are based on version 1.0 of LayoutProperties. Version 2.0 and later are soooooo much better :)
May 7th, 2007: Matt Petrowsky, ISO FileMaker Magazine, talks about LayoutProperties:
"Watch this video if you want to learn a powerful method for controlling how your layouts are rendered. Using a dedicated layout object, you can reduce the total number of steps in many of your scripts. Full window control can be harnessed when using this technique - it's something I would consider core to any solution!"
Hilight Search Terms
Free demo file that shows how to Google-like hilight the search terms in a text. It uses two handy custom functions:
ParseSearchString, which allows to list search terms from a typical search engine. It handles multiple words terms enclosed in double quotes "
SubstituteManyWithCalculation, which is a very powerful function that allows to substitute several terms in a list while applying a calculation to them (in this case, some text formatting)
Restore Tabs
Free demo file for a powerful technique of memorising/restoring all selected-by-user tabs of every layout
No more switch to the default tab hassle (you know, the tab you inadvertently selected last time you were in layout mode...)
FileMaker 8.5 is required here, as well as a Jason DeLooze custom function and FilterValuesByTest
This technique has become a layout property (LayoutProperties) in the way that a layout can be set to remember selected tabs automatically.
Visible Portal Rows
Free demo file to illustrate a custom function that returns the list of visible portal row numbers.
Useful for a smarter interface: why should you 'go to portal row' if it is already visible?
FileMaker 8.5 required.
Variables Load (or Variables From Layout)
Free demo file that illustrates the use of two custom functions: VariablesFromFields and VariablesFromObjects (FileMaker 8.5 required for the latter), which allow you to load general parameters in dynamically named global variables, by displaying a layout only.
Let's say you have a layout on which are placed:
- a text field object named "Language" that contains "English"
- a calculated field object named "Age" that contains "54"
- a WebViewer object named "DefaultPageHTML" and containing a web page
Only going to this layout will result in 3 different variables, $$Language, $$Age and $$DefaultPageHTML, containing respectively "English", "54", and the web page HTML code.
Variables Log
Free demo file that illustrates the use of three custom functions dedicated to variables: VariablesLog, VariablesResetAll, and VariablesLoadFromLog.
With this technique, not only can you keep track of all declared global variables, but you can pass them from a file to another.
Filter Text (FileMaker Expressions)
Free demo file that illustrates the use of two custom functions for extracting text: FilterValuesByTest and FilterWordsByTest.
Better than a long explaination, read what Matt Petrwosky wrote when introducing these in a video article:
"The concept is very powerful and can be used in a variety of ways. Hold on to your hat as we take a look at this powerful custom function from Fabrice Nordmann!"


