MBS FileMaker Plugin Example Databases

Trigger Scripts Using OS Scripting

All examples are included with download of MBS FileMaker Plugin.

Trigger Scripts Using OS Scripting.fmp12

Overview
Tables2
Relationships1
Layouts5
Scripts7
Value Lists0
Custom Functions17
Custom Menus30
File Options
Default custom menu set[Standard FileMaker Menus]
When opening file
Minimum allowed version12.0
Login usingAccount Name; Account= Admin
Allow user to save passwordOff
Require iOS passcodeOff
Switch to layoutOff
Hide all toolbarsOff
Script triggers
OnFirstWindowOpenScript: On Open
OnLastWindowCloseOff
OnWindowOpenOff
OnWindowCloseOff
OnFileAVPlayerChangeOff
Thumbnail Settings
Generate ThumbnailsOn; Temporary

 

Tables

Table Name
Statistics
Occurrences in Relationship Graph
ScriptTrigger
5 fields defined, 1 record
ScriptTrigger
gi_interface
15 fields defined, 3 records
gi_interface

Fields

Table Name: ScriptTrigger - 5 Fields
Field NameTypeOptionsCommentsOn LayoutsIn RelationshipsIn ScriptsIn Value Lists
DataNormal, TextAuto-Enter:
  • Allow editing
Validation:
  • Only during data entry
