Adobe 0046100128056 Scripting Guide - Page 124

Sample onIdle Event Listener

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209

C
HAPTER
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