Adobe 38040334 Extending Dreamweaver - Page 171

canAcceptCommand: enable the toolbar item, receiveArguments: set the title, getCurrentValue: get

Page 171 highlights

DREAMWEAVER CS3 165 Extending Dreamweaver The tooltip attribute causes Dreamweaver to display Document Title in a tooltip box when the user places the mouse pointer over the text box. The width attribute specifies the size of the field in pixels. The file attribute specifies that the EditTitle.htm file contains the JavaScript functions that operate on the text box. To see the full definition of the Dreamweaver Document toolbar, see the main toolbar (id="DW_Toolbar_Main") in the toolbars.xml file. Writing the JavaScript code When the user interacts with the text box, it causes Dreamweaver to invoke the EditTitle.htm command file in the Toolbars/MM folder. This file contains three JavaScript functions that operate on the Title text box. These functions are canAcceptCommand(), receiveArguments(), and getCurrentValue(). canAcceptCommand(): enable the toolbar item The canAcceptCommand() function consists of one line of code that checks to see whether there is a current Document Object Model (DOM) and whether the document is parsed as HTML. The function returns the results of those tests. If the conditions are true, Dreamweaver enables the text box item on the toolbar. If the function returns the value false, Dreamweaver disables the item. The function is as follows: function canAcceptCommand() { return (dw.getDocumentDOM() != null && dw.getDocumentDOM().getParseMode() == 'html'); } receiveArguments(): set the title Dreamweaver invokes the receiveArguments() function, shown in the following example, when the user enters a value in the Title text box and presses the Enter key or moves the focus away from the control. The function is as follows: function receiveArguments(newTitle) { var dom = dw.getDocumentDOM(); if (dom) dom.setTitle(newTitle); } Dreamweaver passes newTitle, which is the value that the user enters, to the receiveArguments() function. The receiveArguments() function first checks to see whether a current DOM exists. If it does, the receiveArguments() function sets the new document title by passing newTitle to the dom.setTitle() function. getCurrentValue(): get the title Whenever an update cycle occurs, as determined by the default update frequency of the onEdit event handler, Dreamweaver calls the getCurrentValue() function to determine what value to display for the control. The default update frequency of the onEdit handler determines the update frequency because the Title text edit control has no update attribute. For the Title text box, the following getCurrentValue() function calls the JavaScript application programming interface (API) function dom.getTitle() to obtain and return the current title. The function is as follows:

  • 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
165
The
tooltip
attribute causes Dreamweaver to display Document Title in a tooltip box when the user places the
mouse pointer over the text box. The
width
attribute specifies the size of the field in pixels. The
file
attribute
specifies that the EditTitle.htm file contains the JavaScript functions that operate on the text box. To see the full
definition of the Dreamweaver Document toolbar, see the main toolbar (
id="DW_Toolbar_Main"
) in the
toolbars.xml file.
Writing the JavaScript code
When the user interacts with the text box, it causes Dreamweaver to invoke the EditTitle.htm command file in the
Toolbars/MM folder. This file contains three JavaScript functions that operate on the Title text box. These functions
are
canAcceptCommand()
,
receiveArguments()
, and
getCurrentValue()
.
canAcceptCommand(): enable the toolbar item
The
canAcceptCommand()
function consists of one line of code that checks to see whether there is a current
Document Object Model (DOM) and whether the document is parsed as HTML. The function returns the results
of those tests. If the conditions are
true
, Dreamweaver enables the text box item on the toolbar. If the function
returns the value
false
, Dreamweaver disables the item.
The function is as follows:
function canAcceptCommand()
{
return (dw.getDocumentDOM() != null && dw.getDocumentDOM().getParseMode() == 'html');
}
receiveArguments(): set the title
Dreamweaver invokes the
receiveArguments()
function, shown in the following example, when the user enters a
value in the Title text box and presses the Enter key or moves the focus away from the control.
The function is as follows:
function receiveArguments(newTitle)
{
var dom = dw.getDocumentDOM();
if (dom)
dom.setTitle(newTitle);
}
Dreamweaver passes
newTitle
, which is the value that the user enters, to the
receiveArguments()
function. The
receiveArguments()
function first checks to see whether a current DOM exists. If it does, the
receiveArgu-
ments()
function sets the new document title by passing
newTitle
to the
dom.setTitle()
function.
getCurrentValue(): get the title
Whenever an update cycle occurs, as determined by the default update frequency of the
onEdit
event handler,
Dreamweaver calls the
getCurrentValue()
function to determine what value to display for the control. The default
update frequency of the
onEdit
handler determines the update frequency because the Title text edit control has no
update attribute.
For the Title text box, the following
getCurrentValue()
function calls the JavaScript application programming
interface (API) function
dom.getTitle()
to obtain and return the current title.
The function is as follows: