Object Navigation
Slide Panels
SeedCode Complete makes extensive use of the Slide Panel Control.
Slide Panels are a great feature of Filemaker 13. They have a nice animation for OS and iOS and are "lighter" then the traditional Tab Panel Control, so they are great for Windows and Web Direct too.
In our base Themes the panel outlines are invisible which provides a nice UI but can make it a little tricky to find/select them at first when going into layout mode. We have some tips for helping with that here.
Animation
The Animation effect on OS and iOS is really nice, but if it's a part of a scripted process that's "doing a lot" then you can experience an object flash. We've experienced this with both slide panels and pop-overs. Our solution is instead of having all operations in one script; we use an InstallOnTimer to call the actual Go To Object step. Separating it from the main script in this way reduces the flashing significantly. You can change the interval in the Call Go To Object [ ObjectName ] ,if you are experiencing any flashing, to see if this helps.
Layout Object Names in SeedCode Complete
Object naming is an important part of SeedCode Complete and is important to much of its functionality. ObjectNavigation relies heavily on Object Names. We also use Object Names to determine if an Object is in focus or if a certain Slide Panel is at the front using the GetLayoutObjectAttribute() function. Changing these names can break references in scripts and on objects themselves like the Hide calculation so should generally be avoided.
Copying and Duplicating Named Layout Objects
FileMaker enforces that Object names are unique on a particular layout, so there's no question which Object is being references, so if you Copy or Duplicate an Object on a layout, a suffix like "2" or"copy" will be added to the Object Name likely breaking any references to that object from any scripts or calculations. It's not uncommon to do this and then delete the original properly named object, even for experienced developers, so it's a good idea to double check your object names as you go.
Using the expression LayoutObjectNames ( Get ( FileName ) ; Get ( LayoutName ) ) will produce a list of objects so you can scan for any troublemakers in the data viewer.
Looking For Objects With Unintended Names
Although far from foolproof, we've attempted to mitigate this issue for our navigation routine with the helper script Get Object Name (cell; object) This script will attempt to find the actual object based on the desired name, and return it for the Go To Object step, etc.. You can pass this script two values (so it uses the #parameters method for passing these parameters. The cell parameter is the name of the enclosing object to help narrow the search.
Looking For Objects With Unintended Names