qooxdoo Documentation Release 2.1 qooxdoo developers November 14, 2012 CONTENTS 1 Introduction 1 1.1 About...................................................1 1.1.1 Framework...........................................1 1.1.2 GUI Toolkit...........................................1 1.1.3 Communication.........................................1 1.1.4 More Information (online)...................................2 1.2 Feature Overview............................................2 1.2.1 Runtimes............................................2 1.2.2 Object-orientation........................................2 1.2.3 Programming..........................................2 1.2.4 Internationalization.......................................3 1.2.5 API reference..........................................3 1.2.6 Testing.............................................3 1.2.7 Deployment...........................................4 1.2.8 Migration............................................4 1.3 Architectural Overview.........................................4 1.4 Getting Started..............................................5 1.4.1 qx.Website...........................................5 1.4.2 qx.Desktop...........................................6 1.4.3 qx.Mobile............................................7 1.4.4 qx.Server............................................9 1.4.5 Others.............................................. 10 2 Core 11 2.1 Object Orientation............................................ 11 2.1.1 Introduction to Object Orientation............................... 11 2.1.2 Features of Object Orientation................................. 12 2.1.3 Classes............................................. 18 2.1.4 Interfaces............................................ 24 2.1.5 Mixins.............................................. 27 2.2 Properties................................................. 29 2.2.1 Introduction to Properties.................................... 29 2.2.2 Properties in more detail.................................... 33 2.2.3 Initialization Behavior..................................... 43 2.2.4 Property features summarized................................. 44 2.3 Environment............................................... 46 2.3.1 Environment.......................................... 46 2.4 Data Binding............................................... 52 2.4.1 Data Binding.......................................... 52 i 3 qx.Website 65 3.1 General.................................................. 65 3.1.1 qx.Website Overview...................................... 65 3.2 Tutorials................................................. 69 3.2.1 Tutorial: Building Notifications................................ 69 3.3 Technical Topics............................................. 72 3.3.1 Plugins............................................. 72 3.3.2 Referring to the qx.bom API.................................. 73 4 qx.Desktop 81 4.1 Overview................................................. 81 4.1.1 Widgets............................................. 81 4.1.2 Composites........................................... 81 4.1.3 Roots.............................................. 82 4.1.4 Applications........................................... 82 4.1.5 Communication......................................... 83 4.2 Widgets Introduction........................................... 83 4.2.1 Widget............................................. 83 4.2.2 Basic Widgets.......................................... 84 4.2.3 Interaction............................................ 86 4.2.4 Resources............................................ 89 4.2.5 Selection Handling....................................... 91 4.2.6 Drag & Drop.......................................... 94 4.2.7 Inline Widgets.......................................... 98 4.2.8 Custom Widgets........................................ 101 4.2.9 Form Handling......................................... 104 4.2.10 Menu Handling......................................... 120 4.2.11 Window Management...................................... 124 4.2.12 HTML Editing......................................... 125 4.2.13 Table Styling.......................................... 141 4.2.14 Widget Reference........................................ 154 4.3 Layouts.................................................. 154 4.3.1 Layouting............................................ 154 4.4 Themes.................................................. 159 4.4.1 Theming............................................. 159 4.4.2 Appearance........................................... 165 4.4.3 Custom Themes......................................... 171 4.4.4 Decorators............................................ 173 4.4.5 Web Fonts............................................ 176 4.4.6 Using themes of contributions in your application....................... 178 4.4.7 Three steps for efficient theme development.......................... 179 4.5 Technical Concepts............................................ 182 4.5.1 The Event Layer........................................ 182 4.5.2 HTML Element Handling.................................... 183 4.5.3 The Focus Layer........................................ 185 4.5.4 Using qx.Website in qx.Desktop................................ 187 4.6 Tutorials................................................. 188 4.6.1 Tutorial Part 1: The Beginning of a Tweets App........................ 188 4.6.2 Tutorial Part 2: Finishing the UI................................ 191 4.6.3 Tutorial Part 3: Time for Communication........................... 195 4.6.4 Tutorial Part 4.1: Form Handling................................ 199 4.6.5 Tutorial Part 4.2: Custom Widgets............................... 202 4.6.6 Tutorial Part 4.2.1: Basic Theming............................... 209 4.6.7 Tutorial Part 4.3: Translation.................................. 212 ii 4.6.8 Tutorial Part 4.4: Unit Testing................................. 216 4.6.9 Tutorial Part 4.4.1: Automated UI Testing........................... 221 4.6.10 Tutorial Part 4.5: Virtual List.................................. 227 5 qx.Mobile 231 5.1 General.................................................. 231 5.1.1 Overview............................................ 231 5.1.2 qx.Mobile Requirements.................................... 233 5.1.3 Getting Started with qooxdoo qx.Mobile............................ 234 5.2 Tutorials................................................. 235 5.2.1 Tutorial: Creating a Tweets Client with qooxdoo mobile................... 235 5.3 Development............................................... 244 5.3.1 Mobile and tablet switch.................................... 244 5.3.2 Theming............................................. 248 5.3.3 Debugging........................................... 250 5.4 Deployment............................................... 252 5.4.1 Deployment........................................... 252 6 qx.Server 253 6.1 Server Overview............................................. 253 6.1.1 Included Features........................................ 253 6.1.2 Supported Runtimes...................................... 253 6.1.3 Installation........................................... 254 6.1.4 Basic Example......................................... 254 6.1.5 Additional Scenarios...................................... 254 6.2 qx.Server Requirements......................................... 254 6.2.1 Runtimes............................................ 255 6.2.2 Installation........................................... 255 6.3 RequireJS Support............................................ 255 6.3.1 Representable interface..................................... 256 6.3.2 Config file............................................ 256 7 Communication 259 7.1 Low-level requests............................................ 259 7.2 Higher-level requests........................................... 259 7.2.1 Higher-level requests...................................... 259 7.2.2 AJAX.............................................. 264 7.3 REST................................................... 266 7.3.1 REST (Representational State Transfer)............................ 266 7.4 Remote Procedure Calls (RPC)..................................... 269 7.4.1 RPC (Remote Procedure Call)................................. 269 7.4.2 RPC Servers........................................... 275 7.5 Specific Widget Communication..................................... 279 7.5.1 Using the remote table model.................................. 279 8 Development 283 8.1 Application Creation........................................... 283 8.1.1 Application Skeletons...................................... 283 8.2 Debugging................................................ 286 8.2.1 Logging System......................................... 286 8.2.2 Debugging Applications.................................... 288 8.3 Performance............................................... 290 8.3.1 Memory Management..................................... 290 8.3.2 Profiling Applications...................................... 293 8.4 Testing.................................................. 294 iii 8.4.1 Unit Testing........................................... 294 8.4.2 Test Runner........................................... 294 8.4.3 Simulator............................................ 304 8.4.4 Simulator: Locating elements.................................. 309 8.5 Code Organisation............................................ 311 8.5.1
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages546 Page
-
File Size-