Adobe 0046100128056 Scripting Guide - Page 124
Sample onIdle Event Listener
UPC - 718659087562
View all Adobe 0046100128056 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 124 highlights
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 InDesign's 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