June 1, 201510 yr I have placed a sliding panel on my users dashboard screen and I'm trying to get FM to remember what panel the user was on whenever they leave the dashboard layout. When the user returns to the dashboard they are presented with the panel they were originally viewing. Is there a way to get FileMaker to remember the active panel or must the panels be labeled as objects?
June 1, 201510 yr Yes, you can ask FM for what the frontmost tab(s) are and then use "goto object" to reselect them. Here's a custom function that will return the list of active tabs (can be multiple if you tabs within tabs) /* _UI_frontTabs( layoutObjects; parent) example: _UI_frontTabs ( LayoutObjectNames ( Get ( FileName ) ; Get ( LayoutName ) ) ; "" ) */ Let( [ thisValue = GetValue ( layoutObjects; 1 ); isFront = GetLayoutObjectAttribute ( thisValue ; "isFrontTabPanel" ); isTop = IsEmpty( GetLayoutObjectAttribute ( thisValue ; "EnclosingObject")); myParent = GetLayoutObjectAttribute ( thisValue ; "EnclosingObject"); myobjects = GetLayoutObjectAttribute ( thisValue ; "ContainedObjects"); parent = Case( isFront and isTop; thisValue; GetValue(parent; 1)) ]; Case ( ValueCount ( layoutObjects ) > 0; Case ( isFront and isTop ; thisValue & "¶" ; isFront and (myParent = parent ) ; thisValue & "¶" & _UI_frontTabs ( myobjects ; thisvalue) ) & _UI_frontTabs ( RightValues ( layoutObjects; ValueCount ( layoutObjects ) - 1) ; parent) ) )
Create an account or sign in to comment