EasyManua.ls Logo

Adobe 0046100128056 - InDesign - Mac - Sample Onidle Event Listener

Adobe 0046100128056 - InDesign - Mac
209 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
CHAPTER 8: Events Sample onIdle Event Listener 124
The following script fragment shows how to get and display the type of an object when the selection
changes. For the complete script, see AfterSelectionChanged.
var myDocument = app.documents.add();
myDocument.addEventListener("afterSelectionChanged", myDisplaySelectionType);
The event handler referred to in the preceding script fragment looks like this:
function myDisplaySelectionType(myEvent){
if(app.documents.length != 0){
if(app.documents.item(0).selection.length != 0){
var mySelection = app.documents.item(0).selection;
var myString = "Selection Contents:\r";
for(var myCounter = 0; myCounter < mySelection.length; myCounter++){
myString = myString + mySelection[myCounter].constructor.name + "\r"
}
alert(myString);
}
}
}
To remove the event listener added by the preceding script, run the RemoveAfterSelectionChanged script.
The following script fragment shows how to respond to a change in the attributes of a selection. In this
example, the event handler checks the selection to see whether the Registration swatch has been applied.
(Accidental application of the Registration swatch can cause problems at your commercial printer.) If the
Registration swatch has been applied, the script asks whether the change was intentional. For the
complete script, see AfterSelectionAttributeChanged.
app.addEvenListener("afterSelectionAttributeChanged", myCheckForRegistration);
The event handler referred to in the preceding script fragment looks like this:
function myCheckForRegistration(myEvent){
var myRegistrationSwatchUsed = false;
if(app.selection.length != 0){
for(var myCounter = 0; myCounter < app.selection.length; myCounter++){
if((app.documents.item(0).selection[myCounter].fillColor ==
app.documents.item(0).swatches.item("Registration"))||
(app.documents.item(0).selection[myCounter].strokeColor ==
app.documents.item(0).swatches.item("Registration")){
myRegistrationSwatchUsed = true;
}
}
}
if(myRegistrationSwatchUsed == true){
alert("The Registration swatch is applied to some of the\robjects in the
selection.
Did you really intend to apply this swatch?");
}
}
To remove the event listener added by the preceding script, run the
RemoveAfterSelectionAttributeChanged script.
Sample onIdle Event Listener
InDesigns idle tasks execute when there are no events in the event queue for the application to process. It
is easy to run idle tasks by scripting. The
onIdle event provides a way to run scripting-based idle tasks. It

Table of Contents

Related product manuals