Adobe 38040334 Extending Dreamweaver - Page 159

canAcceptCommand, havePreviewTarget

Page 159 highlights

DREAMWEAVER CS3 153 Extending Dreamweaver The getDynamicContent() function calls the dw.getBrowserList() function to obtain an array of the browser names that have been specified in the Preview In Browser section of the Preferences dialog box. This array contains the name of each browser and the path to the executable file. Next, for each item in the array (i=0; i 0); } The canAcceptCommand() function in the PIB_Dynamic.js file again retrieves the browser list that was created in the Preferences dialog box. Then it checks whether the first argument (arguments[0]) is primary or secondary. If so, it returns the value returned by the havePreviewTarget() function. If not, it tests the call to the havePreviewTarget() function and tests whether any browsers have been specified (PIB.length > 0). If both tests are true, the function returns the value true. If either or both of the tests are false, the function returns the value false. havePreviewTarget() The havePreviewTarget() function is a user-defined function that returns the value true if Dreamweaver has a valid target to display in the browser. A valid target is a document or a selected group of files in the Site panel. The havePreviewTarget() function looks like the following example: function havePreviewTarget() { var bHavePreviewTarget = false; if (dw.getFocus(true) == 'site') { if (site.getFocus() == 'remote') { bHavePreviewTarget = site.getRemoteSelection().length > 0 && site.canBrowseDocument(); }

  • 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
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385

DREAMWEAVER CS3
Extending Dreamweaver
153
The
getDynamicContent()
function calls the
dw.getBrowserList()
function to obtain an array of the browser
names that have been specified in the Preview In Browser section of the Preferences dialog box. This array contains
the name of each browser and the path to the executable file. Next, for each item in the array
(i=0; i<PIB.length;
i=i+2)
, the
getDynamicContents()
function moves the name of the browser (
PIB[i]
) into a second array called
browsers
(
browsers[j] = new String(PIB[i]);
). If the browser has been designated as the primary or
secondary browser, the function appends the names of the keyboard shortcut keys that invoke them. Next it appends
the string
";id="
followed by the name of the browser in single quotation marks (for example,
;id=’iexplore’)
.
If the
itemID
argument is "
DWPopup_PIB_Default
", the function prefixes the array item with the string
Preview
in.
After it constructs an entry for each browser listed in the Preferences dialog box, the
getDynamicContent()
function returns the array
browsers
to Dreamweaver. If no browsers have been selected, the function returns the
value
null
, and Dreamweaver displays No Browsers Selected in the menu.
canAcceptCommand()
Dreamweaver next calls the
canAcceptCommand()
function for each
menuitem
tag that references a command file
with the
file
attribute. If the
canAcceptCommand()
function returns the value
false
, the menu item is dimmed.
If the
canAcceptCommand()
function returns the value
true
, Dreamweaver enables the item on the menu. If the
function returns
true
or is not defined, Dreamweaver calls the
isCommandChecked()
function to determine
whether to display a check mark next to the menu item. If the
isCommandChecked()
function is not defined, no
check mark appears.
function canAcceptCommand()
{
var PIB = dw.getBrowserList();
if (arguments[0] == 'primary' || arguments[0] == 'secondary')
return havePreviewTarget();
return havePreviewTarget() && (PIB.length > 0);
}
The
canAcceptCommand()
function in the PIB_Dynamic.js file again retrieves the browser list that was created in
the Preferences dialog box. Then it checks whether the first argument (
arguments[0]
) is primary or secondary. If
so, it returns the value returned by the
havePreviewTarget()
function. If not, it tests the call to the
havePre-
viewTarget()
function
and
tests whether any browsers have been specified (
PIB.length > 0
). If
both
tests are
true, the function returns the value
true
. If either or both of the tests are false, the function returns the value
false
.
havePreviewTarget()
The
havePreviewTarget()
function is a user-defined function that returns the value
true
if Dreamweaver has a
valid target to display in the browser. A valid target is a document or a selected group of files in the Site panel. The
havePreviewTarget()
function looks like the following example:
function havePreviewTarget()
{
var bHavePreviewTarget = false;
if (dw.getFocus(true) == 'site')
{
if (site.getFocus() == 'remote')
{
bHavePreviewTarget = site.getRemoteSelection().length > 0 &&
site.canBrowseDocument();
}