Hi All,

I think I must be missing something simple (I hope).

(FM10.0v3 Advanced)

So I can create a Tab Set with tabs "Tab One" and "Tab Two".

In layout mode I select each tab and give them Object Names of tab1 and tab2
respectively.

I can create a test button, Go To Object (tab2), that behaves as expected.

Then, when I right-click on the tab and  choose Set Script Triggers ->

Then select "OnObjectModify" and assign a Script (enabled in Browse)->

Back in Browse mode if I click on Tab Two the Script Trigger I set up will
indeed run.

However, the same script runs regardless of which tab I select!

Why does each Tab have the ability to have an ObjectName (and behave as such
for GoTo Object), however, when you click on one of the tabs the
ActiveLayoutObject (either as a script parameter, or in DataViewer) is
empty? Indeed, the Tab Control Tool "overall group" seemingly cannot have
its own ObjectName assigned to it, yet that seems to be the Object that the
OnObjectModify call is "listening" to.

I went through all the Get() functions [in Particular Get(TriggerAction) and
Get(TriggerModifierKeys)]and there were none that seemed to do the trick.

Is there an easy (and still elegant) way to attach a script to a tab
navigation where *which* tab (as ObjectName or other capturable value) can
be isolated and used as a parameter?

I really would have expected that clicking a layout object (including
specific tabs) simply made it the "active" one.

I would have expected two additional things: 1) for Script Triggers I would
have expected an "OnObjectClick" (since Click isn't really the same as
Modify); and 2) in the Get() functions I would have expected
Get(ObjectClicked) [especially if it really is meaningfully different than
"active"]. But these two things would be Gravy if there is some other State
Attribute I can gather as a Parameter for the OnObjectModify Script Trigger
that is specific to the Tab being selected.

This was my preferred MO with FM6: customary multi-layout "tab effect" was
accomplished with many layouts and tab buttons that were "GoToLayout"
buttons. Almost immediately I went with each button calling a script that
was (before button/script prameters) "GoToLayout1", "GoToLayout2" and so on.
When the only step was "GoToLayout(Layout1)", the extra effort of writing
the script would be wasted since the effect was equivalent. However, as the
application got more complex (as applications always seem to do), I was
almost always calling some validation script, some access privilege test,
some referential integrity check or whatever along with the simple
GoToLayout.

Don't get me wrong, I love the whiz-bang Tab Control Tool and the new Script
Trigger feature, but I am tempted to do it the "old fashioned way" for lack
of scripting upon tab selection for a Particular Tab.

With Script Trigger and a Tab being an Nameable LayoutObject I thought that
frustration was going to be a thing of the past. I hope I wasn't wrong!

Thanks in advance for any assistance.

-- 
Sincerely,
Brad

Reply via email to