Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
qooxdoo
qooxdoo
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Time for action - heading
What just happened?
Pop quiz
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. What is qooxdoo?
A feel of an RIA developed in qooxdoo
Time for action - play with the feed reader application
Adding a feed to the feed reader
Checking the feeds
What just happened?
User context
Desktop characteristics
GUI library
Architecture of qooxdoo SDK
Core layer
Browser Abstraction layer
Low-Level layer
GUI Toolkit layer
Data Binding
Internationalization
qooxdoo framework features
Language
Object-orientation
Programming
Internationalization
API reference
Testing
Deployment
Migration
Alternative programming models
Event-based rich UI programming
GUI widget library
Time for action - checking the demo browser and the playground applications
Demo browser
Playground
What just happened?
Application to be developed in this book—Team Twitter
Time for action - checking the Team Twitter application
Reading team tweets
Logging in to the Team Twitter application
Tweeting to the team
What just happened?
What you should know and what you don't need to know
Pop quiz
Summary
2. Say Hello to the qooxdoo World!
Installing qooxdoo tools
Time for action - installing qooxdoo tools
Installing ActivePython
Installing Cygwin
What just happened?
Installing qooxdoo SDK
Time for action - installing qooxdoo SDK
Application
Component
Documentation
Framework
Tool
What just happened?
Creating a simple qooxdoo application
Time for action - creating a simple qooxdoo application
What just happened?
Source
Build
Manifest.json
config.json
generate.py
Passing data to the server
JSON standard format
What just happened?
Communicating with the server
Setting up an RPC connection
Making a call
Request
Response
Aborting a call
Error handling
Cross-domain calls
Parameter and result conversion
What just happened?
RPC servers
Integrating with the Java server
Time for action - integrating with the Java server
Working with Eclipse IDE
What just happened?
Pop quiz
Summary
3. Core Programming Concepts
Code comments and API documentation
Time for action - generating API documentation for Team Twitter
What just happened?
Object-oriented programming
Object and class
Encapsulation
Inheritance
Overriding
Abstraction
Polymorphism
Interface
Members
Statics
Properties
Events
Class
Constructor and destructor
Members
Class members
Instance members
Types
Static class
Singleton class
Abstract class
Inheritance in qooxdoo
Overriding in qooxdoo
Mixin
Defining a mixin
Using a mixin in a class
Time for action - writing classes for Team Twitter
What just happened?
Pop quiz-I
qooxdoo properties
Property initialization
Predefined methods
Property configurations
Apply
Check
Validate
Group
Event—property level
Property features
Value checks
Validation
Convenience
Notification
Advanced value handling
Performance
Memory management
Events—class level
Declaring events for a class
Adding listeners
Firing an event
Time for action - enhancing Team Twitter classes with properties
What just happened?
Pop quiz-II
Summary
4. Working with Layouts and Menus
Base classes for widgets
qx.core.Object
Object management
Event handling
Logging
qx.core.LayoutItem
qx.core.Widget
Widget properties
qx.application
Containers
Scroll
Stack
Resizer
Composite
Window
Tabview
Groupbox
Layout managers
Size hint of the widget and its parent widget
Layout properties
Auto sizing
Growing or shrinking
Overflow
Basic
Canvas
Dock
HBox
VBox
Flow
Grid
Time for action - designing layout managers for Team Twitter
What just happened?
Menu, MenuBar, and ToolBar
Menu
Menu creation
MenuBar
ToolBar
Pop quiz
Summary
5. Working with Widgets
Basic widgets
Label
Atom
Image
Time for action - enhancing the server application
What just happened?
Form widgets
Interface hierarchy
IBooleanForm, INumberForm, IDateForm, IColorForm, and IStringForm
IForm
IExecutable
IRange
IModel
IModelSelection
Class hierarchy
qx.ui.form.TextField
qx.ui.form.TextArea
qx.ui.form.PasswordField
qx.ui.form.CheckBox
qx.ui.form.RadioButton
qx.ui.form.RadioButtonGroup
qx.ui.form.SelectBox
qx.ui.form.ComboBox
qx.ui.form.Spinner
qx.ui.form.List
qx.ui.form.ListItem
qx.ui.form.DateField
qx.ui.form.Button
qx.ui.form.ToggleButton
qx.ui.form.MenuButton
qx.ui.form.SplitButton
qx.ui.form.HoverButton
qx.ui.form.RepeatButton
qx.ui.form.Slider
Time for action - adding widgets into Team Twitter
What just happened?
Special widgets
The popup widgets
qx.ui.popup
The tooltip widgets
qx.ui.tooltip
The control widgets
qx.ui.control.ColorPopup
qx.ui.control.ColorSelector
qx.ui.control.DateChooser
Custom widgets
Time for action - adding a custom widget to Team Twitter
What just happened?
Inline widgets
The table widget
Class hierarchy
Table construction
Remote table model
The tree widget
Class hierarchy
Tree construction
The treevirtual widget
Class hierarchy
TreeVirtual construction
Pop quiz
Summary
6. Working with Forms and Data
Form handling
Validation
Synchronous
Asynchronous
Resetting
Rendering
Single column
Double column
Single column with placeholder
Serialization
Time for action - enhancing the UserSignUpForm
What just happened?
Object pooling
Data binding
Single value binding
Property binding
Event binding
Hierarchical data binding
Array binding
Options map
Data controller
Object controller
List controller
Form controller
Tree controller
Data stores
JSON store
JSONP store
YQL store
Time for action - enhancing the UserSignUpForm again
What just happened?
Pop quiz
Summary
7. Testing and Debugging
Unit testing
Time for action - performing unit test
What just happened?
Integration testing
Integration test setup
Writing test cases
Simulator API documentation
Simulator class hierarchy
Selenium Java Client Driver API documentation
Locating strategy
Selenium locators
qooxdoo locators
Time for action - performing integration test
What just happened?
Debugging
Logging statements in qooxdoo code
Console object
Trace
qx.dev.Debug
Variant qx.debug
Miscellaneous
Introduction to Firebug
Installing the Firebug add-on
IE developer tools
Tracing through AOP
Time for action - debugging
What just happened?
Pop quiz
Summary
8. Internationalization
Internationalization
Writing code to use internationalization
qx.locale.Manager
qx.locale.MTranslation
qx.locale.String, qx.locale.Number, qx.locale.Date, and qx.locale.Key
Writing PO files for various languages
Time for action - generating PO files for Team Twitter
What just happened?
Pop quiz
Summary
9. Working with Themes
Theme
Meta theme
Theme
Font
Color
Decoration
Appearance
Modern theme
Classic theme
Simple theme
Icon theme
Color theme
Font theme
Decoration theme
Aliases
Decorations
Decorator
Style
Writing new decorators
Appearance theme
Appearance selector (key)
Appearance entry (value)
Alias
Appearance map
Style entry in the appearance map
The include entry in the appearance map
The alias entry in the appearance map
Base calls
Performance
Appearance queue
Selector caching
Alias caching
Result caching
Time for action - customizing themes for Team Twitter
What just happened?
Pop quiz
Summary
10. Performance
Memory management
Object pooling
Profiling
Limitations
Compile-time tuning
Class optimizations
Strings
Variables
Private
Base calls
Identifying unused classes
Lint check
Improvements
Partitioning and lazy loading
Configuration
Coding to load parts on demand
Verification
Recent improvements
Part collapsing or merging
Remove dependencies from the part loader
Load packages in parallel
Error handling
Advantages
Time for action - partitioning
What just happened?
Good practices for performance
Restrict the data in certain widgets
Use filters
Pagination
.gz compression
Pop quiz
Summary
11. Miscellaneous
Configuration
config.json
Listing of keys in context
Job resolution
The extend key
The run key
The include key
Job shadowing and partial overriding
Migration
Time for action - migration
What just happened?
Back button support
Identify application states
Update history upon state change
Add the event listener to the history manager
Retrieve initial state
qooxdoo license
Pop quiz
Summary
A. Pop Quiz Answers
Chapter 1: What is qooxdoo?
Chapter 2: Say Hello to the qooxdoo World!
Chapter 3: Core Programming Concepts
Pop quiz-I
Pop quiz-II
Chapter 4: Working with Layouts and Menus
Chapter 5: Working with Widgets
Chapter 6: Working with Forms and Data
Chapter 7: Testing and Debugging
Chapter 8: Internationalization
Chapter 9: Working with Themes
Chapter 10: Performance
Chapter 11: Miscellaneous
B. References
← Prev
Back
Next →
← Prev
Back
Next →