Storage:
  • Repetitions: 1
  • Indexing: None
  • Automatically create indexes as needed
  • Index Language: English
        TriggerScriptOnEditFieldCalculated, TextCalculation:
        • Context table: ScriptTrigger
        • Let( [ // --- the name of the script to run ------------------ ScriptName = "Triggered Script"; FileName = Get(FileName); //------------------------------------------------------------ //--- don't need to edit anything below this line -------- Applescript = "do script " & Quote(ScriptName); VBScriptText = "FUNCTION DoFMSCript(FileName, ScriptName)" & "¶" & "Set fmApp = CreateObject(\"FMPro.Application\")" & "¶" & "fmApp.Visible = True" & "¶" & "Set fmDocs = fmApp.Documents" & "¶" & "For Each fmDoc In fmDocs" & "¶" & "If InStr(LCase(fmDoc.fullname), LCase(FileName)) > 0 Then" & "¶" & " fmDoc.dofmscript (ScriptName)" & "¶" & "End If" & "¶" & "Next" & "¶" & "END FUNCTION"; ScriptID = MBS("WindowsScript.Create"); lang= MBS("WindowsScript.SetLanguage"; ScriptID; "VBScript"); addcode = MBS("WindowsScript.AddCode"; ScriptID; VBScriptText) ]; Case( Get ( SystemPlatform ) = 1; // Mac OSX Case MBS( "Applescript.Run"; Applescript ); // Windows Case MBS("WindowsScript.ExecuteFunction";ScriptID; "DoFMScript";FileName; ScriptName) & MBS("WindowsScript.Close"; ScriptID) ) ) // this will cause the calcualtion to be evalated when ever the Field "Data" is edited. & Evaluate(" "; ScriptTrigger::Data)
        Storage:
        • Repetitions: 1
        • Indexing: None
        • Automatically create indexes as needed
        • Index Language: English
                Data2Normal, TextAuto-Enter:
                • Allow editing
                Validation:
                • Only during data entry
                Storage:
                • Repetitions: 1
                • Indexing: None
                • Automatically create indexes as needed
                • Index Language: English
                      TriggerScriptOnEditFieldUsingCustomFunctionCalculated, TextCalculation: Storage:
                      • Repetitions: 1
                      • Indexing: None
                      • Index Language: English
                              zzConstant_One__lctCalculated, TextCalculation: Storage:
                              • Repetitions: 1
                              • Indexing: None
                              • Automatically create indexes as needed
                              • Index Language: English

                                    Table Name: gi_interface - 15 Fields
                                    Field NameTypeOptionsCommentsOn LayoutsIn RelationshipsIn ScriptsIn Value Lists
                                    gi_grc_Calculated, NumberStorage:
                                    • Repetitions: 1
                                    • Indexing: None
                                    • Automatically create indexes as needed
                                    • Index Language: English
                                            gi_grc_ -- GRAPHICS --Calculated, NumberStorage:
                                            • Repetitions: 1
                                            • Indexing: None
                                            • Automatically create indexes as needed
                                            • Index Language: English
                                                    gi_grc_TabGraphics_DimHiliteNormal, BinaryAuto-Enter:
                                                    • Allow editing
                                                    Validation:
                                                    • Only during data entry
                                                    Storage:
                                                    • Repetitions: 2
                                                          gi_mls_Calculated, NumberStorage:
                                                          • Repetitions: 1
                                                          • Indexing: None
                                                          • Automatically create indexes as needed
                                                          • Index Language: English
                                                                  gi_mls_ -- MLS NAVAGATION FIELDS --Calculated, NumberStorage:
                                                                  • Repetitions: 1
                                                                  • Indexing: None
                                                                  • Automatically create indexes as needed
                                                                  • Index Language: English
                                                                          gi_mls_Level1_Labels__lctCalculated, TextCalculation: Storage:
                                                                          • Repetitions: 10
                                                                          • Do not store calculation results
                                                                          • Index Language: English
                                                                                  gi_mls_Level1_Labels_HilightSelected__lctCalculated, TextCalculation: Storage:
                                                                                  • Repetitions: 10
                                                                                  • Do not store calculation results
                                                                                  • Index Language: English
                                                                                        gi_mls_Level1_TabControlDim__lcrCalculated, BinaryCalculation: Auto-Enter:
                                                                                        • Always evaluate
                                                                                        Storage:
                                                                                        • Repetitions: 10
                                                                                        • Do not store calculation results
                                                                                              testCalculated, TextCalculation: Storage:
                                                                                              • Repetitions: 10
                                                                                              • Do not store calculation results
                                                                                              • Index Language: English
                                                                                                      zz___ ========================Calculated, NumberStorage:
                                                                                                      • Repetitions: 1
                                                                                                      • Indexing: None
                                                                                                      • Automatically create indexes as needed
                                                                                                      • Index Language: English
                                                                                                              zz__ DEVLOPER FIELDSCalculated, NumberStorage:
                                                                                                              • Repetitions: 1
                                                                                                              • Indexing: None
                                                                                                              • Automatically create indexes as needed
                                                                                                              • Index Language: English
                                                                                                                      zz_ ========================Calculated, NumberStorage:
                                                                                                                      • Repetitions: 1
                                                                                                                      • Indexing: None
                                                                                                                      • Automatically create indexes as needed
                                                                                                                      • Index Language: English
                                                                                                                              zzCons_One__lctCalculated, TextCalculation: Storage:
                                                                                                                              • Repetitions: 1
                                                                                                                              • Indexing: Minimal
                                                                                                                              • Automatically create indexes as needed
                                                                                                                              • Index Language: English
                                                                                                                                    zzVar_mlds_LevelTest__lgnNormal, NumberAuto-Enter:
                                                                                                                                    • Allow editing
                                                                                                                                    Validation:
                                                                                                                                    • Only during data entry
                                                                                                                                    Storage:
                                                                                                                                    • Repetitions: 1
                                                                                                                                    • Indexing: None
                                                                                                                                    • Automatically create indexes as needed
                                                                                                                                    • Index Language: English
                                                                                                                                    used for demo and testing purposes
                                                                                                                                            PluginInfo__lctCalculated, TextCalculation:
                                                                                                                                            • Context table: gi_interface
                                                                                                                                            • "MBS Plugin: v " & MBS("Version") & ", compiled " & MBS("CompileDate")
                                                                                                                                            Storage:
                                                                                                                                            • Repetitions: 1
                                                                                                                                            • Do not store calculation results
                                                                                                                                            • Index Language: English

                                                                                                                                                  Layout Objects: ScriptTrigger/Intro/

                                                                                                                                                  Regular Fields

                                                                                                                                                  Field Name: gi_interface::PluginInfo__lct
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 424 pt
                                                                                                                                                  • Left: 25 pt
                                                                                                                                                  • Bottom: 440 pt
                                                                                                                                                  • Right: 530 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  Field Behavior:
                                                                                                                                                  • Touch keyboard type: System Default
                                                                                                                                                  • Go to next field using: Tab key
                                                                                                                                                  Yes

                                                                                                                                                  Field Name: gi_interface::gi_mls_Level1_TabControlDim__lcr
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 51 pt
                                                                                                                                                  • Left: 23 pt
                                                                                                                                                  • Bottom: 85 pt
                                                                                                                                                  • Right: 529 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  • Show repetition: 1 through 5
                                                                                                                                                  • Orientation: horizontal
                                                                                                                                                  No

                                                                                                                                                  Field Name: gi_interface::gi_mls_Level1_Labels_HilightSelected__lct
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 60 pt
                                                                                                                                                  • Left: 23 pt
                                                                                                                                                  • Bottom: 78 pt
                                                                                                                                                  • Right: 529 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  • Show repetition: 1 through 5
                                                                                                                                                  • Orientation: horizontal
                                                                                                                                                  Yes

                                                                                                                                                  Group Buttons

                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 24 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 124 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 1" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 125 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 225 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 2" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 226 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 326 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 3" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 327 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 427 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 4" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 428 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 528 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 5" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Group Button
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Top: 391 pt
                                                                                                                                                  • Left: 458 pt
                                                                                                                                                  • Bottom: 413 pt
                                                                                                                                                  • Right: 526 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_Wizard_Button(ForwardOrBack)”; Parameter: "Forward" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Group Button
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Top: 391 pt
                                                                                                                                                  • Left: 380 pt
                                                                                                                                                  • Bottom: 413 pt
                                                                                                                                                  • Right: 448 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_Wizard_Button(ForwardOrBack)”; Parameter: "Back" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Layout Objects: ScriptTrigger/Example 1/

                                                                                                                                                  Regular Fields

                                                                                                                                                  Field Name: gi_interface::PluginInfo__lct
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 424 pt
                                                                                                                                                  • Left: 25 pt
                                                                                                                                                  • Bottom: 440 pt
                                                                                                                                                  • Right: 530 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  Field Behavior:
                                                                                                                                                  • Touch keyboard type: System Default
                                                                                                                                                  • Go to next field using: Tab key
                                                                                                                                                  Yes

                                                                                                                                                  Field Name: gi_interface::gi_mls_Level1_TabControlDim__lcr
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 51 pt
                                                                                                                                                  • Left: 23 pt
                                                                                                                                                  • Bottom: 85 pt
                                                                                                                                                  • Right: 529 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  • Show repetition: 1 through 5
                                                                                                                                                  • Orientation: horizontal
                                                                                                                                                  No

                                                                                                                                                  Field Name: gi_interface::gi_mls_Level1_Labels_HilightSelected__lct
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 60 pt
                                                                                                                                                  • Left: 23 pt
                                                                                                                                                  • Bottom: 78 pt
                                                                                                                                                  • Right: 529 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  • Show repetition: 1 through 5
                                                                                                                                                  • Orientation: horizontal
                                                                                                                                                  Yes

                                                                                                                                                  Field Name: ScriptTrigger::Data
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 264 pt
                                                                                                                                                  • Left: 186 pt
                                                                                                                                                  • Bottom: 281 pt
                                                                                                                                                  • Right: 367 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  Field Behavior:
                                                                                                                                                  • Allow field to be entered: In Find mode, In Browse mode
                                                                                                                                                  • Touch keyboard type: System Default
                                                                                                                                                  • Go to next field using: Tab key
                                                                                                                                                  Yes

                                                                                                                                                  Group Buttons

                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Group Button
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Top: 391 pt
                                                                                                                                                  • Left: 458 pt
                                                                                                                                                  • Bottom: 413 pt
                                                                                                                                                  • Right: 526 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_Wizard_Button(ForwardOrBack)”; Parameter: "Forward" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 24 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 124 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 1" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 125 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 225 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 2" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 226 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 326 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 3" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 327 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 427 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 4" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 428 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 528 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 5" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Group Button
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Top: 391 pt
                                                                                                                                                  • Left: 380 pt
                                                                                                                                                  • Bottom: 413 pt
                                                                                                                                                  • Right: 448 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_Wizard_Button(ForwardOrBack)”; Parameter: "Back" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Layout Objects: ScriptTrigger/Example 2/

                                                                                                                                                  Regular Fields

                                                                                                                                                  Field Name: gi_interface::PluginInfo__lct
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 424 pt
                                                                                                                                                  • Left: 25 pt
                                                                                                                                                  • Bottom: 440 pt
                                                                                                                                                  • Right: 530 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  Field Behavior:
                                                                                                                                                  • Touch keyboard type: System Default
                                                                                                                                                  • Go to next field using: Tab key
                                                                                                                                                  Yes

                                                                                                                                                  Field Name: gi_interface::gi_mls_Level1_TabControlDim__lcr
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 51 pt
                                                                                                                                                  • Left: 23 pt
                                                                                                                                                  • Bottom: 85 pt
                                                                                                                                                  • Right: 529 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  • Show repetition: 1 through 5
                                                                                                                                                  • Orientation: horizontal
                                                                                                                                                  No

                                                                                                                                                  Field Name: gi_interface::gi_mls_Level1_Labels_HilightSelected__lct
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 60 pt
                                                                                                                                                  • Left: 23 pt
                                                                                                                                                  • Bottom: 78 pt
                                                                                                                                                  • Right: 529 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  • Show repetition: 1 through 5
                                                                                                                                                  • Orientation: horizontal
                                                                                                                                                  Yes

                                                                                                                                                  Field Name: ScriptTrigger::Data2
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 293 pt
                                                                                                                                                  • Left: 208 pt
                                                                                                                                                  • Bottom: 310 pt
                                                                                                                                                  • Right: 389 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  Field Behavior:
                                                                                                                                                  • Allow field to be entered: In Find mode, In Browse mode
                                                                                                                                                  • Touch keyboard type: System Default
                                                                                                                                                  • Go to next field using: Tab key
                                                                                                                                                  Yes

                                                                                                                                                  Group Buttons

                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 24 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 124 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 1" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 125 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 225 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 2" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 226 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 326 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 3" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 327 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 427 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 4" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Rectangle
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Rectangular
                                                                                                                                                  • Top: 52 pt
                                                                                                                                                  • Left: 428 pt
                                                                                                                                                  • Bottom: 84 pt
                                                                                                                                                  • Right: 528 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_NavBar_Button ( Level; Number )”; Parameter: "Level= 1" & "¶" & "Number= 5" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Group Button
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Top: 391 pt
                                                                                                                                                  • Left: 458 pt
                                                                                                                                                  • Bottom: 413 pt
                                                                                                                                                  • Right: 526 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_Wizard_Button(ForwardOrBack)”; Parameter: "Forward" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Button PropertiesCoordinatesScript/Script Step
                                                                                                                                                    Type:
                                                                                                                                                  • Group Button
                                                                                                                                                    Additional Properties:
                                                                                                                                                  • Change to hand cursor over button
                                                                                                                                                  • Top: 391 pt
                                                                                                                                                  • Left: 380 pt
                                                                                                                                                  • Bottom: 413 pt
                                                                                                                                                  • Right: 448 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Perform Script [ “gi_mls_Wizard_Button(ForwardOrBack)”; Parameter: "Back" ]

                                                                                                                                                  Scripts:


                                                                                                                                                  Layout Objects: gi_interface

                                                                                                                                                  Regular Fields

                                                                                                                                                  Field Name: gi_interface::gi_grc_TabGraphics_DimHilite
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 111 pt
                                                                                                                                                  • Left: 266 pt
                                                                                                                                                  • Bottom: 161 pt
                                                                                                                                                  • Right: 399 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  • Show repetition: 1 through 2
                                                                                                                                                  • Orientation: horizontal
                                                                                                                                                  Field Behavior:
                                                                                                                                                  • Allow field to be entered: In Find mode, In Browse mode
                                                                                                                                                  • Touch keyboard type: System Default
                                                                                                                                                  • Go to next field using: Tab key
                                                                                                                                                  No

                                                                                                                                                  Layout Objects: misc

                                                                                                                                                  Regular Fields

                                                                                                                                                  Field Name: <Missing Field>
                                                                                                                                                  Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                                                                                                                                  • Top: 24 pt
                                                                                                                                                  • Left: 138 pt
                                                                                                                                                  • Bottom: 41 pt
                                                                                                                                                  • Right: 391 pt
                                                                                                                                                  • Anchoring: Left, Top
                                                                                                                                                  Field Format:
                                                                                                                                                  • Edit Box
                                                                                                                                                  Field Behavior:
                                                                                                                                                  • Allow field to be entered: In Find mode, In Browse mode
                                                                                                                                                  • Touch keyboard type: System Default
                                                                                                                                                  • Go to next field using: Tab key
                                                                                                                                                  Yes

                                                                                                                                                  Script Hierarchy

                                                                                                                                                  Triggered Script
                                                                                                                                                  On Open
                                                                                                                                                  -
                                                                                                                                                  -------- gi Framework Scripts --------
                                                                                                                                                  gi_mls_Wizard_Button(ForwardOrBack)
                                                                                                                                                  gi_mls_NavBar_Button ( Level; Number )
                                                                                                                                                  gi_mls_GoToMember( Level; Number )__r

                                                                                                                                                  Next Script: [On Open]
                                                                                                                                                  Script NameTriggered Script
                                                                                                                                                  Run script with full access privilegesOff
                                                                                                                                                  Include In MenuNo
                                                                                                                                                  Layouts that use this script
                                                                                                                                                    Scripts that use this script
                                                                                                                                                      Script Definition
                                                                                                                                                      Script Steps
                                                                                                                                                      • Show Custom Dialog [ Title: "I am a script :>)"; Message: "Exiting the field triggered me. I just had to run!"; Default Button: “OK”, Commit: “Yes” ]
                                                                                                                                                      Fields used in this script
                                                                                                                                                        Scripts used in this script
                                                                                                                                                          Layouts used in this script
                                                                                                                                                            Tables used in this script
                                                                                                                                                              Table occurrences used by this script
                                                                                                                                                                Custom Functions used by this script
                                                                                                                                                                  Custom menu set used by this script

                                                                                                                                                                    Previous Script: [Triggered Script]Next Script: [-]
                                                                                                                                                                    Script NameOn Open
                                                                                                                                                                    Run script with full access privilegesOff
                                                                                                                                                                    Include In MenuNo
                                                                                                                                                                    Layouts that use this script
                                                                                                                                                                      Scripts that use this script
                                                                                                                                                                        Script Definition
                                                                                                                                                                        Script Steps
                                                                                                                                                                        • Go to Layout [ “ScriptTrigger/Intro/” (ScriptTrigger) ]
                                                                                                                                                                        • Show/Hide Toolbars [ Hide ]
                                                                                                                                                                        • Move/Resize Window [ Current Window; Top: 0; Left: 0 ]
                                                                                                                                                                        • Adjust Window [ Resize to Fit ]
                                                                                                                                                                        Fields used in this script
                                                                                                                                                                          Scripts used in this script
                                                                                                                                                                            Layouts used in this script
                                                                                                                                                                            Tables used in this script
                                                                                                                                                                              Table occurrences used by this script
                                                                                                                                                                                Custom Functions used by this script
                                                                                                                                                                                  Custom menu set used by this script

                                                                                                                                                                                    Previous Script: [On Open]Next Script: [-------- gi Framework Scripts --------]
                                                                                                                                                                                    Script Name-
                                                                                                                                                                                    Run script with full access privilegesOff
                                                                                                                                                                                    Include In MenuNo
                                                                                                                                                                                    Layouts that use this script
                                                                                                                                                                                      Scripts that use this script
                                                                                                                                                                                        Script Definition
                                                                                                                                                                                        Script Steps
                                                                                                                                                                                          Fields used in this script
                                                                                                                                                                                            Scripts used in this script
                                                                                                                                                                                              Layouts used in this script
                                                                                                                                                                                                Tables used in this script
                                                                                                                                                                                                  Table occurrences used by this script
                                                                                                                                                                                                    Custom Functions used by this script
                                                                                                                                                                                                      Custom menu set used by this script

                                                                                                                                                                                                        Previous Script: [-]Next Script: [gi_mls_Wizard_Button(ForwardOrBack)]
                                                                                                                                                                                                        Script Name-------- gi Framework Scripts --------
                                                                                                                                                                                                        Run script with full access privilegesOff
                                                                                                                                                                                                        Include In MenuNo
                                                                                                                                                                                                        Layouts that use this script
                                                                                                                                                                                                          Scripts that use this script
                                                                                                                                                                                                            Script Definition
                                                                                                                                                                                                            Script Steps
                                                                                                                                                                                                            • #the scripts in this section are from the gi_framework. The don't have anything to do with the techniques being demonstrated in this file.
                                                                                                                                                                                                            Fields used in this script
                                                                                                                                                                                                              Scripts used in this script
                                                                                                                                                                                                                Layouts used in this script
                                                                                                                                                                                                                  Tables used in this script
                                                                                                                                                                                                                    Table occurrences used by this script
                                                                                                                                                                                                                      Custom Functions used by this script
                                                                                                                                                                                                                        Custom menu set used by this script

                                                                                                                                                                                                                          Previous Script: [-------- gi Framework Scripts --------]Next Script: [gi_mls_NavBar_Button ( Level; Number )]
                                                                                                                                                                                                                          Script Namegi_mls_Wizard_Button(ForwardOrBack)
                                                                                                                                                                                                                          Run script with full access privilegesOff
                                                                                                                                                                                                                          Include In MenuNo
                                                                                                                                                                                                                          Layouts that use this script
                                                                                                                                                                                                                          Scripts that use this script
                                                                                                                                                                                                                            Script Definition
                                                                                                                                                                                                                            Script Steps
                                                                                                                                                                                                                            • Set Variable [ $ForwardOrBack; Value:Get(ScriptParameter) ]
                                                                                                                                                                                                                            • Set Variable [ $LayoutNumberInGroup; Value:Let( [ layouts = gi_mls_GetLayoutsInGroup ( 1 ); thisLayout = Get ( LayoutName ); p = Position( "¶" & layouts & "¶"; "¶" & thisLayout & "¶"; 1; 1); layoutsBeforeThisLayout = Left(layouts; p) ]; Case( p <= 0; 0; PatternCount(layoutsBeforeThisLayout; "¶") + 1 ) ) ]
                                                                                                                                                                                                                            • If [ $ForwardOrBack = "Forward" ]
                                                                                                                                                                                                                            • Set Variable [ $NewGroupNumber; Value:$LayoutNumberInGroup + 1 ]
                                                                                                                                                                                                                            • Else
                                                                                                                                                                                                                            • Set Variable [ $NewGroupNumber; Value:$LayoutNumberInGroup - 1 ]
                                                                                                                                                                                                                            • End If
                                                                                                                                                                                                                            • Perform Script [ “gi_mls_GoToMember( Level; Number )__r”; Parameter: "level= 1" & "¶" & "number= " & $NewGroupNumber ]
                                                                                                                                                                                                                            Fields used in this script
                                                                                                                                                                                                                              Scripts used in this script
                                                                                                                                                                                                                              Layouts used in this script
                                                                                                                                                                                                                                Tables used in this script
                                                                                                                                                                                                                                  Table occurrences used by this script
                                                                                                                                                                                                                                    Custom Functions used by this script
                                                                                                                                                                                                                                    Custom menu set used by this script

                                                                                                                                                                                                                                      Previous Script: [gi_mls_Wizard_Button(ForwardOrBack)]Next Script: [gi_mls_GoToMember( Level; Number )__r]
                                                                                                                                                                                                                                      Script Namegi_mls_NavBar_Button ( Level; Number )
                                                                                                                                                                                                                                      Run script with full access privilegesOff
                                                                                                                                                                                                                                      Include In MenuNo
                                                                                                                                                                                                                                      Layouts that use this script
                                                                                                                                                                                                                                      Scripts that use this script
                                                                                                                                                                                                                                        Script Definition
                                                                                                                                                                                                                                        Script Steps
                                                                                                                                                                                                                                        • #######################################################################
                                                                                                                                                                                                                                        • #PURPOSE:
                                                                                                                                                                                                                                        • # Tabbed Button Handler for the Command Bar
                                                                                                                                                                                                                                        • #HISTORY:
                                                                                                                                                                                                                                        • # Created by Todd Geist, 1/20/06
                                                                                                                                                                                                                                        • # Modified by Todd Geist, 10/28/06
                                                                                                                                                                                                                                        • #PARAMETERS:
                                                                                                                                                                                                                                        • # Level - the group level
                                                                                                                                                                                                                                        • # Level - the nav item
                                                                                                                                                                                                                                        • # they are passed directly to the core script
                                                                                                                                                                                                                                        • #######################################################################
                                                                                                                                                                                                                                        • Perform Script [ “gi_mls_GoToMember( Level; Number )__r”; Parameter: Get(ScriptParameter) ]
                                                                                                                                                                                                                                        • Adjust Window [ Resize to Fit ]
                                                                                                                                                                                                                                        Fields used in this script
                                                                                                                                                                                                                                          Scripts used in this script
                                                                                                                                                                                                                                          Layouts used in this script
                                                                                                                                                                                                                                            Tables used in this script
                                                                                                                                                                                                                                              Table occurrences used by this script
                                                                                                                                                                                                                                                Custom Functions used by this script
                                                                                                                                                                                                                                                  Custom menu set used by this script

                                                                                                                                                                                                                                                    Previous Script: [gi_mls_NavBar_Button ( Level; Number )]
                                                                                                                                                                                                                                                    Script Namegi_mls_GoToMember( Level; Number )__r
                                                                                                                                                                                                                                                    Run script with full access privilegesOff
                                                                                                                                                                                                                                                    Include In MenuNo
                                                                                                                                                                                                                                                    Layouts that use this script
                                                                                                                                                                                                                                                      Scripts that use this script
                                                                                                                                                                                                                                                      Script Definition
                                                                                                                                                                                                                                                      Script Steps
                                                                                                                                                                                                                                                      • #####################################################################################
                                                                                                                                                                                                                                                      • #PURPOSE:
                                                                                                                                                                                                                                                      • # Takes the user to the Last Visited member of the goup specified by the Level and Number
                                                                                                                                                                                                                                                      • #HISTORY
                                                                                                                                                                                                                                                      • # modified 8/11/06, Todd Geist
                                                                                                                                                                                                                                                      • # created 12/28/05, Todd Geist
                                                                                                                                                                                                                                                      • #PARAMETERS
                                                                                                                                                                                                                                                      • # Level - the group Level
                                                                                                                                                                                                                                                      • # Number - the number of the group Member to go to
                                                                                                                                                                                                                                                      • #NOTES
                                                                                                                                                                                                                                                      • # Layout Groups are defined by the Names of the Layouts For example: A Layout named "Main/Contacts/General/Tab1/" Belongs to 4 Layout Groups "Main/" "Main/Contacts/" "Main/Contacts/General/" "Main/Contacts/General/Tab1/" A Layout named "Main/Invoices/" Belongs to 2 Layout Groups "Main/" "Main/Invoices/" Both of these Layouts are in the "Main/" group
                                                                                                                                                                                                                                                      • #####################################################################################
                                                                                                                                                                                                                                                      • Freeze Window
                                                                                                                                                                                                                                                      • Set Variable [ $dummy; Value:gi_GetAs_pListAsVariables ( Get ( ScriptParameter ) ; "$" ) ]
                                                                                                                                                                                                                                                      • #Step 1.
                                                                                                                                                                                                                                                      • #Get the New Layout
                                                                                                                                                                                                                                                      • #--------------------------------------------------------------------------------
                                                                                                                                                                                                                                                      • Set Variable [ $targetLayout; Value:GetValue( gi_mls_GetLayoutsInGroup( $level ) ; $Number ) ]
                                                                                                                                                                                                                                                      • #if we aren't going any where, exit
                                                                                                                                                                                                                                                      • If [ IsEmpty($Level) or IsEmpty($Number) or IsEmpty($targetLayout) or $targetLayout = Get ( LayoutName ) ]
                                                                                                                                                                                                                                                      • Exit Script [ Result: "-2" ]
                                                                                                                                                                                                                                                      • End If
                                                                                                                                                                                                                                                      • #--------------------------------------------------------------------------------
                                                                                                                                                                                                                                                      • #Step 2.
                                                                                                                                                                                                                                                      • #If the target Layout is part of a group that has been visited before
                                                                                                                                                                                                                                                      • #then we need to go that groups "Last Visited"
                                                                                                                                                                                                                                                      • #--------------------------------------------------------------------------------
                                                                                                                                                                                                                                                      • If [ $level <= PatternCount($targetLayout; "/") - 2 ]
                                                                                                                                                                                                                                                      • #Yes it does so check that groups last visited variable
                                                                                                                                                                                                                                                      • Set Variable [ $targetLayoutLowestGroup; Value:Let( [ c = $level; p = Position($targetLayout; "/"; 1; c + 1); group = Left($targetLayout; p) ]; group ) ]
                                                                                                                                                                                                                                                      • Set Variable [ $newTargetLayout; Value:Let( [ var= "$$" & gi_Strings_VarEncode ( $targetLayoutLowestGroup ) & ".lastVisitedMember" ]; Evaluate(var) ) ]
                                                                                                                                                                                                                                                      • If [ not( IsEmpty($newTargetLayout) ) and Let( [ ln = "¶" & LayoutNames ( Get ( FileName ) ) & "¶"; string = "¶" & $newTargetLayout & "¶" ]; Position( ln; string; 1; 1) > 0 ) ]
                                                                                                                                                                                                                                                      • Set Variable [ $targetLayout; Value:$newTargetLayout ]
                                                                                                                                                                                                                                                      • End If
                                                                                                                                                                                                                                                      • End If
                                                                                                                                                                                                                                                      • #--------------------------------------------------------------------------------
                                                                                                                                                                                                                                                      • #Step 3.
                                                                                                                                                                                                                                                      • #Actually Go To the LAYOUT
                                                                                                                                                                                                                                                      • #--------------------------------------------------------------------------------
                                                                                                                                                                                                                                                      • Go to Layout [ $TargetLayout ]
                                                                                                                                                                                                                                                      • If [ Get(LastError) <> 0 ]
                                                                                                                                                                                                                                                      • Exit Script [ Result: Get(LastError) ]
                                                                                                                                                                                                                                                      • End If
                                                                                                                                                                                                                                                      • #Step 4.
                                                                                                                                                                                                                                                      • #Save the "Last Visited"
                                                                                                                                                                                                                                                      • #--------------------------------------------------------------------------------
                                                                                                                                                                                                                                                      • #Loop through all the groups that this layout is a member of and store this as the last layout visited for this group.
                                                                                                                                                                                                                                                      • Set Variable [ $groupCount; Value:PatternCount(Get(LayoutName); "/") - 1 ]
                                                                                                                                                                                                                                                      • Set Variable [ $counter; Value:1 ]
                                                                                                                                                                                                                                                      • Loop
                                                                                                                                                                                                                                                      • Set Variable [ $layoutGroup; Value:Let( [ layout = Get ( LayoutName ); e = Position(layout; "/"; 1; $counter); group = Left(layout; e) ]; gi_Strings_VarEncode ( group ) ) ]
                                                                                                                                                                                                                                                      • Set Variable [ $dummy; Value:gi_DeclareVariable ( $layoutGroup & ".lastVisitedMember"; Get ( LayoutName ) ) ]
                                                                                                                                                                                                                                                      • Exit Loop If [ $groupCount <= $counter ]
                                                                                                                                                                                                                                                      • Set Variable [ $counter; Value:$counter + 1 ]
                                                                                                                                                                                                                                                      • End Loop
                                                                                                                                                                                                                                                      Fields used in this script
                                                                                                                                                                                                                                                        Scripts used in this script
                                                                                                                                                                                                                                                          Layouts used in this script
                                                                                                                                                                                                                                                            Tables used in this script
                                                                                                                                                                                                                                                              Table occurrences used by this script
                                                                                                                                                                                                                                                                Custom Functions used by this script
                                                                                                                                                                                                                                                                Custom menu set used by this script

                                                                                                                                                                                                                                                                  Custom Functions

                                                                                                                                                                                                                                                                  Function NameParametersAvailabilityDefinitionIn Field DefinitionsIn Scripts
                                                                                                                                                                                                                                                                  MBS_TriggerScripttheScriptName;theFileNameAll accounts/*############################################### MBS_TriggerScript created 10/26/06, by Todd Geist, todd@geistinteractive.com Parameters: theScriptName, theFileName Dependancies: MBS FileMaker Plug-in. Notes: Uses VBScript and Applescript to run a script ################################################*/ Let( [ Applescript = "do script " & Quote(theScriptName); VBScriptText = "FUNCTION DoFMSCript(FileName, ScriptName)" & "¶" & "Set fmApp = CreateObject(\"FMPro.Application\")" & "¶" & "fmApp.Visible = True" & "¶" & "Set fmDocs = fmApp.Documents" & "¶" & "For Each fmDoc In fmDocs" & "¶" & "If InStr(LCase(fmDoc.fullname), LCase(FileName)) > 0 Then" & "¶" & " fmDoc.dofmscript (ScriptName)" & "¶" & "End If" & "¶" & "Next" & "¶" & "END FUNCTION"; ScriptID = MBS("WindowsScript.Create"); lang= MBS("WindowsScript.SetLanguage"; ScriptID; "VBScript"); addcode = MBS("WindowsScript.AddCode"; ScriptID; VBScriptText) ]; Case( Get ( SystemPlatform ) = 1; // Mac OSX Case MBS( "Applescript.Run"; Applescript ); // Windows Case MBS("WindowsScript.ExecuteFunction";ScriptID; "DoFMScript";theFileName; theScriptName) & MBS("WindowsScript.Close"; ScriptID) ) )
                                                                                                                                                                                                                                                                  gi_zpvtAll accounts
                                                                                                                                                                                                                                                                    gi_zpvt_ P R I V A T E gi F R A M E W O R K F U N C T I O N SAll accounts
                                                                                                                                                                                                                                                                      gi_zpvt_mls_GetLayoutsInGroupHelpertheList;theFilter;theLayout;levelAll accounts/*############################################################################################ PURPOSE: Parses the layout list that is passed to it to return only the layouts that are in the same layout Level Group HISTORY Modified 1/4/06. Todd Geist Created 12/25/05, Todd Geist PARAMTERS: Level - the group level. A layout can belong to several level of groups. NOTES: Recursive function ############################################################################################*/ Let( [ // return the layout if it is a sibling based on theFilter firstLine = GetValue( theList; 1 ); isMatch = (theFilter = Left(firstLine; Length(theFilter))); result = If(isMatch; firstLine & "¶"; ""); // shorten the list remaining = RightValues(theList; ValueCount(theList) - 1); // destroy any sibling duplicates which would come from sub tabs e = Position(firstLine; "/"; 1; level +1); remaining2 = Case( isMatch; Substitute( "*^~¶" & remaining; [ "¶" & Left(firstLine; e ); "¶@%"]; ["*^~¶"; ""]; ["*^~"; ""] ); remaining ) ]; Case( ValueCount(theList)>=1; result & gi_zpvt_mls_GetLayoutsInGroupHelper(remaining2; theFilter; theLayout; level); "" ) )
                                                                                                                                                                                                                                                                        gi_zpvt_mls_GetLayoutsInNavSetAll accounts /*##################################################################################### PURPOSE: Returns the list of lkayouts in the Nav Set HISTORY Created 1/25/06. Todd Geist PARAMTERS: theList NOTES: only returns layouts that has 2 "/" in the name uses a recursive helper function this function is called many time as a layout draws. The first time a new layout is drawn the result is stored in Variable. After that the function simple retrives the variable instead of calling the recursive function. Caching ######################################################################################*/ Let( [ theList = LayoutNames ( Get ( FileName ) ); $$fw.LayoutNames = Case( $$fw.Lastlayout = Get ( LayoutName ); $$fw.LayoutNames; gi_zpvt_mls_GetLayoutsInNavSetHelper ( theList ) ); $$fw.lastLayout = Get ( LayoutName ) ]; $$fw.LayoutNames )
                                                                                                                                                                                                                                                                          gi_zpvt_mls_GetLayoutsInNavSetHelpertheListAll accounts/*##################################################################################### PURPOSE: Recursive helper function HISTORY Modified 1/25/06. Todd Geist Created 12/25/05, Todd Geist PARAMTERS: theList NOTES: Recursive function ######################################################################################*/ Let( [ // find only the layouts that have two "/" firstLine = GetValue( theList; 1 ); isMatch = GetAsBoolean(Position(firstLine; "/"; 1; 2)); result = If(isMatch; firstLine & "¶"; ""); // shorten the list remaining = RightValues(theList; ValueCount(theList) - 1) ]; Case( ValueCount(theList)>=1; result & gi_zpvt_mls_GetLayoutsInNavSetHelper(remaining); "" ) )
                                                                                                                                                                                                                                                                            gi_mls_GetLayoutGroupLabelslevelAll accounts /*############################################################################################ PURPOSE: Retuns the Labels for all the layouts that are in the current layouts group. HISTORY Created 12/25/05, Todd Geist PARAMTERS: Level - the group level. A layout can belong to several level of groups. NOTES: Often used for the Tab Lables on Tabbed Interfaces, but is more general. ############################################################################################*/ Let( [ n = Get ( CalculationRepetitionNumber ); siblingLayouts = gi_mls_GetLayoutsInGroup ( level ); thisRepeatsLayout = GetValue( siblingLayouts ; n ); s = Position(thisRepeatsLayout; "/";1 ;level) + 1; e = Position(thisRepeatsLayout; "/";1 ;level + 1); size = e - s ]; Middle(thisRepeatsLayout; s; size) )
                                                                                                                                                                                                                                                                            gi_mls_GetLayoutsInGrouplevelAll accounts/*############################################################################### PURPOSE: Retuns a list of the First Layouts at this level. HISTORY Created 12/25/05, Todd Geist PARAMTERS: Level - the group level. A layout can belong to several level of groups. NOTES: Often used for the Tab Lables on Tabbed Interfaces, but is more general. FIRST Layouts refers to the fact that I don't need every layout in group. I just need one. ############################################################################################*/ Let( [ thisLayout = Get ( LayoutName ); e = Position(thisLayout; "/"; 1; level) ]; gi_zpvt_mls_GetLayoutsInGroupHelper ( gi_zpvt_mls_GetLayoutsInNavSet; Left(thisLayout; e) ; thisLayout ; level ) )
                                                                                                                                                                                                                                                                              gi_mls_GroupNavigationBarlevel;graphic;selectedGraphicAll accounts/*################################################################################ PURPOSE: Displays the graphics for a Navigation Bar HISTORY: Created 1/29/06, Todd Geist Created 1/7/06, Todd Geist PARAMETERS: level - the group level for the graphic graphic - the background for the Navigation Bar selectedGraphic - the background graphic when the item is Hilited NOTES: Part of the MLS navigation system ################################################################################*/ Let( [ r = Get ( CalculationRepetitionNumber ); thisRepeatsLayout = GetValue(gi_mls_GetLayoutsInGroup ( level ); r); groupMatch = gi_mls_ButtonState ( level ) ]; // n will be either 1 or 2. 2 is deselected Case( IsEmpty(thisRepeatsLayout); ""; GroupMatch; selectedGraphic; graphic ) )
                                                                                                                                                                                                                                                                              gi_mls_GetLayoutGroupLabelsBoldlevelAll accounts/*############################################################################################ PURPOSE: Retuns the Labels for all the layouts that are in the current layouts group. HISTORY Created 12/25/05, Todd Geist PARAMTERS: Level - the group level. A layout can belong to several level of groups. NOTES: Often used for the Tab Lables on Tabbed Interfaces, but is more general. ############################################################################################*/ Let( [ n = Get ( CalculationRepetitionNumber ); siblingLayouts = gi_mls_GetLayoutsInGroup ( level ); thisRepeatsLayout = GetValue( siblingLayouts ; n ); thisRepeatsGroup = Left(thisRepeatsLayout; Position(thisRepeatsLayout; "/";1; level +1)); thisLayoutsGroup = Left(Get ( LayoutName ); Position(Get ( LayoutName ); "/";1; level +1)); groupMatch = (thisRepeatsGroup = thisLayoutsGroup) ; s = Position(thisRepeatsLayout; "/";1 ;level) + 1; e = Position(thisRepeatsLayout; "/";1 ;level + 1); size = e - s; label = Middle(thisRepeatsLayout; s; size) ]; Case( groupMatch; TextColor(TextStyleAdd(label; Bold);RGB(0;0;0)); label ) )
                                                                                                                                                                                                                                                                                gi_GetAs_pListAsVariablespList;typeAll accounts/*############################################################ PUPOSE: converts a pList to either LOCAL or GLOBAL variables VERSION; 1.0.1 HISTORY: Modified 1/2/06, Todd Geistr Created 11/26/05, Todd Geist PARAMETERS: pList - this is the pList to convert type - either $$ for "Global" or $ for "Script". "$" is the defualt NOTES: a pList is name value pair list. Usually in the form of name1 = Value1 name2 = Value2 etc. ##############################################################*/ Let( [ quotedpList = gi_zpvt_ConvertpListToVariablesHelper ( pList ); varPrefix = Case(type = "$$"; "$$"; "$"); pList = varPrefix & Substitute( quotedpList & "x"; ["¶x"; ""]; ["¶"; ";¶" & varPrefix] ); evalText = "Let(¶[¶" & pList & "¶];¶\"\"¶)" ]; //evalText Evaluate(evalText) )
                                                                                                                                                                                                                                                                                  gi_pList_ItempropertyName;propertyValueAll accounts/*###################################################################################################### PURPOSE: Packages the propertyName, propertyValue as a pList Item. HISTORY: Modified 1/2/06, Todd Geist Creadted 10/2/05, Todd Geist NOTES: example: Passing "Name" and "Value" tot he function results in name= Value ######################################################################################################*/ Let( [ fieldDel = "="; recordDel = "¶"; needsQuote= Position(propertyValue; fieldDel; 1; 1) or Position(propertyValue; recordDel; 1; 1) or IsEmpty(propertyValue); valueQuoted = Case( needsQuote; "~" &Quote(propertyValue); " " & propertyValue ) ]; propertyName & "=" & valueQuoted & "¶" )
                                                                                                                                                                                                                                                                                    gi_zpvt_ConvertpListToVariablesHelperpListAll accounts/*############################################################################ PURPOSE: Recusive Helper function. Only used by the "Var_ConvertpListToVariables" HISTORY: Created, Todd Geist, 12/1/05 NOTES: ############################################################################*/ Let( [ vCount = ValueCount(pList); thisItem = GetValue( pList ; 1 ); sepPos = Position(thisItem; "="; 1;1); thisName = Left(thisItem; sepPos - 1); thisValue = Middle(thisItem; sepPos + 2; 10000); alreadyQuoted = Position(thisItem; "~"; 1; 1) > 0 or (thisValue = GetAsNumber(thisValue)); convertedItem = thisName & "= " & Case(not AlreadyQuoted; Quote(thisValue); thisValue); remainingPList = RightValues(pList; vCount-1) ]; convertedItem & "¶" & Case( vCount > 1; gi_zpvt_ConvertpListToVariablesHelper(remainingPList); "" ) )
                                                                                                                                                                                                                                                                                      gi_Strings_VarEncodestringAll accounts/*######################################################################################## PURPOSE: Encodes a string so it is safe for use as a Variable Name HISTORY: Created 1/2/06, Todd Geist NOTES: Work in progress. Not addressing " and " and other word operators ########################################################################################*/ Let( [ char = "%" ]; Substitute( string; ["+"; char & "01"]; ["-"; char & "02"]; ["*"; char & "03"]; ["/"; char & "04"]; ["^"; char & "05"]; ["&"; char & "06"]; ["≠"; char & "07"]; ["<>"; char & "08"]; ["<"; char & "09"]; [">"; char & 10]; ["≥"; char & 11]; ["≤"; char & 12]; ["("; char & 13]; [")"; char & 14]; [","; char & 15]; [";"; char & 16]; ["]"; char & 17]; ["["; char & 18]; ["\""; char & 19]; ["::"; char & 20]; ["$"; char & 21]; ["}"; char & 22] ) )
                                                                                                                                                                                                                                                                                        gi_DeclareVariablename;valueAll accounts/*############################################################ PUPOSE: Sets a global and adds it's name to a list stored in another global VERSION; 1.0.1 HISTORY: Created 11/28/05, Todd Geist PARAMETERS: name - the Name of the Variable value = the value of the global NOTES: Use instead of setting globals directly Useful for keeping track of globals that are in use ##############################################################*/ Let ( [ // check the name for $$ var = Case (PatternCount ( name ; "$" ) = 0 ; "$$" & name ; name ) ; // log if it is the first use fistUse = not (Position( "$$" & $$GlobalVariableList & "¶"; var & "¶";1; 1)); $$GlobalVariableList = Case( fistUse; $$GlobalVariableList & var & "¶"; $$GlobalVariableList ); // actually set the value letTxt = "Let ( " & var & " = \"" & value & "\";1 )" ; result = Evaluate ( LetTxt ) ] ; result )
                                                                                                                                                                                                                                                                                          gi_mls_ButtonStatelevelAll accounts/*############################################################################################ PURPOSE: Returns the state of the current button of a Navigation Bar HISTORY Created 10/27/06, Todd Geist PARAMTERS: Level - the group level. A layout can belong to several level of groups. NOTES: Often used for the Tab Lables on Tabbed Interfaces, but is more general. ############################################################################################*/ Let( [ n = Get ( CalculationRepetitionNumber ); siblingLayouts = gi_mls_GetLayoutsInGroup ( level ); thisRepeatsLayout = GetValue( siblingLayouts ; n ); thisRepeatsGroup = Left(thisRepeatsLayout; Position(thisRepeatsLayout; "/";1; level +1)); thisLayoutsGroup = Left(Get ( LayoutName ); Position(Get ( LayoutName ); "/";1; level +1)); groupMatch = (thisRepeatsGroup = thisLayoutsGroup) ]; groupMatch )
                                                                                                                                                                                                                                                                                          gi_mls_ButtonPositionlevelAll accounts/*############################################################################################ PURPOSE: Returns the state of the current button of a Navigation Bar HISTORY Created 10/27/06, Todd Geist PARAMTERS: Level - the group level. A layout can belong to several level of groups. NOTES: Often used for the Tab Lables on Tabbed Interfaces, but is more general. ############################################################################################*/ Let( [ n = Get ( CalculationRepetitionNumber ); siblingLayouts = gi_mls_GetLayoutsInGroup ( level ); thisRepeatsLayout = GetValue( siblingLayouts ; n ); lastLayout = Substitute(RightValues(siblingLayouts; 1); "¶"; "") ]; Case( n = 1 and thisRepeatsLayout = lastLayout; "Only"; n = 1; "First"; thisRepeatsLayout = lastLayout; "Last"; not IsEmpty(thisRepeatsLayout) ; "Middle"; "" ) )

                                                                                                                                                                                                                                                                                          Custom Menu Sets

                                                                                                                                                                                                                                                                                          Menu SetsMenusIn ScriptsIn LayoutsComments
                                                                                                                                                                                                                                                                                          [Standard FileMaker Menus]
                                                                                                                                                                                                                                                                                          • All Standard Menus
                                                                                                                                                                                                                                                                                          Custom Menu Set 1

                                                                                                                                                                                                                                                                                          Download example: Trigger Scripts Using OS Scripting

                                                                                                                                                                                                                                                                                          Used functions:




                                                                                                                                                                                                                                                                                          Links
                                                                                                                                                                                                                                                                                          MBS Xojo PDF Plugins