Skip to content

Commit

Permalink
[BUG #4615] added missing @ entries to reference page
Browse files Browse the repository at this point in the history
  • Loading branch information
thron7 committed Sep 28, 2012
1 parent 90ef527 commit d95fdf3
Show file tree
Hide file tree
Showing 2 changed files with 107 additions and 5 deletions.
2 changes: 1 addition & 1 deletion documentation/manual/source/pages/desktop/ui_develop.rst
Expand Up @@ -36,7 +36,7 @@ For details refer to the API documentation of `qx.ui.core.Widget <http://demo.qo
Child Controls
==============

qooxdoo supports a mechanism called child controls. A child control is a widget as part of another widget. Child controls were introduced to have a common way of accessing these controls and to make it easy to refine them when a class should be extended. Each child control is accessible using an identifier which is basically a string. By convention these strings are all lower-case and use dashes to structure complex identifiers. Typical identifiers are ``button``, ``icon`` or ``arrow-up``. Never slashes ``/`` as this might conflict with the appearance system.
qooxdoo supports a mechanism called child controls. A child control is a widget as part of another widget. Child controls were introduced to have a common way of accessing these controls and to make it easy to refine them when a class should be extended. Each child control is accessible using an identifier which is basically a string. By convention these strings are all lower-case and use dashes to structure complex identifiers. Typical identifiers are ``button``, ``icon`` or ``arrow-up``. Never use slashes (``/``) as this might conflict with the appearance system.

Instances for the supported child controls are created dynamically as needed. A widget developer just needs to override the method ``_createChildControlImpl``, let the method work on the customized controls, and just call the super class method when the incoming ID is not supported. For example, such a method might look like:

Expand Down
110 changes: 106 additions & 4 deletions documentation/manual/source/pages/development/api_jsdoc_ref.rst
Expand Up @@ -139,6 +139,8 @@ A JSDoc comment consists of different sections, where a section is either a lead

* - API Documentation
- * `Description`_
* `@abstract`_
* `@childControl`_
* `@deprecated`_
* `@internal`_
* `@link`_
Expand All @@ -150,12 +152,14 @@ A JSDoc comment consists of different sections, where a section is either a lead
* `@type`_
* - Lint Checking
- * `@lint`_
* - Compile-time Hints
* - Compiler
- * `@attach`_
* `@attachStatic`_
* `@ignore`_
* `@require`_
* `@use`_
* - Extra
- * `@tag`_


.. _pages/development/api_jsdoc_ref#description:
Expand All @@ -173,6 +177,66 @@ Description

Free text, without any leading ``@`` attribute, containing HTML and/or markup, and some ``@`` attributes that may be embedded in text (see further). If given must be the first section in the doc comment.

.. _pages/development/api_jsdoc_ref#abstract:

.. rst-class:: api-ref

@abstract
-------------------------------------------

**Scope**

methods

**Description**

Used to signify abstract methods in regular classes.

**Syntax**

``@abstract``


.. _pages/development/api_jsdoc_ref#childControl:

.. rst-class:: api-ref

@childControl
-------------------------------------------

**Scope**

class

**Description**

In a class description of a widget that is composed of various sub-widgets the ``@childControl`` entry informs about those sub-widgets. This is relevant for users that want to apply a :ref:`custom theme <pages/desktop/ui_appearance#appearance>` to the widget (the name is the default appearance ID), or implement :ref:`own widgets <pages/desktop/ui_develop#child_controls>` that derive from this.

**Syntax**

``@childControl <name> { <type> } <description>``

**Parameters**

.. list-table::
:stub-columns: 1
:widths: 30 70

* - name
- An identifying name for the child control
* - type
- The :ref:`type specification <pages/development/api_jsdoc_ref#types_syntax>` of the child control widget
* - description
- What the child control is used for in the context of this widget

**Example**

::

@childControl title {qx.ui.basic.Label} caption of the window



.. _pages/development/api_jsdoc_ref#param:

.. rst-class:: api-ref
Expand Down Expand Up @@ -239,7 +303,7 @@ Description
:widths: 30 70

* - type
- A :ref:`type indicator <pages/development/api_jsdoc_ref#handling_of_data_types>` like ``Map``
- A :ref:`type indicator <pages/development/api_jsdoc_ref#types_syntax>` like ``Map``

**Example**

Expand Down Expand Up @@ -275,7 +339,7 @@ Description
:widths: 30 70

* - type
- The type of the return value.
- The :ref:`type <pages/development/api_jsdoc_ref#types_syntax>` of the return value.
* - description
- Descriptive text

Expand Down Expand Up @@ -313,7 +377,7 @@ Description
:widths: 30 70

* - type
- The type of the exception
- The :ref:`type <pages/development/api_jsdoc_ref#types_syntax>` of the exception
* - description
- Descriptive text under which circumstances this exception is thrown.

Expand Down Expand Up @@ -756,3 +820,41 @@ Description

``@ignore(qx.dev.unit.TestSuite)``


.. _pages/development/api_jsdoc_ref#tag:

.. rst-class:: api-ref

@tag
-------------------------------------------

**Scope**

any

**Description**

The ``@tag`` entry allows to do arbitrary tagging on the entity that is being documented (class, method, ...). This allows for pre-processing of the source code with custom programs, e.g. to extract those tags and make them available to the application at runtime (see the :doc:`/pages/application/demobrowser` application for an example of this).

**Syntax**

``@tag <text>``

**Parameters**

.. list-table::
:stub-columns: 1
:widths: 30 70

* - text
- Arbitrary text, usually short or composed tag names

**Example**

::

@tag noPlayground
@tag single value binding



0 comments on commit d95fdf3

Please sign in to comment.