.. _pages/interface_quickref#interfaces_quick_ref: Interfaces Quick Ref ******************** This is a quick reference for the various features of a qooxdoo interface declaration. It uses an :doc:`EBNF-like syntax `. It is much like a class declaration, with a more limited set of features. Properties are just names with empty map values. :: interface_decl := 'qx.Interface.define' '(' '"' '"' ',' { feature_spec ',' } ')' feature_spec := 'extend' ':' extend_spec | 'statics' ':' statics_spec | 'properties' ':' properties_spec | 'members' ':' members_spec | 'events' ':' events_spec extend_spec := | '[' ',' ',' ... ']' statics_spec := '{' { '"' '"' ':' js_primitive_value ',' } '}' properties_spec := '{' { '"' '"' ':' '{}' ',' } '}' members_spec := c_map events_spec := '{' { '"' '"' ':' '"' qx_event_type '"' ',' } '}' c_map := '{' { ':' ( js_primitive_value | js_reference_value | js_function_value | js_function_call ) ',' } '}' js_function_value := ? Javascript anonymous function 'function (...) {...}' ? js_function_call := ? Javascript function call 'foo(...)' ? 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' ?