Document Information

Last modified:
2011/02/22 12:31 (external edit)

This is documentation for qooxdoo 0.7.x only. You might be interested in consulting the latest docs.

Class Declaration Quick Ref

This is a quick reference for the various features of a qooxdoo class declaration. It uses an EBNF-like syntax.

Properties, a particular part of the class declaration, have quite an extensive sub-spec, and are therefore factored out to their own page.

class_decl      := 'qx.Class.define' '(' '"' <name.space.ClassName> '"' ','
                     { feature_spec ',' }
                   ')'

feature_spec    := 
                   'type'       ':' type_spec        |
                   'extend'     ':' extend_spec      |
                   'implement'  ':' implement_spec   |
                   'include'    ':' include_spec     |
                   'construct'  ':' construct_spec   |
                   'statics'    ':' statics_spec     |
                   'properties' ':' properties_spec  |
                   'members'    ':' members_spec     |
                   'settings'   ':' settings_spec    |
                   'variants'   ':' variants_spec    |
                   'events'     ':' events_spec      |
                   'defer'      ':' defer_spec       |
                   'destruct'   ':' destruct_spec 


type_spec       := 'static' | 'abstract' | 'singleton'

extend_spec     := <name.of.SuperClass>

implement_spec  := <name.of.Interface> | 
                   '[' <name.of.Interface1> ',' <name.of.Interface2> ',' 
                       ... ']'

include_spec    := <name.of.Mixin> | 
                   '[' <name.of.Mixin1> ',' <name.of.Mixin2> ',' ... ']'

construct_spec  := js_function_value

statics_spec    := c_map

properties_spec := ? see separate properties quick ref ?

members_spec    := c_map

settings_spec   := '{' { '"' <settings_name> '"' ':' 
                             ( js_primitive_value | js_reference_value ) 
                             ',' } '}'

variants_spec   := 'qx.Variant.select' '(' '"' <variantName> '"' ','
                     '{' { '"' <variantvalue_spec> '"' ':' <selectValue> 
                               ',' } '}'
                   ')'

events_spec     := '{' { '"' <event_name> '"' ':' '"' qx_event_type '"' 
                        ',' } '}'

defer_spec      := js_function_value

destruct_spec   := '{' 
                    [ 'this._disposeFields'     '(' <fields_list> ')' ';' ]
                    [ 'this._disposeObjects'    '(' <fields_list> ')' ';' ]
                    [ 'this._disposeObjectDeep' '(' <deep_field> ')'      ]
                    '}'


c_map           := '{' { <key> ':' [ js_primitive_value | 
                                     js_reference_value | 
                                     js_function_value  |
                                     variants_spec      ] ',' } '}'

js_function_value   := ? Javascript anonymous function 'function (...) {...}' ?
js_primitive_value  := ? any value from the Javascript primitive types ?
js_reference_value  := ? any value from the Javascript reference types ?
qx_event_type       := ? any qooxdoo event type class name, e.g. 
                         'qx.event.type.DataEvent' ?

Information

Last modified:
2011/02/22 12:31 (external edit)

Account

 
 
A book on qooxdoo RIAs, authored  by community members
JS Tutorial, JavaScript Tutorial, JavaScript Guide, Learn JavaScript JS, How To Learn JS, Learning JavaScript
 

Bad Behavior has blocked 0 potential spam attempts in the last 7 days.