By Craig Saunders and Daniel Wood, 26 January 2012
This is the first in a series of articles that will present some useful and time saving tidbits for various areas of FileMaker. In this first article we focus on layout mode. There is no rhyme or reason, no common theme - just an assortment of our favorite time-savers, shortcuts, tips, hints, tricks, tools of the trade and more:
We all know the shape tools. You know - those tools to draw lovely lines, circles and squares? There are a couple of cool shortcuts that can be used in conjunction with these tools.
Holding the shift key while using the line tool will snap the line to a vertical or horizontal alignment - perfect for drawing straight lines!
Did you know that holding the option key (ctrl on windows) while using the line tool will snap the line to a 45, 135, 225 or 315 degree angle? This can be useful for drawing triangles or any other shape where an angled line is required.
Sometimes you want to draw a perfect square or circle quickly. Rather than drawing something akin to humpty-dumpty and then using the inspector to fix the dimensions, you can instead hold the option key (ctrl on windows) to fix the width and height to the same dimensions. Now you too can make perfect circles every time.
The option (ctrl) modifier key even works with all of the other layout drawing tools and object tools as well.
Remember to never draw a line with an initial width of 0pt and then change it to 1pt or higher. This is going to result in a blurry line due to a FileMaker rendering bug that has been around for a while. This is an issue on both mac and windows. One of the lines below is not like the other...
There are a number of ways to create copies of objects on a layout. The first is simply selecting an object and using the copy/paste commands (cmd/ctrl c/v). When using this option the pasted object will be moved to the location of where the mouse was last clicked on the layout. In fact, the last clicked location will be dead centre of the pasted object, so if you want to quickly paste an object in a location of the layout, click there before pasting.
The option key (ctrl on windows) can be used to drag a copy of an object. Select an object, then while holding the option key, drag the object to a new location. Release the mouse while still holding the option key. Use this in conjunction with the shift key (for locking to horizontal/vertical alignment) to copy an object and keep it in-line with the original.
Finally there is the duplicate command. You may be wondering why you would bother using duplicate when you could just as easily use copy/paste or option-drag. Well, the duplicate has a nifty feature built into it.
Select an object - let's call it A - and duplicate it (cmd+D). Now move the new object - B - to some location, such as beneath the original object A using either the keyboard arrow keys or the mouse.
If you now duplicate B, you'll notice that the resulting duplicate C is positioned relative to B, in exactly the same way B is positioned relative to A.
Now duplicate C to get D, and D will be relative to C the way it is relative to B and so on....
You can use this technique to quickly create a series of objects all evenly spaced.
Here's a quick tip - don't waste time designing layout controls or formatting objects if they have already been designed elsewhere. You can really speed up your development by reusing existing objects from other layouts and re-purposing them for your requirements. In fact in most cases once a database reaches a particular point, there is very little need to create any object from scratch because it should already reside somewhere in the system waiting for you to copy it :-)
The format painter is a great tool for quickly applying formatting styles to objects on a layout. It exists in the status area as a paint icon.
To use, select a layout object. Then click the format painter icon. Now select another object on the layout to apply the formatting from the originally selected object.
The format painter tool can also be locked in the ON position by double-clicking the icon. This lets you select an object and then apply its formatting to multiple objects. When finished, click on the selection tool icon, or press the escape key.
In fact it's not just the format painter that can be left in the locked position - every tool in the picture shown above can be locked in the ON position - this is great for creating lots of lines, circles, squares, portals, you name it.
Format painter is great, but what if you need to apply a style across a large number of objects? Lets say for example you have a layout with 100 text labels on it, and you wish to apply formatting from another label to all labels on this layout.
You could use the format painter in its locked mode and click on all 100 labels to change them, but there is a better way.
When the format painter tool is used on a series of grouped objects, the formatting is applied individually to all objects in that group. So, to format the 100 labels we simply need to group them. This could be a case of dragging a text selection box over the labels and grouping them. If the labels are sporadically placed on the layout, you can use a nifty shortcut to select all layout objects of a particular type.
Cmd+Option+A (ctrl+shift+A on windows) will select all like objects on a layout, such as text labels. Once selected, just group them into a single object and apply the formatting to that grouped object. When done, ungroup them.
Tab controls can contain many tabs and many objects on those tabs, so what happens if you want to make a new tab control with the same formatting but none of the contents? The first step is to make a copy of the existing tab control object.
Here is a pretty complex tab control object that contains many internal objects and other layouts of tabs.
For the first method, go into the tab control setup and remove all tabs apart from the first one (at least one tab is required to retain formatting).
This leaves you with just one tab to clear of contents rather than all tabs. When done, just go back into tab control setup and add your new tabs. Remember that when in tab setup don't remove all tabs and begin re-adding tabs, otherwise all formatting is lost. Make sure you leave 1 tab and click OK before going back in and adding your tabs.
The second method involves resizing the tab control object in a way that all contents that were in the tabs are no longer inside the object. To do this, drag the lower left corner of the tab control up to the upper right corner and keep going until the tab control object is completely outside the realm of the contents, as shown below.
As you can see above, the tab control is now a tiny object in the upper right corner. Because everything is no longer in the tab, it is all combined into a large mess of objects overlapping one another. This is fine though because it makes it really easy to drag a selection box over it all and hit the delete button.
Now just resize the tab back to whatever you want. The cool thing about this method is all the original tabs and their names are retained. You can restore it to its original dimensions using the "resize to largest width and height" command.
The arrange menu contains so many great and powerful tools (and shortcut keys) that if learned will greatly improve your productivity, especially if you can use the shortcuts available without having to resort to the inspector or the menu. When arrange tools are used in conjunction they can make seemingly tedious tasks much faster.
As an example, let's say we have a series of labels we want to align to be horizontally spaced and left aligned.
First, begin by positioning Object 1 and Object 6 to the top and bottom coordinates you want the objects to be spaced in. Don't worry about everything else just yet.
Next, for all the other objects, put them in the order you want them to appear. Again, don't worry about any spacing or alignment just yet: as long as one is beneath the other it's all good.
Once done, you are ready to do the final steps. Select all of the objects and left-align using cmd+option+left (ctrl+alt+left on windows). Now simply use the align vertically command and you are done.
The key here is that once you have your top and bottom objects positioned, and everything in between, the rest is really simple.
Selecting objects on a layout can be done in the following ways.
First is simply clicking the mouse on an object to select it. Holding the shift key will let you individually select multiple objects.
Drag the mouse button to select multiple objects. All objects that fall entirely within the selection box will be selected.
Holding the option key (ctrl on windows) while dragging will draw a special selection box that will select any object that partially falls within the selection area.
Cmd+A (ctrl+A on windows) will select all objects on the layout, locked or otherwise.
With an object selected on the layout, use Cmd+Option+A (ctrl+shift+A on windows) to select all other objects of the same type on the layout. This is a really awesome feature that can really assist with development, as discussed below.
We have already touched on a few uses of the "Select Same" command above, but have you ever thought of using it as a means for finding objects on a layout?
Hidden tab controls are becoming ever more popular as a means for showing and hiding layout content. The problem however is that they can be a real pain to develop - they're hidden! One quick way to find hidden tab controls is to use the "Select Same" function. Select an existing visible tab control on the layout (or add one if there is none). Then with it selected, use the "Select Same" function - this is going to select all tabs, including hidden ones. From there you can locate the edge of the hidden tab for selection.
Another way of locating hidden tabs is to apply a blank tooltip to its tab controls, and then turn on "show tooltips". hidden tabs will appear as tooltip badges where you would not expect a tooltip to be :-)
Finally we have a tip for resizing text labels. How often do you copy and paste an existing label only to change its text and realize the dimensions of the label are now way too big?
This is a really common problem when the text in a label changes. The easiest way to snap the dimensions of the label to their smallest dimensions is to change a style of the label and then undo that change. Making the label bold/underline/italic is a really easy way to do this. Underline for example would be cmd+shift+U twice.
Sometimes you may notice that your label does not snap to the smallest dimensions with this technique. There are a few reasons why this may happen, but they all are concerning paragraph settings of the label as shown below.
For a label to snap to smallest dimensions, vertical alignment must be top and horizontal alignment must be left. There can be no indents or lines above/below. Line spacing must be 1pt.
If your text has justified alignment, then the label will snap to the smallest height, but not width.
Something to say? Post a comment...
Comments
Josh Ormond 29/05/2012 5:50am (13 years ago)
You could also use the selection tool to select everything the selection box touches...touch just one of the fields, it should pick up both the portal and the field, and then just unselect the field.
Whether you need to hold ctrl during the selection will depend on which version of FM you are using.
David Jondreau 29/05/2012 5:34am (13 years ago)
Chris,
You can select the portal tool from the toolbar and "Select All" from the Edit drop down.
Andrew Purvis 29/05/2012 4:21am (13 years ago)
Chris,
To select the portal, select a field within it am move it back until the portal is revealed. Once you do your adjustments, move the portal backward to get it behind the field.
Curtis Polk 29/05/2012 3:06am (13 years ago)
One of the most frustrating things is trying to select a portal when you have hidden its borders and its fields extend to the borders. If there is another visible portal, I do Select Same and deselect the one I don't want. In extreme cases, I have actually created a new portal before Selecting Same.
Andrew Purvis 02/02/2012 6:25pm (13 years ago)
"Once done, you are ready to do the final steps. Select all of the objects and left-align using cmd+option+left (ctrl+alt+left on windows). Now simply use the align vertically command and you are done."
I think you meant that last step to refer to the distribute vertical command, not align vertical. Otherwise, I love this. While I knew most of these tricks, pieces like this always seem to contain great gems such as the duplicate command.
David Jondreau 01/02/2012 12:45pm (13 years ago)
I used to hide tab controls by removing all line attributes and setting the tab width to zero, but I stole a great idea from the SeedCode folks.
I keep my lines hidden but don't hide the tabs. Justify them full. Then I add a new single tab control panel just high enough to cover the tabs. I also add a conditionally formatted text box (px 500 when window mode < 4) to that single tab to indicate where it is (and what should be done).
By covering the tabs, users can't see or access them, but in layout mode all I can easily see and move that single tab and access all the panels on the hidden tab control. Easier than opening the tab control properties and adjusting the line or label properties and then adjust them back when I'm done.
I
HOnza 30/01/2012 8:29pm (13 years ago)
Great collection, Daniel. I am immediately going to require my team members to read it...
The more time we save as developers the more we can then spend to save time for our clients.
Daniel Wood 30/01/2012 9:36am (13 years ago)
Cheers for the comment Matt - the captcha really does seem to work in this case, we were getting a constant stream of spam posts prior to using it. Karen, glad to keep you under the quota :)
Karen 30/01/2012 4:28am (13 years ago)
"Blurry line rendering bug". DANG! Thanks for the tip! This help to prevent my using of of my expletive quota for each day.
Matt Petrowsky 28/01/2012 8:09am (13 years ago)
Daniel, once again, a great collection of useful information. Thanks for putting it all together! Love the captcha - gotta get one like that!
Daniel Wood 27/01/2012 10:34am (13 years ago)
Love it Kirk, thanks !
Kirk Rheinlander 27/01/2012 10:30am (13 years ago)
Hi Daniel!
If you attempt to size a number of objects at the same time, they size proportional to their individual sizes, which causes all sorts or problems with relative object relationships.
If you group objects before sizing, they maintain their relationship to one another through the resizing action. Group, drag and ungroup. Saves a bunch of aggravation.
This works in Powerpoint/Keynote, and probably lots of other software, too.
Daniel Wood 27/01/2012 9:32am (13 years ago)
Cheers for the comments everyone and thanks for posting tips & useful info. Jonathan - that page is awesome, I'm definitely going to try that stuff out. Lee - love that tip thanks! Lyndsay, as 'seemingly' simple as the spam question may be for FileMaker folks - it has reduced the spam on this blog to nil :)
Lyndsay Howarth 27/01/2012 5:29am (13 years ago)
... and on the Mac it is cmd... not opt...LOL...
And using Windows from remote software while on a Mac gives variable results depending...
Josh Ormond 27/01/2012 3:55am (13 years ago)
LOL...you Mac guys are funny.
It's ctrl on Windows, not cmd.
Jonathan Fletcher 27/01/2012 1:29am (13 years ago)
...wonderFUL...
Jonathan Fletcher 27/01/2012 1:27am (13 years ago)
Matt Petrowsky has a wonder set of keyboard shortcuts (Mac only) that really completes FileMaker's set. I use the ones for resizing layout objects sometimes dozens of times a day.http://filemakerstandards.org/display/dt/Enhanced+Macintosh+Keyboard+Shortcuts
Lee Hoong 27/01/2012 1:07am (13 years ago)
Nice article. I use many of these tricks routinely. Here's another one on hidden tab controls:
In layout mode, you can quickly bring a hidden tab to the front for editing by using Find/Replace to find a piece of text on that tab - no need to hunt for the hidden object. You can even set this up in advance by placing a hidden ( 1px width) text object containing unique text on each tab.
Daniel Wood 26/01/2012 9:10pm (13 years ago)
Thanks for the correction Matt - turns out the remote desktop app I was using for windows testing was using alt as the ctrl key. I've checked the FileMaker help and it looks like ctrl is the command to drag that selection box. I have fixed the shortcut in the article cheers.
matt 26/01/2012 8:58pm (13 years ago)
"Holding the option key (alt on windows) while dragging will draw a special selection box that will select any object that partially falls within the selection area."
cmd on windows! not alt
Lyndsay Howarth 26/01/2012 7:12pm (13 years ago)
Like Agnes I knew all of this... but it is an excellent resource for those who are starting out.
As most people know, FileMaker's drawing tools were heavily influenced by the MacDraft / MacDraw tools - and of course MacDraw went to Claris along with FM in the 'middle ages'. Apart from the option-drag for drawing from the center, most tools still behave the same way as they did back in the last '80s. I've always thought it a pity that FMI didn't take on Claris Impact and update it past OS 9x... All it really needed was a smart companion like FM...
Love the anti-spam Q... I was going to say "ScriptMaker"... LOL
Agnes Riley 26/01/2012 6:57pm (13 years ago)
Great article, guys, as usual!
I knew a lot of these tricks, but one can never learn enough. I try to take tricks from other apps like Illustrator and some things are similar and some are not. Got used to it by now, I guess.
One thing I learned awhile back (from Vince to be correct) is that you can hidden expose tab controls by holding down the Command key on a Mac (possibly CTRL on Windows, although that did not work over VPN) and drag across the suspected area. Once the corners are exposed you can go to /Format/Tab Control Setup and then you can say "bingo".
No one has commented on this page yet.
RSS feed for comments on this page | RSS feed for all comments