Commits

Ronald Oussoren committed 28d00b1

More documentation tweaks

  • Participants
  • Parent commits 7928d3b

Comments (0)

Files changed (3)

File pyobjc-core/Doc/10PyObjCTools.txt

Empty file removed.

File pyobjc-core/Doc/dev/coding-style.rst

    )
 
 The framework wrappers do *not* include a copy of ``pyobjc-api.h``, but 
-dynamicly fetches that at build time.
+dynamicly fetch that at build time.
 
 Documentation
 -------------

File pyobjc-core/Doc/typemapping.rst

 
 The C type 'char' does not have a unambigous meaning in C, it is used for
 a number of tasks. In the table below the various tasks have been represented
-separately: booleans (:ctype:`BOOL`), representing characters in text 
-(:ctype:`char`) and represeting small integers (:ctype:`int8_t`).  PyObjC 
+separately: booleans (:c:type:`BOOL`), representing characters in text 
+(:c:type:`char`) and represeting small integers (:c:type:`int8_t`).  PyObjC 
 uses metadata in the framework wrappers to know when to use which 
 representation.
 
  
-=========================== ============================== ========================
-C type                      Python 2.x                     Python 3.x
-=========================== ============================== ========================
-:ctype:`int8_t`             :class:`int`                   :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`BOOL`               :class:`bool`                  :class:`bool`
---------------------------- ------------------------------ ------------------------
-char                        :class:`str` of len(1)         :class:`bytes` of len(1)
---------------------------- ------------------------------ ------------------------
-:ctype:`unsigned char`      :class:`int`                   :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`short`              :class:`int`                   :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`unsigned short`     :class:`int`                   :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`int`                :class:`int`                   :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`unsigned int`       :class:`int`                   :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`int`                :class:`int`                   :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`unsigned int`       :class:`int` or :class:`long`  :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`long`               :class:`int`                   :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`unsigned long`      :class:`int` or :class:`long`  :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`long long`          :class:`int` or :class:`long`  :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`unsigned long long` :class:`int` or :class:`long`  :class:`int`
---------------------------- ------------------------------ ------------------------
-:ctype:`float`              :class:`float`                 :class:`float`
---------------------------- ------------------------------ ------------------------
-:ctype:`double`             :class:`float`                 :class:`float`
-=========================== ============================== ========================
+============================ ============================== ========================
+C type                       Python 2.x                     Python 3.x
+============================ ============================== ========================
+:c:type:`int8_t`             :class:`int`                   :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`BOOL`               :class:`bool`                  :class:`bool`
+---------------------------- ------------------------------ ------------------------
+:c:type:`char`               :class:`str` of len(1)         :class:`bytes` of len(1)
+---------------------------- ------------------------------ ------------------------
+:c:type:`unsigned char`      :class:`int`                   :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`short`              :class:`int`                   :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`unsigned short`     :class:`int`                   :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`int`                :class:`int`                   :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`unsigned int`       :class:`int`                   :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`int`                :class:`int`                   :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`unsigned int`       :class:`int` or :class:`long`  :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`long`               :class:`int`                   :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`unsigned long`      :class:`int` or :class:`long`  :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`long long`          :class:`int` or :class:`long`  :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`unsigned long long` :class:`int` or :class:`long`  :class:`int`
+---------------------------- ------------------------------ ------------------------
+:c:type:`float`              :class:`float`                 :class:`float`
+---------------------------- ------------------------------ ------------------------
+:c:type:`double`             :class:`float`                 :class:`float`
+============================ ============================== ========================
 
 PyObjC does range checking when converting values to C, and will raise
 :exc:`ValueError` when the input value is out of range.
 Arrays
 ......
 
-TDB
+C Arrays are represented a lists where all elements are of the right basic
+type (as described earlier).
+
+.. todo::
+
+   * Array arguments (input, output, use of array.array and other buffers)
+
+   * objc.varlist objects for results of unclear size and their limitations
 
 Structs
-........
+.......
 
-TDB
+C structs are by default represented as Python tuples, and you can always use
+tuples of the right arity to pass values to a function.
+
+The framework wrappers also provide wrapper types that provide a nicer interface,
+those wrappers can be used with indexed access (like tuples), but also have named
+attributes. The wrapper types are mutable, and are comparible with mutable 
+:function:`namedtuple <collections.namedtuple>` objects.
 
 Unions
 ......