Adobe 38040334 Extending Dreamweaver - Page 161

receiveArguments

Page 161 highlights

DREAMWEAVER CS3 155 Extending Dreamweaver The havePreviewTarget() function sets the value bHavePreviewTarget to false as the default return value. The function performs two basic tests calling the dw.getFocus() function to determine what part of the application currently has input focus. The first test checks whether the Site panel has focus (if (dw.getFocus(true) == 'site')). If the Site panel does not have focus, the second test checks to see if a document (dw.getFocus() == 'document'), Text view (dw.getFocus() == 'textView'), or the Code inspector (dw.getFocus("true") == 'html') has focus. If neither test is true, the function returns the value false. If the Site panel has focus, the function checks whether the view setting is Remote view. If it is, the function sets bHavePreviewTarget to true if there are remote files (site.getRemoteSelection().length > 0) and the files can be opened in a browser (site.canBrowseDocument()). If the view setting is not Remote view, and if the view is not None, the function gets a list of the selected files (var selFiles = site.getSelection();) in the form of file:/// URLs. For each item in the selected list, the function tests for the presence of the character string "://". If it is not found, the code performs a series of tests on the list item. If the item is not in the form of a file:/// URL (if (selFile.indexOf(urlPrefix) == -1)), it sets the return value to false. If the remainder of the string following the file:/// prefix does not contain a slash (/) (if (strTemp.indexOf("/") == -1)), it sets the return value to false. If the file does not exist (else if (!DWfile.exists(selFile))), it sets the return value to false. Last, it checks to see if the specified file is a folder (else if (DWfile.getAttributes(selFile).indexOf("D") != 1)). If selfile is a folder, the function returns the value false. Otherwise, if the target is a file, the function sets bHavePreviewTarget to the value true. If a document, Text view, or the Code inspector has input focus (else if (dw.getFocus() == 'document' || dw.getFocus() == 'textView' || dw.getFocus("true") == 'html' )), the function gets the DOM and checks to see if the document is an HTML or an XML document. If so, the function sets bHavePreviewTarget to true. Finally, the function returns the value stored in bHavePreviewTarget. receiveArguments() Dreamweaver calls the receiveArguments() function to let the command process any arguments that pass from the menu item. For the Preview in Browsers menu, the receiveArguments() function invokes the browser that the user selects. The receiveArguments() function looks like the following example: function receiveArguments() { var whichBrowser = arguments[0]; var theBrowser = null; var i=0; var browserList = null; var result = false; if (havePreviewTarget()) { // Code to check if we were called from a shortcut key if (whichBrowser == 'primary' || whichBrowser == 'secondary') { // get the path of the selected browser if (whichBrowser == 'primary') { theBrowser = dw.getPrimaryBrowser(); } else if (whichBrowser == 'secondary') { theBrowser = dw.getSecondaryBrowser();

  • 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
155
The
havePreviewTarget()
function sets the value
bHavePreviewTarget
to
false
as the default return value. The
function performs two basic tests calling the
dw.getFocus()
function to determine what part of the application
currently has input focus. The first test checks whether the Site panel has focus (
if (dw.getFocus(true) ==
'site')
). If the Site panel does not have focus, the second test checks to see if a document (
dw.getFocus() ==
'document'
), Text view (
dw.getFocus() == 'textView'
), or the Code inspector (
dw.getFocus("true") ==
'html'
) has focus. If neither test is true, the function returns the value
false
.
If the Site panel has focus, the function checks whether the view setting is Remote view. If it is, the function sets
bHavePreviewTarget
to
true
if there are remote files (
site.getRemoteSelection().length > 0
) and the files
can be opened in a browser (
site.canBrowseDocument()
). If the view setting is not Remote view, and if the view
is not None, the function gets a list of the selected files (
var selFiles = site.getSelection();
) in the form of
file:///
URLs.
For each item in the selected list, the function tests for the presence of the character string "
://
". If it is not found,
the code performs a series of tests on the list item. If the item is not in the form of a
file:///
URL (
if
(selFile.indexOf(urlPrefix) == -1)
), it sets the return value to
false
. If the remainder of the string following
the
file:///
prefix does not contain a slash (/) (
if (strTemp.indexOf("/") == -1)
), it sets the return value to
false
. If the file does not exist (
else if (!DWfile.exists(selFile))
), it sets the return value to
false
. Last, it
checks to see if the specified file is a folder (
else if (DWfile.getAttributes(selFile).indexOf("D") != -
1)
). If
selfile
is a folder, the function returns the value
false.
Otherwise, if the target is a file, the function sets
bHavePreviewTarget
to the value
true
.
If a document, Text view, or the Code inspector has input focus (
else if (dw.getFocus() == 'document' ||
dw.getFocus() == 'textView' || dw.getFocus("true") == 'html' )
), the function gets the DOM and
checks to see if the document is an HTML or an XML document. If so, the function sets
bHavePreviewTarget
to
true
. Finally, the function returns the value stored in
bHavePreviewTarget
.
receiveArguments()
Dreamweaver calls the
receiveArguments()
function to let the command process any arguments that pass from
the menu item. For the Preview in Browsers menu, the
receiveArguments()
function invokes the browser that the
user selects. The
receiveArguments()
function looks like the following example:
function receiveArguments()
{
var whichBrowser = arguments[0];
var theBrowser = null;
var i=0;
var browserList = null;
var result = false;
if (havePreviewTarget())
{
// Code to check if we were called from a shortcut key
if (whichBrowser == 'primary' || whichBrowser == 'secondary')
{
// get the path of the selected browser
if (whichBrowser == 'primary')
{
theBrowser = dw.getPrimaryBrowser();
}
else if (whichBrowser == 'secondary')
{
theBrowser = dw.getSecondaryBrowser();