Acknowledgments | p. xix |
Welcome to Software Development the Mozilla Way | p. xxi |
Fundamental Concepts | p. 1 |
Understanding Mozilla Product Names | p. 2 |
The XML Environment | p. 8 |
Platform Concepts | p. 11 |
The RAD Environment | p. 23 |
Effective RAD Projects with Mozilla | p. 25 |
Hands On: Cranking Up the Platform | p. 27 |
Debug Corner: Debugging from Outside | p. 35 |
Summary | p. 39 |
XUL Layout | p. 41 |
XUL Means Boxes | p. 43 |
Principles of XUL Layout | p. 44 |
Box Layout Tags | p. 54 |
A Box Improvement: [left angle bracket]groupbox[right angle bracket] and [left angle bracket]caption[right angle bracket] | p. 64 |
General-Purpose XUL Attributes | p. 65 |
Good Coding Practices for XUL | p. 66 |
Style Options | p. 69 |
Hands On: NoteTaker Boilerplate | p. 71 |
Debug Corner: Detecting Bad XUL | p. 75 |
Summary | p. 79 |
Static Content | p. 81 |
XUL and HTML Compared | p. 82 |
XUL Content Tags | p. 84 |
Understanding Font Systems | p. 89 |
Style Options | p. 92 |
Hands On: NoteTaker Boilerplate | p. 95 |
Debug Corner: The DOM Inspector | p. 99 |
Summary | p. 101 |
First Widgets and Themes | p. 103 |
What Makes a Button a Button? | p. 105 |
The Origins of XUL Widgets | p. 107 |
XUL Buttons | p. 109 |
Themes and Skins | p. 121 |
Style Options | p. 129 |
Hands On: NoteTaker Buttons and Themes | p. 130 |
Debug Corner: Diagnosing Buttons and Skins | p. 133 |
Summary | p. 135 |
Scripting | p. 137 |
JavaScript's Role as a Language | p. 139 |
Standards, Browsers, and [left angle bracket]script[right angle bracket] | p. 140 |
ECMAScript Edition 3 | p. 141 |
Language Enhancements | p. 162 |
Mozilla's Scriptable Interfaces | p. 164 |
Hands On: NoteTaker Dynamic Content | p. 186 |
Debug Corner: Script Diagnosis | p. 193 |
Summary | p. 195 |
Events | p. 197 |
How Mozilla Handles Events | p. 199 |
How Keystrokes Work | p. 217 |
How Mouse Gestures Work | p. 223 |
Style Options | p. 229 |
Hands On: NoteTaker User Input | p. 230 |
Debug Corner: Detecting Events | p. 235 |
Summary | p. 236 |
Forms and Menus | p. 239 |
XUL and HTML Forms Compared | p. 240 |
Where to Find Information on Menus | p. 242 |
Forms | p. 242 |
Menus | p. 250 |
Style Options | p. 256 |
Hands On: NoteTaker Events and Forms | p. 258 |
Debug Corner: Diagnosing Events and Forms | p. 261 |
Summary | p. 263 |
Navigation | p. 265 |
Navigation Systems | p. 266 |
Navigation Widgets | p. 270 |
Style Options | p. 289 |
Hands On: NoteTaker Toolbars and Tabs | p. 289 |
Debug Corner: Navigation Problems | p. 292 |
Summary | p. 293 |
Commands | p. 295 |
Commands and Mozilla | p. 296 |
Command Concepts | p. 298 |
How Commands Are Started | p. 305 |
Using Commands Via XUL | p. 307 |
Using Commands Via the AOM | p. 310 |
Commands and XPCOM Components | p. 314 |
Existing Commands | p. 316 |
Style Options | p. 317 |
Hands On: Command Design | p. 317 |
Debug Corner: Catching Unexpected Commands | p. 322 |
Summary | p. 323 |
Windows and Panes | p. 325 |
Ordinary [left angle bracket]window[right angle bracket] Windows | p. 326 |
Popup Content | p. 327 |
Dialog Boxes | p. 329 |
JavaScript Window Creation | p. 332 |
Embedding Documents in Panes | p. 340 |
Mixing Documents | p. 344 |
Managing Existing Windows | p. 346 |
Style Options | p. 347 |
Hands On: NoteTaker Dialogs | p. 349 |
Debug Corner: Diagnostic Windows | p. 357 |
Summary | p. 359 |
RDF | p. 361 |
Mozilla Uses of RDF | p. 364 |
Learning Strategies for RDF | p. 365 |
A Tutorial on Facts | p. 366 |
RDF Syntax | p. 379 |
RDF Examples | p. 393 |
Hands On: NoteTaker: Data Models | p. 398 |
Debug Corner: Dumping RDF | p. 407 |
Summary | p. 408 |
Overlays and Chrome | p. 411 |
Overlays | p. 413 |
The Chrome Registry | p. 424 |
Persisting Window State | p. 428 |
Related AOM and XPCOM Objects | p. 429 |
Hands On: The NoteTaker Toolbar | p. 429 |
Debug Corner: Overlay Tips | p. 432 |
Summary | p. 433 |
Listboxes and Trees | p. 435 |
Text Grids | p. 436 |
Listboxes | p. 438 |
Trees | p. 449 |
Style Options | p. 468 |
Hands On: NoteTaker: The Keywords Panel | p. 473 |
Debug Corner: Making [left angle bracket]listbox[right angle bracket] and [left angle bracket]tree[right angle bracket] Work | p. 493 |
Summary | p. 494 |
Templates | p. 497 |
An Example Template: Hello, World | p. 499 |
Template Concepts | p. 501 |
Template Construction | p. 517 |
Common Query Patterns | p. 534 |
Template Lifecycle | p. 539 |
Scripting | p. 541 |
Style Options | p. 546 |
Hands On: NoteTaker Data Made Live | p. 546 |
Debug Corner: Template Survival Guide | p. 559 |
Summary | p. 561 |
XBL Bindings | p. 563 |
Binding Concepts | p. 565 |
Constructing One XBL Binding | p. 572 |
Combining Multiple Bindings | p. 591 |
How Bindings Are Processed | p. 594 |
Scripting | p. 595 |
Style Options | p. 598 |
Hands On: The [left angle bracket]noteplacer[right angle bracket] Tag | p. 598 |
Debug Corner: XBL Diagnosis | p. 614 |
Summary | p. 615 |
XPCOM Objects | p. 617 |
Concepts and Terms | p. 619 |
General-Purpose Scripting | p. 623 |
Data Transfer | p. 638 |
Web Scripting | p. 652 |
Platform Configuration | p. 662 |
Hands On: Saving and Loading NoteTaker Notes | p. 677 |
Debug Corner: Working with Data Sources | p. 700 |
Summary | p. 703 |
Deployment | p. 705 |
Overview of Install Strategies | p. 707 |
Steps Toward Remote Deployment | p. 712 |
Install Technologies | p. 725 |
Hands On: Bundling Up NoteTaker | p. 744 |
Debug Corner: Logging and Testing | p. 751 |
Summary | p. 752 |
Index | p. 753 |
About the Author | p. 771 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.