diff options
author | Matthias Clasen <mclasen@redhat.com> | 2010-09-23 22:19:35 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2010-09-23 22:28:01 -0400 |
commit | 65db1100ecae9d0878be95eaba92cc3612bfe8cf (patch) | |
tree | 38c5f514e5b57c3824db3f6736a648240ea1bed6 /docs/defsformat.txt | |
parent | c45985ae018abea82314bf68d5daff7bbbe5473e (diff) | |
download | gtk+-65db1100ecae9d0878be95eaba92cc3612bfe8cf.tar.gz |
docs: remove defsformat.txt
We should not ship documentation for file formats we are no longer
using.
Diffstat (limited to 'docs/defsformat.txt')
-rw-r--r-- | docs/defsformat.txt | 338 |
1 files changed, 0 insertions, 338 deletions
diff --git a/docs/defsformat.txt b/docs/defsformat.txt deleted file mode 100644 index 26ca7a6cb5..0000000000 --- a/docs/defsformat.txt +++ /dev/null @@ -1,338 +0,0 @@ - -The overall syntax is: - - (type-of-thing-being-defined name-used-to-refer-to-this-thing - (attribute-name attribute-value-depending-on-the-attribute) - (attribute-name attribute-value-depending-on-the-attribute) - (attribute-name attribute-value-depending-on-the-attribute)) - -Some definitions can have a c-declaration field that gives the C code -we parsed to arrive at the definition. The c-declaration is a quoted -string because it can contain parentheses and such. - -Defined types and their attributes: - -=== -(module module-name - (submodule-of module-name)) ;; submodule is optional - -Ex: (module Gtk) -Ex: (module Rgb - (submodule-of Gdk)) - -modules are later referred to with a list of module names, like -(Gdk Rgb) or (Gtk) - -Object and boxed type definitions automatically create a submodule. -For example, GtkCList creates the module (module CList (submodule-of -(Gtk))) which is referred to as module (Gtk CList). - -=== - -(type - (alias some-unique-identifier) - (in-module module-name) ;; optional, gchar* is not in a module - (gtk-type-id gtk-type-system-id) ;; optional, absent if this is not - ;; in the type system - (is-parametric boolean) ;; optional default to #f - (in-c-name name-of-symbol-in-C) - (out-c-name name-of-symbol-in-C) - (inout-c-name name-of-symbol-in-C)) - -Ex: (type - (alias string) - (gtk-type-id GTK_TYPE_STRING) - (in-c-name "const gchar*") - (out-c-name "gchar**") ;; actually I'm not sure how strings work out/inout - (inout-c-name "gchar*")) - - (type - (alias list) - (gtk-type-id GTK_TYPE_POINTER) - (is-parametric #t) - (in-c-name "GList*") - (out-c-name "GList**") - (inout-c-name "GList**")) - - - ;; This one would be implied by the (object) def for GtkWidget I - ;; think - (type) is only required for types that are not implied - ;; by other definitions, such as int/boolean/etc. - - (type - (alias GtkWidget) - (in-module (Gtk)) - (gtk-type-id GTK_TYPE_WIDGET) - (in-c-name "GtkWidget*") - (inout-c-name "GtkWidget*") - (out-c-name "GtkWidget**")) - -"Type" bindings are automatically assumed for objects, boxed types, -etc. as defined below. - -The alias field is used to refer to the type later on. - -Whenever a type alias can be used, it is also possible to use the -keyword "native", which implies that the type in question is too -C-specific to represent. Then a c-declaration will typically be -available for use. - -C types containing [] or () are function pointers or arrays. For -arrays that don't specify a size, we just treat them as pointers. For -function pointers, we need special (type) syntax/attributes of some -kind, but since there basically aren't any of these right now in the -libs we care about we can just ignore them. For arrays that specify a -size ditto, you would handle them by adding an (array-size) attribute -or something or using the "native" keyword and skipping the (type) -stuff. - -=== -(object object-name - (in-module module-name-list) - (parent object-name optional-module-name-if-different) - (abstract boolean-is-abstract-class) ;; omit for default of #f - (c-name name-of-the-object-in-C) - (field (type-and-name type-alias-of-struct-field name-of-struct-field) - (access read-or-write-or-readwrite))) - - -Ex: (object Widget - (in-module (Gtk)) - (parent Object) ;; could say (parent Object (Gtk)) - (abstract #t) - (c-name GtkWidget) - (field (type-and-name GdkWindow* window) (access read))) - -An "object" declaration automatically implies the type definition: - -(type - (alias concat-module-elements-and-object-name) - (in-c-name pointer-to-c-name) - (out-c-name pointer-to-pointer-to-c-name) - (inout-c-name pointer-to-c-name)) - -Ex: - (type (alias GtkWidget) - (in-c-name GtkWidget*) - (out-c-name GtkWidget**) - (inout-c-name GtkWidget*)) - -It also implies a module that is the name broken into parts: - (module CTree - (submodule-of Gtk)) - -=== - -(function function-name - (in-module module-name-list) ;; "static methods" go in their - ;; object's module - (is-constructor-of object-type-alias) ;; optional, marks a constructor - (c-name function-name) - (return-type return-value-type) ;; defaults to void - (caller-owns-return boolean-value) ;; defaults to #f - (can-return-null boolean-value) ;; defaults to #t - (parameter in-or-out-or-inout - (type-and-name parameter-type-alias parameter-name) - (type-parameter name-of-contained-type) ;; optional, requires parametric type - (c-declaration "c-type-and-name")) ;; c-declaration only required - ;; if the type alias is "native" - (varargs #t) ;; has varargs at the end -) - -Ex: - (function init - (in-module (Gdk Rgb) - (c-name gdk_rgb_init))) - -Ex: - (function new - (in-module (Gdk Rgb Cmap)) - (is-constructor-of GdkRgbCmap) - (c-name gdk_rgb_cmap_new) - (return-type GdkRgbCmap) - (caller-owns-return #t) ;; perhaps this could be implied by is-constructor-of - (parameter in (type-and-name array-of-guint32 colors)) - (parameter in (type-and-name gint n_colors))) - -Ex: - (function config_set_set_handler - (in-module (Gnome)) - (c-name gnome_config_set_set_handler) - (parameter in (type-and-name native func) - (c-declaration "void (*func)(void*)")) - (parameter in (type-and-name gpointer data))) - -=== -(method method-name - (of-object object-name module-name) - ;; retval/arg attributes as for (function), but with first parameter - ;; omitted for non-constructors - ) - -Ex: - (method set_text - (of-object Label (Gtk)) - (parameter (type-and-name const-gchar* str))) - -=== -(object-argument arg-name - (of-object object-we-are-an-argument-of optional-objects-module) - (type-id argument-type) ;; GTK_TYPE_OBJECT etc. - ;; flags all default to #f - (readable bool-value) - (writeable bool-value) - (construct-only bool-value)) - -Ex: - (object-argument label - (of-object Label (Gtk)) - (type GTK_TYPE_STRING) - (readable #t) - (writeable #t)) - -=== -(signal signal-name - (run-action bool-value) - (run-first bool-value) - (run-last bool-value) - (of-object object-we-are-a-signal-of optional-objects-module) - ;; return value and parameters as for a function, omitting the object - ;; and user data parameters - - ;; what other properties matter for a signal? -) - -Ex: - (signal select_row - (of-object CList (Gtk)) - (run-first #t) - ;; return type defaults to void - (parameter in (type-and-name gint row)) - (parameter in (type-and-name gint column)) - (parameter in (type-and-name GdkEvent* event))) - -=== -(enum enum-name - (in-module modname) - (c-name name-in-c) - (value (nick value-name-noprefixes-hyphen-lowercase) (c-name value-c-name))) - -Ex: - - (enum DirectionType - (in-module Gtk) - (c-name GtkDirectionType) - (value (nick tab-forward) (c-name GTK_DIR_TAB_FORWARD)) - (value (nick tab-backward) (c-name GTK_DIR_TAB_BACKWARD)) - (value (nick up) (c-name GTK_DIR_UP)) - (value (nick down) (c-name GTK_DIR_DOWN)) - (value (nick left) (c-name GTK_DIR_LEFT)) - (value (nick right) (c-name GTK_DIR_RIGHT))) - - (enum Pos - (in-module (Gtk CTree)) - (c-name GtkCTreePos) - (value (nick before) (c-name GTK_CTREE_POS_BEFORE)) - (value (nick as-child) (c-name GTK_CTREE_POS_AS_CHILD)) - (value (nick after) (c-name GTK_CTREE_POS_AFTER))) - -=== -(flags) is just like enum, but some bindings may wrap enums and flags differently. - -=== - -(boxed boxed-name - (in-module modname) - (c-name c-name) - (ref-func func-to-increase-refcount) - (copy-func func-to-copy) - (release-func func-to-destroy-or-decrement-refcount) - (field (type-and-name type-alias-of-struct-field name-of-struct-field) (access access-rule))) - -It is never OK to use memcpy() to copy a boxed type, or use -malloc()/free() to alloc/free one. - -Ex: - - (boxed Pixmap - (in-module (Gdk)) - (c-name GdkPixmap) - (ref-func pixmap_ref) - (release-func pixmap_unref)) - -An "object" declaration automatically implies the type definition: - -(type - (alias concat-module-elements-and-boxed-name) - (in-c-name pointer-to-c-name) - (out-c-name pointer-to-pointer-to-c-name) - (inout-c-name pointer-to-c-name)) - -Ex: - (type (alias GdkPixmap) - (in-c-name GdkPixmap*) - (out-c-name GdkPixmap**) - (inout-c-name GdkPixmap*)) - - -=== - -(struct struct-name - (in-module modname) - (c-name c-name) - (field (type-and-name type-alias-of-struct-field name-of-struct-field) (access access-rule))) - -Unlike a boxed type, a struct type can be copied with memcpy() and -allocated on the stack or with g_malloc(). - -Ex: - (struct Rectangle - (in-module (Gdk)) - (c-name GdkRectangle) - (field (type-and-name gint16 x) (access readwrite)) - (field (type-and-name gint16 y) (access readwrite)) - (field (type-and-name guint16 width) (access readwrite)) - (field (type-and-name guint16 height) (access readwrite))) - -Implies GdkRectangle type alias: - - (type (alias GdkRectangle) - (in-c-name GdkRectangle*) - (out-c-name GdkRectangle*) ;; note - not the same as boxed types - (inout-c-name GdkRectangle*)) - -=== - -(user-function name - (in-module module) - (c-name c-typedef-name) - ;; return-type and parameters as for (function) -) - -Ex: - - (user-function PrintFunc - (in-module (Gtk)) - (parameter in (type-and-name gpointer func_data)) - (parameter in (type-and-name gchar* str))) - -=== - -(typedef new-name - (in-module module) - (c-name c-full-name) - (orig-type alias-of-orig-type)) - -Ex: - - (typedef Type - (in-module (Gtk)) - (c-name GtkType) - (orig-type guint)) - - - - - - - |