Fandom

Scratchpad

Persistent Triggers

216,198pages on
this wiki
Add New Page
Discuss this page0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Creating Persistent Triggers

The syntax is:

Trigger trigger(Name, Scope, Type, Event, Priority, DXL)

Where:

Name 
is a string to identify the trigger
Scope 
is specified by a chain of Level and Level-modifier tokens, linked by "->"
Level 
is project, module, object or attribute
Level-modifier 
is all, formal, link, descriptive, user or a string which specifies an item by name (or the Absolute Number in the case of objects).
For example:
 project -> "My Project" -> module -> "My Module" -> object -> "35" -> attribute -> "My Attribute"
Truncate the chain according to the desired level (e.g. for a Module-level Trigger, omit the object and attribute tokens).
Luckily, chains like this can be simplified: If you omit the Level-modifier token at the Project or Module level, the current Project or Module is assumed. Further, if the current Project or Module is what you want, you can omit the Level token too, so the above becomes:
 object -> "35" -> attribute -> "My Attribute"
If you omit the Level-modifier token at Object-level, "all" is assumed. Similarly, if you omit the object-level token as well then "all" is assumed, so in this case the above becomes simply:
 attribute -> "My Attribute"
A Trigger with this Scope would be atached to the "My Attribute" Attribute for all Objects in the current Module.
Note: If you have a trigger that is attached to all objects, and you want it to operate on the particular Object that caused the Trigger to fire, you can obtain a handle on that object using:
 Object obj = object(current Trigger)
Type 
pre or post
Event 
open, close, sync or modify. The permissible events depend on the Scope as follows:
Scope Event
module open
module close
object open (starting an in-line edit by double-clicking in a column)
object sync (making a different Object current)
attribute modify

Also on Fandom

Random wikia