summary refs log tree commit diff stats
path: root/lib/oldwrappers/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oldwrappers/gtk')
-rwxr-xr-xlib/oldwrappers/gtk/atk.nim1369
-rwxr-xr-xlib/oldwrappers/gtk/gdk2.nim3958
-rwxr-xr-xlib/oldwrappers/gtk/gdk2pixbuf.nim277
-rwxr-xr-xlib/oldwrappers/gtk/gdkglext.nim564
-rwxr-xr-xlib/oldwrappers/gtk/glib2.nim4503
-rwxr-xr-xlib/oldwrappers/gtk/gtk2.nim17271
-rwxr-xr-xlib/oldwrappers/gtk/gtkglext.nim50
-rwxr-xr-xlib/oldwrappers/gtk/gtkhtml.nim499
-rwxr-xr-xlib/oldwrappers/gtk/libglade2.nim118
-rwxr-xr-xlib/oldwrappers/gtk/pango.nim1208
-rwxr-xr-xlib/oldwrappers/gtk/pangoutils.nim46
11 files changed, 0 insertions, 29863 deletions
diff --git a/lib/oldwrappers/gtk/atk.nim b/lib/oldwrappers/gtk/atk.nim
deleted file mode 100755
index ae7a34c4b..000000000
--- a/lib/oldwrappers/gtk/atk.nim
+++ /dev/null
@@ -1,1369 +0,0 @@
-{.deadCodeElim: on.}
-
-import
-  glib2
-
-when defined(windows):
-  const
-    atklib = "libatk-1.0-0.dll"
-else:
-  const
-    atklib = "libatk-1.0.so"
-type
-  PAtkImplementor* = pointer
-  PAtkAction* = pointer
-  PAtkComponent* = pointer
-  PAtkDocument* = pointer
-  PAtkEditableText* = pointer
-  PAtkHypertext* = pointer
-  PAtkImage* = pointer
-  PAtkSelection* = pointer
-  PAtkStreamableContent* = pointer
-  PAtkTable* = pointer
-  PAtkText* = pointer
-  PAtkValue* = pointer
-  PAtkRelationSet* = ptr TAtkRelationSet
-  PAtkStateSet* = ptr TAtkStateSet
-  PAtkAttributeSet* = ptr TAtkAttributeSet
-  PAtkCoordType* = ptr TAtkCoordType
-  TAtkCoordType* = enum
-    ATK_XY_SCREEN, ATK_XY_WINDOW
-  PAtkRole* = ptr TAtkRole
-  TAtkRole* = enum
-    ATK_ROLE_INVALID, ATK_ROLE_ACCEL_LABEL, ATK_ROLE_ALERT, ATK_ROLE_ANIMATION,
-    ATK_ROLE_ARROW, ATK_ROLE_CALENDAR, ATK_ROLE_CANVAS, ATK_ROLE_CHECK_BOX,
-    ATK_ROLE_CHECK_MENU_ITEM, ATK_ROLE_COLOR_CHOOSER, ATK_ROLE_COLUMN_HEADER,
-    ATK_ROLE_COMBO_BOX, ATK_ROLE_DATE_EDITOR, ATK_ROLE_DESKTOP_ICON,
-    ATK_ROLE_DESKTOP_FRAME, ATK_ROLE_DIAL, ATK_ROLE_DIALOG,
-    ATK_ROLE_DIRECTORY_PANE, ATK_ROLE_DRAWING_AREA, ATK_ROLE_FILE_CHOOSER,
-    ATK_ROLE_FILLER, ATK_ROLE_FONT_CHOOSER, ATK_ROLE_FRAME, ATK_ROLE_GLASS_PANE,
-    ATK_ROLE_HTML_CONTAINER, ATK_ROLE_ICON, ATK_ROLE_IMAGE,
-    ATK_ROLE_INTERNAL_FRAME, ATK_ROLE_LABEL, ATK_ROLE_LAYERED_PANE,
-    ATK_ROLE_LIST, ATK_ROLE_LIST_ITEM, ATK_ROLE_MENU, ATK_ROLE_MENU_BAR,
-    ATK_ROLE_MENU_ITEM, ATK_ROLE_OPTION_PANE, ATK_ROLE_PAGE_TAB,
-    ATK_ROLE_PAGE_TAB_LIST, ATK_ROLE_PANEL, ATK_ROLE_PASSWORD_TEXT,
-    ATK_ROLE_POPUP_MENU, ATK_ROLE_PROGRESS_BAR, ATK_ROLE_PUSH_BUTTON,
-    ATK_ROLE_RADIO_BUTTON, ATK_ROLE_RADIO_MENU_ITEM, ATK_ROLE_ROOT_PANE,
-    ATK_ROLE_ROW_HEADER, ATK_ROLE_SCROLL_BAR, ATK_ROLE_SCROLL_PANE,
-    ATK_ROLE_SEPARATOR, ATK_ROLE_SLIDER, ATK_ROLE_SPLIT_PANE,
-    ATK_ROLE_SPIN_BUTTON, ATK_ROLE_STATUSBAR, ATK_ROLE_TABLE,
-    ATK_ROLE_TABLE_CELL, ATK_ROLE_TABLE_COLUMN_HEADER,
-    ATK_ROLE_TABLE_ROW_HEADER, ATK_ROLE_TEAR_OFF_MENU_ITEM, ATK_ROLE_TERMINAL,
-    ATK_ROLE_TEXT, ATK_ROLE_TOGGLE_BUTTON, ATK_ROLE_TOOL_BAR, ATK_ROLE_TOOL_TIP,
-    ATK_ROLE_TREE, ATK_ROLE_TREE_TABLE, ATK_ROLE_UNKNOWN, ATK_ROLE_VIEWPORT,
-    ATK_ROLE_WINDOW, ATK_ROLE_LAST_DEFINED
-  PAtkLayer* = ptr TAtkLayer
-  TAtkLayer* = enum
-    ATK_LAYER_INVALID, ATK_LAYER_BACKGROUND, ATK_LAYER_CANVAS, ATK_LAYER_WIDGET,
-    ATK_LAYER_MDI, ATK_LAYER_POPUP, ATK_LAYER_OVERLAY
-  PAtkPropertyValues* = ptr TAtkPropertyValues
-  TAtkPropertyValues* {.final, pure.} = object
-    property_name*: cstring
-    old_value*: TGValue
-    new_value*: TGValue
-
-  TAtkFunction* = proc (data: gpointer): gboolean{.cdecl.}
-  PAtkObject* = ptr TAtkObject
-  PPAtkObject* = ptr PAtkObject
-  TAtkObject* = object of TGObject
-    description*: cstring
-    name*: cstring
-    accessible_parent*: PAtkObject
-    role*: TAtkRole
-    relation_set*: PAtkRelationSet
-    layer*: TAtkLayer
-
-  TAtkPropertyChangeHandler* = proc (para1: PAtkObject,
-                                     para2: PAtkPropertyValues){.cdecl.}
-  PAtkObjectClass* = ptr TAtkObjectClass
-  TAtkObjectClass* = object of TGObjectClass
-    get_name*: proc (accessible: PAtkObject): cstring{.cdecl.}
-    get_description*: proc (accessible: PAtkObject): cstring{.cdecl.}
-    get_parent*: proc (accessible: PAtkObject): PAtkObject{.cdecl.}
-    get_n_children*: proc (accessible: PAtkObject): gint{.cdecl.}
-    ref_child*: proc (accessible: PAtkObject, i: gint): PAtkObject{.cdecl.}
-    get_index_in_parent*: proc (accessible: PAtkObject): gint{.cdecl.}
-    ref_relation_set*: proc (accessible: PAtkObject): PAtkRelationSet{.cdecl.}
-    get_role*: proc (accessible: PAtkObject): TAtkRole{.cdecl.}
-    get_layer*: proc (accessible: PAtkObject): TAtkLayer{.cdecl.}
-    get_mdi_zorder*: proc (accessible: PAtkObject): gint{.cdecl.}
-    ref_state_set*: proc (accessible: PAtkObject): PAtkStateSet{.cdecl.}
-    set_name*: proc (accessible: PAtkObject, name: cstring){.cdecl.}
-    set_description*: proc (accessible: PAtkObject, description: cstring){.cdecl.}
-    set_parent*: proc (accessible: PAtkObject, parent: PAtkObject){.cdecl.}
-    set_role*: proc (accessible: PAtkObject, role: TAtkRole){.cdecl.}
-    connect_property_change_handler*: proc (accessible: PAtkObject,
-        handler: TAtkPropertyChangeHandler): guint{.cdecl.}
-    remove_property_change_handler*: proc (accessible: PAtkObject,
-        handler_id: guint){.cdecl.}
-    initialize*: proc (accessible: PAtkObject, data: gpointer){.cdecl.}
-    children_changed*: proc (accessible: PAtkObject, change_index: guint,
-                             changed_child: gpointer){.cdecl.}
-    focus_event*: proc (accessible: PAtkObject, focus_in: gboolean){.cdecl.}
-    property_change*: proc (accessible: PAtkObject, values: PAtkPropertyValues){.
-        cdecl.}
-    state_change*: proc (accessible: PAtkObject, name: cstring,
-                         state_set: gboolean){.cdecl.}
-    visible_data_changed*: proc (accessible: PAtkObject){.cdecl.}
-    pad1*: TAtkFunction
-    pad2*: TAtkFunction
-    pad3*: TAtkFunction
-    pad4*: TAtkFunction
-
-  PAtkImplementorIface* = ptr TAtkImplementorIface
-  TAtkImplementorIface* = object of TGTypeInterface
-    ref_accessible*: proc (implementor: PAtkImplementor): PAtkObject{.cdecl.}
-
-  PAtkActionIface* = ptr TAtkActionIface
-  TAtkActionIface* = object of TGTypeInterface
-    do_action*: proc (action: PAtkAction, i: gint): gboolean{.cdecl.}
-    get_n_actions*: proc (action: PAtkAction): gint{.cdecl.}
-    get_description*: proc (action: PAtkAction, i: gint): cstring{.cdecl.}
-    get_name*: proc (action: PAtkAction, i: gint): cstring{.cdecl.}
-    get_keybinding*: proc (action: PAtkAction, i: gint): cstring{.cdecl.}
-    set_description*: proc (action: PAtkAction, i: gint, desc: cstring): gboolean{.
-        cdecl.}
-    pad1*: TAtkFunction
-    pad2*: TAtkFunction
-
-  TAtkFocusHandler* = proc (para1: PAtkObject, para2: gboolean){.cdecl.}
-  PAtkComponentIface* = ptr TAtkComponentIface
-  TAtkComponentIface* = object of TGTypeInterface
-    add_focus_handler*: proc (component: PAtkComponent,
-                              handler: TAtkFocusHandler): guint{.cdecl.}
-    contains*: proc (component: PAtkComponent, x: gint, y: gint,
-                     coord_type: TAtkCoordType): gboolean{.cdecl.}
-    ref_accessible_at_point*: proc (component: PAtkComponent, x: gint, y: gint,
-                                    coord_type: TAtkCoordType): PAtkObject{.
-        cdecl.}
-    get_extents*: proc (component: PAtkComponent, x: Pgint, y: Pgint,
-                        width: Pgint, height: Pgint, coord_type: TAtkCoordType){.
-        cdecl.}
-    get_position*: proc (component: PAtkComponent, x: Pgint, y: Pgint,
-                         coord_type: TAtkCoordType){.cdecl.}
-    get_size*: proc (component: PAtkComponent, width: Pgint, height: Pgint){.
-        cdecl.}
-    grab_focus*: proc (component: PAtkComponent): gboolean{.cdecl.}
-    remove_focus_handler*: proc (component: PAtkComponent, handler_id: guint){.
-        cdecl.}
-    set_extents*: proc (component: PAtkComponent, x: gint, y: gint, width: gint,
-                        height: gint, coord_type: TAtkCoordType): gboolean{.
-        cdecl.}
-    set_position*: proc (component: PAtkComponent, x: gint, y: gint,
-                         coord_type: TAtkCoordType): gboolean{.cdecl.}
-    set_size*: proc (component: PAtkComponent, width: gint, height: gint): gboolean{.
-        cdecl.}
-    get_layer*: proc (component: PAtkComponent): TAtkLayer{.cdecl.}
-    get_mdi_zorder*: proc (component: PAtkComponent): gint{.cdecl.}
-    pad1*: TAtkFunction
-    pad2*: TAtkFunction
-
-  PAtkDocumentIface* = ptr TAtkDocumentIface
-  TAtkDocumentIface* = object of TGTypeInterface
-    get_document_type*: proc (document: PAtkDocument): cstring{.cdecl.}
-    get_document*: proc (document: PAtkDocument): gpointer{.cdecl.}
-    pad1*: TAtkFunction
-    pad2*: TAtkFunction
-    pad3*: TAtkFunction
-    pad4*: TAtkFunction
-    pad5*: TAtkFunction
-    pad6*: TAtkFunction
-    pad7*: TAtkFunction
-    pad8*: TAtkFunction
-
-  PAtkEditableTextIface* = ptr TAtkEditableTextIface
-  TAtkEditableTextIface* = object of TGTypeInterface
-    set_run_attributes*: proc (text: PAtkEditableText,
-                               attrib_set: PAtkAttributeSet, start_offset: gint,
-                               end_offset: gint): gboolean{.cdecl.}
-    set_text_contents*: proc (text: PAtkEditableText, `string`: cstring){.cdecl.}
-    insert_text*: proc (text: PAtkEditableText, `string`: cstring, length: gint,
-                        position: Pgint){.cdecl.}
-    copy_text*: proc (text: PAtkEditableText, start_pos: gint, end_pos: gint){.
-        cdecl.}
-    cut_text*: proc (text: PAtkEditableText, start_pos: gint, end_pos: gint){.
-        cdecl.}
-    delete_text*: proc (text: PAtkEditableText, start_pos: gint, end_pos: gint){.
-        cdecl.}
-    paste_text*: proc (text: PAtkEditableText, position: gint){.cdecl.}
-    pad1*: TAtkFunction
-    pad2*: TAtkFunction
-
-  PAtkGObjectAccessible* = ptr TAtkGObjectAccessible
-  TAtkGObjectAccessible* = object of TAtkObject
-
-  PAtkGObjectAccessibleClass* = ptr TAtkGObjectAccessibleClass
-  TAtkGObjectAccessibleClass* = object of TAtkObjectClass
-    pad5*: TAtkFunction
-    pad6*: TAtkFunction
-
-  PAtkHyperlink* = ptr TAtkHyperlink
-  TAtkHyperlink* = object of TGObject
-
-  PAtkHyperlinkClass* = ptr TAtkHyperlinkClass
-  TAtkHyperlinkClass* = object of TGObjectClass
-    get_uri*: proc (link: PAtkHyperlink, i: gint): cstring{.cdecl.}
-    get_object*: proc (link: PAtkHyperlink, i: gint): PAtkObject{.cdecl.}
-    get_end_index*: proc (link: PAtkHyperlink): gint{.cdecl.}
-    get_start_index*: proc (link: PAtkHyperlink): gint{.cdecl.}
-    is_valid*: proc (link: PAtkHyperlink): gboolean{.cdecl.}
-    get_n_anchors*: proc (link: PAtkHyperlink): gint{.cdecl.}
-    pad7*: TAtkFunction
-    pad8*: TAtkFunction
-    pad9*: TAtkFunction
-    pad10*: TAtkFunction
-
-  PAtkHypertextIface* = ptr TAtkHypertextIface
-  TAtkHypertextIface* = object of TGTypeInterface
-    get_link*: proc (hypertext: PAtkHypertext, link_index: gint): PAtkHyperlink{.
-        cdecl.}
-    get_n_links*: proc (hypertext: PAtkHypertext): gint{.cdecl.}
-    get_link_index*: proc (hypertext: PAtkHypertext, char_index: gint): gint{.
-        cdecl.}
-    pad11*: TAtkFunction
-    pad12*: TAtkFunction
-    pad13*: TAtkFunction
-    pad14*: TAtkFunction
-
-  PAtkImageIface* = ptr TAtkImageIface
-  TAtkImageIface* = object of TGTypeInterface
-    get_image_position*: proc (image: PAtkImage, x: Pgint, y: Pgint,
-                               coord_type: TAtkCoordType){.cdecl.}
-    get_image_description*: proc (image: PAtkImage): cstring{.cdecl.}
-    get_image_size*: proc (image: PAtkImage, width: Pgint, height: Pgint){.cdecl.}
-    set_image_description*: proc (image: PAtkImage, description: cstring): gboolean{.
-        cdecl.}
-    pad15*: TAtkFunction
-    pad16*: TAtkFunction
-
-  PAtkObjectFactory* = ptr TAtkObjectFactory
-  TAtkObjectFactory* = object of TGObject
-
-  PAtkObjectFactoryClass* = ptr TAtkObjectFactoryClass
-  TAtkObjectFactoryClass* = object of TGObjectClass
-    create_accessible*: proc (obj: PGObject): PAtkObject{.cdecl.}
-    invalidate*: proc (factory: PAtkObjectFactory){.cdecl.}
-    get_accessible_type*: proc (): GType{.cdecl.}
-    pad17*: TAtkFunction
-    pad18*: TAtkFunction
-
-  PAtkRegistry* = ptr TAtkRegistry
-  TAtkRegistry* = object of TGObject
-    factory_type_registry*: PGHashTable
-    factory_singleton_cache*: PGHashTable
-
-  PAtkRegistryClass* = ptr TAtkRegistryClass
-  TAtkRegistryClass* = object of TGObjectClass
-
-  PAtkRelationType* = ptr TAtkRelationType
-  TAtkRelationType* = enum
-    ATK_RELATION_NULL, ATK_RELATION_CONTROLLED_BY, ATK_RELATION_CONTROLLER_FOR,
-    ATK_RELATION_LABEL_FOR, ATK_RELATION_LABELLED_BY, ATK_RELATION_MEMBER_OF,
-    ATK_RELATION_NODE_CHILD_OF, ATK_RELATION_LAST_DEFINED
-  PAtkRelation* = ptr TAtkRelation
-  PGPtrArray = pointer
-  TAtkRelation* = object of TGObject
-    target*: PGPtrArray
-    relationship*: TAtkRelationType
-
-  PAtkRelationClass* = ptr TAtkRelationClass
-  TAtkRelationClass* = object of TGObjectClass
-
-  TAtkRelationSet* = object of TGObject
-    relations*: PGPtrArray
-
-  PAtkRelationSetClass* = ptr TAtkRelationSetClass
-  TAtkRelationSetClass* = object of TGObjectClass
-    pad19*: TAtkFunction
-    pad20*: TAtkFunction
-
-  PAtkSelectionIface* = ptr TAtkSelectionIface
-  TAtkSelectionIface* = object of TGTypeInterface
-    add_selection*: proc (selection: PAtkSelection, i: gint): gboolean{.cdecl.}
-    clear_selection*: proc (selection: PAtkSelection): gboolean{.cdecl.}
-    ref_selection*: proc (selection: PAtkSelection, i: gint): PAtkObject{.cdecl.}
-    get_selection_count*: proc (selection: PAtkSelection): gint{.cdecl.}
-    is_child_selected*: proc (selection: PAtkSelection, i: gint): gboolean{.
-        cdecl.}
-    remove_selection*: proc (selection: PAtkSelection, i: gint): gboolean{.cdecl.}
-    select_all_selection*: proc (selection: PAtkSelection): gboolean{.cdecl.}
-    selection_changed*: proc (selection: PAtkSelection){.cdecl.}
-    pad1*: TAtkFunction
-    pad2*: TAtkFunction
-
-  PAtkStateType* = ptr TAtkStateType
-  TAtkStateType* = enum
-    ATK_STATE_INVALID, ATK_STATE_ACTIVE, ATK_STATE_ARMED, ATK_STATE_BUSY,
-    ATK_STATE_CHECKED, ATK_STATE_DEFUNCT, ATK_STATE_EDITABLE, ATK_STATE_ENABLED,
-    ATK_STATE_EXPANDABLE, ATK_STATE_EXPANDED, ATK_STATE_FOCUSABLE,
-    ATK_STATE_FOCUSED, ATK_STATE_HORIZONTAL, ATK_STATE_ICONIFIED,
-    ATK_STATE_MODAL, ATK_STATE_MULTI_LINE, ATK_STATE_MULTISELECTABLE,
-    ATK_STATE_OPAQUE, ATK_STATE_PRESSED, ATK_STATE_RESIZABLE,
-    ATK_STATE_SELECTABLE, ATK_STATE_SELECTED, ATK_STATE_SENSITIVE,
-    ATK_STATE_SHOWING, ATK_STATE_SINGLE_LINE, ATK_STATE_STALE,
-    ATK_STATE_TRANSIENT, ATK_STATE_VERTICAL, ATK_STATE_VISIBLE,
-    ATK_STATE_LAST_DEFINED
-  PAtkState* = ptr TAtkState
-  TAtkState* = guint64
-  TAtkStateSet* = object of TGObject
-
-  PAtkStateSetClass* = ptr TAtkStateSetClass
-  TAtkStateSetClass* = object of TGObjectClass
-
-  PAtkStreamableContentIface* = ptr TAtkStreamableContentIface
-  TAtkStreamableContentIface* = object of TGTypeInterface
-    get_n_mime_types*: proc (streamable: PAtkStreamableContent): gint{.cdecl.}
-    get_mime_type*: proc (streamable: PAtkStreamableContent, i: gint): cstring{.
-        cdecl.}
-    get_stream*: proc (streamable: PAtkStreamableContent, mime_type: cstring): PGIOChannel{.
-        cdecl.}
-    pad21*: TAtkFunction
-    pad22*: TAtkFunction
-    pad23*: TAtkFunction
-    pad24*: TAtkFunction
-
-  PAtkTableIface* = ptr TAtkTableIface
-  TAtkTableIface* = object of TGTypeInterface
-    ref_at*: proc (table: PAtkTable, row: gint, column: gint): PAtkObject{.cdecl.}
-    get_index_at*: proc (table: PAtkTable, row: gint, column: gint): gint{.cdecl.}
-    get_column_at_index*: proc (table: PAtkTable, index: gint): gint{.cdecl.}
-    get_row_at_index*: proc (table: PAtkTable, index: gint): gint{.cdecl.}
-    get_n_columns*: proc (table: PAtkTable): gint{.cdecl.}
-    get_n_rows*: proc (table: PAtkTable): gint{.cdecl.}
-    get_column_extent_at*: proc (table: PAtkTable, row: gint, column: gint): gint{.
-        cdecl.}
-    get_row_extent_at*: proc (table: PAtkTable, row: gint, column: gint): gint{.
-        cdecl.}
-    get_caption*: proc (table: PAtkTable): PAtkObject{.cdecl.}
-    get_column_description*: proc (table: PAtkTable, column: gint): cstring{.
-        cdecl.}
-    get_column_header*: proc (table: PAtkTable, column: gint): PAtkObject{.cdecl.}
-    get_row_description*: proc (table: PAtkTable, row: gint): cstring{.cdecl.}
-    get_row_header*: proc (table: PAtkTable, row: gint): PAtkObject{.cdecl.}
-    get_summary*: proc (table: PAtkTable): PAtkObject{.cdecl.}
-    set_caption*: proc (table: PAtkTable, caption: PAtkObject){.cdecl.}
-    set_column_description*: proc (table: PAtkTable, column: gint,
-                                   description: cstring){.cdecl.}
-    set_column_header*: proc (table: PAtkTable, column: gint, header: PAtkObject){.
-        cdecl.}
-    set_row_description*: proc (table: PAtkTable, row: gint, description: cstring){.
-        cdecl.}
-    set_row_header*: proc (table: PAtkTable, row: gint, header: PAtkObject){.
-        cdecl.}
-    set_summary*: proc (table: PAtkTable, accessible: PAtkObject){.cdecl.}
-    get_selected_columns*: proc (table: PAtkTable, selected: PPgint): gint{.
-        cdecl.}
-    get_selected_rows*: proc (table: PAtkTable, selected: PPgint): gint{.cdecl.}
-    is_column_selected*: proc (table: PAtkTable, column: gint): gboolean{.cdecl.}
-    is_row_selected*: proc (table: PAtkTable, row: gint): gboolean{.cdecl.}
-    is_selected*: proc (table: PAtkTable, row: gint, column: gint): gboolean{.
-        cdecl.}
-    add_row_selection*: proc (table: PAtkTable, row: gint): gboolean{.cdecl.}
-    remove_row_selection*: proc (table: PAtkTable, row: gint): gboolean{.cdecl.}
-    add_column_selection*: proc (table: PAtkTable, column: gint): gboolean{.
-        cdecl.}
-    remove_column_selection*: proc (table: PAtkTable, column: gint): gboolean{.
-        cdecl.}
-    row_inserted*: proc (table: PAtkTable, row: gint, num_inserted: gint){.cdecl.}
-    column_inserted*: proc (table: PAtkTable, column: gint, num_inserted: gint){.
-        cdecl.}
-    row_deleted*: proc (table: PAtkTable, row: gint, num_deleted: gint){.cdecl.}
-    column_deleted*: proc (table: PAtkTable, column: gint, num_deleted: gint){.
-        cdecl.}
-    row_reordered*: proc (table: PAtkTable){.cdecl.}
-    column_reordered*: proc (table: PAtkTable){.cdecl.}
-    model_changed*: proc (table: PAtkTable){.cdecl.}
-    pad25*: TAtkFunction
-    pad26*: TAtkFunction
-    pad27*: TAtkFunction
-    pad28*: TAtkFunction
-
-  TAtkAttributeSet* = TGSList
-  PAtkAttribute* = ptr TAtkAttribute
-  TAtkAttribute* {.final, pure.} = object
-    name*: cstring
-    value*: cstring
-
-  PAtkTextAttribute* = ptr TAtkTextAttribute
-  TAtkTextAttribute* = enum
-    ATK_TEXT_ATTR_INVALID, ATK_TEXT_ATTR_LEFT_MARGIN,
-    ATK_TEXT_ATTR_RIGHT_MARGIN, ATK_TEXT_ATTR_INDENT, ATK_TEXT_ATTR_INVISIBLE,
-    ATK_TEXT_ATTR_EDITABLE, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES,
-    ATK_TEXT_ATTR_PIXELS_BELOW_LINES, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP,
-    ATK_TEXT_ATTR_BG_FULL_HEIGHT, ATK_TEXT_ATTR_RISE, ATK_TEXT_ATTR_UNDERLINE,
-    ATK_TEXT_ATTR_STRIKETHROUGH, ATK_TEXT_ATTR_SIZE, ATK_TEXT_ATTR_SCALE,
-    ATK_TEXT_ATTR_WEIGHT, ATK_TEXT_ATTR_LANGUAGE, ATK_TEXT_ATTR_FAMILY_NAME,
-    ATK_TEXT_ATTR_BG_COLOR, ATK_TEXT_ATTR_FG_COLOR, ATK_TEXT_ATTR_BG_STIPPLE,
-    ATK_TEXT_ATTR_FG_STIPPLE, ATK_TEXT_ATTR_WRAP_MODE, ATK_TEXT_ATTR_DIRECTION,
-    ATK_TEXT_ATTR_JUSTIFICATION, ATK_TEXT_ATTR_STRETCH, ATK_TEXT_ATTR_VARIANT,
-    ATK_TEXT_ATTR_STYLE, ATK_TEXT_ATTR_LAST_DEFINED
-  PAtkTextBoundary* = ptr TAtkTextBoundary
-  TAtkTextBoundary* = enum
-    ATK_TEXT_BOUNDARY_CHAR, ATK_TEXT_BOUNDARY_WORD_START,
-    ATK_TEXT_BOUNDARY_WORD_END, ATK_TEXT_BOUNDARY_SENTENCE_START,
-    ATK_TEXT_BOUNDARY_SENTENCE_END, ATK_TEXT_BOUNDARY_LINE_START,
-    ATK_TEXT_BOUNDARY_LINE_END
-  PAtkTextIface* = ptr TAtkTextIface
-  TAtkTextIface* = object of TGTypeInterface
-    get_text*: proc (text: PAtkText, start_offset: gint, end_offset: gint): cstring{.
-        cdecl.}
-    get_text_after_offset*: proc (text: PAtkText, offset: gint,
-                                  boundary_type: TAtkTextBoundary,
-                                  start_offset: Pgint, end_offset: Pgint): cstring{.
-        cdecl.}
-    get_text_at_offset*: proc (text: PAtkText, offset: gint,
-                               boundary_type: TAtkTextBoundary,
-                               start_offset: Pgint, end_offset: Pgint): cstring{.
-        cdecl.}
-    get_character_at_offset*: proc (text: PAtkText, offset: gint): gunichar{.
-        cdecl.}
-    get_text_before_offset*: proc (text: PAtkText, offset: gint,
-                                   boundary_type: TAtkTextBoundary,
-                                   start_offset: Pgint, end_offset: Pgint): cstring{.
-        cdecl.}
-    get_caret_offset*: proc (text: PAtkText): gint{.cdecl.}
-    get_run_attributes*: proc (text: PAtkText, offset: gint,
-                               start_offset: Pgint, end_offset: Pgint): PAtkAttributeSet{.
-        cdecl.}
-    get_default_attributes*: proc (text: PAtkText): PAtkAttributeSet{.cdecl.}
-    get_character_extents*: proc (text: PAtkText, offset: gint, x: Pgint,
-                                  y: Pgint, width: Pgint, height: Pgint,
-                                  coords: TAtkCoordType){.cdecl.}
-    get_character_count*: proc (text: PAtkText): gint{.cdecl.}
-    get_offset_at_point*: proc (text: PAtkText, x: gint, y: gint,
-                                coords: TAtkCoordType): gint{.cdecl.}
-    get_n_selections*: proc (text: PAtkText): gint{.cdecl.}
-    get_selection*: proc (text: PAtkText, selection_num: gint,
-                          start_offset: Pgint, end_offset: Pgint): cstring{.cdecl.}
-    add_selection*: proc (text: PAtkText, start_offset: gint, end_offset: gint): gboolean{.
-        cdecl.}
-    remove_selection*: proc (text: PAtkText, selection_num: gint): gboolean{.
-        cdecl.}
-    set_selection*: proc (text: PAtkText, selection_num: gint,
-                          start_offset: gint, end_offset: gint): gboolean{.cdecl.}
-    set_caret_offset*: proc (text: PAtkText, offset: gint): gboolean{.cdecl.}
-    text_changed*: proc (text: PAtkText, position: gint, length: gint){.cdecl.}
-    text_caret_moved*: proc (text: PAtkText, location: gint){.cdecl.}
-    text_selection_changed*: proc (text: PAtkText){.cdecl.}
-    pad29*: TAtkFunction
-    pad30*: TAtkFunction
-    pad31*: TAtkFunction
-    pad32*: TAtkFunction
-
-  TAtkEventListener* = proc (para1: PAtkObject){.cdecl.}
-  TAtkEventListenerInitProc* = proc ()
-  TAtkEventListenerInit* = proc (para1: TAtkEventListenerInitProc){.cdecl.}
-  PAtkKeyEventStruct* = ptr TAtkKeyEventStruct
-  TAtkKeyEventStruct* {.final, pure.} = object
-    `type`*: gint
-    state*: guint
-    keyval*: guint
-    length*: gint
-    string*: cstring
-    keycode*: guint16
-    timestamp*: guint32
-
-  TAtkKeySnoopFunc* = proc (event: PAtkKeyEventStruct, func_data: gpointer): gint{.
-      cdecl.}
-  PAtkKeyEventType* = ptr TAtkKeyEventType
-  TAtkKeyEventType* = enum
-    ATK_KEY_EVENT_PRESS, ATK_KEY_EVENT_RELEASE, ATK_KEY_EVENT_LAST_DEFINED
-  PAtkUtil* = ptr TAtkUtil
-  TAtkUtil* = object of TGObject
-
-  PAtkUtilClass* = ptr TAtkUtilClass
-  TAtkUtilClass* = object of TGObjectClass
-    add_global_event_listener*: proc (listener: TGSignalEmissionHook,
-                                      event_type: cstring): guint{.cdecl.}
-    remove_global_event_listener*: proc (listener_id: guint){.cdecl.}
-    add_key_event_listener*: proc (listener: TAtkKeySnoopFunc, data: gpointer): guint{.
-        cdecl.}
-    remove_key_event_listener*: proc (listener_id: guint){.cdecl.}
-    get_root*: proc (): PAtkObject{.cdecl.}
-    get_toolkit_name*: proc (): cstring{.cdecl.}
-    get_toolkit_version*: proc (): cstring{.cdecl.}
-
-  PAtkValueIface* = ptr TAtkValueIface
-  TAtkValueIface* = object of TGTypeInterface
-    get_current_value*: proc (obj: PAtkValue, value: PGValue){.cdecl.}
-    get_maximum_value*: proc (obj: PAtkValue, value: PGValue){.cdecl.}
-    get_minimum_value*: proc (obj: PAtkValue, value: PGValue){.cdecl.}
-    set_current_value*: proc (obj: PAtkValue, value: PGValue): gboolean{.cdecl.}
-    pad33*: TAtkFunction
-    pad34*: TAtkFunction
-
-
-proc atk_role_register*(name: cstring): TAtkRole{.cdecl, dynlib: atklib,
-    importc: "atk_role_register".}
-proc atk_object_get_type*(): GType{.cdecl, dynlib: atklib,
-                                    importc: "atk_object_get_type".}
-proc ATK_TYPE_OBJECT*(): GType
-proc ATK_OBJECT*(obj: pointer): PAtkObject
-proc ATK_OBJECT_CLASS*(klass: pointer): PAtkObjectClass
-proc ATK_IS_OBJECT*(obj: pointer): bool
-proc ATK_IS_OBJECT_CLASS*(klass: pointer): bool
-proc ATK_OBJECT_GET_CLASS*(obj: pointer): PAtkObjectClass
-proc ATK_TYPE_IMPLEMENTOR*(): GType
-proc ATK_IS_IMPLEMENTOR*(obj: pointer): bool
-proc ATK_IMPLEMENTOR*(obj: pointer): PAtkImplementor
-proc ATK_IMPLEMENTOR_GET_IFACE*(obj: pointer): PAtkImplementorIface
-proc atk_implementor_get_type*(): GType{.cdecl, dynlib: atklib,
-    importc: "atk_implementor_get_type".}
-proc atk_implementor_ref_accessible*(implementor: PAtkImplementor): PAtkObject{.
-    cdecl, dynlib: atklib, importc: "atk_implementor_ref_accessible".}
-proc atk_object_get_name*(accessible: PAtkObject): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_object_get_name".}
-proc atk_object_get_description*(accessible: PAtkObject): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_object_get_description".}
-proc atk_object_get_parent*(accessible: PAtkObject): PAtkObject{.cdecl,
-    dynlib: atklib, importc: "atk_object_get_parent".}
-proc atk_object_get_n_accessible_children*(accessible: PAtkObject): gint{.cdecl,
-    dynlib: atklib, importc: "atk_object_get_n_accessible_children".}
-proc atk_object_ref_accessible_child*(accessible: PAtkObject, i: gint): PAtkObject{.
-    cdecl, dynlib: atklib, importc: "atk_object_ref_accessible_child".}
-proc atk_object_ref_relation_set*(accessible: PAtkObject): PAtkRelationSet{.
-    cdecl, dynlib: atklib, importc: "atk_object_ref_relation_set".}
-proc atk_object_get_role*(accessible: PAtkObject): TAtkRole{.cdecl,
-    dynlib: atklib, importc: "atk_object_get_role".}
-proc atk_object_get_layer*(accessible: PAtkObject): TAtkLayer{.cdecl,
-    dynlib: atklib, importc: "atk_object_get_layer".}
-proc atk_object_get_mdi_zorder*(accessible: PAtkObject): gint{.cdecl,
-    dynlib: atklib, importc: "atk_object_get_mdi_zorder".}
-proc atk_object_ref_state_set*(accessible: PAtkObject): PAtkStateSet{.cdecl,
-    dynlib: atklib, importc: "atk_object_ref_state_set".}
-proc atk_object_get_index_in_parent*(accessible: PAtkObject): gint{.cdecl,
-    dynlib: atklib, importc: "atk_object_get_index_in_parent".}
-proc atk_object_set_name*(accessible: PAtkObject, name: cstring){.cdecl,
-    dynlib: atklib, importc: "atk_object_set_name".}
-proc atk_object_set_description*(accessible: PAtkObject, description: cstring){.
-    cdecl, dynlib: atklib, importc: "atk_object_set_description".}
-proc atk_object_set_parent*(accessible: PAtkObject, parent: PAtkObject){.cdecl,
-    dynlib: atklib, importc: "atk_object_set_parent".}
-proc atk_object_set_role*(accessible: PAtkObject, role: TAtkRole){.cdecl,
-    dynlib: atklib, importc: "atk_object_set_role".}
-proc atk_object_connect_property_change_handler*(accessible: PAtkObject,
-    handler: TAtkPropertyChangeHandler): guint{.cdecl, dynlib: atklib,
-    importc: "atk_object_connect_property_change_handler".}
-proc atk_object_remove_property_change_handler*(accessible: PAtkObject,
-    handler_id: guint){.cdecl, dynlib: atklib,
-                        importc: "atk_object_remove_property_change_handler".}
-proc atk_object_notify_state_change*(accessible: PAtkObject, state: TAtkState,
-                                     value: gboolean){.cdecl, dynlib: atklib,
-    importc: "atk_object_notify_state_change".}
-proc atk_object_initialize*(accessible: PAtkObject, data: gpointer){.cdecl,
-    dynlib: atklib, importc: "atk_object_initialize".}
-proc atk_role_get_name*(role: TAtkRole): cstring{.cdecl, dynlib: atklib,
-    importc: "atk_role_get_name".}
-proc atk_role_for_name*(name: cstring): TAtkRole{.cdecl, dynlib: atklib,
-    importc: "atk_role_for_name".}
-proc ATK_TYPE_ACTION*(): GType
-proc ATK_IS_ACTION*(obj: pointer): bool
-proc ATK_ACTION*(obj: pointer): PAtkAction
-proc ATK_ACTION_GET_IFACE*(obj: pointer): PAtkActionIface
-proc atk_action_get_type*(): GType{.cdecl, dynlib: atklib,
-                                    importc: "atk_action_get_type".}
-proc atk_action_do_action*(action: PAtkAction, i: gint): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_action_do_action".}
-proc atk_action_get_n_actions*(action: PAtkAction): gint{.cdecl, dynlib: atklib,
-    importc: "atk_action_get_n_actions".}
-proc atk_action_get_description*(action: PAtkAction, i: gint): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_action_get_description".}
-proc atk_action_get_name*(action: PAtkAction, i: gint): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_action_get_name".}
-proc atk_action_get_keybinding*(action: PAtkAction, i: gint): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_action_get_keybinding".}
-proc atk_action_set_description*(action: PAtkAction, i: gint, desc: cstring): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_action_set_description".}
-proc ATK_TYPE_COMPONENT*(): GType
-proc ATK_IS_COMPONENT*(obj: pointer): bool
-proc ATK_COMPONENT*(obj: pointer): PAtkComponent
-proc ATK_COMPONENT_GET_IFACE*(obj: pointer): PAtkComponentIface
-proc atk_component_get_type*(): GType{.cdecl, dynlib: atklib,
-                                       importc: "atk_component_get_type".}
-proc atk_component_add_focus_handler*(component: PAtkComponent,
-                                      handler: TAtkFocusHandler): guint{.cdecl,
-    dynlib: atklib, importc: "atk_component_add_focus_handler".}
-proc atk_component_contains*(component: PAtkComponent, x, y: gint,
-                             coord_type: TAtkCoordType): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_component_contains".}
-proc atk_component_ref_accessible_at_point*(component: PAtkComponent,
-    x, y: gint, coord_type: TAtkCoordType): PAtkObject{.cdecl, dynlib: atklib,
-    importc: "atk_component_ref_accessible_at_point".}
-proc atk_component_get_extents*(component: PAtkComponent,
-                                x, y, width, height: Pgint,
-                                coord_type: TAtkCoordType){.cdecl,
-    dynlib: atklib, importc: "atk_component_get_extents".}
-proc atk_component_get_position*(component: PAtkComponent, x: Pgint, y: Pgint,
-                                 coord_type: TAtkCoordType){.cdecl,
-    dynlib: atklib, importc: "atk_component_get_position".}
-proc atk_component_get_size*(component: PAtkComponent, width: Pgint,
-                             height: Pgint){.cdecl, dynlib: atklib,
-    importc: "atk_component_get_size".}
-proc atk_component_get_layer*(component: PAtkComponent): TAtkLayer{.cdecl,
-    dynlib: atklib, importc: "atk_component_get_layer".}
-proc atk_component_get_mdi_zorder*(component: PAtkComponent): gint{.cdecl,
-    dynlib: atklib, importc: "atk_component_get_mdi_zorder".}
-proc atk_component_grab_focus*(component: PAtkComponent): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_component_grab_focus".}
-proc atk_component_remove_focus_handler*(component: PAtkComponent,
-    handler_id: guint){.cdecl, dynlib: atklib,
-                        importc: "atk_component_remove_focus_handler".}
-proc atk_component_set_extents*(component: PAtkComponent, x: gint, y: gint,
-                                width: gint, height: gint,
-                                coord_type: TAtkCoordType): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_component_set_extents".}
-proc atk_component_set_position*(component: PAtkComponent, x: gint, y: gint,
-                                 coord_type: TAtkCoordType): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_component_set_position".}
-proc atk_component_set_size*(component: PAtkComponent, width: gint, height: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_component_set_size".}
-proc ATK_TYPE_DOCUMENT*(): GType
-proc ATK_IS_DOCUMENT*(obj: pointer): bool
-proc ATK_DOCUMENT*(obj: pointer): PAtkDocument
-proc ATK_DOCUMENT_GET_IFACE*(obj: pointer): PAtkDocumentIface
-proc atk_document_get_type*(): GType{.cdecl, dynlib: atklib,
-                                      importc: "atk_document_get_type".}
-proc atk_document_get_document_type*(document: PAtkDocument): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_document_get_document_type".}
-proc atk_document_get_document*(document: PAtkDocument): gpointer{.cdecl,
-    dynlib: atklib, importc: "atk_document_get_document".}
-proc ATK_TYPE_EDITABLE_TEXT*(): GType
-proc ATK_IS_EDITABLE_TEXT*(obj: pointer): bool
-proc ATK_EDITABLE_TEXT*(obj: pointer): PAtkEditableText
-proc ATK_EDITABLE_TEXT_GET_IFACE*(obj: pointer): PAtkEditableTextIface
-proc atk_editable_text_get_type*(): GType{.cdecl, dynlib: atklib,
-    importc: "atk_editable_text_get_type".}
-proc atk_editable_text_set_run_attributes*(text: PAtkEditableText,
-    attrib_set: PAtkAttributeSet, start_offset: gint, end_offset: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_editable_text_set_run_attributes".}
-proc atk_editable_text_set_text_contents*(text: PAtkEditableText, string: cstring){.
-    cdecl, dynlib: atklib, importc: "atk_editable_text_set_text_contents".}
-proc atk_editable_text_insert_text*(text: PAtkEditableText, `string`: cstring,
-                                    length: gint, position: Pgint){.cdecl,
-    dynlib: atklib, importc: "atk_editable_text_insert_text".}
-proc atk_editable_text_copy_text*(text: PAtkEditableText, start_pos: gint,
-                                  end_pos: gint){.cdecl, dynlib: atklib,
-    importc: "atk_editable_text_copy_text".}
-proc atk_editable_text_cut_text*(text: PAtkEditableText, start_pos: gint,
-                                 end_pos: gint){.cdecl, dynlib: atklib,
-    importc: "atk_editable_text_cut_text".}
-proc atk_editable_text_delete_text*(text: PAtkEditableText, start_pos: gint,
-                                    end_pos: gint){.cdecl, dynlib: atklib,
-    importc: "atk_editable_text_delete_text".}
-proc atk_editable_text_paste_text*(text: PAtkEditableText, position: gint){.
-    cdecl, dynlib: atklib, importc: "atk_editable_text_paste_text".}
-proc ATK_TYPE_GOBJECT_ACCESSIBLE*(): GType
-proc ATK_GOBJECT_ACCESSIBLE*(obj: pointer): PAtkGObjectAccessible
-proc ATK_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): PAtkGObjectAccessibleClass
-proc ATK_IS_GOBJECT_ACCESSIBLE*(obj: pointer): bool
-proc ATK_IS_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): bool
-proc ATK_GOBJECT_ACCESSIBLE_GET_CLASS*(obj: pointer): PAtkGObjectAccessibleClass
-proc atk_gobject_accessible_get_type*(): GType{.cdecl, dynlib: atklib,
-    importc: "atk_gobject_accessible_get_type".}
-proc atk_gobject_accessible_for_object*(obj: PGObject): PAtkObject{.cdecl,
-    dynlib: atklib, importc: "atk_gobject_accessible_for_object".}
-proc atk_gobject_accessible_get_object*(obj: PAtkGObjectAccessible): PGObject{.
-    cdecl, dynlib: atklib, importc: "atk_gobject_accessible_get_object".}
-proc ATK_TYPE_HYPERLINK*(): GType
-proc ATK_HYPERLINK*(obj: pointer): PAtkHyperlink
-proc ATK_HYPERLINK_CLASS*(klass: pointer): PAtkHyperlinkClass
-proc ATK_IS_HYPERLINK*(obj: pointer): bool
-proc ATK_IS_HYPERLINK_CLASS*(klass: pointer): bool
-proc ATK_HYPERLINK_GET_CLASS*(obj: pointer): PAtkHyperlinkClass
-proc atk_hyperlink_get_type*(): GType{.cdecl, dynlib: atklib,
-                                       importc: "atk_hyperlink_get_type".}
-proc atk_hyperlink_get_uri*(link: PAtkHyperlink, i: gint): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_hyperlink_get_uri".}
-proc atk_hyperlink_get_object*(link: PAtkHyperlink, i: gint): PAtkObject{.cdecl,
-    dynlib: atklib, importc: "atk_hyperlink_get_object".}
-proc atk_hyperlink_get_end_index*(link: PAtkHyperlink): gint{.cdecl,
-    dynlib: atklib, importc: "atk_hyperlink_get_end_index".}
-proc atk_hyperlink_get_start_index*(link: PAtkHyperlink): gint{.cdecl,
-    dynlib: atklib, importc: "atk_hyperlink_get_start_index".}
-proc atk_hyperlink_is_valid*(link: PAtkHyperlink): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_hyperlink_is_valid".}
-proc atk_hyperlink_get_n_anchors*(link: PAtkHyperlink): gint{.cdecl,
-    dynlib: atklib, importc: "atk_hyperlink_get_n_anchors".}
-proc ATK_TYPE_HYPERTEXT*(): GType
-proc ATK_IS_HYPERTEXT*(obj: pointer): bool
-proc ATK_HYPERTEXT*(obj: pointer): PAtkHypertext
-proc ATK_HYPERTEXT_GET_IFACE*(obj: pointer): PAtkHypertextIface
-proc atk_hypertext_get_type*(): GType{.cdecl, dynlib: atklib,
-                                       importc: "atk_hypertext_get_type".}
-proc atk_hypertext_get_link*(hypertext: PAtkHypertext, link_index: gint): PAtkHyperlink{.
-    cdecl, dynlib: atklib, importc: "atk_hypertext_get_link".}
-proc atk_hypertext_get_n_links*(hypertext: PAtkHypertext): gint{.cdecl,
-    dynlib: atklib, importc: "atk_hypertext_get_n_links".}
-proc atk_hypertext_get_link_index*(hypertext: PAtkHypertext, char_index: gint): gint{.
-    cdecl, dynlib: atklib, importc: "atk_hypertext_get_link_index".}
-proc ATK_TYPE_IMAGE*(): GType
-proc ATK_IS_IMAGE*(obj: pointer): bool
-proc ATK_IMAGE*(obj: pointer): PAtkImage
-proc ATK_IMAGE_GET_IFACE*(obj: pointer): PAtkImageIface
-proc atk_image_get_type*(): GType{.cdecl, dynlib: atklib,
-                                   importc: "atk_image_get_type".}
-proc atk_image_get_image_description*(image: PAtkImage): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_image_get_image_description".}
-proc atk_image_get_image_size*(image: PAtkImage, width: Pgint, height: Pgint){.
-    cdecl, dynlib: atklib, importc: "atk_image_get_image_size".}
-proc atk_image_set_image_description*(image: PAtkImage, description: cstring): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_image_set_image_description".}
-proc atk_image_get_image_position*(image: PAtkImage, x: Pgint, y: Pgint,
-                                   coord_type: TAtkCoordType){.cdecl,
-    dynlib: atklib, importc: "atk_image_get_image_position".}
-proc ATK_TYPE_OBJECT_FACTORY*(): GType
-proc ATK_OBJECT_FACTORY*(obj: pointer): PAtkObjectFactory
-proc ATK_OBJECT_FACTORY_CLASS*(klass: pointer): PAtkObjectFactoryClass
-proc ATK_IS_OBJECT_FACTORY*(obj: pointer): bool
-proc ATK_IS_OBJECT_FACTORY_CLASS*(klass: pointer): bool
-proc ATK_OBJECT_FACTORY_GET_CLASS*(obj: pointer): PAtkObjectFactoryClass
-proc atk_object_factory_get_type*(): GType{.cdecl, dynlib: atklib,
-    importc: "atk_object_factory_get_type".}
-proc atk_object_factory_create_accessible*(factory: PAtkObjectFactory,
-    obj: PGObject): PAtkObject{.cdecl, dynlib: atklib,
-                                importc: "atk_object_factory_create_accessible".}
-proc atk_object_factory_invalidate*(factory: PAtkObjectFactory){.cdecl,
-    dynlib: atklib, importc: "atk_object_factory_invalidate".}
-proc atk_object_factory_get_accessible_type*(factory: PAtkObjectFactory): GType{.
-    cdecl, dynlib: atklib, importc: "atk_object_factory_get_accessible_type".}
-proc ATK_TYPE_REGISTRY*(): GType
-proc ATK_REGISTRY*(obj: pointer): PAtkRegistry
-proc ATK_REGISTRY_CLASS*(klass: pointer): PAtkRegistryClass
-proc ATK_IS_REGISTRY*(obj: pointer): bool
-proc ATK_IS_REGISTRY_CLASS*(klass: pointer): bool
-proc ATK_REGISTRY_GET_CLASS*(obj: pointer): PAtkRegistryClass
-proc atk_registry_get_type*(): GType{.cdecl, dynlib: atklib,
-                                      importc: "atk_registry_get_type".}
-proc atk_registry_set_factory_type*(registry: PAtkRegistry, `type`: GType,
-                                    factory_type: GType){.cdecl, dynlib: atklib,
-    importc: "atk_registry_set_factory_type".}
-proc atk_registry_get_factory_type*(registry: PAtkRegistry, `type`: GType): GType{.
-    cdecl, dynlib: atklib, importc: "atk_registry_get_factory_type".}
-proc atk_registry_get_factory*(registry: PAtkRegistry, `type`: GType): PAtkObjectFactory{.
-    cdecl, dynlib: atklib, importc: "atk_registry_get_factory".}
-proc atk_get_default_registry*(): PAtkRegistry{.cdecl, dynlib: atklib,
-    importc: "atk_get_default_registry".}
-proc ATK_TYPE_RELATION*(): GType
-proc ATK_RELATION*(obj: pointer): PAtkRelation
-proc ATK_RELATION_CLASS*(klass: pointer): PAtkRelationClass
-proc ATK_IS_RELATION*(obj: pointer): bool
-proc ATK_IS_RELATION_CLASS*(klass: pointer): bool
-proc ATK_RELATION_GET_CLASS*(obj: pointer): PAtkRelationClass
-proc atk_relation_get_type*(): GType{.cdecl, dynlib: atklib,
-                                      importc: "atk_relation_get_type".}
-proc atk_relation_type_register*(name: cstring): TAtkRelationType{.cdecl,
-    dynlib: atklib, importc: "atk_relation_type_register".}
-proc atk_relation_type_get_name*(`type`: TAtkRelationType): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_relation_type_get_name".}
-proc atk_relation_type_for_name*(name: cstring): TAtkRelationType{.cdecl,
-    dynlib: atklib, importc: "atk_relation_type_for_name".}
-proc atk_relation_new*(targets: PPAtkObject, n_targets: gint,
-                       relationship: TAtkRelationType): PAtkRelation{.cdecl,
-    dynlib: atklib, importc: "atk_relation_new".}
-proc atk_relation_get_relation_type*(relation: PAtkRelation): TAtkRelationType{.
-    cdecl, dynlib: atklib, importc: "atk_relation_get_relation_type".}
-proc atk_relation_get_target*(relation: PAtkRelation): PGPtrArray{.cdecl,
-    dynlib: atklib, importc: "atk_relation_get_target".}
-proc ATK_TYPE_RELATION_SET*(): GType
-proc ATK_RELATION_SET*(obj: pointer): PAtkRelationSet
-proc ATK_RELATION_SET_CLASS*(klass: pointer): PAtkRelationSetClass
-proc ATK_IS_RELATION_SET*(obj: pointer): bool
-proc ATK_IS_RELATION_SET_CLASS*(klass: pointer): bool
-proc ATK_RELATION_SET_GET_CLASS*(obj: pointer): PAtkRelationSetClass
-proc atk_relation_set_get_type*(): GType{.cdecl, dynlib: atklib,
-    importc: "atk_relation_set_get_type".}
-proc atk_relation_set_new*(): PAtkRelationSet{.cdecl, dynlib: atklib,
-    importc: "atk_relation_set_new".}
-proc atk_relation_set_contains*(RelationSet: PAtkRelationSet,
-                                relationship: TAtkRelationType): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_relation_set_contains".}
-proc atk_relation_set_remove*(RelationSet: PAtkRelationSet,
-                              relation: PAtkRelation){.cdecl, dynlib: atklib,
-    importc: "atk_relation_set_remove".}
-proc atk_relation_set_add*(RelationSet: PAtkRelationSet, relation: PAtkRelation){.
-    cdecl, dynlib: atklib, importc: "atk_relation_set_add".}
-proc atk_relation_set_get_n_relations*(RelationSet: PAtkRelationSet): gint{.
-    cdecl, dynlib: atklib, importc: "atk_relation_set_get_n_relations".}
-proc atk_relation_set_get_relation*(RelationSet: PAtkRelationSet, i: gint): PAtkRelation{.
-    cdecl, dynlib: atklib, importc: "atk_relation_set_get_relation".}
-proc atk_relation_set_get_relation_by_type*(RelationSet: PAtkRelationSet,
-    relationship: TAtkRelationType): PAtkRelation{.cdecl, dynlib: atklib,
-    importc: "atk_relation_set_get_relation_by_type".}
-proc ATK_TYPE_SELECTION*(): GType
-proc ATK_IS_SELECTION*(obj: pointer): bool
-proc ATK_SELECTION*(obj: pointer): PAtkSelection
-proc ATK_SELECTION_GET_IFACE*(obj: pointer): PAtkSelectionIface
-proc atk_selection_get_type*(): GType{.cdecl, dynlib: atklib,
-                                       importc: "atk_selection_get_type".}
-proc atk_selection_add_selection*(selection: PAtkSelection, i: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_selection_add_selection".}
-proc atk_selection_clear_selection*(selection: PAtkSelection): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_selection_clear_selection".}
-proc atk_selection_ref_selection*(selection: PAtkSelection, i: gint): PAtkObject{.
-    cdecl, dynlib: atklib, importc: "atk_selection_ref_selection".}
-proc atk_selection_get_selection_count*(selection: PAtkSelection): gint{.cdecl,
-    dynlib: atklib, importc: "atk_selection_get_selection_count".}
-proc atk_selection_is_child_selected*(selection: PAtkSelection, i: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_selection_is_child_selected".}
-proc atk_selection_remove_selection*(selection: PAtkSelection, i: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_selection_remove_selection".}
-proc atk_selection_select_all_selection*(selection: PAtkSelection): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_selection_select_all_selection".}
-proc atk_state_type_register*(name: cstring): TAtkStateType{.cdecl,
-    dynlib: atklib, importc: "atk_state_type_register".}
-proc atk_state_type_get_name*(`type`: TAtkStateType): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_state_type_get_name".}
-proc atk_state_type_for_name*(name: cstring): TAtkStateType{.cdecl,
-    dynlib: atklib, importc: "atk_state_type_for_name".}
-proc ATK_TYPE_STATE_SET*(): GType
-proc ATK_STATE_SET*(obj: pointer): PAtkStateSet
-proc ATK_STATE_SET_CLASS*(klass: pointer): PAtkStateSetClass
-proc ATK_IS_STATE_SET*(obj: pointer): bool
-proc ATK_IS_STATE_SET_CLASS*(klass: pointer): bool
-proc ATK_STATE_SET_GET_CLASS*(obj: pointer): PAtkStateSetClass
-proc atk_state_set_get_type*(): GType{.cdecl, dynlib: atklib,
-                                       importc: "atk_state_set_get_type".}
-proc atk_state_set_new*(): PAtkStateSet{.cdecl, dynlib: atklib,
-    importc: "atk_state_set_new".}
-proc atk_state_set_is_empty*(StateSet: PAtkStateSet): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_state_set_is_empty".}
-proc atk_state_set_add_state*(StateSet: PAtkStateSet, `type`: TAtkStateType): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_state_set_add_state".}
-proc atk_state_set_add_states*(StateSet: PAtkStateSet, types: PAtkStateType,
-                               n_types: gint){.cdecl, dynlib: atklib,
-    importc: "atk_state_set_add_states".}
-proc atk_state_set_clear_states*(StateSet: PAtkStateSet){.cdecl, dynlib: atklib,
-    importc: "atk_state_set_clear_states".}
-proc atk_state_set_contains_state*(StateSet: PAtkStateSet, `type`: TAtkStateType): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_state_set_contains_state".}
-proc atk_state_set_contains_states*(StateSet: PAtkStateSet,
-                                    types: PAtkStateType, n_types: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_state_set_contains_states".}
-proc atk_state_set_remove_state*(StateSet: PAtkStateSet, `type`: TAtkStateType): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_state_set_remove_state".}
-proc atk_state_set_and_sets*(StateSet: PAtkStateSet, compare_set: PAtkStateSet): PAtkStateSet{.
-    cdecl, dynlib: atklib, importc: "atk_state_set_and_sets".}
-proc atk_state_set_or_sets*(StateSet: PAtkStateSet, compare_set: PAtkStateSet): PAtkStateSet{.
-    cdecl, dynlib: atklib, importc: "atk_state_set_or_sets".}
-proc atk_state_set_xor_sets*(StateSet: PAtkStateSet, compare_set: PAtkStateSet): PAtkStateSet{.
-    cdecl, dynlib: atklib, importc: "atk_state_set_xor_sets".}
-proc ATK_TYPE_STREAMABLE_CONTENT*(): GType
-proc ATK_IS_STREAMABLE_CONTENT*(obj: pointer): bool
-proc ATK_STREAMABLE_CONTENT*(obj: pointer): PAtkStreamableContent
-proc ATK_STREAMABLE_CONTENT_GET_IFACE*(obj: pointer): PAtkStreamableContentIface
-proc atk_streamable_content_get_type*(): GType{.cdecl, dynlib: atklib,
-    importc: "atk_streamable_content_get_type".}
-proc atk_streamable_content_get_n_mime_types*(streamable: PAtkStreamableContent): gint{.
-    cdecl, dynlib: atklib, importc: "atk_streamable_content_get_n_mime_types".}
-proc atk_streamable_content_get_mime_type*(streamable: PAtkStreamableContent,
-    i: gint): cstring{.cdecl, dynlib: atklib,
-                      importc: "atk_streamable_content_get_mime_type".}
-proc atk_streamable_content_get_stream*(streamable: PAtkStreamableContent,
-                                        mime_type: cstring): PGIOChannel{.cdecl,
-    dynlib: atklib, importc: "atk_streamable_content_get_stream".}
-proc ATK_TYPE_TABLE*(): GType
-proc ATK_IS_TABLE*(obj: pointer): bool
-proc ATK_TABLE*(obj: pointer): PAtkTable
-proc ATK_TABLE_GET_IFACE*(obj: pointer): PAtkTableIface
-proc atk_table_get_type*(): GType{.cdecl, dynlib: atklib,
-                                   importc: "atk_table_get_type".}
-proc atk_table_ref_at*(table: PAtkTable, row, column: gint): PAtkObject{.cdecl,
-    dynlib: atklib, importc: "atk_table_ref_at".}
-proc atk_table_get_index_at*(table: PAtkTable, row, column: gint): gint{.cdecl,
-    dynlib: atklib, importc: "atk_table_get_index_at".}
-proc atk_table_get_column_at_index*(table: PAtkTable, index: gint): gint{.cdecl,
-    dynlib: atklib, importc: "atk_table_get_column_at_index".}
-proc atk_table_get_row_at_index*(table: PAtkTable, index: gint): gint{.cdecl,
-    dynlib: atklib, importc: "atk_table_get_row_at_index".}
-proc atk_table_get_n_columns*(table: PAtkTable): gint{.cdecl, dynlib: atklib,
-    importc: "atk_table_get_n_columns".}
-proc atk_table_get_n_rows*(table: PAtkTable): gint{.cdecl, dynlib: atklib,
-    importc: "atk_table_get_n_rows".}
-proc atk_table_get_column_extent_at*(table: PAtkTable, row: gint, column: gint): gint{.
-    cdecl, dynlib: atklib, importc: "atk_table_get_column_extent_at".}
-proc atk_table_get_row_extent_at*(table: PAtkTable, row: gint, column: gint): gint{.
-    cdecl, dynlib: atklib, importc: "atk_table_get_row_extent_at".}
-proc atk_table_get_caption*(table: PAtkTable): PAtkObject{.cdecl,
-    dynlib: atklib, importc: "atk_table_get_caption".}
-proc atk_table_get_column_description*(table: PAtkTable, column: gint): cstring{.
-    cdecl, dynlib: atklib, importc: "atk_table_get_column_description".}
-proc atk_table_get_column_header*(table: PAtkTable, column: gint): PAtkObject{.
-    cdecl, dynlib: atklib, importc: "atk_table_get_column_header".}
-proc atk_table_get_row_description*(table: PAtkTable, row: gint): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_table_get_row_description".}
-proc atk_table_get_row_header*(table: PAtkTable, row: gint): PAtkObject{.cdecl,
-    dynlib: atklib, importc: "atk_table_get_row_header".}
-proc atk_table_get_summary*(table: PAtkTable): PAtkObject{.cdecl,
-    dynlib: atklib, importc: "atk_table_get_summary".}
-proc atk_table_set_caption*(table: PAtkTable, caption: PAtkObject){.cdecl,
-    dynlib: atklib, importc: "atk_table_set_caption".}
-proc atk_table_set_column_description*(table: PAtkTable, column: gint,
-                                       description: cstring){.cdecl,
-    dynlib: atklib, importc: "atk_table_set_column_description".}
-proc atk_table_set_column_header*(table: PAtkTable, column: gint,
-                                  header: PAtkObject){.cdecl, dynlib: atklib,
-    importc: "atk_table_set_column_header".}
-proc atk_table_set_row_description*(table: PAtkTable, row: gint,
-                                    description: cstring){.cdecl, dynlib: atklib,
-    importc: "atk_table_set_row_description".}
-proc atk_table_set_row_header*(table: PAtkTable, row: gint, header: PAtkObject){.
-    cdecl, dynlib: atklib, importc: "atk_table_set_row_header".}
-proc atk_table_set_summary*(table: PAtkTable, accessible: PAtkObject){.cdecl,
-    dynlib: atklib, importc: "atk_table_set_summary".}
-proc atk_table_get_selected_columns*(table: PAtkTable, selected: PPgint): gint{.
-    cdecl, dynlib: atklib, importc: "atk_table_get_selected_columns".}
-proc atk_table_get_selected_rows*(table: PAtkTable, selected: PPgint): gint{.
-    cdecl, dynlib: atklib, importc: "atk_table_get_selected_rows".}
-proc atk_table_is_column_selected*(table: PAtkTable, column: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_table_is_column_selected".}
-proc atk_table_is_row_selected*(table: PAtkTable, row: gint): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_table_is_row_selected".}
-proc atk_table_is_selected*(table: PAtkTable, row: gint, column: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_table_is_selected".}
-proc atk_table_add_row_selection*(table: PAtkTable, row: gint): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_table_add_row_selection".}
-proc atk_table_remove_row_selection*(table: PAtkTable, row: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_table_remove_row_selection".}
-proc atk_table_add_column_selection*(table: PAtkTable, column: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_table_add_column_selection".}
-proc atk_table_remove_column_selection*(table: PAtkTable, column: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_table_remove_column_selection".}
-proc atk_text_attribute_register*(name: cstring): TAtkTextAttribute{.cdecl,
-    dynlib: atklib, importc: "atk_text_attribute_register".}
-proc ATK_TYPE_TEXT*(): GType
-proc ATK_IS_TEXT*(obj: pointer): bool
-proc ATK_TEXT*(obj: pointer): PAtkText
-proc ATK_TEXT_GET_IFACE*(obj: pointer): PAtkTextIface
-proc atk_text_get_type*(): GType{.cdecl, dynlib: atklib,
-                                  importc: "atk_text_get_type".}
-proc atk_text_get_text*(text: PAtkText, start_offset: gint, end_offset: gint): cstring{.
-    cdecl, dynlib: atklib, importc: "atk_text_get_text".}
-proc atk_text_get_character_at_offset*(text: PAtkText, offset: gint): gunichar{.
-    cdecl, dynlib: atklib, importc: "atk_text_get_character_at_offset".}
-proc atk_text_get_text_after_offset*(text: PAtkText, offset: gint,
-                                     boundary_type: TAtkTextBoundary,
-                                     start_offset: Pgint, end_offset: Pgint): cstring{.
-    cdecl, dynlib: atklib, importc: "atk_text_get_text_after_offset".}
-proc atk_text_get_text_at_offset*(text: PAtkText, offset: gint,
-                                  boundary_type: TAtkTextBoundary,
-                                  start_offset: Pgint, end_offset: Pgint): cstring{.
-    cdecl, dynlib: atklib, importc: "atk_text_get_text_at_offset".}
-proc atk_text_get_text_before_offset*(text: PAtkText, offset: gint,
-                                      boundary_type: TAtkTextBoundary,
-                                      start_offset: Pgint, end_offset: Pgint): cstring{.
-    cdecl, dynlib: atklib, importc: "atk_text_get_text_before_offset".}
-proc atk_text_get_caret_offset*(text: PAtkText): gint{.cdecl, dynlib: atklib,
-    importc: "atk_text_get_caret_offset".}
-proc atk_text_get_character_extents*(text: PAtkText, offset: gint, x: Pgint,
-                                     y: Pgint, width: Pgint, height: Pgint,
-                                     coords: TAtkCoordType){.cdecl,
-    dynlib: atklib, importc: "atk_text_get_character_extents".}
-proc atk_text_get_run_attributes*(text: PAtkText, offset: gint,
-                                  start_offset: Pgint, end_offset: Pgint): PAtkAttributeSet{.
-    cdecl, dynlib: atklib, importc: "atk_text_get_run_attributes".}
-proc atk_text_get_default_attributes*(text: PAtkText): PAtkAttributeSet{.cdecl,
-    dynlib: atklib, importc: "atk_text_get_default_attributes".}
-proc atk_text_get_character_count*(text: PAtkText): gint{.cdecl, dynlib: atklib,
-    importc: "atk_text_get_character_count".}
-proc atk_text_get_offset_at_point*(text: PAtkText, x: gint, y: gint,
-                                   coords: TAtkCoordType): gint{.cdecl,
-    dynlib: atklib, importc: "atk_text_get_offset_at_point".}
-proc atk_text_get_n_selections*(text: PAtkText): gint{.cdecl, dynlib: atklib,
-    importc: "atk_text_get_n_selections".}
-proc atk_text_get_selection*(text: PAtkText, selection_num: gint,
-                             start_offset: Pgint, end_offset: Pgint): cstring{.
-    cdecl, dynlib: atklib, importc: "atk_text_get_selection".}
-proc atk_text_add_selection*(text: PAtkText, start_offset: gint,
-                             end_offset: gint): gboolean{.cdecl, dynlib: atklib,
-    importc: "atk_text_add_selection".}
-proc atk_text_remove_selection*(text: PAtkText, selection_num: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_text_remove_selection".}
-proc atk_text_set_selection*(text: PAtkText, selection_num: gint,
-                             start_offset: gint, end_offset: gint): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_text_set_selection".}
-proc atk_text_set_caret_offset*(text: PAtkText, offset: gint): gboolean{.cdecl,
-    dynlib: atklib, importc: "atk_text_set_caret_offset".}
-proc atk_attribute_set_free*(attrib_set: PAtkAttributeSet){.cdecl,
-    dynlib: atklib, importc: "atk_attribute_set_free".}
-proc atk_text_attribute_get_name*(attr: TAtkTextAttribute): cstring{.cdecl,
-    dynlib: atklib, importc: "atk_text_attribute_get_name".}
-proc atk_text_attribute_for_name*(name: cstring): TAtkTextAttribute{.cdecl,
-    dynlib: atklib, importc: "atk_text_attribute_for_name".}
-proc atk_text_attribute_get_value*(attr: TAtkTextAttribute, index: gint): cstring{.
-    cdecl, dynlib: atklib, importc: "atk_text_attribute_get_value".}
-proc ATK_TYPE_UTIL*(): GType
-proc ATK_IS_UTIL*(obj: pointer): bool
-proc ATK_UTIL*(obj: pointer): PAtkUtil
-proc ATK_UTIL_CLASS*(klass: pointer): PAtkUtilClass
-proc ATK_IS_UTIL_CLASS*(klass: pointer): bool
-proc ATK_UTIL_GET_CLASS*(obj: pointer): PAtkUtilClass
-proc atk_util_get_type*(): GType{.cdecl, dynlib: atklib,
-                                  importc: "atk_util_get_type".}
-proc atk_add_focus_tracker*(focus_tracker: TAtkEventListener): guint{.cdecl,
-    dynlib: atklib, importc: "atk_add_focus_tracker".}
-proc atk_remove_focus_tracker*(tracker_id: guint){.cdecl, dynlib: atklib,
-    importc: "atk_remove_focus_tracker".}
-proc atk_focus_tracker_init*(add_function: TAtkEventListenerInit){.cdecl,
-    dynlib: atklib, importc: "atk_focus_tracker_init".}
-proc atk_focus_tracker_notify*(anObject: PAtkObject){.cdecl, dynlib: atklib,
-    importc: "atk_focus_tracker_notify".}
-proc atk_add_global_event_listener*(listener: TGSignalEmissionHook,
-                                    event_type: cstring): guint{.cdecl,
-    dynlib: atklib, importc: "atk_add_global_event_listener".}
-proc atk_remove_global_event_listener*(listener_id: guint){.cdecl,
-    dynlib: atklib, importc: "atk_remove_global_event_listener".}
-proc atk_add_key_event_listener*(listener: TAtkKeySnoopFunc, data: gpointer): guint{.
-    cdecl, dynlib: atklib, importc: "atk_add_key_event_listener".}
-proc atk_remove_key_event_listener*(listener_id: guint){.cdecl, dynlib: atklib,
-    importc: "atk_remove_key_event_listener".}
-proc atk_get_root*(): PAtkObject{.cdecl, dynlib: atklib, importc: "atk_get_root".}
-proc atk_get_toolkit_name*(): cstring{.cdecl, dynlib: atklib,
-                                      importc: "atk_get_toolkit_name".}
-proc atk_get_toolkit_version*(): cstring{.cdecl, dynlib: atklib,
-    importc: "atk_get_toolkit_version".}
-proc ATK_TYPE_VALUE*(): GType
-proc ATK_IS_VALUE*(obj: pointer): bool
-proc ATK_VALUE*(obj: pointer): PAtkValue
-proc ATK_VALUE_GET_IFACE*(obj: pointer): PAtkValueIface
-proc atk_value_get_type*(): GType{.cdecl, dynlib: atklib,
-                                   importc: "atk_value_get_type".}
-proc atk_value_get_current_value*(obj: PAtkValue, value: PGValue){.cdecl,
-    dynlib: atklib, importc: "atk_value_get_current_value".}
-proc atk_value_get_maximum_value*(obj: PAtkValue, value: PGValue){.cdecl,
-    dynlib: atklib, importc: "atk_value_get_maximum_value".}
-proc atk_value_get_minimum_value*(obj: PAtkValue, value: PGValue){.cdecl,
-    dynlib: atklib, importc: "atk_value_get_minimum_value".}
-proc atk_value_set_current_value*(obj: PAtkValue, value: PGValue): gboolean{.
-    cdecl, dynlib: atklib, importc: "atk_value_set_current_value".}
-proc ATK_TYPE_OBJECT*(): GType =
-  result = atk_object_get_type()
-
-proc ATK_OBJECT*(obj: pointer): PAtkObject =
-  result = cast[PAtkObject](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_OBJECT()))
-
-proc ATK_OBJECT_CLASS*(klass: pointer): PAtkObjectClass =
-  result = cast[PAtkObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, ATK_TYPE_OBJECT()))
-
-proc ATK_IS_OBJECT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_OBJECT())
-
-proc ATK_IS_OBJECT_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_OBJECT())
-
-proc ATK_OBJECT_GET_CLASS*(obj: pointer): PAtkObjectClass =
-  result = cast[PAtkObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, ATK_TYPE_OBJECT()))
-
-proc ATK_TYPE_IMPLEMENTOR*(): GType =
-  result = atk_implementor_get_type()
-
-proc ATK_IS_IMPLEMENTOR*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_IMPLEMENTOR())
-
-proc ATK_IMPLEMENTOR*(obj: pointer): PAtkImplementor =
-  result = PAtkImplementor(G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_IMPLEMENTOR()))
-
-proc ATK_IMPLEMENTOR_GET_IFACE*(obj: pointer): PAtkImplementorIface =
-  result = cast[PAtkImplementorIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      ATK_TYPE_IMPLEMENTOR()))
-
-proc ATK_TYPE_ACTION*(): GType =
-  result = atk_action_get_type()
-
-proc ATK_IS_ACTION*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_ACTION())
-
-proc ATK_ACTION*(obj: pointer): PAtkAction =
-  result = PAtkAction(G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_ACTION()))
-
-proc ATK_ACTION_GET_IFACE*(obj: pointer): PAtkActionIface =
-  result = cast[PAtkActionIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-    ATK_TYPE_ACTION()))
-
-proc ATK_TYPE_COMPONENT*(): GType =
-  result = atk_component_get_type()
-
-proc ATK_IS_COMPONENT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_COMPONENT())
-
-proc ATK_COMPONENT*(obj: pointer): PAtkComponent =
-  result = PAtkComponent(G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_COMPONENT()))
-
-proc ATK_COMPONENT_GET_IFACE*(obj: pointer): PAtkComponentIface =
-  result = cast[PAtkComponentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      ATK_TYPE_COMPONENT()))
-
-proc ATK_TYPE_DOCUMENT*(): GType =
-  result = atk_document_get_type()
-
-proc ATK_IS_DOCUMENT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_DOCUMENT())
-
-proc ATK_DOCUMENT*(obj: pointer): PAtkDocument =
-  result = cast[PAtkDocument](G_TYPE_CHECK_INSTANCE_CAST(obj,
-    ATK_TYPE_DOCUMENT()))
-
-proc ATK_DOCUMENT_GET_IFACE*(obj: pointer): PAtkDocumentIface =
-  result = cast[PAtkDocumentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      ATK_TYPE_DOCUMENT()))
-
-proc ATK_TYPE_EDITABLE_TEXT*(): GType =
-  result = atk_editable_text_get_type()
-
-proc ATK_IS_EDITABLE_TEXT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_EDITABLE_TEXT())
-
-proc ATK_EDITABLE_TEXT*(obj: pointer): PAtkEditableText =
-  result = cast[PAtkEditableText](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      ATK_TYPE_EDITABLE_TEXT()))
-
-proc ATK_EDITABLE_TEXT_GET_IFACE*(obj: pointer): PAtkEditableTextIface =
-  result = cast[PAtkEditableTextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      ATK_TYPE_EDITABLE_TEXT()))
-
-proc ATK_TYPE_GOBJECT_ACCESSIBLE*(): GType =
-  result = atk_gobject_accessible_get_type()
-
-proc ATK_GOBJECT_ACCESSIBLE*(obj: pointer): PAtkGObjectAccessible =
-  result = cast[PAtkGObjectAccessible](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      ATK_TYPE_GOBJECT_ACCESSIBLE()))
-
-proc ATK_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): PAtkGObjectAccessibleClass =
-  result = cast[PAtkGObjectAccessibleClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      ATK_TYPE_GOBJECT_ACCESSIBLE()))
-
-proc ATK_IS_GOBJECT_ACCESSIBLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_GOBJECT_ACCESSIBLE())
-
-proc ATK_IS_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_GOBJECT_ACCESSIBLE())
-
-proc ATK_GOBJECT_ACCESSIBLE_GET_CLASS*(obj: pointer): PAtkGObjectAccessibleClass =
-  result = cast[PAtkGObjectAccessibleClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      ATK_TYPE_GOBJECT_ACCESSIBLE()))
-
-proc ATK_TYPE_HYPERLINK*(): GType =
-  result = atk_hyperlink_get_type()
-
-proc ATK_HYPERLINK*(obj: pointer): PAtkHyperlink =
-  result = cast[PAtkHyperlink](G_TYPE_CHECK_INSTANCE_CAST(obj,
-                              ATK_TYPE_HYPERLINK()))
-
-proc ATK_HYPERLINK_CLASS*(klass: pointer): PAtkHyperlinkClass =
-  result = cast[PAtkHyperlinkClass](G_TYPE_CHECK_CLASS_CAST(klass,
-                                    ATK_TYPE_HYPERLINK()))
-
-proc ATK_IS_HYPERLINK*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_HYPERLINK())
-
-proc ATK_IS_HYPERLINK_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_HYPERLINK())
-
-proc ATK_HYPERLINK_GET_CLASS*(obj: pointer): PAtkHyperlinkClass =
-  result = cast[PAtkHyperlinkClass](G_TYPE_INSTANCE_GET_CLASS(obj, ATK_TYPE_HYPERLINK()))
-
-proc ATK_TYPE_HYPERTEXT*(): GType =
-  result = atk_hypertext_get_type()
-
-proc ATK_IS_HYPERTEXT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_HYPERTEXT())
-
-proc ATK_HYPERTEXT*(obj: pointer): PAtkHypertext =
-  result = cast[PAtkHypertext](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_HYPERTEXT()))
-
-proc ATK_HYPERTEXT_GET_IFACE*(obj: pointer): PAtkHypertextIface =
-  result = cast[PAtkHypertextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      ATK_TYPE_HYPERTEXT()))
-
-proc ATK_TYPE_IMAGE*(): GType =
-  result = atk_image_get_type()
-
-proc ATK_IS_IMAGE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_IMAGE())
-
-proc ATK_IMAGE*(obj: pointer): PAtkImage =
-  result = cast[PAtkImage](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_IMAGE()))
-
-proc ATK_IMAGE_GET_IFACE*(obj: pointer): PAtkImageIface =
-  result = cast[PAtkImageIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, ATK_TYPE_IMAGE()))
-
-proc ATK_TYPE_OBJECT_FACTORY*(): GType =
-  result = atk_object_factory_get_type()
-
-proc ATK_OBJECT_FACTORY*(obj: pointer): PAtkObjectFactory =
-  result = cast[PAtkObjectFactory](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      ATK_TYPE_OBJECT_FACTORY()))
-
-proc ATK_OBJECT_FACTORY_CLASS*(klass: pointer): PAtkObjectFactoryClass =
-  result = cast[PAtkObjectFactoryClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      ATK_TYPE_OBJECT_FACTORY()))
-
-proc ATK_IS_OBJECT_FACTORY*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_OBJECT_FACTORY())
-
-proc ATK_IS_OBJECT_FACTORY_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_OBJECT_FACTORY())
-
-proc ATK_OBJECT_FACTORY_GET_CLASS*(obj: pointer): PAtkObjectFactoryClass =
-  result = cast[PAtkObjectFactoryClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      ATK_TYPE_OBJECT_FACTORY()))
-
-proc ATK_TYPE_REGISTRY*(): GType =
-  result = atk_registry_get_type()
-
-proc ATK_REGISTRY*(obj: pointer): PAtkRegistry =
-  result = cast[PAtkRegistry](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_REGISTRY()))
-
-proc ATK_REGISTRY_CLASS*(klass: pointer): PAtkRegistryClass =
-  result = cast[PAtkRegistryClass](G_TYPE_CHECK_CLASS_CAST(klass,
-                                   ATK_TYPE_REGISTRY()))
-
-proc ATK_IS_REGISTRY*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_REGISTRY())
-
-proc ATK_IS_REGISTRY_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_REGISTRY())
-
-proc ATK_REGISTRY_GET_CLASS*(obj: pointer): PAtkRegistryClass =
-  result = cast[PAtkRegistryClass](G_TYPE_INSTANCE_GET_CLASS(obj, ATK_TYPE_REGISTRY()))
-
-proc ATK_TYPE_RELATION*(): GType =
-  result = atk_relation_get_type()
-
-proc ATK_RELATION*(obj: pointer): PAtkRelation =
-  result = cast[PAtkRelation](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_RELATION()))
-
-proc ATK_RELATION_CLASS*(klass: pointer): PAtkRelationClass =
-  result = cast[PAtkRelationClass](G_TYPE_CHECK_CLASS_CAST(klass, ATK_TYPE_RELATION()))
-
-proc ATK_IS_RELATION*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_RELATION())
-
-proc ATK_IS_RELATION_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_RELATION())
-
-proc ATK_RELATION_GET_CLASS*(obj: pointer): PAtkRelationClass =
-  result = cast[PAtkRelationClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-    ATK_TYPE_RELATION()))
-
-proc ATK_TYPE_RELATION_SET*(): GType =
-  result = atk_relation_set_get_type()
-
-proc ATK_RELATION_SET*(obj: pointer): PAtkRelationSet =
-  result = cast[PAtkRelationSet](G_TYPE_CHECK_INSTANCE_CAST(obj,
-    ATK_TYPE_RELATION_SET()))
-
-proc ATK_RELATION_SET_CLASS*(klass: pointer): PAtkRelationSetClass =
-  result = cast[PAtkRelationSetClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      ATK_TYPE_RELATION_SET()))
-
-proc ATK_IS_RELATION_SET*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_RELATION_SET())
-
-proc ATK_IS_RELATION_SET_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_RELATION_SET())
-
-proc ATK_RELATION_SET_GET_CLASS*(obj: pointer): PAtkRelationSetClass =
-  result = cast[PAtkRelationSetClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      ATK_TYPE_RELATION_SET()))
-
-proc ATK_TYPE_SELECTION*(): GType =
-  result = atk_selection_get_type()
-
-proc ATK_IS_SELECTION*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_SELECTION())
-
-proc ATK_SELECTION*(obj: pointer): PAtkSelection =
-  result = cast[PAtkSelection](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_SELECTION()))
-
-proc ATK_SELECTION_GET_IFACE*(obj: pointer): PAtkSelectionIface =
-  result = cast[PAtkSelectionIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      ATK_TYPE_SELECTION()))
-
-proc ATK_TYPE_STATE_SET*(): GType =
-  result = atk_state_set_get_type()
-
-proc ATK_STATE_SET*(obj: pointer): PAtkStateSet =
-  result = cast[PAtkStateSet](G_TYPE_CHECK_INSTANCE_CAST(obj,
-    ATK_TYPE_STATE_SET()))
-
-proc ATK_STATE_SET_CLASS*(klass: pointer): PAtkStateSetClass =
-  result = cast[PAtkStateSetClass](G_TYPE_CHECK_CLASS_CAST(klass,
-    ATK_TYPE_STATE_SET()))
-
-proc ATK_IS_STATE_SET*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_STATE_SET())
-
-proc ATK_IS_STATE_SET_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_STATE_SET())
-
-proc ATK_STATE_SET_GET_CLASS*(obj: pointer): PAtkStateSetClass =
-  result = cast[PAtkStateSetClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-    ATK_TYPE_STATE_SET()))
-
-proc ATK_TYPE_STREAMABLE_CONTENT*(): GType =
-  result = atk_streamable_content_get_type()
-
-proc ATK_IS_STREAMABLE_CONTENT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_STREAMABLE_CONTENT())
-
-proc ATK_STREAMABLE_CONTENT*(obj: pointer): PAtkStreamableContent =
-  result = cast[PAtkStreamableContent](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      ATK_TYPE_STREAMABLE_CONTENT()))
-
-proc ATK_STREAMABLE_CONTENT_GET_IFACE*(obj: pointer): PAtkStreamableContentIface =
-  result = cast[PAtkStreamableContentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      ATK_TYPE_STREAMABLE_CONTENT()))
-
-proc ATK_TYPE_TABLE*(): GType =
-  result = atk_table_get_type()
-
-proc ATK_IS_TABLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_TABLE())
-
-proc ATK_TABLE*(obj: pointer): PAtkTable =
-  result = cast[PAtkTable](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_TABLE()))
-
-proc ATK_TABLE_GET_IFACE*(obj: pointer): PAtkTableIface =
-  result = cast[PAtkTableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, ATK_TYPE_TABLE()))
-
-proc ATK_TYPE_TEXT*(): GType =
-  result = atk_text_get_type()
-
-proc ATK_IS_TEXT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_TEXT())
-
-proc ATK_TEXT*(obj: pointer): PAtkText =
-  result = cast[PAtkText](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_TEXT()))
-
-proc ATK_TEXT_GET_IFACE*(obj: pointer): PAtkTextIface =
-  result = cast[PAtkTextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, ATK_TYPE_TEXT()))
-
-proc ATK_TYPE_UTIL*(): GType =
-  result = atk_util_get_type()
-
-proc ATK_IS_UTIL*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_UTIL())
-
-proc ATK_UTIL*(obj: pointer): PAtkUtil =
-  result = cast[PAtkUtil](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_UTIL()))
-
-proc ATK_UTIL_CLASS*(klass: pointer): PAtkUtilClass =
-  result = cast[PAtkUtilClass](G_TYPE_CHECK_CLASS_CAST(klass, ATK_TYPE_UTIL()))
-
-proc ATK_IS_UTIL_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_UTIL())
-
-proc ATK_UTIL_GET_CLASS*(obj: pointer): PAtkUtilClass =
-  result = cast[PAtkUtilClass](G_TYPE_INSTANCE_GET_CLASS(obj, ATK_TYPE_UTIL()))
-
-proc ATK_TYPE_VALUE*(): GType =
-  result = atk_value_get_type()
-
-proc ATK_IS_VALUE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_VALUE())
-
-proc ATK_VALUE*(obj: pointer): PAtkValue =
-  result = cast[PAtkValue](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_VALUE()))
-
-proc ATK_VALUE_GET_IFACE*(obj: pointer): PAtkValueIface =
-  result = cast[PAtkValueIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, ATK_TYPE_VALUE()))
diff --git a/lib/oldwrappers/gtk/gdk2.nim b/lib/oldwrappers/gtk/gdk2.nim
deleted file mode 100755
index 0ca5056b5..000000000
--- a/lib/oldwrappers/gtk/gdk2.nim
+++ /dev/null
@@ -1,3958 +0,0 @@
-{.deadCodeElim: on.}
-
-import
-  glib2, gdk2pixbuf, pango
-
-when defined(win32):
-  const
-    gdklib = "libgdk-win32-2.0-0.dll"
-    GDK_HAVE_WCHAR_H = 1
-    GDK_HAVE_WCTYPE_H = 1
-elif defined(darwin):
-  #    linklib gtk-x11-2.0
-  #    linklib gdk-x11-2.0
-  #    linklib pango-1.0.0
-  #    linklib glib-2.0.0
-  #    linklib gobject-2.0.0
-  #    linklib gdk_pixbuf-2.0.0
-  #    linklib atk-1.0.0
-  const
-    gdklib = "gdk-x11-2.0"
-else:
-  const
-    gdklib = "libgdk-x11-2.0.so"
-const
-  NUMPTSTOBUFFER* = 200
-  GDK_MAX_TIMECOORD_AXES* = 128
-
-type
-  PGdkDeviceClass* = ptr TGdkDeviceClass
-  TGdkDeviceClass* = object of TGObjectClass
-
-  PGdkVisualClass* = ptr TGdkVisualClass
-  TGdkVisualClass* = object of TGObjectClass
-
-  PGdkColor* = ptr TGdkColor
-  TGdkColor* {.final, pure.} = object
-    pixel*: guint32
-    red*: guint16
-    green*: guint16
-    blue*: guint16
-
-  PGdkColormap* = ptr TGdkColormap
-  PGdkDrawable* = ptr TGdkDrawable
-  TGdkDrawable* = object of TGObject
-
-  PGdkWindow* = ptr TGdkWindow
-  TGdkWindow* = TGdkDrawable
-  PGdkPixmap* = ptr TGdkPixmap
-  TGdkPixmap* = TGdkDrawable
-  PGdkBitmap* = ptr TGdkBitmap
-  TGdkBitmap* = TGdkDrawable
-  PGdkFontType* = ptr TGdkFontType
-  TGdkFontType* = enum
-    GDK_FONT_FONT, GDK_FONT_FONTSET
-  PGdkFont* = ptr TGdkFont
-  TGdkFont* {.final, pure.} = object
-    `type`*: TGdkFontType
-    ascent*: gint
-    descent*: gint
-
-  PGdkFunction* = ptr TGdkFunction
-  TGdkFunction* = enum
-    GDK_COPY, GDK_INVERT, GDK_XOR, GDK_CLEAR, GDK_AND, GDK_AND_REVERSE,
-    GDK_AND_INVERT, GDK_NOOP, GDK_OR, GDK_EQUIV, GDK_OR_REVERSE,
-    GDK_COPY_INVERT, GDK_OR_INVERT, GDK_NAND, GDK_NOR, GDK_SET
-  PGdkCapStyle* = ptr TGdkCapStyle
-  TGdkCapStyle* = enum
-    GDK_CAP_NOT_LAST, GDK_CAP_BUTT, GDK_CAP_ROUND, GDK_CAP_PROJECTING
-  PGdkFill* = ptr TGdkFill
-  TGdkFill* = enum
-    GDK_SOLID, GDK_TILED, GDK_STIPPLED, GDK_OPAQUE_STIPPLED
-  PGdkJoinStyle* = ptr TGdkJoinStyle
-  TGdkJoinStyle* = enum
-    GDK_JOIN_MITER, GDK_JOIN_ROUND, GDK_JOIN_BEVEL
-  PGdkLineStyle* = ptr TGdkLineStyle
-  TGdkLineStyle* = enum
-    GDK_LINE_SOLID, GDK_LINE_ON_OFF_DASH, GDK_LINE_DOUBLE_DASH
-  PGdkSubwindowMode* = ptr TGdkSubwindowMode
-  TGdkSubwindowMode* = int
-  PGdkGCValuesMask* = ptr TGdkGCValuesMask
-  TGdkGCValuesMask* = int32
-  PGdkGCValues* = ptr TGdkGCValues
-  TGdkGCValues* {.final, pure.} = object
-    foreground*: TGdkColor
-    background*: TGdkColor
-    font*: PGdkFont
-    `function`*: TGdkFunction
-    fill*: TGdkFill
-    tile*: PGdkPixmap
-    stipple*: PGdkPixmap
-    clip_mask*: PGdkPixmap
-    subwindow_mode*: TGdkSubwindowMode
-    ts_x_origin*: gint
-    ts_y_origin*: gint
-    clip_x_origin*: gint
-    clip_y_origin*: gint
-    graphics_exposures*: gint
-    line_width*: gint
-    line_style*: TGdkLineStyle
-    cap_style*: TGdkCapStyle
-    join_style*: TGdkJoinStyle
-
-  PGdkGC* = ptr TGdkGC
-  TGdkGC* = object of TGObject
-    clip_x_origin*: gint
-    clip_y_origin*: gint
-    ts_x_origin*: gint
-    ts_y_origin*: gint
-    colormap*: PGdkColormap
-
-  PGdkImageType* = ptr TGdkImageType
-  TGdkImageType* = enum
-    GDK_IMAGE_NORMAL, GDK_IMAGE_SHARED, GDK_IMAGE_FASTEST
-  PGdkImage* = ptr TGdkImage
-  PGdkDevice* = ptr TGdkDevice
-  PGdkTimeCoord* = ptr TGdkTimeCoord
-  PPGdkTimeCoord* = ptr PGdkTimeCoord
-  PGdkRgbDither* = ptr TGdkRgbDither
-  TGdkRgbDither* = enum
-    GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_NORMAL, GDK_RGB_DITHER_MAX
-  PGdkDisplay* = ptr TGdkDisplay
-  PGdkScreen* = ptr TGdkScreen
-  TGdkScreen* = object of TGObject
-
-  PGdkInputCondition* = ptr TGdkInputCondition
-  TGdkInputCondition* = int32
-  PGdkStatus* = ptr TGdkStatus
-  TGdkStatus* = int32
-  TGdkPoint* {.final, pure.} = object
-    x*: gint
-    y*: gint
-
-  PGdkPoint* = ptr TGdkPoint
-  PPGdkPoint* = ptr PGdkPoint
-  PGdkSpan* = ptr TGdkSpan
-  PGdkWChar* = ptr TGdkWChar
-  TGdkWChar* = guint32
-  PGdkSegment* = ptr TGdkSegment
-  TGdkSegment* {.final, pure.} = object
-    x1*: gint
-    y1*: gint
-    x2*: gint
-    y2*: gint
-
-  PGdkRectangle* = ptr TGdkRectangle
-  TGdkRectangle* {.final, pure.} = object
-    x*: gint
-    y*: gint
-    width*: gint
-    height*: gint
-
-  PGdkAtom* = ptr TGdkAtom
-  TGdkAtom* = gulong
-  PGdkByteOrder* = ptr TGdkByteOrder
-  TGdkByteOrder* = enum
-    GDK_LSB_FIRST, GDK_MSB_FIRST
-  PGdkModifierType* = ptr TGdkModifierType
-  TGdkModifierType* = gint
-  PGdkVisualType* = ptr TGdkVisualType
-  TGdkVisualType* = enum
-    GDK_VISUAL_STATIC_GRAY, GDK_VISUAL_GRAYSCALE, GDK_VISUAL_STATIC_COLOR,
-    GDK_VISUAL_PSEUDO_COLOR, GDK_VISUAL_TRUE_COLOR, GDK_VISUAL_DIRECT_COLOR
-  PGdkVisual* = ptr TGdkVisual
-  TGdkVisual* = object of TGObject
-    TheType*: TGdkVisualType
-    depth*: gint
-    byte_order*: TGdkByteOrder
-    colormap_size*: gint
-    bits_per_rgb*: gint
-    red_mask*: guint32
-    red_shift*: gint
-    red_prec*: gint
-    green_mask*: guint32
-    green_shift*: gint
-    green_prec*: gint
-    blue_mask*: guint32
-    blue_shift*: gint
-    blue_prec*: gint
-    screen*: PGdkScreen
-
-  PGdkColormapClass* = ptr TGdkColormapClass
-  TGdkColormapClass* = object of TGObjectClass
-
-  TGdkColormap* = object of TGObject
-    size*: gint
-    colors*: PGdkColor
-    visual*: PGdkVisual
-    windowing_data*: gpointer
-    screen*: PGdkScreen
-
-  PGdkCursorType* = ptr TGdkCursorType
-  TGdkCursorType* = gint
-  PGdkCursor* = ptr TGdkCursor
-  TGdkCursor* {.final, pure.} = object
-    `type`*: TGdkCursorType
-    ref_count*: guint
-
-  PGdkDragAction* = ptr TGdkDragAction
-  TGdkDragAction* = int32
-  PGdkDragProtocol* = ptr TGdkDragProtocol
-  TGdkDragProtocol* = enum
-    GDK_DRAG_PROTO_MOTIF, GDK_DRAG_PROTO_XDND, GDK_DRAG_PROTO_ROOTWIN,
-    GDK_DRAG_PROTO_NONE, GDK_DRAG_PROTO_WIN32_DROPFILES, GDK_DRAG_PROTO_OLE2,
-    GDK_DRAG_PROTO_LOCAL
-  PGdkDragContext* = ptr TGdkDragContext
-  TGdkDragContext* = object of TGObject
-    protocol*: TGdkDragProtocol
-    is_source*: gboolean
-    source_window*: PGdkWindow
-    dest_window*: PGdkWindow
-    targets*: PGList
-    actions*: TGdkDragAction
-    suggested_action*: TGdkDragAction
-    action*: TGdkDragAction
-    start_time*: guint32
-    windowing_data*: gpointer
-
-  PGdkDragContextClass* = ptr TGdkDragContextClass
-  TGdkDragContextClass* = object of TGObjectClass
-
-  PGdkRegionBox* = ptr TGdkRegionBox
-  TGdkRegionBox* = TGdkSegment
-  PGdkRegion* = ptr TGdkRegion
-  TGdkRegion* {.final, pure.} = object
-    size*: int32
-    numRects*: int32
-    rects*: PGdkRegionBox
-    extents*: TGdkRegionBox
-
-  PPOINTBLOCK* = ptr TPOINTBLOCK
-  TPOINTBLOCK* {.final, pure.} = object
-    pts*: array[0..(NUMPTSTOBUFFER) - 1, TGdkPoint]
-    next*: PPOINTBLOCK
-
-  PGdkDrawableClass* = ptr TGdkDrawableClass
-  TGdkDrawableClass* = object of TGObjectClass
-    create_gc*: proc (drawable: PGdkDrawable, values: PGdkGCValues,
-                      mask: TGdkGCValuesMask): PGdkGC{.cdecl.}
-    draw_rectangle*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
-                           x: gint, y: gint, width: gint, height: gint){.cdecl.}
-    draw_arc*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint,
-                     y: gint, width: gint, height: gint, angle1: gint,
-                     angle2: gint){.cdecl.}
-    draw_polygon*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
-                         points: PGdkPoint, npoints: gint){.cdecl.}
-    draw_text*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC,
-                      x: gint, y: gint, text: cstring, text_length: gint){.cdecl.}
-    draw_text_wc*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC,
-                         x: gint, y: gint, text: PGdkWChar, text_length: gint){.
-        cdecl.}
-    draw_drawable*: proc (drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
-                          xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                          width: gint, height: gint){.cdecl.}
-    draw_points*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
-                        npoints: gint){.cdecl.}
-    draw_segments*: proc (drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment,
-                          nsegs: gint){.cdecl.}
-    draw_lines*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
-                       npoints: gint){.cdecl.}
-    draw_glyphs*: proc (drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont,
-                        x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl.}
-    draw_image*: proc (drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage,
-                       xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                       width: gint, height: gint){.cdecl.}
-    get_depth*: proc (drawable: PGdkDrawable): gint{.cdecl.}
-    get_size*: proc (drawable: PGdkDrawable, width: Pgint, height: Pgint){.cdecl.}
-    set_colormap*: proc (drawable: PGdkDrawable, cmap: PGdkColormap){.cdecl.}
-    get_colormap*: proc (drawable: PGdkDrawable): PGdkColormap{.cdecl.}
-    get_visual*: proc (drawable: PGdkDrawable): PGdkVisual{.cdecl.}
-    get_screen*: proc (drawable: PGdkDrawable): PGdkScreen{.cdecl.}
-    get_image*: proc (drawable: PGdkDrawable, x: gint, y: gint, width: gint,
-                      height: gint): PGdkImage{.cdecl.}
-    get_clip_region*: proc (drawable: PGdkDrawable): PGdkRegion{.cdecl.}
-    get_visible_region*: proc (drawable: PGdkDrawable): PGdkRegion{.cdecl.}
-    get_composite_drawable*: proc (drawable: PGdkDrawable, x: gint, y: gint,
-                                   width: gint, height: gint,
-                                   composite_x_offset: Pgint,
-                                   composite_y_offset: Pgint): PGdkDrawable{.
-        cdecl.}
-    `draw_pixbuf`*: proc (drawable: PGdkDrawable, gc: PGdkGC,
-                          pixbuf: PGdkPixbuf, src_x: gint, src_y: gint,
-                          dest_x: gint, dest_y: gint, width: gint, height: gint,
-                          dither: TGdkRgbDither, x_dither: gint, y_dither: gint){.
-        cdecl.}
-    `copy_to_image`*: proc (drawable: PGdkDrawable, image: PGdkImage,
-                            src_x: gint, src_y: gint, dest_x: gint,
-                            dest_y: gint, width: gint, height: gint): PGdkImage{.
-        cdecl.}
-    `gdk_reserved1`: proc (){.cdecl.}
-    `gdk_reserved2`: proc (){.cdecl.}
-    `gdk_reserved3`: proc (){.cdecl.}
-    `gdk_reserved4`: proc (){.cdecl.}
-    `gdk_reserved5`: proc (){.cdecl.}
-    `gdk_reserved6`: proc (){.cdecl.}
-    `gdk_reserved7`: proc (){.cdecl.}
-    `gdk_reserved9`: proc (){.cdecl.}
-    `gdk_reserved10`: proc (){.cdecl.}
-    `gdk_reserved11`: proc (){.cdecl.}
-    `gdk_reserved12`: proc (){.cdecl.}
-    `gdk_reserved13`: proc (){.cdecl.}
-    `gdk_reserved14`: proc (){.cdecl.}
-    `gdk_reserved15`: proc (){.cdecl.}
-    `gdk_reserved16`: proc (){.cdecl.}
-
-  PGdkEvent* = ptr TGdkEvent
-  TGdkEventFunc* = proc (event: PGdkEvent, data: gpointer){.cdecl.}
-  PGdkXEvent* = ptr TGdkXEvent
-  TGdkXEvent* = proc ()
-  PGdkFilterReturn* = ptr TGdkFilterReturn
-  TGdkFilterReturn* = enum
-    GDK_FILTER_CONTINUE, GDK_FILTER_TRANSLATE, GDK_FILTER_REMOVE
-  TGdkFilterFunc* = proc (xevent: PGdkXEvent, event: PGdkEvent, data: gpointer): TGdkFilterReturn{.
-      cdecl.}
-  PGdkEventType* = ptr TGdkEventType
-  TGdkEventType* = gint
-  PGdkEventMask* = ptr TGdkEventMask
-  TGdkEventMask* = gint32
-  PGdkVisibilityState* = ptr TGdkVisibilityState
-  TGdkVisibilityState* = enum
-    GDK_VISIBILITY_UNOBSCURED, GDK_VISIBILITY_PARTIAL,
-    GDK_VISIBILITY_FULLY_OBSCURED
-  PGdkScrollDirection* = ptr TGdkScrollDirection
-  TGdkScrollDirection* = enum
-    GDK_SCROLL_UP, GDK_SCROLL_DOWN, GDK_SCROLL_LEFT, GDK_SCROLL_RIGHT
-  PGdkNotifyType* = ptr TGdkNotifyType
-  TGdkNotifyType* = int
-  PGdkCrossingMode* = ptr TGdkCrossingMode
-  TGdkCrossingMode* = enum
-    GDK_CROSSING_NORMAL, GDK_CROSSING_GRAB, GDK_CROSSING_UNGRAB
-  PGdkPropertyState* = ptr TGdkPropertyState
-  TGdkPropertyState* = enum
-    GDK_PROPERTY_NEW_VALUE, GDK_PROPERTY_STATE_DELETE
-  PGdkWindowState* = ptr TGdkWindowState
-  TGdkWindowState* = gint
-  PGdkSettingAction* = ptr TGdkSettingAction
-  TGdkSettingAction* = enum
-    GDK_SETTING_ACTION_NEW, GDK_SETTING_ACTION_CHANGED,
-    GDK_SETTING_ACTION_DELETED
-  PGdkEventAny* = ptr TGdkEventAny
-  TGdkEventAny* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-
-  PGdkEventExpose* = ptr TGdkEventExpose
-  TGdkEventExpose* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    area*: TGdkRectangle
-    region*: PGdkRegion
-    count*: gint
-
-  PGdkEventNoExpose* = ptr TGdkEventNoExpose
-  TGdkEventNoExpose* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-
-  PGdkEventVisibility* = ptr TGdkEventVisibility
-  TGdkEventVisibility* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    state*: TGdkVisibilityState
-
-  PGdkEventMotion* = ptr TGdkEventMotion
-  TGdkEventMotion* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    x*: gdouble
-    y*: gdouble
-    axes*: Pgdouble
-    state*: guint
-    is_hint*: gint16
-    device*: PGdkDevice
-    x_root*: gdouble
-    y_root*: gdouble
-
-  PGdkEventButton* = ptr TGdkEventButton
-  TGdkEventButton* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    x*: gdouble
-    y*: gdouble
-    axes*: Pgdouble
-    state*: guint
-    button*: guint
-    device*: PGdkDevice
-    x_root*: gdouble
-    y_root*: gdouble
-
-  PGdkEventScroll* = ptr TGdkEventScroll
-  TGdkEventScroll* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    x*: gdouble
-    y*: gdouble
-    state*: guint
-    direction*: TGdkScrollDirection
-    device*: PGdkDevice
-    x_root*: gdouble
-    y_root*: gdouble
-
-  PGdkEventKey* = ptr TGdkEventKey
-  TGdkEventKey* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    state*: guint
-    keyval*: guint
-    length*: gint
-    `string`*: cstring
-    hardware_keycode*: guint16
-    group*: guint8
-
-  PGdkEventCrossing* = ptr TGdkEventCrossing
-  TGdkEventCrossing* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    subwindow*: PGdkWindow
-    time*: guint32
-    x*: gdouble
-    y*: gdouble
-    x_root*: gdouble
-    y_root*: gdouble
-    mode*: TGdkCrossingMode
-    detail*: TGdkNotifyType
-    focus*: gboolean
-    state*: guint
-
-  PGdkEventFocus* = ptr TGdkEventFocus
-  TGdkEventFocus* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    `in`*: gint16
-
-  PGdkEventConfigure* = ptr TGdkEventConfigure
-  TGdkEventConfigure* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    x*: gint
-    y*: gint
-    width*: gint
-    height*: gint
-
-  PGdkEventProperty* = ptr TGdkEventProperty
-  TGdkEventProperty* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    atom*: TGdkAtom
-    time*: guint32
-    state*: guint
-
-  TGdkNativeWindow* = pointer
-  PGdkEventSelection* = ptr TGdkEventSelection
-  TGdkEventSelection* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    selection*: TGdkAtom
-    target*: TGdkAtom
-    `property`*: TGdkAtom
-    time*: guint32
-    requestor*: TGdkNativeWindow
-
-  PGdkEventProximity* = ptr TGdkEventProximity
-  TGdkEventProximity* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    time*: guint32
-    device*: PGdkDevice
-
-  PmatDUMMY* = ptr TmatDUMMY
-  TmatDUMMY* {.final, pure.} = object
-    b*: array[0..19, char]
-
-  PGdkEventClient* = ptr TGdkEventClient
-  TGdkEventClient* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    message_type*: TGdkAtom
-    data_format*: gushort
-    b*: array[0..19, char]
-
-  PGdkEventSetting* = ptr TGdkEventSetting
-  TGdkEventSetting* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    action*: TGdkSettingAction
-    name*: cstring
-
-  PGdkEventWindowState* = ptr TGdkEventWindowState
-  TGdkEventWindowState* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    changed_mask*: TGdkWindowState
-    new_window_state*: TGdkWindowState
-
-  PGdkEventDND* = ptr TGdkEventDND
-  TGdkEventDND* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
-    send_event*: gint8
-    context*: PGdkDragContext
-    time*: guint32
-    x_root*: gshort
-    y_root*: gshort
-
-  TGdkEvent* {.final, pure.} = object
-    data*: array[0..255, char] # union of
-                               # `type`: TGdkEventType
-                               #  any: TGdkEventAny
-                               #  expose: TGdkEventExpose
-                               #  no_expose: TGdkEventNoExpose
-                               #  visibility: TGdkEventVisibility
-                               #  motion: TGdkEventMotion
-                               #  button: TGdkEventButton
-                               #  scroll: TGdkEventScroll
-                               #  key: TGdkEventKey
-                               #  crossing: TGdkEventCrossing
-                               #  focus_change: TGdkEventFocus
-                               #  configure: TGdkEventConfigure
-                               #  `property`: TGdkEventProperty
-                               #  selection: TGdkEventSelection
-                               #  proximity: TGdkEventProximity
-                               #  client: TGdkEventClient
-                               #  dnd: TGdkEventDND
-                               #  window_state: TGdkEventWindowState
-                               #  setting: TGdkEventSetting
-
-  PGdkGCClass* = ptr TGdkGCClass
-  TGdkGCClass* = object of TGObjectClass
-    get_values*: proc (gc: PGdkGC, values: PGdkGCValues){.cdecl.}
-    set_values*: proc (gc: PGdkGC, values: PGdkGCValues, mask: TGdkGCValuesMask){.
-        cdecl.}
-    set_dashes*: proc (gc: PGdkGC, dash_offset: gint,
-                       dash_list: openarray[gint8]){.cdecl.}
-    `gdk_reserved1`*: proc (){.cdecl.}
-    `gdk_reserved2`*: proc (){.cdecl.}
-    `gdk_reserved3`*: proc (){.cdecl.}
-    `gdk_reserved4`*: proc (){.cdecl.}
-
-  PGdkImageClass* = ptr TGdkImageClass
-  TGdkImageClass* = object of TGObjectClass
-
-  TGdkImage* = object of TGObject
-    `type`*: TGdkImageType
-    visual*: PGdkVisual
-    byte_order*: TGdkByteOrder
-    width*: gint
-    height*: gint
-    depth*: guint16
-    bpp*: guint16
-    bpl*: guint16
-    bits_per_pixel*: guint16
-    mem*: gpointer
-    colormap*: PGdkColormap
-    windowing_data*: gpointer
-
-  PGdkExtensionMode* = ptr TGdkExtensionMode
-  TGdkExtensionMode* = enum
-    GDK_EXTENSION_EVENTS_NONE, GDK_EXTENSION_EVENTS_ALL,
-    GDK_EXTENSION_EVENTS_CURSOR
-  PGdkInputSource* = ptr TGdkInputSource
-  TGdkInputSource* = enum
-    GDK_SOURCE_MOUSE, GDK_SOURCE_PEN, GDK_SOURCE_ERASER, GDK_SOURCE_CURSOR
-  PGdkInputMode* = ptr TGdkInputMode
-  TGdkInputMode* = enum
-    GDK_MODE_DISABLED, GDK_MODE_SCREEN, GDK_MODE_WINDOW
-  PGdkAxisUse* = ptr TGdkAxisUse
-  TGdkAxisUse* = int32
-  PGdkDeviceKey* = ptr TGdkDeviceKey
-  TGdkDeviceKey* {.final, pure.} = object
-    keyval*: guint
-    modifiers*: TGdkModifierType
-
-  PGdkDeviceAxis* = ptr TGdkDeviceAxis
-  TGdkDeviceAxis* {.final, pure.} = object
-    use*: TGdkAxisUse
-    min*: gdouble
-    max*: gdouble
-
-  TGdkDevice* = object of TGObject
-    name*: cstring
-    source*: TGdkInputSource
-    mode*: TGdkInputMode
-    has_cursor*: gboolean
-    num_axes*: gint
-    axes*: PGdkDeviceAxis
-    num_keys*: gint
-    keys*: PGdkDeviceKey
-
-  TGdkTimeCoord* {.final, pure.} = object
-    time*: guint32
-    axes*: array[0..(GDK_MAX_TIMECOORD_AXES) - 1, gdouble]
-
-  PGdkKeymapKey* = ptr TGdkKeymapKey
-  TGdkKeymapKey* {.final, pure.} = object
-    keycode*: guint
-    group*: gint
-    level*: gint
-
-  PGdkKeymap* = ptr TGdkKeymap
-  TGdkKeymap* = object of TGObject
-    display*: PGdkDisplay
-
-  PGdkKeymapClass* = ptr TGdkKeymapClass
-  TGdkKeymapClass* = object of TGObjectClass
-    direction_changed*: proc (keymap: PGdkKeymap){.cdecl.}
-
-  PGdkPangoAttrStipple* = ptr TGdkPangoAttrStipple
-  TGdkPangoAttrStipple* {.final, pure.} = object
-    attr*: TPangoAttribute
-    stipple*: PGdkBitmap
-
-  PGdkPangoAttrEmbossed* = ptr TGdkPangoAttrEmbossed
-  TGdkPangoAttrEmbossed* {.final, pure.} = object
-    attr*: TPangoAttribute
-    embossed*: gboolean
-
-  PGdkPixmapObject* = ptr TGdkPixmapObject
-  TGdkPixmapObject* = object of TGdkDrawable
-    impl*: PGdkDrawable
-    depth*: gint
-
-  PGdkPixmapObjectClass* = ptr TGdkPixmapObjectClass
-  TGdkPixmapObjectClass* = object of TGdkDrawableClass
-
-  PGdkPropMode* = ptr TGdkPropMode
-  TGdkPropMode* = enum
-    GDK_PROP_MODE_REPLACE, GDK_PROP_MODE_PREPEND, GDK_PROP_MODE_APPEND
-  PGdkFillRule* = ptr TGdkFillRule
-  TGdkFillRule* = enum
-    GDK_EVEN_ODD_RULE, GDK_WINDING_RULE
-  PGdkOverlapType* = ptr TGdkOverlapType
-  TGdkOverlapType* = enum
-    GDK_OVERLAP_RECTANGLE_IN, GDK_OVERLAP_RECTANGLE_OUT,
-    GDK_OVERLAP_RECTANGLE_PART
-  TGdkSpanFunc* = proc (span: PGdkSpan, data: gpointer){.cdecl.}
-  PGdkRgbCmap* = ptr TGdkRgbCmap
-  TGdkRgbCmap* {.final, pure.} = object
-    colors*: array[0..255, guint32]
-    n_colors*: gint
-    info_list*: PGSList
-
-  TGdkDisplay* = object of TGObject
-    queued_events*: PGList
-    queued_tail*: PGList
-    button_click_time*: array[0..1, guint32]
-    button_window*: array[0..1, PGdkWindow]
-    button_number*: array[0..1, guint]
-    double_click_time*: guint
-
-  PGdkDisplayClass* = ptr TGdkDisplayClass
-  TGdkDisplayClass* = object of TGObjectClass
-    get_display_name*: proc (display: PGdkDisplay): cstring{.cdecl.}
-    get_n_screens*: proc (display: PGdkDisplay): gint{.cdecl.}
-    get_screen*: proc (display: PGdkDisplay, screen_num: gint): PGdkScreen{.
-        cdecl.}
-    get_default_screen*: proc (display: PGdkDisplay): PGdkScreen{.cdecl.}
-
-  PGdkScreenClass* = ptr TGdkScreenClass
-  TGdkScreenClass* = object of TGObjectClass
-    get_display*: proc (screen: PGdkScreen): PGdkDisplay{.cdecl.}
-    get_width*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_height*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_width_mm*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_height_mm*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_root_depth*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_screen_num*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_root_window*: proc (screen: PGdkScreen): PGdkWindow{.cdecl.}
-    get_default_colormap*: proc (screen: PGdkScreen): PGdkColormap{.cdecl.}
-    set_default_colormap*: proc (screen: PGdkScreen, colormap: PGdkColormap){.
-        cdecl.}
-    get_window_at_pointer*: proc (screen: PGdkScreen, win_x: Pgint, win_y: Pgint): PGdkWindow{.
-        cdecl.}
-    get_n_monitors*: proc (screen: PGdkScreen): gint{.cdecl.}
-    get_monitor_geometry*: proc (screen: PGdkScreen, monitor_num: gint,
-                                 dest: PGdkRectangle){.cdecl.}
-
-  PGdkGrabStatus* = ptr TGdkGrabStatus
-  TGdkGrabStatus* = int
-  TGdkInputFunction* = proc (data: gpointer, source: gint,
-                             condition: TGdkInputCondition){.cdecl.}
-  TGdkDestroyNotify* = proc (data: gpointer){.cdecl.}
-  TGdkSpan* {.final, pure.} = object
-    x*: gint
-    y*: gint
-    width*: gint
-
-  PGdkWindowClass* = ptr TGdkWindowClass
-  TGdkWindowClass* = enum
-    GDK_INPUT_OUTPUT, GDK_INPUT_ONLY
-  PGdkWindowType* = ptr TGdkWindowType
-  TGdkWindowType* = enum
-    GDK_WINDOW_ROOT, GDK_WINDOW_TOPLEVEL, GDK_WINDOW_CHILD, GDK_WINDOW_DIALOG,
-    GDK_WINDOW_TEMP, GDK_WINDOW_FOREIGN
-  PGdkWindowAttributesType* = ptr TGdkWindowAttributesType
-  TGdkWindowAttributesType* = int32
-  PGdkWindowHints* = ptr TGdkWindowHints
-  TGdkWindowHints* = int32
-  PGdkWindowTypeHint* = ptr TGdkWindowTypeHint
-  TGdkWindowTypeHint* = enum
-    GDK_WINDOW_TYPE_HINT_NORMAL, GDK_WINDOW_TYPE_HINT_DIALOG,
-    GDK_WINDOW_TYPE_HINT_MENU, GDK_WINDOW_TYPE_HINT_TOOLBAR
-  PGdkWMDecoration* = ptr TGdkWMDecoration
-  TGdkWMDecoration* = int32
-  PGdkWMFunction* = ptr TGdkWMFunction
-  TGdkWMFunction* = int32
-  PGdkGravity* = ptr TGdkGravity
-  TGdkGravity* = int
-  PGdkWindowEdge* = ptr TGdkWindowEdge
-  TGdkWindowEdge* = enum
-    GDK_WINDOW_EDGE_NORTH_WEST, GDK_WINDOW_EDGE_NORTH,
-    GDK_WINDOW_EDGE_NORTH_EAST, GDK_WINDOW_EDGE_WEST, GDK_WINDOW_EDGE_EAST,
-    GDK_WINDOW_EDGE_SOUTH_WEST, GDK_WINDOW_EDGE_SOUTH,
-    GDK_WINDOW_EDGE_SOUTH_EAST
-  PGdkWindowAttr* = ptr TGdkWindowAttr
-  TGdkWindowAttr* {.final, pure.} = object
-    title*: cstring
-    event_mask*: gint
-    x*: gint
-    y*: gint
-    width*: gint
-    height*: gint
-    wclass*: TGdkWindowClass
-    visual*: PGdkVisual
-    colormap*: PGdkColormap
-    window_type*: TGdkWindowType
-    cursor*: PGdkCursor
-    wmclass_name*: cstring
-    wmclass_class*: cstring
-    override_redirect*: gboolean
-
-  PGdkGeometry* = ptr TGdkGeometry
-  TGdkGeometry* {.final, pure.} = object
-    min_width*: gint
-    min_height*: gint
-    max_width*: gint
-    max_height*: gint
-    base_width*: gint
-    base_height*: gint
-    width_inc*: gint
-    height_inc*: gint
-    min_aspect*: gdouble
-    max_aspect*: gdouble
-    win_gravity*: TGdkGravity
-
-  PGdkPointerHooks* = ptr TGdkPointerHooks
-  TGdkPointerHooks* {.final, pure.} = object
-    get_pointer*: proc (window: PGdkWindow, x: Pgint, y: Pgint,
-                        mask: PGdkModifierType): PGdkWindow{.cdecl.}
-    window_at_pointer*: proc (screen: PGdkScreen, win_x: Pgint, win_y: Pgint): PGdkWindow{.
-        cdecl.}
-
-  PGdkWindowObject* = ptr TGdkWindowObject
-  TGdkWindowObject* = object of TGdkDrawable
-    impl*: PGdkDrawable
-    parent*: PGdkWindowObject
-    user_data*: gpointer
-    x*: gint
-    y*: gint
-    extension_events*: gint
-    filters*: PGList
-    children*: PGList
-    bg_color*: TGdkColor
-    bg_pixmap*: PGdkPixmap
-    paint_stack*: PGSList
-    update_area*: PGdkRegion
-    update_freeze_count*: guint
-    window_type*: guint8
-    depth*: guint8
-    resize_count*: guint8
-    state*: TGdkWindowState
-    flag0*: guint16
-    event_mask*: TGdkEventMask
-
-  PGdkWindowObjectClass* = ptr TGdkWindowObjectClass
-  TGdkWindowObjectClass* = object of TGdkDrawableClass
-
-  gdk_window_invalidate_maybe_recurse_child_func* = proc (para1: PGdkWindow,
-      para2: gpointer): gboolean
-
-proc GDK_TYPE_COLORMAP*(): GType
-proc GDK_COLORMAP*(anObject: pointer): PGdkColormap
-proc GDK_COLORMAP_CLASS*(klass: pointer): PGdkColormapClass
-proc GDK_IS_COLORMAP*(anObject: pointer): bool
-proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool
-proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass
-proc GDK_TYPE_COLOR*(): GType
-proc gdk_colormap_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                      importc: "gdk_colormap_get_type".}
-proc gdk_colormap_new*(visual: PGdkVisual, allocate: gboolean): PGdkColormap{.
-    cdecl, dynlib: gdklib, importc: "gdk_colormap_new".}
-proc gdk_colormap_alloc_colors*(colormap: PGdkColormap, colors: PGdkColor,
-                                ncolors: gint, writeable: gboolean,
-                                best_match: gboolean, success: Pgboolean): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_colormap_alloc_colors".}
-proc gdk_colormap_alloc_color*(colormap: PGdkColormap, color: PGdkColor,
-                               writeable: gboolean, best_match: gboolean): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_colormap_alloc_color".}
-proc gdk_colormap_free_colors*(colormap: PGdkColormap, colors: PGdkColor,
-                               ncolors: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_colormap_free_colors".}
-proc gdk_colormap_query_color*(colormap: PGdkColormap, pixel: gulong,
-                               result: PGdkColor){.cdecl, dynlib: gdklib,
-    importc: "gdk_colormap_query_color".}
-proc gdk_colormap_get_visual*(colormap: PGdkColormap): PGdkVisual{.cdecl,
-    dynlib: gdklib, importc: "gdk_colormap_get_visual".}
-proc gdk_color_copy*(color: PGdkColor): PGdkColor{.cdecl, dynlib: gdklib,
-    importc: "gdk_color_copy".}
-proc gdk_color_free*(color: PGdkColor){.cdecl, dynlib: gdklib,
-                                        importc: "gdk_color_free".}
-proc gdk_color_parse*(spec: cstring, color: PGdkColor): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_color_parse".}
-proc gdk_color_hash*(colora: PGdkColor): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_color_hash".}
-proc gdk_color_equal*(colora: PGdkColor, colorb: PGdkColor): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_color_equal".}
-proc gdk_color_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                   importc: "gdk_color_get_type".}
-const
-  GDK_CURSOR_IS_PIXMAP* = - (1)
-  GDK_X_CURSOR* = 0
-  GDK_ARROW* = 2
-  GDK_BASED_ARROW_DOWN* = 4
-  GDK_BASED_ARROW_UP* = 6
-  GDK_BOAT* = 8
-  GDK_BOGOSITY* = 10
-  GDK_BOTTOM_LEFT_CORNER* = 12
-  GDK_BOTTOM_RIGHT_CORNER* = 14
-  GDK_BOTTOM_SIDE* = 16
-  GDK_BOTTOM_TEE* = 18
-  GDK_BOX_SPIRAL* = 20
-  GDK_CENTER_PTR* = 22
-  GDK_CIRCLE* = 24
-  GDK_CLOCK* = 26
-  GDK_COFFEE_MUG* = 28
-  GDK_CROSS* = 30
-  GDK_CROSS_REVERSE* = 32
-  GDK_CROSSHAIR* = 34
-  GDK_DIAMOND_CROSS* = 36
-  GDK_DOT* = 38
-  GDK_DOTBOX* = 40
-  GDK_DOUBLE_ARROW* = 42
-  GDK_DRAFT_LARGE* = 44
-  GDK_DRAFT_SMALL* = 46
-  GDK_DRAPED_BOX* = 48
-  GDK_EXCHANGE* = 50
-  GDK_FLEUR* = 52
-  GDK_GOBBLER* = 54
-  GDK_GUMBY* = 56
-  GDK_HAND1* = 58
-  GDK_HAND2* = 60
-  GDK_HEART* = 62
-  GDK_ICON* = 64
-  GDK_IRON_CROSS* = 66
-  GDK_LEFT_PTR* = 68
-  GDK_LEFT_SIDE* = 70
-  GDK_LEFT_TEE* = 72
-  GDK_LEFTBUTTON* = 74
-  GDK_LL_ANGLE* = 76
-  GDK_LR_ANGLE* = 78
-  GDK_MAN* = 80
-  GDK_MIDDLEBUTTON* = 82
-  GDK_MOUSE* = 84
-  GDK_PENCIL* = 86
-  GDK_PIRATE* = 88
-  GDK_PLUS* = 90
-  GDK_QUESTION_ARROW* = 92
-  GDK_RIGHT_PTR* = 94
-  GDK_RIGHT_SIDE* = 96
-  GDK_RIGHT_TEE* = 98
-  GDK_RIGHTBUTTON* = 100
-  GDK_RTL_LOGO* = 102
-  GDK_SAILBOAT* = 104
-  GDK_SB_DOWN_ARROW* = 106
-  GDK_SB_H_DOUBLE_ARROW* = 108
-  GDK_SB_LEFT_ARROW* = 110
-  GDK_SB_RIGHT_ARROW* = 112
-  GDK_SB_UP_ARROW* = 114
-  GDK_SB_V_DOUBLE_ARROW* = 116
-  GDK_SHUTTLE* = 118
-  GDK_SIZING* = 120
-  GDK_SPIDER* = 122
-  GDK_SPRAYCAN* = 124
-  GDK_STAR* = 126
-  GDK_TARGET* = 128
-  GDK_TCROSS* = 130
-  GDK_TOP_LEFT_ARROW* = 132
-  GDK_TOP_LEFT_CORNER* = 134
-  GDK_TOP_RIGHT_CORNER* = 136
-  GDK_TOP_SIDE* = 138
-  GDK_TOP_TEE* = 140
-  GDK_TREK* = 142
-  GDK_UL_ANGLE* = 144
-  GDK_UMBRELLA* = 146
-  GDK_UR_ANGLE* = 148
-  GDK_WATCH* = 150
-  GDK_XTERM* = 152
-  GDK_LAST_CURSOR* = GDK_XTERM + 1
-
-proc GDK_TYPE_CURSOR*(): GType
-proc gdk_cursor_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_cursor_get_type".}
-proc gdk_cursor_new_for_screen*(screen: PGdkScreen, cursor_type: TGdkCursorType): PGdkCursor{.
-    cdecl, dynlib: gdklib, importc: "gdk_cursor_new_for_screen".}
-proc gdk_cursor_new_from_pixmap*(source: PGdkPixmap, mask: PGdkPixmap,
-                                 fg: PGdkColor, bg: PGdkColor, x: gint, y: gint): PGdkCursor{.
-    cdecl, dynlib: gdklib, importc: "gdk_cursor_new_from_pixmap".}
-proc gdk_cursor_get_screen*(cursor: PGdkCursor): PGdkScreen{.cdecl,
-    dynlib: gdklib, importc: "gdk_cursor_get_screen".}
-proc gdk_cursor_ref*(cursor: PGdkCursor): PGdkCursor{.cdecl, dynlib: gdklib,
-    importc: "gdk_cursor_ref".}
-proc gdk_cursor_unref*(cursor: PGdkCursor){.cdecl, dynlib: gdklib,
-    importc: "gdk_cursor_unref".}
-const
-  GDK_ACTION_DEFAULT* = 1 shl 0
-  GDK_ACTION_COPY* = 1 shl 1
-  GDK_ACTION_MOVE* = 1 shl 2
-  GDK_ACTION_LINK* = 1 shl 3
-  GDK_ACTION_PRIVATE* = 1 shl 4
-  GDK_ACTION_ASK* = 1 shl 5
-
-proc GDK_TYPE_DRAG_CONTEXT*(): GType
-proc GDK_DRAG_CONTEXT*(anObject: Pointer): PGdkDragContext
-proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass
-proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool
-proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool
-proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass
-proc gdk_drag_context_get_type*(): GType{.cdecl, dynlib: gdklib,
-    importc: "gdk_drag_context_get_type".}
-proc gdk_drag_context_new*(): PGdkDragContext{.cdecl, dynlib: gdklib,
-    importc: "gdk_drag_context_new".}
-proc gdk_drag_status*(context: PGdkDragContext, action: TGdkDragAction,
-                      time: guint32){.cdecl, dynlib: gdklib,
-                                      importc: "gdk_drag_status".}
-proc gdk_drop_reply*(context: PGdkDragContext, ok: gboolean, time: guint32){.
-    cdecl, dynlib: gdklib, importc: "gdk_drop_reply".}
-proc gdk_drop_finish*(context: PGdkDragContext, success: gboolean, time: guint32){.
-    cdecl, dynlib: gdklib, importc: "gdk_drop_finish".}
-proc gdk_drag_get_selection*(context: PGdkDragContext): TGdkAtom{.cdecl,
-    dynlib: gdklib, importc: "gdk_drag_get_selection".}
-proc gdk_drag_begin*(window: PGdkWindow, targets: PGList): PGdkDragContext{.
-    cdecl, dynlib: gdklib, importc: "gdk_drag_begin".}
-proc gdk_drag_get_protocol_for_display*(display: PGdkDisplay, xid: guint32,
-                                        protocol: PGdkDragProtocol): guint32{.
-    cdecl, dynlib: gdklib, importc: "gdk_drag_get_protocol_for_display".}
-proc gdk_drag_find_window*(context: PGdkDragContext, drag_window: PGdkWindow,
-                           x_root: gint, y_root: gint, w: var PGdkWindow,
-                           protocol: PGdkDragProtocol){.cdecl, dynlib: gdklib,
-    importc: "gdk_drag_find_window".}
-proc gdk_drag_motion*(context: PGdkDragContext, dest_window: PGdkWindow,
-                      protocol: TGdkDragProtocol, x_root: gint, y_root: gint,
-                      suggested_action: TGdkDragAction,
-                      possible_actions: TGdkDragAction, time: guint32): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_drag_motion".}
-proc gdk_drag_drop*(context: PGdkDragContext, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_drag_drop".}
-proc gdk_drag_abort*(context: PGdkDragContext, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_drag_abort".}
-proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool
-proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion)
-proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool
-proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox,
-                               Rx1, Ry1, Rx2, Ry2: gint): bool
-proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox,
-                        rx1, ry1, rx2, ry2: gint)
-proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox,
-                           rx1, ry1, rx2, ry2: gint)
-proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool
-proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool
-proc gdkregion_INBOX*(r: TGdkRegionBox, x, y: gint): bool
-proc GDK_TYPE_DRAWABLE*(): GType
-proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable
-proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass
-proc GDK_IS_DRAWABLE*(anObject: Pointer): bool
-proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool
-proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass
-proc gdk_drawable_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                      importc: "gdk_drawable_get_type".}
-proc gdk_drawable_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint){.
-    cdecl, dynlib: gdklib, importc: "gdk_drawable_get_size".}
-proc gdk_drawable_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap){.
-    cdecl, dynlib: gdklib, importc: "gdk_drawable_set_colormap".}
-proc gdk_drawable_get_colormap*(drawable: PGdkDrawable): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_colormap".}
-proc gdk_drawable_get_visual*(drawable: PGdkDrawable): PGdkVisual{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_visual".}
-proc gdk_drawable_get_depth*(drawable: PGdkDrawable): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_depth".}
-proc gdk_drawable_get_screen*(drawable: PGdkDrawable): PGdkScreen{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_screen".}
-proc gdk_drawable_get_display*(drawable: PGdkDrawable): PGdkDisplay{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_display".}
-proc gdk_draw_point*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint){.
-    cdecl, dynlib: gdklib, importc: "gdk_draw_point".}
-proc gdk_draw_line*(drawable: PGdkDrawable, gc: PGdkGC, x1: gint, y1: gint,
-                    x2: gint, y2: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_line".}
-proc gdk_draw_rectangle*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
-                         x: gint, y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_rectangle".}
-proc gdk_draw_arc*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint,
-                   y: gint, width: gint, height: gint, angle1: gint,
-                   angle2: gint){.cdecl, dynlib: gdklib, importc: "gdk_draw_arc".}
-proc gdk_draw_polygon*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint,
-                       points: PGdkPoint, npoints: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_polygon".}
-proc gdk_draw_drawable*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
-                        xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                        width: gint, height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_drawable".}
-proc gdk_draw_image*(drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage,
-                     xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                     width: gint, height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_image".}
-proc gdk_draw_points*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
-                      npoints: gint){.cdecl, dynlib: gdklib,
-                                      importc: "gdk_draw_points".}
-proc gdk_draw_segments*(drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment,
-                        nsegs: gint){.cdecl, dynlib: gdklib,
-                                      importc: "gdk_draw_segments".}
-proc gdk_draw_lines*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
-                     npoints: gint){.cdecl, dynlib: gdklib,
-                                     importc: "gdk_draw_lines".}
-proc gdk_draw_glyphs*(drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont,
-                      x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_glyphs".}
-proc gdk_draw_layout_line*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                           line: PPangoLayoutLine){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_layout_line".}
-proc gdk_draw_layout*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                      layout: PPangoLayout){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_layout".}
-proc gdk_draw_layout_line_with_colors*(drawable: PGdkDrawable, gc: PGdkGC,
-                                       x: gint, y: gint, line: PPangoLayoutLine,
-                                       foreground: PGdkColor,
-                                       background: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_layout_line_with_colors".}
-proc gdk_draw_layout_with_colors*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
-                                  y: gint, layout: PPangoLayout,
-                                  foreground: PGdkColor, background: PGdkColor){.
-    cdecl, dynlib: gdklib, importc: "gdk_draw_layout_with_colors".}
-proc gdk_drawable_get_image*(drawable: PGdkDrawable, x: gint, y: gint,
-                             width: gint, height: gint): PGdkImage{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_image".}
-proc gdk_drawable_get_clip_region*(drawable: PGdkDrawable): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_drawable_get_clip_region".}
-proc gdk_drawable_get_visible_region*(drawable: PGdkDrawable): PGdkRegion{.
-    cdecl, dynlib: gdklib, importc: "gdk_drawable_get_visible_region".}
-const
-  GDK_NOTHING* = - (1)
-  GDK_DELETE* = 0
-  GDK_DESTROY* = 1
-  GDK_EXPOSE* = 2
-  GDK_MOTION_NOTIFY* = 3
-  GDK_BUTTON_PRESS* = 4
-  GDK_2BUTTON_PRESS* = 5
-  GDK_3BUTTON_PRESS* = 6
-  GDK_BUTTON_RELEASE* = 7
-  GDK_KEY_PRESS* = 8
-  GDK_KEY_RELEASE* = 9
-  GDK_ENTER_NOTIFY* = 10
-  GDK_LEAVE_NOTIFY* = 11
-  GDK_FOCUS_CHANGE* = 12
-  GDK_CONFIGURE* = 13
-  GDK_MAP* = 14
-  GDK_UNMAP* = 15
-  GDK_PROPERTY_NOTIFY* = 16
-  GDK_SELECTION_CLEAR* = 17
-  GDK_SELECTION_REQUEST* = 18
-  GDK_SELECTION_NOTIFY* = 19
-  GDK_PROXIMITY_IN* = 20
-  GDK_PROXIMITY_OUT* = 21
-  GDK_DRAG_ENTER* = 22
-  GDK_DRAG_LEAVE* = 23
-  GDK_DRAG_MOTION_EVENT* = 24
-  GDK_DRAG_STATUS_EVENT* = 25
-  GDK_DROP_START* = 26
-  GDK_DROP_FINISHED* = 27
-  GDK_CLIENT_EVENT* = 28
-  GDK_VISIBILITY_NOTIFY* = 29
-  GDK_NO_EXPOSE* = 30
-  GDK_SCROLL* = 31
-  GDK_WINDOW_STATE* = 32
-  GDK_SETTING* = 33
-  GDK_NOTIFY_ANCESTOR* = 0
-  GDK_NOTIFY_VIRTUAL* = 1
-  GDK_NOTIFY_INFERIOR* = 2
-  GDK_NOTIFY_NONLINEAR* = 3
-  GDK_NOTIFY_NONLINEAR_VIRTUAL* = 4
-  GDK_NOTIFY_UNKNOWN* = 5
-
-proc GDK_TYPE_EVENT*(): GType
-const
-  G_PRIORITY_DEFAULT* = 0
-  GDK_PRIORITY_EVENTS* = G_PRIORITY_DEFAULT
-    #GDK_PRIORITY_REDRAW* = G_PRIORITY_HIGH_IDLE + 20
-  GDK_EXPOSURE_MASK* = 1 shl 1
-  GDK_POINTER_MOTION_MASK* = 1 shl 2
-  GDK_POINTER_MOTION_HINT_MASK* = 1 shl 3
-  GDK_BUTTON_MOTION_MASK* = 1 shl 4
-  GDK_BUTTON1_MOTION_MASK* = 1 shl 5
-  GDK_BUTTON2_MOTION_MASK* = 1 shl 6
-  GDK_BUTTON3_MOTION_MASK* = 1 shl 7
-  GDK_BUTTON_PRESS_MASK* = 1 shl 8
-  GDK_BUTTON_RELEASE_MASK* = 1 shl 9
-  GDK_KEY_PRESS_MASK* = 1 shl 10
-  GDK_KEY_RELEASE_MASK* = 1 shl 11
-  GDK_ENTER_NOTIFY_MASK* = 1 shl 12
-  GDK_LEAVE_NOTIFY_MASK* = 1 shl 13
-  GDK_FOCUS_CHANGE_MASK* = 1 shl 14
-  GDK_STRUCTURE_MASK* = 1 shl 15
-  GDK_PROPERTY_CHANGE_MASK* = 1 shl 16
-  GDK_VISIBILITY_NOTIFY_MASK* = 1 shl 17
-  GDK_PROXIMITY_IN_MASK* = 1 shl 18
-  GDK_PROXIMITY_OUT_MASK* = 1 shl 19
-  GDK_SUBSTRUCTURE_MASK* = 1 shl 20
-  GDK_SCROLL_MASK* = 1 shl 21
-  GDK_ALL_EVENTS_MASK* = 0x003FFFFE
-  GDK_WINDOW_STATE_WITHDRAWN* = 1 shl 0
-  GDK_WINDOW_STATE_ICONIFIED* = 1 shl 1
-  GDK_WINDOW_STATE_MAXIMIZED* = 1 shl 2
-  GDK_WINDOW_STATE_STICKY* = 1 shl 3
-
-proc gdk_event_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                   importc: "gdk_event_get_type".}
-proc gdk_events_pending*(): gboolean{.cdecl, dynlib: gdklib,
-                                      importc: "gdk_events_pending".}
-proc gdk_event_get*(): PGdkEvent{.cdecl, dynlib: gdklib,
-                                  importc: "gdk_event_get".}
-proc gdk_event_peek*(): PGdkEvent{.cdecl, dynlib: gdklib,
-                                   importc: "gdk_event_peek".}
-proc gdk_event_get_graphics_expose*(window: PGdkWindow): PGdkEvent{.cdecl,
-    dynlib: gdklib, importc: "gdk_event_get_graphics_expose".}
-proc gdk_event_put*(event: PGdkEvent){.cdecl, dynlib: gdklib,
-                                       importc: "gdk_event_put".}
-proc gdk_event_copy*(event: PGdkEvent): PGdkEvent{.cdecl, dynlib: gdklib,
-    importc: "gdk_event_copy".}
-proc gdk_event_free*(event: PGdkEvent){.cdecl, dynlib: gdklib,
-                                        importc: "gdk_event_free".}
-proc gdk_event_get_time*(event: PGdkEvent): guint32{.cdecl, dynlib: gdklib,
-    importc: "gdk_event_get_time".}
-proc gdk_event_get_state*(event: PGdkEvent, state: PGdkModifierType): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_event_get_state".}
-proc gdk_event_get_coords*(event: PGdkEvent, x_win: Pgdouble, y_win: Pgdouble): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_event_get_coords".}
-proc gdk_event_get_root_coords*(event: PGdkEvent, x_root: Pgdouble,
-                                y_root: Pgdouble): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_event_get_root_coords".}
-proc gdk_event_get_axis*(event: PGdkEvent, axis_use: TGdkAxisUse,
-                         value: Pgdouble): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_event_get_axis".}
-proc gdk_event_handler_set*(func: TGdkEventFunc, data: gpointer,
-                            notify: TGDestroyNotify){.cdecl, dynlib: gdklib,
-    importc: "gdk_event_handler_set".}
-proc gdk_set_show_events*(show_events: gboolean){.cdecl, dynlib: gdklib,
-    importc: "gdk_set_show_events".}
-proc gdk_get_show_events*(): gboolean{.cdecl, dynlib: gdklib,
-                                       importc: "gdk_get_show_events".}
-proc GDK_TYPE_FONT*(): GType
-proc gdk_font_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                  importc: "gdk_font_get_type".}
-proc gdk_font_load_for_display*(display: PGdkDisplay, font_name: cstring): PGdkFont{.
-    cdecl, dynlib: gdklib, importc: "gdk_font_load_for_display".}
-proc gdk_fontset_load_for_display*(display: PGdkDisplay, fontset_name: cstring): PGdkFont{.
-    cdecl, dynlib: gdklib, importc: "gdk_fontset_load_for_display".}
-proc gdk_font_from_description_for_display*(display: PGdkDisplay,
-    font_desc: PPangoFontDescription): PGdkFont{.cdecl, dynlib: gdklib,
-    importc: "gdk_font_from_description_for_display".}
-proc gdk_font_ref*(font: PGdkFont): PGdkFont{.cdecl, dynlib: gdklib,
-    importc: "gdk_font_ref".}
-proc gdk_font_unref*(font: PGdkFont){.cdecl, dynlib: gdklib,
-                                      importc: "gdk_font_unref".}
-proc gdk_font_id*(font: PGdkFont): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_font_id".}
-proc gdk_font_equal*(fonta: PGdkFont, fontb: PGdkFont): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_font_equal".}
-proc gdk_string_width*(font: PGdkFont, `string`: cstring): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_string_width".}
-proc gdk_text_width*(font: PGdkFont, text: cstring, text_length: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_text_width".}
-proc gdk_text_width_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_text_width_wc".}
-proc gdk_char_width*(font: PGdkFont, character: gchar): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_char_width".}
-proc gdk_char_width_wc*(font: PGdkFont, character: TGdkWChar): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_char_width_wc".}
-proc gdk_string_measure*(font: PGdkFont, `string`: cstring): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_string_measure".}
-proc gdk_text_measure*(font: PGdkFont, text: cstring, text_length: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_text_measure".}
-proc gdk_char_measure*(font: PGdkFont, character: gchar): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_char_measure".}
-proc gdk_string_height*(font: PGdkFont, `string`: cstring): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_string_height".}
-proc gdk_text_height*(font: PGdkFont, text: cstring, text_length: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_text_height".}
-proc gdk_char_height*(font: PGdkFont, character: gchar): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_char_height".}
-proc gdk_text_extents*(font: PGdkFont, text: cstring, text_length: gint,
-                       lbearing: Pgint, rbearing: Pgint, width: Pgint,
-                       ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_text_extents".}
-proc gdk_text_extents_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint,
-                          lbearing: Pgint, rbearing: Pgint, width: Pgint,
-                          ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_text_extents_wc".}
-proc gdk_string_extents*(font: PGdkFont, `string`: cstring, lbearing: Pgint,
-                         rbearing: Pgint, width: Pgint, ascent: Pgint,
-                         descent: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_string_extents".}
-proc gdk_font_get_display*(font: PGdkFont): PGdkDisplay{.cdecl, dynlib: gdklib,
-    importc: "gdk_font_get_display".}
-const
-  GDK_GC_FOREGROUND* = 1 shl 0
-  GDK_GC_BACKGROUND* = 1 shl 1
-  GDK_GC_FONT* = 1 shl 2
-  GDK_GC_FUNCTION* = 1 shl 3
-  GDK_GC_FILL* = 1 shl 4
-  GDK_GC_TILE* = 1 shl 5
-  GDK_GC_STIPPLE* = 1 shl 6
-  GDK_GC_CLIP_MASK* = 1 shl 7
-  GDK_GC_SUBWINDOW* = 1 shl 8
-  GDK_GC_TS_X_ORIGIN* = 1 shl 9
-  GDK_GC_TS_Y_ORIGIN* = 1 shl 10
-  GDK_GC_CLIP_X_ORIGIN* = 1 shl 11
-  GDK_GC_CLIP_Y_ORIGIN* = 1 shl 12
-  GDK_GC_EXPOSURES* = 1 shl 13
-  GDK_GC_LINE_WIDTH* = 1 shl 14
-  GDK_GC_LINE_STYLE* = 1 shl 15
-  GDK_GC_CAP_STYLE* = 1 shl 16
-  GDK_GC_JOIN_STYLE* = 1 shl 17
-  GDK_CLIP_BY_CHILDREN* = 0
-  GDK_INCLUDE_INFERIORS* = 1
-
-proc GDK_TYPE_GC*(): GType
-proc GDK_GC*(anObject: Pointer): PGdkGC
-proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass
-proc GDK_IS_GC*(anObject: Pointer): bool
-proc GDK_IS_GC_CLASS*(klass: Pointer): bool
-proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass
-proc gdk_gc_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                importc: "gdk_gc_get_type".}
-proc gdk_gc_new*(drawable: PGdkDrawable): PGdkGC{.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_new".}
-proc gdk_gc_new_with_values*(drawable: PGdkDrawable, values: PGdkGCValues,
-                             values_mask: TGdkGCValuesMask): PGdkGC{.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_new_with_values".}
-proc gdk_gc_get_values*(gc: PGdkGC, values: PGdkGCValues){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_get_values".}
-proc gdk_gc_set_values*(gc: PGdkGC, values: PGdkGCValues,
-                        values_mask: TGdkGCValuesMask){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_values".}
-proc gdk_gc_set_foreground*(gc: PGdkGC, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_foreground".}
-proc gdk_gc_set_background*(gc: PGdkGC, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_background".}
-proc gdk_gc_set_function*(gc: PGdkGC, `function`: TGdkFunction){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_function".}
-proc gdk_gc_set_fill*(gc: PGdkGC, fill: TGdkFill){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_fill".}
-proc gdk_gc_set_tile*(gc: PGdkGC, tile: PGdkPixmap){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_tile".}
-proc gdk_gc_set_stipple*(gc: PGdkGC, stipple: PGdkPixmap){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_stipple".}
-proc gdk_gc_set_ts_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_ts_origin".}
-proc gdk_gc_set_clip_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_clip_origin".}
-proc gdk_gc_set_clip_mask*(gc: PGdkGC, mask: PGdkBitmap){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_clip_mask".}
-proc gdk_gc_set_clip_rectangle*(gc: PGdkGC, rectangle: PGdkRectangle){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_clip_rectangle".}
-proc gdk_gc_set_clip_region*(gc: PGdkGC, region: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_clip_region".}
-proc gdk_gc_set_subwindow*(gc: PGdkGC, mode: TGdkSubwindowMode){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_subwindow".}
-proc gdk_gc_set_exposures*(gc: PGdkGC, exposures: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_exposures".}
-proc gdk_gc_set_line_attributes*(gc: PGdkGC, line_width: gint,
-                                 line_style: TGdkLineStyle,
-                                 cap_style: TGdkCapStyle,
-                                 join_style: TGdkJoinStyle){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_line_attributes".}
-proc gdk_gc_set_dashes*(gc: PGdkGC, dash_offset: gint,
-                        dash_list: openarray[gint8]){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_set_dashes".}
-proc gdk_gc_offset*(gc: PGdkGC, x_offset: gint, y_offset: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_offset".}
-proc gdk_gc_copy*(dst_gc: PGdkGC, src_gc: PGdkGC){.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_copy".}
-proc gdk_gc_set_colormap*(gc: PGdkGC, colormap: PGdkColormap){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_colormap".}
-proc gdk_gc_get_colormap*(gc: PGdkGC): PGdkColormap{.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_get_colormap".}
-proc gdk_gc_set_rgb_fg_color*(gc: PGdkGC, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_rgb_fg_color".}
-proc gdk_gc_set_rgb_bg_color*(gc: PGdkGC, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_gc_set_rgb_bg_color".}
-proc gdk_gc_get_screen*(gc: PGdkGC): PGdkScreen{.cdecl, dynlib: gdklib,
-    importc: "gdk_gc_get_screen".}
-proc GDK_TYPE_IMAGE*(): GType
-proc GDK_IMAGE*(anObject: Pointer): PGdkImage
-proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass
-proc GDK_IS_IMAGE*(anObject: Pointer): bool
-proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool
-proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass
-proc gdk_image_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                   importc: "gdk_image_get_type".}
-proc gdk_image_new*(`type`: TGdkImageType, visual: PGdkVisual, width: gint,
-                    height: gint): PGdkImage{.cdecl, dynlib: gdklib,
-    importc: "gdk_image_new".}
-proc gdk_image_put_pixel*(image: PGdkImage, x: gint, y: gint, pixel: guint32){.
-    cdecl, dynlib: gdklib, importc: "gdk_image_put_pixel".}
-proc gdk_image_get_pixel*(image: PGdkImage, x: gint, y: gint): guint32{.cdecl,
-    dynlib: gdklib, importc: "gdk_image_get_pixel".}
-proc gdk_image_set_colormap*(image: PGdkImage, colormap: PGdkColormap){.cdecl,
-    dynlib: gdklib, importc: "gdk_image_set_colormap".}
-proc gdk_image_get_colormap*(image: PGdkImage): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_image_get_colormap".}
-const
-  GDK_AXIS_IGNORE* = 0
-  GDK_AXIS_X* = 1
-  GDK_AXIS_Y* = 2
-  GDK_AXIS_PRESSURE* = 3
-  GDK_AXIS_XTILT* = 4
-  GDK_AXIS_YTILT* = 5
-  GDK_AXIS_WHEEL* = 6
-  GDK_AXIS_LAST* = 7
-
-proc GDK_TYPE_DEVICE*(): GType
-proc GDK_DEVICE*(anObject: Pointer): PGdkDevice
-proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass
-proc GDK_IS_DEVICE*(anObject: Pointer): bool
-proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool
-proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass
-proc gdk_device_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_device_get_type".}
-proc gdk_device_set_source*(device: PGdkDevice, source: TGdkInputSource){.cdecl,
-    dynlib: gdklib, importc: "gdk_device_set_source".}
-proc gdk_device_set_mode*(device: PGdkDevice, mode: TGdkInputMode): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_device_set_mode".}
-proc gdk_device_set_key*(device: PGdkDevice, index: guint, keyval: guint,
-                         modifiers: TGdkModifierType){.cdecl, dynlib: gdklib,
-    importc: "gdk_device_set_key".}
-proc gdk_device_set_axis_use*(device: PGdkDevice, index: guint, use: TGdkAxisUse){.
-    cdecl, dynlib: gdklib, importc: "gdk_device_set_axis_use".}
-proc gdk_device_get_state*(device: PGdkDevice, window: PGdkWindow,
-                           axes: Pgdouble, mask: PGdkModifierType){.cdecl,
-    dynlib: gdklib, importc: "gdk_device_get_state".}
-proc gdk_device_get_history*(device: PGdkDevice, window: PGdkWindow,
-                             start: guint32, stop: guint32,
-                             s: var PPGdkTimeCoord, n_events: Pgint): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_device_get_history".}
-proc gdk_device_free_history*(events: PPGdkTimeCoord, n_events: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_device_free_history".}
-proc gdk_device_get_axis*(device: PGdkDevice, axes: Pgdouble, use: TGdkAxisUse,
-                          value: Pgdouble): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_device_get_axis".}
-proc gdk_input_set_extension_events*(window: PGdkWindow, mask: gint,
-                                     mode: TGdkExtensionMode){.cdecl,
-    dynlib: gdklib, importc: "gdk_input_set_extension_events".}
-proc gdk_device_get_core_pointer*(): PGdkDevice{.cdecl, dynlib: gdklib,
-    importc: "gdk_device_get_core_pointer".}
-proc GDK_TYPE_KEYMAP*(): GType
-proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap
-proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass
-proc GDK_IS_KEYMAP*(anObject: Pointer): bool
-proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool
-proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass
-proc gdk_keymap_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_keymap_get_type".}
-proc gdk_keymap_get_for_display*(display: PGdkDisplay): PGdkKeymap{.cdecl,
-    dynlib: gdklib, importc: "gdk_keymap_get_for_display".}
-proc gdk_keymap_lookup_key*(keymap: PGdkKeymap, key: PGdkKeymapKey): guint{.
-    cdecl, dynlib: gdklib, importc: "gdk_keymap_lookup_key".}
-proc gdk_keymap_translate_keyboard_state*(keymap: PGdkKeymap,
-    hardware_keycode: guint, state: TGdkModifierType, group: gint,
-    keyval: Pguint, effective_group: Pgint, level: Pgint,
-    consumed_modifiers: PGdkModifierType): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_keymap_translate_keyboard_state".}
-proc gdk_keymap_get_entries_for_keyval*(keymap: PGdkKeymap, keyval: guint,
-                                        s: var PGdkKeymapKey, n_keys: Pgint): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_keymap_get_entries_for_keyval".}
-proc gdk_keymap_get_entries_for_keycode*(keymap: PGdkKeymap,
-    hardware_keycode: guint, s: var PGdkKeymapKey, sasdf: var Pguint,
-    n_entries: Pgint): gboolean{.cdecl, dynlib: gdklib,
-                                 importc: "gdk_keymap_get_entries_for_keycode".}
-proc gdk_keymap_get_direction*(keymap: PGdkKeymap): TPangoDirection{.cdecl,
-    dynlib: gdklib, importc: "gdk_keymap_get_direction".}
-proc gdk_keyval_name*(keyval: guint): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_name".}
-proc gdk_keyval_from_name*(keyval_name: cstring): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_from_name".}
-proc gdk_keyval_convert_case*(symbol: guint, lower: Pguint, upper: Pguint){.
-    cdecl, dynlib: gdklib, importc: "gdk_keyval_convert_case".}
-proc gdk_keyval_to_upper*(keyval: guint): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_to_upper".}
-proc gdk_keyval_to_lower*(keyval: guint): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_to_lower".}
-proc gdk_keyval_is_upper*(keyval: guint): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_is_upper".}
-proc gdk_keyval_is_lower*(keyval: guint): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_is_lower".}
-proc gdk_keyval_to_unicode*(keyval: guint): guint32{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyval_to_unicode".}
-proc gdk_unicode_to_keyval*(wc: guint32): guint{.cdecl, dynlib: gdklib,
-    importc: "gdk_unicode_to_keyval".}
-const
-  GDK_KEY_VoidSymbol* = 0x00FFFFFF
-  GDK_KEY_BackSpace* = 0x0000FF08
-  GDK_KEY_Tab* = 0x0000FF09
-  GDK_KEY_Linefeed* = 0x0000FF0A
-  GDK_KEY_Clear* = 0x0000FF0B
-  GDK_KEY_Return* = 0x0000FF0D
-  GDK_KEY_Pause* = 0x0000FF13
-  GDK_KEY_Scroll_Lock* = 0x0000FF14
-  GDK_KEY_Sys_Req* = 0x0000FF15
-  GDK_KEY_Escape* = 0x0000FF1B
-  GDK_KEY_Delete* = 0x0000FFFF
-  GDK_KEY_Multi_key* = 0x0000FF20
-  GDK_KEY_Codeinput* = 0x0000FF37
-  GDK_KEY_SingleCandidate* = 0x0000FF3C
-  GDK_KEY_MultipleCandidate* = 0x0000FF3D
-  GDK_KEY_PreviousCandidate* = 0x0000FF3E
-  GDK_KEY_Kanji* = 0x0000FF21
-  GDK_KEY_Muhenkan* = 0x0000FF22
-  GDK_KEY_Henkan_Mode* = 0x0000FF23
-  GDK_KEY_Henkan* = 0x0000FF23
-  GDK_KEY_Romaji* = 0x0000FF24
-  GDK_KEY_Hiragana* = 0x0000FF25
-  GDK_KEY_Katakana* = 0x0000FF26
-  GDK_KEY_Hiragana_Katakana* = 0x0000FF27
-  GDK_KEY_Zenkaku* = 0x0000FF28
-  GDK_KEY_Hankaku* = 0x0000FF29
-  GDK_KEY_Zenkaku_Hankaku* = 0x0000FF2A
-  GDK_KEY_Touroku* = 0x0000FF2B
-  GDK_KEY_Massyo* = 0x0000FF2C
-  GDK_KEY_Kana_Lock* = 0x0000FF2D
-  GDK_KEY_Kana_Shift* = 0x0000FF2E
-  GDK_KEY_Eisu_Shift* = 0x0000FF2F
-  GDK_KEY_Eisu_toggle* = 0x0000FF30
-  GDK_KEY_Kanji_Bangou* = 0x0000FF37
-  GDK_KEY_Zen_Koho* = 0x0000FF3D
-  GDK_KEY_Mae_Koho* = 0x0000FF3E
-  GDK_KEY_Home* = 0x0000FF50
-  GDK_KEY_Left* = 0x0000FF51
-  GDK_KEY_Up* = 0x0000FF52
-  GDK_KEY_Right* = 0x0000FF53
-  GDK_KEY_Down* = 0x0000FF54
-  GDK_KEY_Prior* = 0x0000FF55
-  GDK_KEY_Page_Up* = 0x0000FF55
-  GDK_KEY_Next* = 0x0000FF56
-  GDK_KEY_Page_Down* = 0x0000FF56
-  GDK_KEY_End* = 0x0000FF57
-  GDK_KEY_Begin* = 0x0000FF58
-  GDK_KEY_Select* = 0x0000FF60
-  GDK_KEY_Print* = 0x0000FF61
-  GDK_KEY_Execute* = 0x0000FF62
-  GDK_KEY_Insert* = 0x0000FF63
-  GDK_KEY_Undo* = 0x0000FF65
-  GDK_KEY_Redo* = 0x0000FF66
-  GDK_KEY_Menu* = 0x0000FF67
-  GDK_KEY_Find* = 0x0000FF68
-  GDK_KEY_Cancel* = 0x0000FF69
-  GDK_KEY_Help* = 0x0000FF6A
-  GDK_KEY_Break* = 0x0000FF6B
-  GDK_KEY_Mode_switch* = 0x0000FF7E
-  GDK_KEY_script_switch* = 0x0000FF7E
-  GDK_KEY_Num_Lock* = 0x0000FF7F
-  GDK_KEY_KP_Space* = 0x0000FF80
-  GDK_KEY_KP_Tab* = 0x0000FF89
-  GDK_KEY_KP_Enter* = 0x0000FF8D
-  GDK_KEY_KP_F1* = 0x0000FF91
-  GDK_KEY_KP_F2* = 0x0000FF92
-  GDK_KEY_KP_F3* = 0x0000FF93
-  GDK_KEY_KP_F4* = 0x0000FF94
-  GDK_KEY_KP_Home* = 0x0000FF95
-  GDK_KEY_KP_Left* = 0x0000FF96
-  GDK_KEY_KP_Up* = 0x0000FF97
-  GDK_KEY_KP_Right* = 0x0000FF98
-  GDK_KEY_KP_Down* = 0x0000FF99
-  GDK_KEY_KP_Prior* = 0x0000FF9A
-  GDK_KEY_KP_Page_Up* = 0x0000FF9A
-  GDK_KEY_KP_Next* = 0x0000FF9B
-  GDK_KEY_KP_Page_Down* = 0x0000FF9B
-  GDK_KEY_KP_End* = 0x0000FF9C
-  GDK_KEY_KP_Begin* = 0x0000FF9D
-  GDK_KEY_KP_Insert* = 0x0000FF9E
-  GDK_KEY_KP_Delete* = 0x0000FF9F
-  GDK_KEY_KP_Equal* = 0x0000FFBD
-  GDK_KEY_KP_Multiply* = 0x0000FFAA
-  GDK_KEY_KP_Add* = 0x0000FFAB
-  GDK_KEY_KP_Separator* = 0x0000FFAC
-  GDK_KEY_KP_Subtract* = 0x0000FFAD
-  GDK_KEY_KP_Decimal* = 0x0000FFAE
-  GDK_KEY_KP_Divide* = 0x0000FFAF
-  GDK_KEY_KP_0* = 0x0000FFB0
-  GDK_KEY_KP_1* = 0x0000FFB1
-  GDK_KEY_KP_2* = 0x0000FFB2
-  GDK_KEY_KP_3* = 0x0000FFB3
-  GDK_KEY_KP_4* = 0x0000FFB4
-  GDK_KEY_KP_5* = 0x0000FFB5
-  GDK_KEY_KP_6* = 0x0000FFB6
-  GDK_KEY_KP_7* = 0x0000FFB7
-  GDK_KEY_KP_8* = 0x0000FFB8
-  GDK_KEY_KP_9* = 0x0000FFB9
-  GDK_KEY_F1* = 0x0000FFBE
-  GDK_KEY_F2* = 0x0000FFBF
-  GDK_KEY_F3* = 0x0000FFC0
-  GDK_KEY_F4* = 0x0000FFC1
-  GDK_KEY_F5* = 0x0000FFC2
-  GDK_KEY_F6* = 0x0000FFC3
-  GDK_KEY_F7* = 0x0000FFC4
-  GDK_KEY_F8* = 0x0000FFC5
-  GDK_KEY_F9* = 0x0000FFC6
-  GDK_KEY_F10* = 0x0000FFC7
-  GDK_KEY_F11* = 0x0000FFC8
-  GDK_KEY_L1* = 0x0000FFC8
-  GDK_KEY_F12* = 0x0000FFC9
-  GDK_KEY_L2* = 0x0000FFC9
-  GDK_KEY_F13* = 0x0000FFCA
-  GDK_KEY_L3* = 0x0000FFCA
-  GDK_KEY_F14* = 0x0000FFCB
-  GDK_KEY_L4* = 0x0000FFCB
-  GDK_KEY_F15* = 0x0000FFCC
-  GDK_KEY_L5* = 0x0000FFCC
-  GDK_KEY_F16* = 0x0000FFCD
-  GDK_KEY_L6* = 0x0000FFCD
-  GDK_KEY_F17* = 0x0000FFCE
-  GDK_KEY_L7* = 0x0000FFCE
-  GDK_KEY_F18* = 0x0000FFCF
-  GDK_KEY_L8* = 0x0000FFCF
-  GDK_KEY_F19* = 0x0000FFD0
-  GDK_KEY_L9* = 0x0000FFD0
-  GDK_KEY_F20* = 0x0000FFD1
-  GDK_KEY_L10* = 0x0000FFD1
-  GDK_KEY_F21* = 0x0000FFD2
-  GDK_KEY_R1* = 0x0000FFD2
-  GDK_KEY_F22* = 0x0000FFD3
-  GDK_KEY_R2* = 0x0000FFD3
-  GDK_KEY_F23* = 0x0000FFD4
-  GDK_KEY_R3* = 0x0000FFD4
-  GDK_KEY_F24* = 0x0000FFD5
-  GDK_KEY_R4* = 0x0000FFD5
-  GDK_KEY_F25* = 0x0000FFD6
-  GDK_KEY_R5* = 0x0000FFD6
-  GDK_KEY_F26* = 0x0000FFD7
-  GDK_KEY_R6* = 0x0000FFD7
-  GDK_KEY_F27* = 0x0000FFD8
-  GDK_KEY_R7* = 0x0000FFD8
-  GDK_KEY_F28* = 0x0000FFD9
-  GDK_KEY_R8* = 0x0000FFD9
-  GDK_KEY_F29* = 0x0000FFDA
-  GDK_KEY_R9* = 0x0000FFDA
-  GDK_KEY_F30* = 0x0000FFDB
-  GDK_KEY_R10* = 0x0000FFDB
-  GDK_KEY_F31* = 0x0000FFDC
-  GDK_KEY_R11* = 0x0000FFDC
-  GDK_KEY_F32* = 0x0000FFDD
-  GDK_KEY_R12* = 0x0000FFDD
-  GDK_KEY_F33* = 0x0000FFDE
-  GDK_KEY_R13* = 0x0000FFDE
-  GDK_KEY_F34* = 0x0000FFDF
-  GDK_KEY_R14* = 0x0000FFDF
-  GDK_KEY_F35* = 0x0000FFE0
-  GDK_KEY_R15* = 0x0000FFE0
-  GDK_KEY_Shift_L* = 0x0000FFE1
-  GDK_KEY_Shift_R* = 0x0000FFE2
-  GDK_KEY_Control_L* = 0x0000FFE3
-  GDK_KEY_Control_R* = 0x0000FFE4
-  GDK_KEY_Caps_Lock* = 0x0000FFE5
-  GDK_KEY_Shift_Lock* = 0x0000FFE6
-  GDK_KEY_Meta_L* = 0x0000FFE7
-  GDK_KEY_Meta_R* = 0x0000FFE8
-  GDK_KEY_Alt_L* = 0x0000FFE9
-  GDK_KEY_Alt_R* = 0x0000FFEA
-  GDK_KEY_Super_L* = 0x0000FFEB
-  GDK_KEY_Super_R* = 0x0000FFEC
-  GDK_KEY_Hyper_L* = 0x0000FFED
-  GDK_KEY_Hyper_R* = 0x0000FFEE
-  GDK_KEY_ISO_Lock* = 0x0000FE01
-  GDK_KEY_ISO_Level2_Latch* = 0x0000FE02
-  GDK_KEY_ISO_Level3_Shift* = 0x0000FE03
-  GDK_KEY_ISO_Level3_Latch* = 0x0000FE04
-  GDK_KEY_ISO_Level3_Lock* = 0x0000FE05
-  GDK_KEY_ISO_Group_Shift* = 0x0000FF7E
-  GDK_KEY_ISO_Group_Latch* = 0x0000FE06
-  GDK_KEY_ISO_Group_Lock* = 0x0000FE07
-  GDK_KEY_ISO_Next_Group* = 0x0000FE08
-  GDK_KEY_ISO_Next_Group_Lock* = 0x0000FE09
-  GDK_KEY_ISO_Prev_Group* = 0x0000FE0A
-  GDK_KEY_ISO_Prev_Group_Lock* = 0x0000FE0B
-  GDK_KEY_ISO_First_Group* = 0x0000FE0C
-  GDK_KEY_ISO_First_Group_Lock* = 0x0000FE0D
-  GDK_KEY_ISO_Last_Group* = 0x0000FE0E
-  GDK_KEY_ISO_Last_Group_Lock* = 0x0000FE0F
-  GDK_KEY_ISO_Left_Tab* = 0x0000FE20
-  GDK_KEY_ISO_Move_Line_Up* = 0x0000FE21
-  GDK_KEY_ISO_Move_Line_Down* = 0x0000FE22
-  GDK_KEY_ISO_Partial_Line_Up* = 0x0000FE23
-  GDK_KEY_ISO_Partial_Line_Down* = 0x0000FE24
-  GDK_KEY_ISO_Partial_Space_Left* = 0x0000FE25
-  GDK_KEY_ISO_Partial_Space_Right* = 0x0000FE26
-  GDK_KEY_ISO_Set_Margin_Left* = 0x0000FE27
-  GDK_KEY_ISO_Set_Margin_Right* = 0x0000FE28
-  GDK_KEY_ISO_Release_Margin_Left* = 0x0000FE29
-  GDK_KEY_ISO_Release_Margin_Right* = 0x0000FE2A
-  GDK_KEY_ISO_Release_Both_Margins* = 0x0000FE2B
-  GDK_KEY_ISO_Fast_Cursor_Left* = 0x0000FE2C
-  GDK_KEY_ISO_Fast_Cursor_Right* = 0x0000FE2D
-  GDK_KEY_ISO_Fast_Cursor_Up* = 0x0000FE2E
-  GDK_KEY_ISO_Fast_Cursor_Down* = 0x0000FE2F
-  GDK_KEY_ISO_Continuous_Underline* = 0x0000FE30
-  GDK_KEY_ISO_Discontinuous_Underline* = 0x0000FE31
-  GDK_KEY_ISO_Emphasize* = 0x0000FE32
-  GDK_KEY_ISO_Center_Object* = 0x0000FE33
-  GDK_KEY_ISO_Enter* = 0x0000FE34
-  GDK_KEY_dead_grave* = 0x0000FE50
-  GDK_KEY_dead_acute* = 0x0000FE51
-  GDK_KEY_dead_circumflex* = 0x0000FE52
-  GDK_KEY_dead_tilde* = 0x0000FE53
-  GDK_KEY_dead_macron* = 0x0000FE54
-  GDK_KEY_dead_breve* = 0x0000FE55
-  GDK_KEY_dead_abovedot* = 0x0000FE56
-  GDK_KEY_dead_diaeresis* = 0x0000FE57
-  GDK_KEY_dead_abovering* = 0x0000FE58
-  GDK_KEY_dead_doubleacute* = 0x0000FE59
-  GDK_KEY_dead_caron* = 0x0000FE5A
-  GDK_KEY_dead_cedilla* = 0x0000FE5B
-  GDK_KEY_dead_ogonek* = 0x0000FE5C
-  GDK_KEY_dead_iota* = 0x0000FE5D
-  GDK_KEY_dead_voiced_sound* = 0x0000FE5E
-  GDK_KEY_dead_semivoiced_sound* = 0x0000FE5F
-  GDK_KEY_dead_belowdot* = 0x0000FE60
-  GDK_KEY_First_Virtual_Screen* = 0x0000FED0
-  GDK_KEY_Prev_Virtual_Screen* = 0x0000FED1
-  GDK_KEY_Next_Virtual_Screen* = 0x0000FED2
-  GDK_KEY_Last_Virtual_Screen* = 0x0000FED4
-  GDK_KEY_Terminate_Server* = 0x0000FED5
-  GDK_KEY_AccessX_Enable* = 0x0000FE70
-  GDK_KEY_AccessX_Feedback_Enable* = 0x0000FE71
-  GDK_KEY_RepeatKeys_Enable* = 0x0000FE72
-  GDK_KEY_SlowKeys_Enable* = 0x0000FE73
-  GDK_KEY_BounceKeys_Enable* = 0x0000FE74
-  GDK_KEY_StickyKeys_Enable* = 0x0000FE75
-  GDK_KEY_MouseKeys_Enable* = 0x0000FE76
-  GDK_KEY_MouseKeys_Accel_Enable* = 0x0000FE77
-  GDK_KEY_Overlay1_Enable* = 0x0000FE78
-  GDK_KEY_Overlay2_Enable* = 0x0000FE79
-  GDK_KEY_AudibleBell_Enable* = 0x0000FE7A
-  GDK_KEY_Pointer_Left* = 0x0000FEE0
-  GDK_KEY_Pointer_Right* = 0x0000FEE1
-  GDK_KEY_Pointer_Up* = 0x0000FEE2
-  GDK_KEY_Pointer_Down* = 0x0000FEE3
-  GDK_KEY_Pointer_UpLeft* = 0x0000FEE4
-  GDK_KEY_Pointer_UpRight* = 0x0000FEE5
-  GDK_KEY_Pointer_DownLeft* = 0x0000FEE6
-  GDK_KEY_Pointer_DownRight* = 0x0000FEE7
-  GDK_KEY_Pointer_Button_Dflt* = 0x0000FEE8
-  GDK_KEY_Pointer_Button1* = 0x0000FEE9
-  GDK_KEY_Pointer_Button2* = 0x0000FEEA
-  GDK_KEY_Pointer_Button3* = 0x0000FEEB
-  GDK_KEY_Pointer_Button4* = 0x0000FEEC
-  GDK_KEY_Pointer_Button5* = 0x0000FEED
-  GDK_KEY_Pointer_DblClick_Dflt* = 0x0000FEEE
-  GDK_KEY_Pointer_DblClick1* = 0x0000FEEF
-  GDK_KEY_Pointer_DblClick2* = 0x0000FEF0
-  GDK_KEY_Pointer_DblClick3* = 0x0000FEF1
-  GDK_KEY_Pointer_DblClick4* = 0x0000FEF2
-  GDK_KEY_Pointer_DblClick5* = 0x0000FEF3
-  GDK_KEY_Pointer_Drag_Dflt* = 0x0000FEF4
-  GDK_KEY_Pointer_Drag1* = 0x0000FEF5
-  GDK_KEY_Pointer_Drag2* = 0x0000FEF6
-  GDK_KEY_Pointer_Drag3* = 0x0000FEF7
-  GDK_KEY_Pointer_Drag4* = 0x0000FEF8
-  GDK_KEY_Pointer_Drag5* = 0x0000FEFD
-  GDK_KEY_Pointer_EnableKeys* = 0x0000FEF9
-  GDK_KEY_Pointer_Accelerate* = 0x0000FEFA
-  GDK_KEY_Pointer_DfltBtnNext* = 0x0000FEFB
-  GDK_KEY_Pointer_DfltBtnPrev* = 0x0000FEFC
-  GDK_KEY_3270_Duplicate* = 0x0000FD01
-  GDK_KEY_3270_FieldMark* = 0x0000FD02
-  GDK_KEY_3270_Right2* = 0x0000FD03
-  GDK_KEY_3270_Left2* = 0x0000FD04
-  GDK_KEY_3270_BackTab* = 0x0000FD05
-  GDK_KEY_3270_EraseEOF* = 0x0000FD06
-  GDK_KEY_3270_EraseInput* = 0x0000FD07
-  GDK_KEY_3270_Reset* = 0x0000FD08
-  GDK_KEY_3270_Quit* = 0x0000FD09
-  GDK_KEY_3270_PA1* = 0x0000FD0A
-  GDK_KEY_3270_PA2* = 0x0000FD0B
-  GDK_KEY_3270_PA3* = 0x0000FD0C
-  GDK_KEY_3270_Test* = 0x0000FD0D
-  GDK_KEY_3270_Attn* = 0x0000FD0E
-  GDK_KEY_3270_CursorBlink* = 0x0000FD0F
-  GDK_KEY_3270_AltCursor* = 0x0000FD10
-  GDK_KEY_3270_KeyClick* = 0x0000FD11
-  GDK_KEY_3270_Jump* = 0x0000FD12
-  GDK_KEY_3270_Ident* = 0x0000FD13
-  GDK_KEY_3270_Rule* = 0x0000FD14
-  GDK_KEY_3270_Copy* = 0x0000FD15
-  GDK_KEY_3270_Play* = 0x0000FD16
-  GDK_KEY_3270_Setup* = 0x0000FD17
-  GDK_KEY_3270_Record* = 0x0000FD18
-  GDK_KEY_3270_ChangeScreen* = 0x0000FD19
-  GDK_KEY_3270_DeleteWord* = 0x0000FD1A
-  GDK_KEY_3270_ExSelect* = 0x0000FD1B
-  GDK_KEY_3270_CursorSelect* = 0x0000FD1C
-  GDK_KEY_3270_PrintScreen* = 0x0000FD1D
-  GDK_KEY_3270_Enter* = 0x0000FD1E
-  GDK_KEY_space* = 0x00000020
-  GDK_KEY_exclam* = 0x00000021
-  GDK_KEY_quotedbl* = 0x00000022
-  GDK_KEY_numbersign* = 0x00000023
-  GDK_KEY_dollar* = 0x00000024
-  GDK_KEY_percent* = 0x00000025
-  GDK_KEY_ampersand* = 0x00000026
-  GDK_KEY_apostrophe* = 0x00000027
-  GDK_KEY_quoteright* = 0x00000027
-  GDK_KEY_parenleft* = 0x00000028
-  GDK_KEY_parenright* = 0x00000029
-  GDK_KEY_asterisk* = 0x0000002A
-  GDK_KEY_plus* = 0x0000002B
-  GDK_KEY_comma* = 0x0000002C
-  GDK_KEY_minus* = 0x0000002D
-  GDK_KEY_period* = 0x0000002E
-  GDK_KEY_slash* = 0x0000002F
-  GDK_KEY_0* = 0x00000030
-  GDK_KEY_1* = 0x00000031
-  GDK_KEY_2* = 0x00000032
-  GDK_KEY_3* = 0x00000033
-  GDK_KEY_4* = 0x00000034
-  GDK_KEY_5* = 0x00000035
-  GDK_KEY_6* = 0x00000036
-  GDK_KEY_7* = 0x00000037
-  GDK_KEY_8* = 0x00000038
-  GDK_KEY_9* = 0x00000039
-  GDK_KEY_colon* = 0x0000003A
-  GDK_KEY_semicolon* = 0x0000003B
-  GDK_KEY_less* = 0x0000003C
-  GDK_KEY_equal* = 0x0000003D
-  GDK_KEY_greater* = 0x0000003E
-  GDK_KEY_question* = 0x0000003F
-  GDK_KEY_at* = 0x00000040
-  GDK_KEY_CAPITAL_A* = 0x00000041
-  GDK_KEY_CAPITAL_B* = 0x00000042
-  GDK_KEY_CAPITAL_C* = 0x00000043
-  GDK_KEY_CAPITAL_D* = 0x00000044
-  GDK_KEY_CAPITAL_E* = 0x00000045
-  GDK_KEY_CAPITAL_F* = 0x00000046
-  GDK_KEY_CAPITAL_G* = 0x00000047
-  GDK_KEY_CAPITAL_H* = 0x00000048
-  GDK_KEY_CAPITAL_I* = 0x00000049
-  GDK_KEY_CAPITAL_J* = 0x0000004A
-  GDK_KEY_CAPITAL_K* = 0x0000004B
-  GDK_KEY_CAPITAL_L* = 0x0000004C
-  GDK_KEY_CAPITAL_M* = 0x0000004D
-  GDK_KEY_CAPITAL_N* = 0x0000004E
-  GDK_KEY_CAPITAL_O* = 0x0000004F
-  GDK_KEY_CAPITAL_P* = 0x00000050
-  GDK_KEY_CAPITAL_Q* = 0x00000051
-  GDK_KEY_CAPITAL_R* = 0x00000052
-  GDK_KEY_CAPITAL_S* = 0x00000053
-  GDK_KEY_CAPITAL_T* = 0x00000054
-  GDK_KEY_CAPITAL_U* = 0x00000055
-  GDK_KEY_CAPITAL_V* = 0x00000056
-  GDK_KEY_CAPITAL_W* = 0x00000057
-  GDK_KEY_CAPITAL_X* = 0x00000058
-  GDK_KEY_CAPITAL_Y* = 0x00000059
-  GDK_KEY_CAPITAL_Z* = 0x0000005A
-  GDK_KEY_bracketleft* = 0x0000005B
-  GDK_KEY_backslash* = 0x0000005C
-  GDK_KEY_bracketright* = 0x0000005D
-  GDK_KEY_asciicircum* = 0x0000005E
-  GDK_KEY_underscore* = 0x0000005F
-  GDK_KEY_grave* = 0x00000060
-  GDK_KEY_quoteleft* = 0x00000060
-  GDK_KEY_a* = 0x00000061
-  GDK_KEY_b* = 0x00000062
-  GDK_KEY_c* = 0x00000063
-  GDK_KEY_d* = 0x00000064
-  GDK_KEY_e* = 0x00000065
-  GDK_KEY_f* = 0x00000066
-  GDK_KEY_g* = 0x00000067
-  GDK_KEY_h* = 0x00000068
-  GDK_KEY_i* = 0x00000069
-  GDK_KEY_j* = 0x0000006A
-  GDK_KEY_k* = 0x0000006B
-  GDK_KEY_l* = 0x0000006C
-  GDK_KEY_m* = 0x0000006D
-  GDK_KEY_n* = 0x0000006E
-  GDK_KEY_o* = 0x0000006F
-  GDK_KEY_p* = 0x00000070
-  GDK_KEY_q* = 0x00000071
-  GDK_KEY_r* = 0x00000072
-  GDK_KEY_s* = 0x00000073
-  GDK_KEY_t* = 0x00000074
-  GDK_KEY_u* = 0x00000075
-  GDK_KEY_v* = 0x00000076
-  GDK_KEY_w* = 0x00000077
-  GDK_KEY_x* = 0x00000078
-  GDK_KEY_y* = 0x00000079
-  GDK_KEY_z* = 0x0000007A
-  GDK_KEY_braceleft* = 0x0000007B
-  GDK_KEY_bar* = 0x0000007C
-  GDK_KEY_braceright* = 0x0000007D
-  GDK_KEY_asciitilde* = 0x0000007E
-  GDK_KEY_nobreakspace* = 0x000000A0
-  GDK_KEY_exclamdown* = 0x000000A1
-  GDK_KEY_cent* = 0x000000A2
-  GDK_KEY_sterling* = 0x000000A3
-  GDK_KEY_currency* = 0x000000A4
-  GDK_KEY_yen* = 0x000000A5
-  GDK_KEY_brokenbar* = 0x000000A6
-  GDK_KEY_section* = 0x000000A7
-  GDK_KEY_diaeresis* = 0x000000A8
-  GDK_KEY_copyright* = 0x000000A9
-  GDK_KEY_ordfeminine* = 0x000000AA
-  GDK_KEY_guillemotleft* = 0x000000AB
-  GDK_KEY_notsign* = 0x000000AC
-  GDK_KEY_hyphen* = 0x000000AD
-  GDK_KEY_registered* = 0x000000AE
-  GDK_KEY_macron* = 0x000000AF
-  GDK_KEY_degree* = 0x000000B0
-  GDK_KEY_plusminus* = 0x000000B1
-  GDK_KEY_twosuperior* = 0x000000B2
-  GDK_KEY_threesuperior* = 0x000000B3
-  GDK_KEY_acute* = 0x000000B4
-  GDK_KEY_mu* = 0x000000B5
-  GDK_KEY_paragraph* = 0x000000B6
-  GDK_KEY_periodcentered* = 0x000000B7
-  GDK_KEY_cedilla* = 0x000000B8
-  GDK_KEY_onesuperior* = 0x000000B9
-  GDK_KEY_masculine* = 0x000000BA
-  GDK_KEY_guillemotright* = 0x000000BB
-  GDK_KEY_onequarter* = 0x000000BC
-  GDK_KEY_onehalf* = 0x000000BD
-  GDK_KEY_threequarters* = 0x000000BE
-  GDK_KEY_questiondown* = 0x000000BF
-  GDK_KEY_CAPITAL_Agrave* = 0x000000C0
-  GDK_KEY_CAPITAL_Aacute* = 0x000000C1
-  GDK_KEY_CAPITAL_Acircumflex* = 0x000000C2
-  GDK_KEY_CAPITAL_Atilde* = 0x000000C3
-  GDK_KEY_CAPITAL_Adiaeresis* = 0x000000C4
-  GDK_KEY_CAPITAL_Aring* = 0x000000C5
-  GDK_KEY_CAPITAL_AE* = 0x000000C6
-  GDK_KEY_CAPITAL_Ccedilla* = 0x000000C7
-  GDK_KEY_CAPITAL_Egrave* = 0x000000C8
-  GDK_KEY_CAPITAL_Eacute* = 0x000000C9
-  GDK_KEY_CAPITAL_Ecircumflex* = 0x000000CA
-  GDK_KEY_CAPITAL_Ediaeresis* = 0x000000CB
-  GDK_KEY_CAPITAL_Igrave* = 0x000000CC
-  GDK_KEY_CAPITAL_Iacute* = 0x000000CD
-  GDK_KEY_CAPITAL_Icircumflex* = 0x000000CE
-  GDK_KEY_CAPITAL_Idiaeresis* = 0x000000CF
-  GDK_KEY_CAPITAL_ETH* = 0x000000D0
-  GDK_KEY_CAPITAL_Ntilde* = 0x000000D1
-  GDK_KEY_CAPITAL_Ograve* = 0x000000D2
-  GDK_KEY_CAPITAL_Oacute* = 0x000000D3
-  GDK_KEY_CAPITAL_Ocircumflex* = 0x000000D4
-  GDK_KEY_CAPITAL_Otilde* = 0x000000D5
-  GDK_KEY_CAPITAL_Odiaeresis* = 0x000000D6
-  GDK_KEY_multiply* = 0x000000D7
-  GDK_KEY_Ooblique* = 0x000000D8
-  GDK_KEY_CAPITAL_Ugrave* = 0x000000D9
-  GDK_KEY_CAPITAL_Uacute* = 0x000000DA
-  GDK_KEY_CAPITAL_Ucircumflex* = 0x000000DB
-  GDK_KEY_CAPITAL_Udiaeresis* = 0x000000DC
-  GDK_KEY_CAPITAL_Yacute* = 0x000000DD
-  GDK_KEY_CAPITAL_THORN* = 0x000000DE
-  GDK_KEY_ssharp* = 0x000000DF
-  GDK_KEY_agrave* = 0x000000E0
-  GDK_KEY_aacute* = 0x000000E1
-  GDK_KEY_acircumflex* = 0x000000E2
-  GDK_KEY_atilde* = 0x000000E3
-  GDK_KEY_adiaeresis* = 0x000000E4
-  GDK_KEY_aring* = 0x000000E5
-  GDK_KEY_ae* = 0x000000E6
-  GDK_KEY_ccedilla* = 0x000000E7
-  GDK_KEY_egrave* = 0x000000E8
-  GDK_KEY_eacute* = 0x000000E9
-  GDK_KEY_ecircumflex* = 0x000000EA
-  GDK_KEY_ediaeresis* = 0x000000EB
-  GDK_KEY_igrave* = 0x000000EC
-  GDK_KEY_iacute* = 0x000000ED
-  GDK_KEY_icircumflex* = 0x000000EE
-  GDK_KEY_idiaeresis* = 0x000000EF
-  GDK_KEY_eth* = 0x000000F0
-  GDK_KEY_ntilde* = 0x000000F1
-  GDK_KEY_ograve* = 0x000000F2
-  GDK_KEY_oacute* = 0x000000F3
-  GDK_KEY_ocircumflex* = 0x000000F4
-  GDK_KEY_otilde* = 0x000000F5
-  GDK_KEY_odiaeresis* = 0x000000F6
-  GDK_KEY_division* = 0x000000F7
-  GDK_KEY_oslash* = 0x000000F8
-  GDK_KEY_ugrave* = 0x000000F9
-  GDK_KEY_uacute* = 0x000000FA
-  GDK_KEY_ucircumflex* = 0x000000FB
-  GDK_KEY_udiaeresis* = 0x000000FC
-  GDK_KEY_yacute* = 0x000000FD
-  GDK_KEY_thorn* = 0x000000FE
-  GDK_KEY_ydiaeresis* = 0x000000FF
-  GDK_KEY_CAPITAL_Aogonek* = 0x000001A1
-  GDK_KEY_breve* = 0x000001A2
-  GDK_KEY_CAPITAL_Lstroke* = 0x000001A3
-  GDK_KEY_CAPITAL_Lcaron* = 0x000001A5
-  GDK_KEY_CAPITAL_Sacute* = 0x000001A6
-  GDK_KEY_CAPITAL_Scaron* = 0x000001A9
-  GDK_KEY_CAPITAL_Scedilla* = 0x000001AA
-  GDK_KEY_CAPITAL_Tcaron* = 0x000001AB
-  GDK_KEY_CAPITAL_Zacute* = 0x000001AC
-  GDK_KEY_CAPITAL_Zcaron* = 0x000001AE
-  GDK_KEY_CAPITAL_Zabovedot* = 0x000001AF
-  GDK_KEY_aogonek* = 0x000001B1
-  GDK_KEY_ogonek* = 0x000001B2
-  GDK_KEY_lstroke* = 0x000001B3
-  GDK_KEY_lcaron* = 0x000001B5
-  GDK_KEY_sacute* = 0x000001B6
-  GDK_KEY_caron* = 0x000001B7
-  GDK_KEY_scaron* = 0x000001B9
-  GDK_KEY_scedilla* = 0x000001BA
-  GDK_KEY_tcaron* = 0x000001BB
-  GDK_KEY_zacute* = 0x000001BC
-  GDK_KEY_doubleacute* = 0x000001BD
-  GDK_KEY_zcaron* = 0x000001BE
-  GDK_KEY_zabovedot* = 0x000001BF
-  GDK_KEY_CAPITAL_Racute* = 0x000001C0
-  GDK_KEY_CAPITAL_Abreve* = 0x000001C3
-  GDK_KEY_CAPITAL_Lacute* = 0x000001C5
-  GDK_KEY_CAPITAL_Cacute* = 0x000001C6
-  GDK_KEY_CAPITAL_Ccaron* = 0x000001C8
-  GDK_KEY_CAPITAL_Eogonek* = 0x000001CA
-  GDK_KEY_CAPITAL_Ecaron* = 0x000001CC
-  GDK_KEY_CAPITAL_Dcaron* = 0x000001CF
-  GDK_KEY_CAPITAL_Dstroke* = 0x000001D0
-  GDK_KEY_CAPITAL_Nacute* = 0x000001D1
-  GDK_KEY_CAPITAL_Ncaron* = 0x000001D2
-  GDK_KEY_CAPITAL_Odoubleacute* = 0x000001D5
-  GDK_KEY_CAPITAL_Rcaron* = 0x000001D8
-  GDK_KEY_CAPITAL_Uring* = 0x000001D9
-  GDK_KEY_CAPITAL_Udoubleacute* = 0x000001DB
-  GDK_KEY_CAPITAL_Tcedilla* = 0x000001DE
-  GDK_KEY_racute* = 0x000001E0
-  GDK_KEY_abreve* = 0x000001E3
-  GDK_KEY_lacute* = 0x000001E5
-  GDK_KEY_cacute* = 0x000001E6
-  GDK_KEY_ccaron* = 0x000001E8
-  GDK_KEY_eogonek* = 0x000001EA
-  GDK_KEY_ecaron* = 0x000001EC
-  GDK_KEY_dcaron* = 0x000001EF
-  GDK_KEY_dstroke* = 0x000001F0
-  GDK_KEY_nacute* = 0x000001F1
-  GDK_KEY_ncaron* = 0x000001F2
-  GDK_KEY_odoubleacute* = 0x000001F5
-  GDK_KEY_udoubleacute* = 0x000001FB
-  GDK_KEY_rcaron* = 0x000001F8
-  GDK_KEY_uring* = 0x000001F9
-  GDK_KEY_tcedilla* = 0x000001FE
-  GDK_KEY_abovedot* = 0x000001FF
-  GDK_KEY_CAPITAL_Hstroke* = 0x000002A1
-  GDK_KEY_CAPITAL_Hcircumflex* = 0x000002A6
-  GDK_KEY_CAPITAL_Iabovedot* = 0x000002A9
-  GDK_KEY_CAPITAL_Gbreve* = 0x000002AB
-  GDK_KEY_CAPITAL_Jcircumflex* = 0x000002AC
-  GDK_KEY_hstroke* = 0x000002B1
-  GDK_KEY_hcircumflex* = 0x000002B6
-  GDK_KEY_idotless* = 0x000002B9
-  GDK_KEY_gbreve* = 0x000002BB
-  GDK_KEY_jcircumflex* = 0x000002BC
-  GDK_KEY_CAPITAL_Cabovedot* = 0x000002C5
-  GDK_KEY_CAPITAL_Ccircumflex* = 0x000002C6
-  GDK_KEY_CAPITAL_Gabovedot* = 0x000002D5
-  GDK_KEY_CAPITAL_Gcircumflex* = 0x000002D8
-  GDK_KEY_CAPITAL_Ubreve* = 0x000002DD
-  GDK_KEY_CAPITAL_Scircumflex* = 0x000002DE
-  GDK_KEY_cabovedot* = 0x000002E5
-  GDK_KEY_ccircumflex* = 0x000002E6
-  GDK_KEY_gabovedot* = 0x000002F5
-  GDK_KEY_gcircumflex* = 0x000002F8
-  GDK_KEY_ubreve* = 0x000002FD
-  GDK_KEY_scircumflex* = 0x000002FE
-  GDK_KEY_kra* = 0x000003A2
-  GDK_KEY_kappa* = 0x000003A2
-  GDK_KEY_CAPITAL_Rcedilla* = 0x000003A3
-  GDK_KEY_CAPITAL_Itilde* = 0x000003A5
-  GDK_KEY_CAPITAL_Lcedilla* = 0x000003A6
-  GDK_KEY_CAPITAL_Emacron* = 0x000003AA
-  GDK_KEY_CAPITAL_Gcedilla* = 0x000003AB
-  GDK_KEY_CAPITAL_Tslash* = 0x000003AC
-  GDK_KEY_rcedilla* = 0x000003B3
-  GDK_KEY_itilde* = 0x000003B5
-  GDK_KEY_lcedilla* = 0x000003B6
-  GDK_KEY_emacron* = 0x000003BA
-  GDK_KEY_gcedilla* = 0x000003BB
-  GDK_KEY_tslash* = 0x000003BC
-  GDK_KEY_CAPITAL_ENG* = 0x000003BD
-  GDK_KEY_eng* = 0x000003BF
-  GDK_KEY_CAPITAL_Amacron* = 0x000003C0
-  GDK_KEY_CAPITAL_Iogonek* = 0x000003C7
-  GDK_KEY_CAPITAL_Eabovedot* = 0x000003CC
-  GDK_KEY_CAPITAL_Imacron* = 0x000003CF
-  GDK_KEY_CAPITAL_Ncedilla* = 0x000003D1
-  GDK_KEY_CAPITAL_Omacron* = 0x000003D2
-  GDK_KEY_CAPITAL_Kcedilla* = 0x000003D3
-  GDK_KEY_CAPITAL_Uogonek* = 0x000003D9
-  GDK_KEY_CAPITAL_Utilde* = 0x000003DD
-  GDK_KEY_CAPITAL_Umacron* = 0x000003DE
-  GDK_KEY_amacron* = 0x000003E0
-  GDK_KEY_iogonek* = 0x000003E7
-  GDK_KEY_eabovedot* = 0x000003EC
-  GDK_KEY_imacron* = 0x000003EF
-  GDK_KEY_ncedilla* = 0x000003F1
-  GDK_KEY_omacron* = 0x000003F2
-  GDK_KEY_kcedilla* = 0x000003F3
-  GDK_KEY_uogonek* = 0x000003F9
-  GDK_KEY_utilde* = 0x000003FD
-  GDK_KEY_umacron* = 0x000003FE
-  GDK_KEY_CAPITAL_OE* = 0x000013BC
-  GDK_KEY_oe* = 0x000013BD
-  GDK_KEY_CAPITAL_Ydiaeresis* = 0x000013BE
-  GDK_KEY_overline* = 0x0000047E
-  GDK_KEY_kana_fullstop* = 0x000004A1
-  GDK_KEY_kana_openingbracket* = 0x000004A2
-  GDK_KEY_kana_closingbracket* = 0x000004A3
-  GDK_KEY_kana_comma* = 0x000004A4
-  GDK_KEY_kana_conjunctive* = 0x000004A5
-  GDK_KEY_kana_middledot* = 0x000004A5
-  GDK_KEY_kana_WO* = 0x000004A6
-  GDK_KEY_kana_a* = 0x000004A7
-  GDK_KEY_kana_i* = 0x000004A8
-  GDK_KEY_kana_u* = 0x000004A9
-  GDK_KEY_kana_e* = 0x000004AA
-  GDK_KEY_kana_o* = 0x000004AB
-  GDK_KEY_kana_ya* = 0x000004AC
-  GDK_KEY_kana_yu* = 0x000004AD
-  GDK_KEY_kana_yo* = 0x000004AE
-  GDK_KEY_kana_tsu* = 0x000004AF
-  GDK_KEY_kana_tu* = 0x000004AF
-  GDK_KEY_prolongedsound* = 0x000004B0
-  GDK_KEY_kana_CAPITAL_A* = 0x000004B1
-  GDK_KEY_kana_CAPITAL_I* = 0x000004B2
-  GDK_KEY_kana_CAPITAL_U* = 0x000004B3
-  GDK_KEY_kana_CAPITAL_E* = 0x000004B4
-  GDK_KEY_kana_CAPITAL_O* = 0x000004B5
-  GDK_KEY_kana_KA* = 0x000004B6
-  GDK_KEY_kana_KI* = 0x000004B7
-  GDK_KEY_kana_KU* = 0x000004B8
-  GDK_KEY_kana_KE* = 0x000004B9
-  GDK_KEY_kana_KO* = 0x000004BA
-  GDK_KEY_kana_SA* = 0x000004BB
-  GDK_KEY_kana_SHI* = 0x000004BC
-  GDK_KEY_kana_SU* = 0x000004BD
-  GDK_KEY_kana_SE* = 0x000004BE
-  GDK_KEY_kana_SO* = 0x000004BF
-  GDK_KEY_kana_TA* = 0x000004C0
-  GDK_KEY_kana_CHI* = 0x000004C1
-  GDK_KEY_kana_TI* = 0x000004C1
-  GDK_KEY_kana_CAPITAL_TSU* = 0x000004C2
-  GDK_KEY_kana_CAPITAL_TU* = 0x000004C2
-  GDK_KEY_kana_TE* = 0x000004C3
-  GDK_KEY_kana_TO* = 0x000004C4
-  GDK_KEY_kana_NA* = 0x000004C5
-  GDK_KEY_kana_NI* = 0x000004C6
-  GDK_KEY_kana_NU* = 0x000004C7
-  GDK_KEY_kana_NE* = 0x000004C8
-  GDK_KEY_kana_NO* = 0x000004C9
-  GDK_KEY_kana_HA* = 0x000004CA
-  GDK_KEY_kana_HI* = 0x000004CB
-  GDK_KEY_kana_FU* = 0x000004CC
-  GDK_KEY_kana_HU* = 0x000004CC
-  GDK_KEY_kana_HE* = 0x000004CD
-  GDK_KEY_kana_HO* = 0x000004CE
-  GDK_KEY_kana_MA* = 0x000004CF
-  GDK_KEY_kana_MI* = 0x000004D0
-  GDK_KEY_kana_MU* = 0x000004D1
-  GDK_KEY_kana_ME* = 0x000004D2
-  GDK_KEY_kana_MO* = 0x000004D3
-  GDK_KEY_kana_CAPITAL_YA* = 0x000004D4
-  GDK_KEY_kana_CAPITAL_YU* = 0x000004D5
-  GDK_KEY_kana_CAPITAL_YO* = 0x000004D6
-  GDK_KEY_kana_RA* = 0x000004D7
-  GDK_KEY_kana_RI* = 0x000004D8
-  GDK_KEY_kana_RU* = 0x000004D9
-  GDK_KEY_kana_RE* = 0x000004DA
-  GDK_KEY_kana_RO* = 0x000004DB
-  GDK_KEY_kana_WA* = 0x000004DC
-  GDK_KEY_kana_N* = 0x000004DD
-  GDK_KEY_voicedsound* = 0x000004DE
-  GDK_KEY_semivoicedsound* = 0x000004DF
-  GDK_KEY_kana_switch* = 0x0000FF7E
-  GDK_KEY_Arabic_comma* = 0x000005AC
-  GDK_KEY_Arabic_semicolon* = 0x000005BB
-  GDK_KEY_Arabic_question_mark* = 0x000005BF
-  GDK_KEY_Arabic_hamza* = 0x000005C1
-  GDK_KEY_Arabic_maddaonalef* = 0x000005C2
-  GDK_KEY_Arabic_hamzaonalef* = 0x000005C3
-  GDK_KEY_Arabic_hamzaonwaw* = 0x000005C4
-  GDK_KEY_Arabic_hamzaunderalef* = 0x000005C5
-  GDK_KEY_Arabic_hamzaonyeh* = 0x000005C6
-  GDK_KEY_Arabic_alef* = 0x000005C7
-  GDK_KEY_Arabic_beh* = 0x000005C8
-  GDK_KEY_Arabic_tehmarbuta* = 0x000005C9
-  GDK_KEY_Arabic_teh* = 0x000005CA
-  GDK_KEY_Arabic_theh* = 0x000005CB
-  GDK_KEY_Arabic_jeem* = 0x000005CC
-  GDK_KEY_Arabic_hah* = 0x000005CD
-  GDK_KEY_Arabic_khah* = 0x000005CE
-  GDK_KEY_Arabic_dal* = 0x000005CF
-  GDK_KEY_Arabic_thal* = 0x000005D0
-  GDK_KEY_Arabic_ra* = 0x000005D1
-  GDK_KEY_Arabic_zain* = 0x000005D2
-  GDK_KEY_Arabic_seen* = 0x000005D3
-  GDK_KEY_Arabic_sheen* = 0x000005D4
-  GDK_KEY_Arabic_sad* = 0x000005D5
-  GDK_KEY_Arabic_dad* = 0x000005D6
-  GDK_KEY_Arabic_tah* = 0x000005D7
-  GDK_KEY_Arabic_zah* = 0x000005D8
-  GDK_KEY_Arabic_ain* = 0x000005D9
-  GDK_KEY_Arabic_ghain* = 0x000005DA
-  GDK_KEY_Arabic_tatweel* = 0x000005E0
-  GDK_KEY_Arabic_feh* = 0x000005E1
-  GDK_KEY_Arabic_qaf* = 0x000005E2
-  GDK_KEY_Arabic_kaf* = 0x000005E3
-  GDK_KEY_Arabic_lam* = 0x000005E4
-  GDK_KEY_Arabic_meem* = 0x000005E5
-  GDK_KEY_Arabic_noon* = 0x000005E6
-  GDK_KEY_Arabic_ha* = 0x000005E7
-  GDK_KEY_Arabic_heh* = 0x000005E7
-  GDK_KEY_Arabic_waw* = 0x000005E8
-  GDK_KEY_Arabic_alefmaksura* = 0x000005E9
-  GDK_KEY_Arabic_yeh* = 0x000005EA
-  GDK_KEY_Arabic_fathatan* = 0x000005EB
-  GDK_KEY_Arabic_dammatan* = 0x000005EC
-  GDK_KEY_Arabic_kasratan* = 0x000005ED
-  GDK_KEY_Arabic_fatha* = 0x000005EE
-  GDK_KEY_Arabic_damma* = 0x000005EF
-  GDK_KEY_Arabic_kasra* = 0x000005F0
-  GDK_KEY_Arabic_shadda* = 0x000005F1
-  GDK_KEY_Arabic_sukun* = 0x000005F2
-  GDK_KEY_Arabic_switch* = 0x0000FF7E
-  GDK_KEY_Serbian_dje* = 0x000006A1
-  GDK_KEY_Macedonia_gje* = 0x000006A2
-  GDK_KEY_Cyrillic_io* = 0x000006A3
-  GDK_KEY_Ukrainian_ie* = 0x000006A4
-  GDK_KEY_Ukranian_je* = 0x000006A4
-  GDK_KEY_Macedonia_dse* = 0x000006A5
-  GDK_KEY_Ukrainian_i* = 0x000006A6
-  GDK_KEY_Ukranian_i* = 0x000006A6
-  GDK_KEY_Ukrainian_yi* = 0x000006A7
-  GDK_KEY_Ukranian_yi* = 0x000006A7
-  GDK_KEY_Cyrillic_je* = 0x000006A8
-  GDK_KEY_Serbian_je* = 0x000006A8
-  GDK_KEY_Cyrillic_lje* = 0x000006A9
-  GDK_KEY_Serbian_lje* = 0x000006A9
-  GDK_KEY_Cyrillic_nje* = 0x000006AA
-  GDK_KEY_Serbian_nje* = 0x000006AA
-  GDK_KEY_Serbian_tshe* = 0x000006AB
-  GDK_KEY_Macedonia_kje* = 0x000006AC
-  GDK_KEY_Byelorussian_shortu* = 0x000006AE
-  GDK_KEY_Cyrillic_dzhe* = 0x000006AF
-  GDK_KEY_Serbian_dze* = 0x000006AF
-  GDK_KEY_numerosign* = 0x000006B0
-  GDK_KEY_Serbian_CAPITAL_DJE* = 0x000006B1
-  GDK_KEY_Macedonia_CAPITAL_GJE* = 0x000006B2
-  GDK_KEY_Cyrillic_CAPITAL_IO* = 0x000006B3
-  GDK_KEY_Ukrainian_CAPITAL_IE* = 0x000006B4
-  GDK_KEY_Ukranian_CAPITAL_JE* = 0x000006B4
-  GDK_KEY_Macedonia_CAPITAL_DSE* = 0x000006B5
-  GDK_KEY_Ukrainian_CAPITAL_I* = 0x000006B6
-  GDK_KEY_Ukranian_CAPITAL_I* = 0x000006B6
-  GDK_KEY_Ukrainian_CAPITAL_YI* = 0x000006B7
-  GDK_KEY_Ukranian_CAPITAL_YI* = 0x000006B7
-  GDK_KEY_Cyrillic_CAPITAL_JE* = 0x000006B8
-  GDK_KEY_Serbian_CAPITAL_JE* = 0x000006B8
-  GDK_KEY_Cyrillic_CAPITAL_LJE* = 0x000006B9
-  GDK_KEY_Serbian_CAPITAL_LJE* = 0x000006B9
-  GDK_KEY_Cyrillic_CAPITAL_NJE* = 0x000006BA
-  GDK_KEY_Serbian_CAPITAL_NJE* = 0x000006BA
-  GDK_KEY_Serbian_CAPITAL_TSHE* = 0x000006BB
-  GDK_KEY_Macedonia_CAPITAL_KJE* = 0x000006BC
-  GDK_KEY_Byelorussian_CAPITAL_SHORTU* = 0x000006BE
-  GDK_KEY_Cyrillic_CAPITAL_DZHE* = 0x000006BF
-  GDK_KEY_Serbian_CAPITAL_DZE* = 0x000006BF
-  GDK_KEY_Cyrillic_yu* = 0x000006C0
-  GDK_KEY_Cyrillic_a* = 0x000006C1
-  GDK_KEY_Cyrillic_be* = 0x000006C2
-  GDK_KEY_Cyrillic_tse* = 0x000006C3
-  GDK_KEY_Cyrillic_de* = 0x000006C4
-  GDK_KEY_Cyrillic_ie* = 0x000006C5
-  GDK_KEY_Cyrillic_ef* = 0x000006C6
-  GDK_KEY_Cyrillic_ghe* = 0x000006C7
-  GDK_KEY_Cyrillic_ha* = 0x000006C8
-  GDK_KEY_Cyrillic_i* = 0x000006C9
-  GDK_KEY_Cyrillic_shorti* = 0x000006CA
-  GDK_KEY_Cyrillic_ka* = 0x000006CB
-  GDK_KEY_Cyrillic_el* = 0x000006CC
-  GDK_KEY_Cyrillic_em* = 0x000006CD
-  GDK_KEY_Cyrillic_en* = 0x000006CE
-  GDK_KEY_Cyrillic_o* = 0x000006CF
-  GDK_KEY_Cyrillic_pe* = 0x000006D0
-  GDK_KEY_Cyrillic_ya* = 0x000006D1
-  GDK_KEY_Cyrillic_er* = 0x000006D2
-  GDK_KEY_Cyrillic_es* = 0x000006D3
-  GDK_KEY_Cyrillic_te* = 0x000006D4
-  GDK_KEY_Cyrillic_u* = 0x000006D5
-  GDK_KEY_Cyrillic_zhe* = 0x000006D6
-  GDK_KEY_Cyrillic_ve* = 0x000006D7
-  GDK_KEY_Cyrillic_softsign* = 0x000006D8
-  GDK_KEY_Cyrillic_yeru* = 0x000006D9
-  GDK_KEY_Cyrillic_ze* = 0x000006DA
-  GDK_KEY_Cyrillic_sha* = 0x000006DB
-  GDK_KEY_Cyrillic_e* = 0x000006DC
-  GDK_KEY_Cyrillic_shcha* = 0x000006DD
-  GDK_KEY_Cyrillic_che* = 0x000006DE
-  GDK_KEY_Cyrillic_hardsign* = 0x000006DF
-  GDK_KEY_Cyrillic_CAPITAL_YU* = 0x000006E0
-  GDK_KEY_Cyrillic_CAPITAL_A* = 0x000006E1
-  GDK_KEY_Cyrillic_CAPITAL_BE* = 0x000006E2
-  GDK_KEY_Cyrillic_CAPITAL_TSE* = 0x000006E3
-  GDK_KEY_Cyrillic_CAPITAL_DE* = 0x000006E4
-  GDK_KEY_Cyrillic_CAPITAL_IE* = 0x000006E5
-  GDK_KEY_Cyrillic_CAPITAL_EF* = 0x000006E6
-  GDK_KEY_Cyrillic_CAPITAL_GHE* = 0x000006E7
-  GDK_KEY_Cyrillic_CAPITAL_HA* = 0x000006E8
-  GDK_KEY_Cyrillic_CAPITAL_I* = 0x000006E9
-  GDK_KEY_Cyrillic_CAPITAL_SHORTI* = 0x000006EA
-  GDK_KEY_Cyrillic_CAPITAL_KA* = 0x000006EB
-  GDK_KEY_Cyrillic_CAPITAL_EL* = 0x000006EC
-  GDK_KEY_Cyrillic_CAPITAL_EM* = 0x000006ED
-  GDK_KEY_Cyrillic_CAPITAL_EN* = 0x000006EE
-  GDK_KEY_Cyrillic_CAPITAL_O* = 0x000006EF
-  GDK_KEY_Cyrillic_CAPITAL_PE* = 0x000006F0
-  GDK_KEY_Cyrillic_CAPITAL_YA* = 0x000006F1
-  GDK_KEY_Cyrillic_CAPITAL_ER* = 0x000006F2
-  GDK_KEY_Cyrillic_CAPITAL_ES* = 0x000006F3
-  GDK_KEY_Cyrillic_CAPITAL_TE* = 0x000006F4
-  GDK_KEY_Cyrillic_CAPITAL_U* = 0x000006F5
-  GDK_KEY_Cyrillic_CAPITAL_ZHE* = 0x000006F6
-  GDK_KEY_Cyrillic_CAPITAL_VE* = 0x000006F7
-  GDK_KEY_Cyrillic_CAPITAL_SOFTSIGN* = 0x000006F8
-  GDK_KEY_Cyrillic_CAPITAL_YERU* = 0x000006F9
-  GDK_KEY_Cyrillic_CAPITAL_ZE* = 0x000006FA
-  GDK_KEY_Cyrillic_CAPITAL_SHA* = 0x000006FB
-  GDK_KEY_Cyrillic_CAPITAL_E* = 0x000006FC
-  GDK_KEY_Cyrillic_CAPITAL_SHCHA* = 0x000006FD
-  GDK_KEY_Cyrillic_CAPITAL_CHE* = 0x000006FE
-  GDK_KEY_Cyrillic_CAPITAL_HARDSIGN* = 0x000006FF
-  GDK_KEY_Greek_CAPITAL_ALPHAaccent* = 0x000007A1
-  GDK_KEY_Greek_CAPITAL_EPSILONaccent* = 0x000007A2
-  GDK_KEY_Greek_CAPITAL_ETAaccent* = 0x000007A3
-  GDK_KEY_Greek_CAPITAL_IOTAaccent* = 0x000007A4
-  GDK_KEY_Greek_CAPITAL_IOTAdiaeresis* = 0x000007A5
-  GDK_KEY_Greek_CAPITAL_OMICRONaccent* = 0x000007A7
-  GDK_KEY_Greek_CAPITAL_UPSILONaccent* = 0x000007A8
-  GDK_KEY_Greek_CAPITAL_UPSILONdieresis* = 0x000007A9
-  GDK_KEY_Greek_CAPITAL_OMEGAaccent* = 0x000007AB
-  GDK_KEY_Greek_accentdieresis* = 0x000007AE
-  GDK_KEY_Greek_horizbar* = 0x000007AF
-  GDK_KEY_Greek_alphaaccent* = 0x000007B1
-  GDK_KEY_Greek_epsilonaccent* = 0x000007B2
-  GDK_KEY_Greek_etaaccent* = 0x000007B3
-  GDK_KEY_Greek_iotaaccent* = 0x000007B4
-  GDK_KEY_Greek_iotadieresis* = 0x000007B5
-  GDK_KEY_Greek_iotaaccentdieresis* = 0x000007B6
-  GDK_KEY_Greek_omicronaccent* = 0x000007B7
-  GDK_KEY_Greek_upsilonaccent* = 0x000007B8
-  GDK_KEY_Greek_upsilondieresis* = 0x000007B9
-  GDK_KEY_Greek_upsilonaccentdieresis* = 0x000007BA
-  GDK_KEY_Greek_omegaaccent* = 0x000007BB
-  GDK_KEY_Greek_CAPITAL_ALPHA* = 0x000007C1
-  GDK_KEY_Greek_CAPITAL_BETA* = 0x000007C2
-  GDK_KEY_Greek_CAPITAL_GAMMA* = 0x000007C3
-  GDK_KEY_Greek_CAPITAL_DELTA* = 0x000007C4
-  GDK_KEY_Greek_CAPITAL_EPSILON* = 0x000007C5
-  GDK_KEY_Greek_CAPITAL_ZETA* = 0x000007C6
-  GDK_KEY_Greek_CAPITAL_ETA* = 0x000007C7
-  GDK_KEY_Greek_CAPITAL_THETA* = 0x000007C8
-  GDK_KEY_Greek_CAPITAL_IOTA* = 0x000007C9
-  GDK_KEY_Greek_CAPITAL_KAPPA* = 0x000007CA
-  GDK_KEY_Greek_CAPITAL_LAMDA* = 0x000007CB
-  GDK_KEY_Greek_CAPITAL_LAMBDA* = 0x000007CB
-  GDK_KEY_Greek_CAPITAL_MU* = 0x000007CC
-  GDK_KEY_Greek_CAPITAL_NU* = 0x000007CD
-  GDK_KEY_Greek_CAPITAL_XI* = 0x000007CE
-  GDK_KEY_Greek_CAPITAL_OMICRON* = 0x000007CF
-  GDK_KEY_Greek_CAPITAL_PI* = 0x000007D0
-  GDK_KEY_Greek_CAPITAL_RHO* = 0x000007D1
-  GDK_KEY_Greek_CAPITAL_SIGMA* = 0x000007D2
-  GDK_KEY_Greek_CAPITAL_TAU* = 0x000007D4
-  GDK_KEY_Greek_CAPITAL_UPSILON* = 0x000007D5
-  GDK_KEY_Greek_CAPITAL_PHI* = 0x000007D6
-  GDK_KEY_Greek_CAPITAL_CHI* = 0x000007D7
-  GDK_KEY_Greek_CAPITAL_PSI* = 0x000007D8
-  GDK_KEY_Greek_CAPITAL_OMEGA* = 0x000007D9
-  GDK_KEY_Greek_alpha* = 0x000007E1
-  GDK_KEY_Greek_beta* = 0x000007E2
-  GDK_KEY_Greek_gamma* = 0x000007E3
-  GDK_KEY_Greek_delta* = 0x000007E4
-  GDK_KEY_Greek_epsilon* = 0x000007E5
-  GDK_KEY_Greek_zeta* = 0x000007E6
-  GDK_KEY_Greek_eta* = 0x000007E7
-  GDK_KEY_Greek_theta* = 0x000007E8
-  GDK_KEY_Greek_iota* = 0x000007E9
-  GDK_KEY_Greek_kappa* = 0x000007EA
-  GDK_KEY_Greek_lamda* = 0x000007EB
-  GDK_KEY_Greek_lambda* = 0x000007EB
-  GDK_KEY_Greek_mu* = 0x000007EC
-  GDK_KEY_Greek_nu* = 0x000007ED
-  GDK_KEY_Greek_xi* = 0x000007EE
-  GDK_KEY_Greek_omicron* = 0x000007EF
-  GDK_KEY_Greek_pi* = 0x000007F0
-  GDK_KEY_Greek_rho* = 0x000007F1
-  GDK_KEY_Greek_sigma* = 0x000007F2
-  GDK_KEY_Greek_finalsmallsigma* = 0x000007F3
-  GDK_KEY_Greek_tau* = 0x000007F4
-  GDK_KEY_Greek_upsilon* = 0x000007F5
-  GDK_KEY_Greek_phi* = 0x000007F6
-  GDK_KEY_Greek_chi* = 0x000007F7
-  GDK_KEY_Greek_psi* = 0x000007F8
-  GDK_KEY_Greek_omega* = 0x000007F9
-  GDK_KEY_Greek_switch* = 0x0000FF7E
-  GDK_KEY_leftradical* = 0x000008A1
-  GDK_KEY_topleftradical* = 0x000008A2
-  GDK_KEY_horizconnector* = 0x000008A3
-  GDK_KEY_topintegral* = 0x000008A4
-  GDK_KEY_botintegral* = 0x000008A5
-  GDK_KEY_vertconnector* = 0x000008A6
-  GDK_KEY_topleftsqbracket* = 0x000008A7
-  GDK_KEY_botleftsqbracket* = 0x000008A8
-  GDK_KEY_toprightsqbracket* = 0x000008A9
-  GDK_KEY_botrightsqbracket* = 0x000008AA
-  GDK_KEY_topleftparens* = 0x000008AB
-  GDK_KEY_botleftparens* = 0x000008AC
-  GDK_KEY_toprightparens* = 0x000008AD
-  GDK_KEY_botrightparens* = 0x000008AE
-  GDK_KEY_leftmiddlecurlybrace* = 0x000008AF
-  GDK_KEY_rightmiddlecurlybrace* = 0x000008B0
-  GDK_KEY_topleftsummation* = 0x000008B1
-  GDK_KEY_botleftsummation* = 0x000008B2
-  GDK_KEY_topvertsummationconnector* = 0x000008B3
-  GDK_KEY_botvertsummationconnector* = 0x000008B4
-  GDK_KEY_toprightsummation* = 0x000008B5
-  GDK_KEY_botrightsummation* = 0x000008B6
-  GDK_KEY_rightmiddlesummation* = 0x000008B7
-  GDK_KEY_lessthanequal* = 0x000008BC
-  GDK_KEY_notequal* = 0x000008BD
-  GDK_KEY_greaterthanequal* = 0x000008BE
-  GDK_KEY_integral* = 0x000008BF
-  GDK_KEY_therefore* = 0x000008C0
-  GDK_KEY_variation* = 0x000008C1
-  GDK_KEY_infinity* = 0x000008C2
-  GDK_KEY_nabla* = 0x000008C5
-  GDK_KEY_approximate* = 0x000008C8
-  GDK_KEY_similarequal* = 0x000008C9
-  GDK_KEY_ifonlyif* = 0x000008CD
-  GDK_KEY_implies* = 0x000008CE
-  GDK_KEY_identical* = 0x000008CF
-  GDK_KEY_radical* = 0x000008D6
-  GDK_KEY_includedin* = 0x000008DA
-  GDK_KEY_includes* = 0x000008DB
-  GDK_KEY_intersection* = 0x000008DC
-  GDK_KEY_union* = 0x000008DD
-  GDK_KEY_logicaland* = 0x000008DE
-  GDK_KEY_logicalor* = 0x000008DF
-  GDK_KEY_partialderivative* = 0x000008EF
-  GDK_KEY_function* = 0x000008F6
-  GDK_KEY_leftarrow* = 0x000008FB
-  GDK_KEY_uparrow* = 0x000008FC
-  GDK_KEY_rightarrow* = 0x000008FD
-  GDK_KEY_downarrow* = 0x000008FE
-  GDK_KEY_blank* = 0x000009DF
-  GDK_KEY_soliddiamond* = 0x000009E0
-  GDK_KEY_checkerboard* = 0x000009E1
-  GDK_KEY_ht* = 0x000009E2
-  GDK_KEY_ff* = 0x000009E3
-  GDK_KEY_cr* = 0x000009E4
-  GDK_KEY_lf* = 0x000009E5
-  GDK_KEY_nl* = 0x000009E8
-  GDK_KEY_vt* = 0x000009E9
-  GDK_KEY_lowrightcorner* = 0x000009EA
-  GDK_KEY_uprightcorner* = 0x000009EB
-  GDK_KEY_upleftcorner* = 0x000009EC
-  GDK_KEY_lowleftcorner* = 0x000009ED
-  GDK_KEY_crossinglines* = 0x000009EE
-  GDK_KEY_horizlinescan1* = 0x000009EF
-  GDK_KEY_horizlinescan3* = 0x000009F0
-  GDK_KEY_horizlinescan5* = 0x000009F1
-  GDK_KEY_horizlinescan7* = 0x000009F2
-  GDK_KEY_horizlinescan9* = 0x000009F3
-  GDK_KEY_leftt* = 0x000009F4
-  GDK_KEY_rightt* = 0x000009F5
-  GDK_KEY_bott* = 0x000009F6
-  GDK_KEY_topt* = 0x000009F7
-  GDK_KEY_vertbar* = 0x000009F8
-  GDK_KEY_emspace* = 0x00000AA1
-  GDK_KEY_enspace* = 0x00000AA2
-  GDK_KEY_em3space* = 0x00000AA3
-  GDK_KEY_em4space* = 0x00000AA4
-  GDK_KEY_digitspace* = 0x00000AA5
-  GDK_KEY_punctspace* = 0x00000AA6
-  GDK_KEY_thinspace* = 0x00000AA7
-  GDK_KEY_hairspace* = 0x00000AA8
-  GDK_KEY_emdash* = 0x00000AA9
-  GDK_KEY_endash* = 0x00000AAA
-  GDK_KEY_signifblank* = 0x00000AAC
-  GDK_KEY_ellipsis* = 0x00000AAE
-  GDK_KEY_doubbaselinedot* = 0x00000AAF
-  GDK_KEY_onethird* = 0x00000AB0
-  GDK_KEY_twothirds* = 0x00000AB1
-  GDK_KEY_onefifth* = 0x00000AB2
-  GDK_KEY_twofifths* = 0x00000AB3
-  GDK_KEY_threefifths* = 0x00000AB4
-  GDK_KEY_fourfifths* = 0x00000AB5
-  GDK_KEY_onesixth* = 0x00000AB6
-  GDK_KEY_fivesixths* = 0x00000AB7
-  GDK_KEY_careof* = 0x00000AB8
-  GDK_KEY_figdash* = 0x00000ABB
-  GDK_KEY_leftanglebracket* = 0x00000ABC
-  GDK_KEY_decimalpoint* = 0x00000ABD
-  GDK_KEY_rightanglebracket* = 0x00000ABE
-  GDK_KEY_marker* = 0x00000ABF
-  GDK_KEY_oneeighth* = 0x00000AC3
-  GDK_KEY_threeeighths* = 0x00000AC4
-  GDK_KEY_fiveeighths* = 0x00000AC5
-  GDK_KEY_seveneighths* = 0x00000AC6
-  GDK_KEY_trademark* = 0x00000AC9
-  GDK_KEY_signaturemark* = 0x00000ACA
-  GDK_KEY_trademarkincircle* = 0x00000ACB
-  GDK_KEY_leftopentriangle* = 0x00000ACC
-  GDK_KEY_rightopentriangle* = 0x00000ACD
-  GDK_KEY_emopencircle* = 0x00000ACE
-  GDK_KEY_emopenrectangle* = 0x00000ACF
-  GDK_KEY_leftsinglequotemark* = 0x00000AD0
-  GDK_KEY_rightsinglequotemark* = 0x00000AD1
-  GDK_KEY_leftdoublequotemark* = 0x00000AD2
-  GDK_KEY_rightdoublequotemark* = 0x00000AD3
-  GDK_KEY_prescription* = 0x00000AD4
-  GDK_KEY_minutes* = 0x00000AD6
-  GDK_KEY_seconds* = 0x00000AD7
-  GDK_KEY_latincross* = 0x00000AD9
-  GDK_KEY_hexagram* = 0x00000ADA
-  GDK_KEY_filledrectbullet* = 0x00000ADB
-  GDK_KEY_filledlefttribullet* = 0x00000ADC
-  GDK_KEY_filledrighttribullet* = 0x00000ADD
-  GDK_KEY_emfilledcircle* = 0x00000ADE
-  GDK_KEY_emfilledrect* = 0x00000ADF
-  GDK_KEY_enopencircbullet* = 0x00000AE0
-  GDK_KEY_enopensquarebullet* = 0x00000AE1
-  GDK_KEY_openrectbullet* = 0x00000AE2
-  GDK_KEY_opentribulletup* = 0x00000AE3
-  GDK_KEY_opentribulletdown* = 0x00000AE4
-  GDK_KEY_openstar* = 0x00000AE5
-  GDK_KEY_enfilledcircbullet* = 0x00000AE6
-  GDK_KEY_enfilledsqbullet* = 0x00000AE7
-  GDK_KEY_filledtribulletup* = 0x00000AE8
-  GDK_KEY_filledtribulletdown* = 0x00000AE9
-  GDK_KEY_leftpointer* = 0x00000AEA
-  GDK_KEY_rightpointer* = 0x00000AEB
-  GDK_KEY_club* = 0x00000AEC
-  GDK_KEY_diamond* = 0x00000AED
-  GDK_KEY_heart* = 0x00000AEE
-  GDK_KEY_maltesecross* = 0x00000AF0
-  GDK_KEY_dagger* = 0x00000AF1
-  GDK_KEY_doubledagger* = 0x00000AF2
-  GDK_KEY_checkmark* = 0x00000AF3
-  GDK_KEY_ballotcross* = 0x00000AF4
-  GDK_KEY_musicalsharp* = 0x00000AF5
-  GDK_KEY_musicalflat* = 0x00000AF6
-  GDK_KEY_malesymbol* = 0x00000AF7
-  GDK_KEY_femalesymbol* = 0x00000AF8
-  GDK_KEY_telephone* = 0x00000AF9
-  GDK_KEY_telephonerecorder* = 0x00000AFA
-  GDK_KEY_phonographcopyright* = 0x00000AFB
-  GDK_KEY_caret* = 0x00000AFC
-  GDK_KEY_singlelowquotemark* = 0x00000AFD
-  GDK_KEY_doublelowquotemark* = 0x00000AFE
-  GDK_KEY_cursor* = 0x00000AFF
-  GDK_KEY_leftcaret* = 0x00000BA3
-  GDK_KEY_rightcaret* = 0x00000BA6
-  GDK_KEY_downcaret* = 0x00000BA8
-  GDK_KEY_upcaret* = 0x00000BA9
-  GDK_KEY_overbar* = 0x00000BC0
-  GDK_KEY_downtack* = 0x00000BC2
-  GDK_KEY_upshoe* = 0x00000BC3
-  GDK_KEY_downstile* = 0x00000BC4
-  GDK_KEY_underbar* = 0x00000BC6
-  GDK_KEY_jot* = 0x00000BCA
-  GDK_KEY_quad* = 0x00000BCC
-  GDK_KEY_uptack* = 0x00000BCE
-  GDK_KEY_circle* = 0x00000BCF
-  GDK_KEY_upstile* = 0x00000BD3
-  GDK_KEY_downshoe* = 0x00000BD6
-  GDK_KEY_rightshoe* = 0x00000BD8
-  GDK_KEY_leftshoe* = 0x00000BDA
-  GDK_KEY_lefttack* = 0x00000BDC
-  GDK_KEY_righttack* = 0x00000BFC
-  GDK_KEY_hebrew_doublelowline* = 0x00000CDF
-  GDK_KEY_hebrew_aleph* = 0x00000CE0
-  GDK_KEY_hebrew_bet* = 0x00000CE1
-  GDK_KEY_hebrew_beth* = 0x00000CE1
-  GDK_KEY_hebrew_gimel* = 0x00000CE2
-  GDK_KEY_hebrew_gimmel* = 0x00000CE2
-  GDK_KEY_hebrew_dalet* = 0x00000CE3
-  GDK_KEY_hebrew_daleth* = 0x00000CE3
-  GDK_KEY_hebrew_he* = 0x00000CE4
-  GDK_KEY_hebrew_waw* = 0x00000CE5
-  GDK_KEY_hebrew_zain* = 0x00000CE6
-  GDK_KEY_hebrew_zayin* = 0x00000CE6
-  GDK_KEY_hebrew_chet* = 0x00000CE7
-  GDK_KEY_hebrew_het* = 0x00000CE7
-  GDK_KEY_hebrew_tet* = 0x00000CE8
-  GDK_KEY_hebrew_teth* = 0x00000CE8
-  GDK_KEY_hebrew_yod* = 0x00000CE9
-  GDK_KEY_hebrew_finalkaph* = 0x00000CEA
-  GDK_KEY_hebrew_kaph* = 0x00000CEB
-  GDK_KEY_hebrew_lamed* = 0x00000CEC
-  GDK_KEY_hebrew_finalmem* = 0x00000CED
-  GDK_KEY_hebrew_mem* = 0x00000CEE
-  GDK_KEY_hebrew_finalnun* = 0x00000CEF
-  GDK_KEY_hebrew_nun* = 0x00000CF0
-  GDK_KEY_hebrew_samech* = 0x00000CF1
-  GDK_KEY_hebrew_samekh* = 0x00000CF1
-  GDK_KEY_hebrew_ayin* = 0x00000CF2
-  GDK_KEY_hebrew_finalpe* = 0x00000CF3
-  GDK_KEY_hebrew_pe* = 0x00000CF4
-  GDK_KEY_hebrew_finalzade* = 0x00000CF5
-  GDK_KEY_hebrew_finalzadi* = 0x00000CF5
-  GDK_KEY_hebrew_zade* = 0x00000CF6
-  GDK_KEY_hebrew_zadi* = 0x00000CF6
-  GDK_KEY_hebrew_qoph* = 0x00000CF7
-  GDK_KEY_hebrew_kuf* = 0x00000CF7
-  GDK_KEY_hebrew_resh* = 0x00000CF8
-  GDK_KEY_hebrew_shin* = 0x00000CF9
-  GDK_KEY_hebrew_taw* = 0x00000CFA
-  GDK_KEY_hebrew_taf* = 0x00000CFA
-  GDK_KEY_Hebrew_switch* = 0x0000FF7E
-  GDK_KEY_Thai_kokai* = 0x00000DA1
-  GDK_KEY_Thai_khokhai* = 0x00000DA2
-  GDK_KEY_Thai_khokhuat* = 0x00000DA3
-  GDK_KEY_Thai_khokhwai* = 0x00000DA4
-  GDK_KEY_Thai_khokhon* = 0x00000DA5
-  GDK_KEY_Thai_khorakhang* = 0x00000DA6
-  GDK_KEY_Thai_ngongu* = 0x00000DA7
-  GDK_KEY_Thai_chochan* = 0x00000DA8
-  GDK_KEY_Thai_choching* = 0x00000DA9
-  GDK_KEY_Thai_chochang* = 0x00000DAA
-  GDK_KEY_Thai_soso* = 0x00000DAB
-  GDK_KEY_Thai_chochoe* = 0x00000DAC
-  GDK_KEY_Thai_yoying* = 0x00000DAD
-  GDK_KEY_Thai_dochada* = 0x00000DAE
-  GDK_KEY_Thai_topatak* = 0x00000DAF
-  GDK_KEY_Thai_thothan* = 0x00000DB0
-  GDK_KEY_Thai_thonangmontho* = 0x00000DB1
-  GDK_KEY_Thai_thophuthao* = 0x00000DB2
-  GDK_KEY_Thai_nonen* = 0x00000DB3
-  GDK_KEY_Thai_dodek* = 0x00000DB4
-  GDK_KEY_Thai_totao* = 0x00000DB5
-  GDK_KEY_Thai_thothung* = 0x00000DB6
-  GDK_KEY_Thai_thothahan* = 0x00000DB7
-  GDK_KEY_Thai_thothong* = 0x00000DB8
-  GDK_KEY_Thai_nonu* = 0x00000DB9
-  GDK_KEY_Thai_bobaimai* = 0x00000DBA
-  GDK_KEY_Thai_popla* = 0x00000DBB
-  GDK_KEY_Thai_phophung* = 0x00000DBC
-  GDK_KEY_Thai_fofa* = 0x00000DBD
-  GDK_KEY_Thai_phophan* = 0x00000DBE
-  GDK_KEY_Thai_fofan* = 0x00000DBF
-  GDK_KEY_Thai_phosamphao* = 0x00000DC0
-  GDK_KEY_Thai_moma* = 0x00000DC1
-  GDK_KEY_Thai_yoyak* = 0x00000DC2
-  GDK_KEY_Thai_rorua* = 0x00000DC3
-  GDK_KEY_Thai_ru* = 0x00000DC4
-  GDK_KEY_Thai_loling* = 0x00000DC5
-  GDK_KEY_Thai_lu* = 0x00000DC6
-  GDK_KEY_Thai_wowaen* = 0x00000DC7
-  GDK_KEY_Thai_sosala* = 0x00000DC8
-  GDK_KEY_Thai_sorusi* = 0x00000DC9
-  GDK_KEY_Thai_sosua* = 0x00000DCA
-  GDK_KEY_Thai_hohip* = 0x00000DCB
-  GDK_KEY_Thai_lochula* = 0x00000DCC
-  GDK_KEY_Thai_oang* = 0x00000DCD
-  GDK_KEY_Thai_honokhuk* = 0x00000DCE
-  GDK_KEY_Thai_paiyannoi* = 0x00000DCF
-  GDK_KEY_Thai_saraa* = 0x00000DD0
-  GDK_KEY_Thai_maihanakat* = 0x00000DD1
-  GDK_KEY_Thai_saraaa* = 0x00000DD2
-  GDK_KEY_Thai_saraam* = 0x00000DD3
-  GDK_KEY_Thai_sarai* = 0x00000DD4
-  GDK_KEY_Thai_saraii* = 0x00000DD5
-  GDK_KEY_Thai_saraue* = 0x00000DD6
-  GDK_KEY_Thai_sarauee* = 0x00000DD7
-  GDK_KEY_Thai_sarau* = 0x00000DD8
-  GDK_KEY_Thai_sarauu* = 0x00000DD9
-  GDK_KEY_Thai_phinthu* = 0x00000DDA
-  GDK_KEY_Thai_maihanakat_maitho* = 0x00000DDE
-  GDK_KEY_Thai_baht* = 0x00000DDF
-  GDK_KEY_Thai_sarae* = 0x00000DE0
-  GDK_KEY_Thai_saraae* = 0x00000DE1
-  GDK_KEY_Thai_sarao* = 0x00000DE2
-  GDK_KEY_Thai_saraaimaimuan* = 0x00000DE3
-  GDK_KEY_Thai_saraaimaimalai* = 0x00000DE4
-  GDK_KEY_Thai_lakkhangyao* = 0x00000DE5
-  GDK_KEY_Thai_maiyamok* = 0x00000DE6
-  GDK_KEY_Thai_maitaikhu* = 0x00000DE7
-  GDK_KEY_Thai_maiek* = 0x00000DE8
-  GDK_KEY_Thai_maitho* = 0x00000DE9
-  GDK_KEY_Thai_maitri* = 0x00000DEA
-  GDK_KEY_Thai_maichattawa* = 0x00000DEB
-  GDK_KEY_Thai_thanthakhat* = 0x00000DEC
-  GDK_KEY_Thai_nikhahit* = 0x00000DED
-  GDK_KEY_Thai_leksun* = 0x00000DF0
-  GDK_KEY_Thai_leknung* = 0x00000DF1
-  GDK_KEY_Thai_leksong* = 0x00000DF2
-  GDK_KEY_Thai_leksam* = 0x00000DF3
-  GDK_KEY_Thai_leksi* = 0x00000DF4
-  GDK_KEY_Thai_lekha* = 0x00000DF5
-  GDK_KEY_Thai_lekhok* = 0x00000DF6
-  GDK_KEY_Thai_lekchet* = 0x00000DF7
-  GDK_KEY_Thai_lekpaet* = 0x00000DF8
-  GDK_KEY_Thai_lekkao* = 0x00000DF9
-  GDK_KEY_Hangul* = 0x0000FF31
-  GDK_KEY_Hangul_Start* = 0x0000FF32
-  GDK_KEY_Hangul_End* = 0x0000FF33
-  GDK_KEY_Hangul_Hanja* = 0x0000FF34
-  GDK_KEY_Hangul_Jamo* = 0x0000FF35
-  GDK_KEY_Hangul_Romaja* = 0x0000FF36
-  GDK_KEY_Hangul_Codeinput* = 0x0000FF37
-  GDK_KEY_Hangul_Jeonja* = 0x0000FF38
-  GDK_KEY_Hangul_Banja* = 0x0000FF39
-  GDK_KEY_Hangul_PreHanja* = 0x0000FF3A
-  GDK_KEY_Hangul_PostHanja* = 0x0000FF3B
-  GDK_KEY_Hangul_SingleCandidate* = 0x0000FF3C
-  GDK_KEY_Hangul_MultipleCandidate* = 0x0000FF3D
-  GDK_KEY_Hangul_PreviousCandidate* = 0x0000FF3E
-  GDK_KEY_Hangul_Special* = 0x0000FF3F
-  GDK_KEY_Hangul_switch* = 0x0000FF7E
-  GDK_KEY_Hangul_Kiyeog* = 0x00000EA1
-  GDK_KEY_Hangul_SsangKiyeog* = 0x00000EA2
-  GDK_KEY_Hangul_KiyeogSios* = 0x00000EA3
-  GDK_KEY_Hangul_Nieun* = 0x00000EA4
-  GDK_KEY_Hangul_NieunJieuj* = 0x00000EA5
-  GDK_KEY_Hangul_NieunHieuh* = 0x00000EA6
-  GDK_KEY_Hangul_Dikeud* = 0x00000EA7
-  GDK_KEY_Hangul_SsangDikeud* = 0x00000EA8
-  GDK_KEY_Hangul_Rieul* = 0x00000EA9
-  GDK_KEY_Hangul_RieulKiyeog* = 0x00000EAA
-  GDK_KEY_Hangul_RieulMieum* = 0x00000EAB
-  GDK_KEY_Hangul_RieulPieub* = 0x00000EAC
-  GDK_KEY_Hangul_RieulSios* = 0x00000EAD
-  GDK_KEY_Hangul_RieulTieut* = 0x00000EAE
-  GDK_KEY_Hangul_RieulPhieuf* = 0x00000EAF
-  GDK_KEY_Hangul_RieulHieuh* = 0x00000EB0
-  GDK_KEY_Hangul_Mieum* = 0x00000EB1
-  GDK_KEY_Hangul_Pieub* = 0x00000EB2
-  GDK_KEY_Hangul_SsangPieub* = 0x00000EB3
-  GDK_KEY_Hangul_PieubSios* = 0x00000EB4
-  GDK_KEY_Hangul_Sios* = 0x00000EB5
-  GDK_KEY_Hangul_SsangSios* = 0x00000EB6
-  GDK_KEY_Hangul_Ieung* = 0x00000EB7
-  GDK_KEY_Hangul_Jieuj* = 0x00000EB8
-  GDK_KEY_Hangul_SsangJieuj* = 0x00000EB9
-  GDK_KEY_Hangul_Cieuc* = 0x00000EBA
-  GDK_KEY_Hangul_Khieuq* = 0x00000EBB
-  GDK_KEY_Hangul_Tieut* = 0x00000EBC
-  GDK_KEY_Hangul_Phieuf* = 0x00000EBD
-  GDK_KEY_Hangul_Hieuh* = 0x00000EBE
-  GDK_KEY_Hangul_A* = 0x00000EBF
-  GDK_KEY_Hangul_AE* = 0x00000EC0
-  GDK_KEY_Hangul_YA* = 0x00000EC1
-  GDK_KEY_Hangul_YAE* = 0x00000EC2
-  GDK_KEY_Hangul_EO* = 0x00000EC3
-  GDK_KEY_Hangul_E* = 0x00000EC4
-  GDK_KEY_Hangul_YEO* = 0x00000EC5
-  GDK_KEY_Hangul_YE* = 0x00000EC6
-  GDK_KEY_Hangul_O* = 0x00000EC7
-  GDK_KEY_Hangul_WA* = 0x00000EC8
-  GDK_KEY_Hangul_WAE* = 0x00000EC9
-  GDK_KEY_Hangul_OE* = 0x00000ECA
-  GDK_KEY_Hangul_YO* = 0x00000ECB
-  GDK_KEY_Hangul_U* = 0x00000ECC
-  GDK_KEY_Hangul_WEO* = 0x00000ECD
-  GDK_KEY_Hangul_WE* = 0x00000ECE
-  GDK_KEY_Hangul_WI* = 0x00000ECF
-  GDK_KEY_Hangul_YU* = 0x00000ED0
-  GDK_KEY_Hangul_EU* = 0x00000ED1
-  GDK_KEY_Hangul_YI* = 0x00000ED2
-  GDK_KEY_Hangul_I* = 0x00000ED3
-  GDK_KEY_Hangul_J_Kiyeog* = 0x00000ED4
-  GDK_KEY_Hangul_J_SsangKiyeog* = 0x00000ED5
-  GDK_KEY_Hangul_J_KiyeogSios* = 0x00000ED6
-  GDK_KEY_Hangul_J_Nieun* = 0x00000ED7
-  GDK_KEY_Hangul_J_NieunJieuj* = 0x00000ED8
-  GDK_KEY_Hangul_J_NieunHieuh* = 0x00000ED9
-  GDK_KEY_Hangul_J_Dikeud* = 0x00000EDA
-  GDK_KEY_Hangul_J_Rieul* = 0x00000EDB
-  GDK_KEY_Hangul_J_RieulKiyeog* = 0x00000EDC
-  GDK_KEY_Hangul_J_RieulMieum* = 0x00000EDD
-  GDK_KEY_Hangul_J_RieulPieub* = 0x00000EDE
-  GDK_KEY_Hangul_J_RieulSios* = 0x00000EDF
-  GDK_KEY_Hangul_J_RieulTieut* = 0x00000EE0
-  GDK_KEY_Hangul_J_RieulPhieuf* = 0x00000EE1
-  GDK_KEY_Hangul_J_RieulHieuh* = 0x00000EE2
-  GDK_KEY_Hangul_J_Mieum* = 0x00000EE3
-  GDK_KEY_Hangul_J_Pieub* = 0x00000EE4
-  GDK_KEY_Hangul_J_PieubSios* = 0x00000EE5
-  GDK_KEY_Hangul_J_Sios* = 0x00000EE6
-  GDK_KEY_Hangul_J_SsangSios* = 0x00000EE7
-  GDK_KEY_Hangul_J_Ieung* = 0x00000EE8
-  GDK_KEY_Hangul_J_Jieuj* = 0x00000EE9
-  GDK_KEY_Hangul_J_Cieuc* = 0x00000EEA
-  GDK_KEY_Hangul_J_Khieuq* = 0x00000EEB
-  GDK_KEY_Hangul_J_Tieut* = 0x00000EEC
-  GDK_KEY_Hangul_J_Phieuf* = 0x00000EED
-  GDK_KEY_Hangul_J_Hieuh* = 0x00000EEE
-  GDK_KEY_Hangul_RieulYeorinHieuh* = 0x00000EEF
-  GDK_KEY_Hangul_SunkyeongeumMieum* = 0x00000EF0
-  GDK_KEY_Hangul_SunkyeongeumPieub* = 0x00000EF1
-  GDK_KEY_Hangul_PanSios* = 0x00000EF2
-  GDK_KEY_Hangul_KkogjiDalrinIeung* = 0x00000EF3
-  GDK_KEY_Hangul_SunkyeongeumPhieuf* = 0x00000EF4
-  GDK_KEY_Hangul_YeorinHieuh* = 0x00000EF5
-  GDK_KEY_Hangul_AraeA* = 0x00000EF6
-  GDK_KEY_Hangul_AraeAE* = 0x00000EF7
-  GDK_KEY_Hangul_J_PanSios* = 0x00000EF8
-  GDK_KEY_Hangul_J_KkogjiDalrinIeung* = 0x00000EF9
-  GDK_KEY_Hangul_J_YeorinHieuh* = 0x00000EFA
-  GDK_KEY_Korean_Won* = 0x00000EFF
-  GDK_KEY_EcuSign* = 0x000020A0
-  GDK_KEY_ColonSign* = 0x000020A1
-  GDK_KEY_CruzeiroSign* = 0x000020A2
-  GDK_KEY_FFrancSign* = 0x000020A3
-  GDK_KEY_LiraSign* = 0x000020A4
-  GDK_KEY_MillSign* = 0x000020A5
-  GDK_KEY_NairaSign* = 0x000020A6
-  GDK_KEY_PesetaSign* = 0x000020A7
-  GDK_KEY_RupeeSign* = 0x000020A8
-  GDK_KEY_WonSign* = 0x000020A9
-  GDK_KEY_NewSheqelSign* = 0x000020AA
-  GDK_KEY_DongSign* = 0x000020AB
-  GDK_KEY_EuroSign* = 0x000020AC
-
-proc gdk_pango_context_get_for_screen*(screen: PGdkScreen): PPangoContext{.
-    cdecl, dynlib: gdklib, importc: "gdk_pango_context_get_for_screen".}
-proc gdk_pango_context_set_colormap*(context: PPangoContext,
-                                     colormap: PGdkColormap){.cdecl,
-    dynlib: gdklib, importc: "gdk_pango_context_set_colormap".}
-proc gdk_pango_layout_line_get_clip_region*(line: PPangoLayoutLine,
-    x_origin: gint, y_origin: gint, index_ranges: Pgint, n_ranges: gint): PGdkRegion{.
-    cdecl, dynlib: gdklib, importc: "gdk_pango_layout_line_get_clip_region".}
-proc gdk_pango_layout_get_clip_region*(layout: PPangoLayout, x_origin: gint,
-                                       y_origin: gint, index_ranges: Pgint,
-                                       n_ranges: gint): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_pango_layout_get_clip_region".}
-proc gdk_pango_attr_stipple_new*(stipple: PGdkBitmap): PPangoAttribute{.cdecl,
-    dynlib: gdklib, importc: "gdk_pango_attr_stipple_new".}
-proc gdk_pango_attr_embossed_new*(embossed: gboolean): PPangoAttribute{.cdecl,
-    dynlib: gdklib, importc: "gdk_pango_attr_embossed_new".}
-proc gdk_pixbuf_render_threshold_alpha*(pixbuf: PGdkPixbuf, bitmap: PGdkBitmap,
-                                        src_x: int32, src_y: int32,
-                                        dest_x: int32, dest_y: int32,
-                                        width: int32, height: int32,
-                                        alpha_threshold: int32){.cdecl,
-    dynlib: gdklib, importc: "gdk_pixbuf_render_threshold_alpha".}
-proc gdk_pixbuf_render_to_drawable*(pixbuf: PGdkPixbuf, drawable: PGdkDrawable,
-                                    gc: PGdkGC, src_x: int32, src_y: int32,
-                                    dest_x: int32, dest_y: int32, width: int32,
-                                    height: int32, dither: TGdkRgbDither,
-                                    x_dither: int32, y_dither: int32){.cdecl,
-    dynlib: gdklib, importc: "gdk_pixbuf_render_to_drawable".}
-proc gdk_pixbuf_render_to_drawable_alpha*(pixbuf: PGdkPixbuf,
-    drawable: PGdkDrawable, src_x: int32, src_y: int32, dest_x: int32,
-    dest_y: int32, width: int32, height: int32, alpha_mode: TGdkPixbufAlphaMode,
-    alpha_threshold: int32, dither: TGdkRgbDither, x_dither: int32,
-    y_dither: int32){.cdecl, dynlib: gdklib,
-                      importc: "gdk_pixbuf_render_to_drawable_alpha".}
-proc gdk_pixbuf_render_pixmap_and_mask_for_colormap*(pixbuf: PGdkPixbuf,
-    colormap: PGdkColormap, n: var PGdkPixmap, nasdfdsafw4e: var PGdkBitmap,
-    alpha_threshold: int32){.cdecl, dynlib: gdklib, importc: "gdk_pixbuf_render_pixmap_and_mask_for_colormap".}
-proc gdk_pixbuf_get_from_drawable*(dest: PGdkPixbuf, src: PGdkDrawable,
-                                   cmap: PGdkColormap, src_x: int32,
-                                   src_y: int32, dest_x: int32, dest_y: int32,
-                                   width: int32, height: int32): PGdkPixbuf{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixbuf_get_from_drawable".}
-proc gdk_pixbuf_get_from_image*(dest: PGdkPixbuf, src: PGdkImage,
-                                cmap: PGdkColormap, src_x: int32, src_y: int32,
-                                dest_x: int32, dest_y: int32, width: int32,
-                                height: int32): PGdkPixbuf{.cdecl,
-    dynlib: gdklib, importc: "gdk_pixbuf_get_from_image".}
-proc GDK_TYPE_PIXMAP*(): GType
-proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap
-proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass
-proc GDK_IS_PIXMAP*(anObject: Pointer): bool
-proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool
-proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass
-proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject
-proc gdk_pixmap_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_pixmap_get_type".}
-proc gdk_pixmap_new*(window: PGdkWindow, width: gint, height: gint, depth: gint): PGdkPixmap{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixmap_new".}
-proc gdk_bitmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint,
-                                  height: gint): PGdkBitmap{.cdecl,
-    dynlib: gdklib, importc: "gdk_bitmap_create_from_data".}
-proc gdk_pixmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint,
-                                  height: gint, depth: gint, fg: PGdkColor,
-                                  bg: PGdkColor): PGdkPixmap{.cdecl,
-    dynlib: gdklib, importc: "gdk_pixmap_create_from_data".}
-proc gdk_pixmap_create_from_xpm*(window: PGdkWindow, k: var PGdkBitmap,
-                                 transparent_color: PGdkColor, filename: cstring): PGdkPixmap{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixmap_create_from_xpm".}
-proc gdk_pixmap_colormap_create_from_xpm*(window: PGdkWindow,
-    colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor,
-    filename: cstring): PGdkPixmap{.cdecl, dynlib: gdklib, importc: "gdk_pixmap_colormap_create_from_xpm".}
-proc gdk_pixmap_create_from_xpm_d*(window: PGdkWindow, k: var PGdkBitmap,
-                                   transparent_color: PGdkColor, data: PPgchar): PGdkPixmap{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixmap_create_from_xpm_d".}
-proc gdk_pixmap_colormap_create_from_xpm_d*(window: PGdkWindow,
-    colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor,
-    data: PPgchar): PGdkPixmap{.cdecl, dynlib: gdklib, importc: "gdk_pixmap_colormap_create_from_xpm_d".}
-proc gdk_pixmap_foreign_new_for_display*(display: PGdkDisplay,
-    anid: TGdkNativeWindow): PGdkPixmap{.cdecl, dynlib: gdklib,
-    importc: "gdk_pixmap_foreign_new_for_display".}
-proc gdk_pixmap_lookup_for_display*(display: PGdkDisplay, anid: TGdkNativeWindow): PGdkPixmap{.
-    cdecl, dynlib: gdklib, importc: "gdk_pixmap_lookup_for_display".}
-proc gdk_atom_intern*(atom_name: cstring, only_if_exists: gboolean): TGdkAtom{.
-    cdecl, dynlib: gdklib, importc: "gdk_atom_intern".}
-proc gdk_atom_name*(atom: TGdkAtom): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_atom_name".}
-proc gdk_property_get*(window: PGdkWindow, `property`: TGdkAtom,
-                       `type`: TGdkAtom, offset: gulong, length: gulong,
-                       pdelete: gint, actual_property_type: PGdkAtom,
-                       actual_format: Pgint, actual_length: Pgint,
-                       data: PPguchar): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_property_get".}
-proc gdk_property_change*(window: PGdkWindow, `property`: TGdkAtom,
-                          `type`: TGdkAtom, format: gint, mode: TGdkPropMode,
-                          data: Pguchar, nelements: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_property_change".}
-proc gdk_property_delete*(window: PGdkWindow, `property`: TGdkAtom){.cdecl,
-    dynlib: gdklib, importc: "gdk_property_delete".}
-proc gdk_text_property_to_text_list_for_display*(display: PGdkDisplay,
-    encoding: TGdkAtom, format: gint, text: Pguchar, length: gint,
-    t: var PPgchar): gint{.cdecl, dynlib: gdklib, importc: "gdk_text_property_to_text_list_for_display".}
-proc gdk_text_property_to_utf8_list_for_display*(display: PGdkDisplay,
-    encoding: TGdkAtom, format: gint, text: Pguchar, length: gint,
-    t: var PPgchar): gint{.cdecl, dynlib: gdklib, importc: "gdk_text_property_to_utf8_list_for_display".}
-proc gdk_utf8_to_string_target*(str: cstring): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_utf8_to_string_target".}
-proc gdk_string_to_compound_text_for_display*(display: PGdkDisplay, str: cstring,
-    encoding: PGdkAtom, format: Pgint, ctext: PPguchar, length: Pgint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_string_to_compound_text_for_display".}
-proc gdk_utf8_to_compound_text_for_display*(display: PGdkDisplay, str: cstring,
-    encoding: PGdkAtom, format: Pgint, ctext: PPguchar, length: Pgint): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_utf8_to_compound_text_for_display".}
-proc gdk_free_text_list*(list: PPgchar){.cdecl, dynlib: gdklib,
-    importc: "gdk_free_text_list".}
-proc gdk_free_compound_text*(ctext: Pguchar){.cdecl, dynlib: gdklib,
-    importc: "gdk_free_compound_text".}
-proc gdk_region_new*(): PGdkRegion{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_region_new".}
-proc gdk_region_polygon*(points: PGdkPoint, npoints: gint,
-                         fill_rule: TGdkFillRule): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_region_polygon".}
-proc gdk_region_copy*(region: PGdkRegion): PGdkRegion{.cdecl, dynlib: gdklib,
-    importc: "gdk_region_copy".}
-proc gdk_region_rectangle*(rectangle: PGdkRectangle): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_region_rectangle".}
-proc gdk_region_destroy*(region: PGdkRegion){.cdecl, dynlib: gdklib,
-    importc: "gdk_region_destroy".}
-proc gdk_region_get_clipbox*(region: PGdkRegion, rectangle: PGdkRectangle){.
-    cdecl, dynlib: gdklib, importc: "gdk_region_get_clipbox".}
-proc gdk_region_get_rectangles*(region: PGdkRegion, s: var PGdkRectangle,
-                                n_rectangles: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_region_get_rectangles".}
-proc gdk_region_empty*(region: PGdkRegion): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_region_empty".}
-proc gdk_region_equal*(region1: PGdkRegion, region2: PGdkRegion): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_region_equal".}
-proc gdk_region_point_in*(region: PGdkRegion, x: int32, y: int32): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_region_point_in".}
-proc gdk_region_rect_in*(region: PGdkRegion, rect: PGdkRectangle): TGdkOverlapType{.
-    cdecl, dynlib: gdklib, importc: "gdk_region_rect_in".}
-proc gdk_region_offset*(region: PGdkRegion, dx: gint, dy: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_offset".}
-proc gdk_region_shrink*(region: PGdkRegion, dx: gint, dy: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_shrink".}
-proc gdk_region_union_with_rect*(region: PGdkRegion, rect: PGdkRectangle){.
-    cdecl, dynlib: gdklib, importc: "gdk_region_union_with_rect".}
-proc gdk_region_intersect*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_intersect".}
-proc gdk_region_union*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_union".}
-proc gdk_region_subtract*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_subtract".}
-proc gdk_region_xor*(source1: PGdkRegion, source2: PGdkRegion){.cdecl,
-    dynlib: gdklib, importc: "gdk_region_xor".}
-proc gdk_region_spans_intersect_foreach*(region: PGdkRegion, spans: PGdkSpan,
-    n_spans: int32, sorted: gboolean, `function`: TGdkSpanFunc, data: gpointer){.
-    cdecl, dynlib: gdklib, importc: "gdk_region_spans_intersect_foreach".}
-proc gdk_rgb_find_color*(colormap: PGdkColormap, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_rgb_find_color".}
-proc gdk_draw_rgb_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                         width: gint, height: gint, dith: TGdkRgbDither,
-                         rgb_buf: Pguchar, rowstride: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_rgb_image".}
-proc gdk_draw_rgb_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
-                                   y: gint, width: gint, height: gint,
-                                   dith: TGdkRgbDither, rgb_buf: Pguchar,
-                                   rowstride: gint, xdith: gint, ydith: gint){.
-    cdecl, dynlib: gdklib, importc: "gdk_draw_rgb_image_dithalign".}
-proc gdk_draw_rgb_32_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
-                            y: gint, width: gint, height: gint,
-                            dith: TGdkRgbDither, buf: Pguchar, rowstride: gint){.
-    cdecl, dynlib: gdklib, importc: "gdk_draw_rgb_32_image".}
-proc gdk_draw_rgb_32_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC,
-                                      x: gint, y: gint, width: gint,
-                                      height: gint, dith: TGdkRgbDither,
-                                      buf: Pguchar, rowstride: gint,
-                                      xdith: gint, ydith: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_draw_rgb_32_image_dithalign".}
-proc gdk_draw_gray_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                          width: gint, height: gint, dith: TGdkRgbDither,
-                          buf: Pguchar, rowstride: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_gray_image".}
-proc gdk_draw_indexed_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint,
-                             y: gint, width: gint, height: gint,
-                             dith: TGdkRgbDither, buf: Pguchar, rowstride: gint,
-                             cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib,
-    importc: "gdk_draw_indexed_image".}
-proc gdk_rgb_cmap_new*(colors: Pguint32, n_colors: gint): PGdkRgbCmap{.cdecl,
-    dynlib: gdklib, importc: "gdk_rgb_cmap_new".}
-proc gdk_rgb_cmap_free*(cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib,
-    importc: "gdk_rgb_cmap_free".}
-proc gdk_rgb_set_verbose*(verbose: gboolean){.cdecl, dynlib: gdklib,
-    importc: "gdk_rgb_set_verbose".}
-proc gdk_rgb_set_install*(install: gboolean){.cdecl, dynlib: gdklib,
-    importc: "gdk_rgb_set_install".}
-proc gdk_rgb_set_min_colors*(min_colors: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_rgb_set_min_colors".}
-proc GDK_TYPE_DISPLAY*(): GType
-proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay
-proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass
-proc GDK_IS_DISPLAY*(anObject: pointer): bool
-proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool
-proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass
-proc gdk_display_open*(display_name: cstring): PGdkDisplay{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_open".}
-proc gdk_display_get_name*(display: PGdkDisplay): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_display_get_name".}
-proc gdk_display_get_n_screens*(display: PGdkDisplay): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_get_n_screens".}
-proc gdk_display_get_screen*(display: PGdkDisplay, screen_num: gint): PGdkScreen{.
-    cdecl, dynlib: gdklib, importc: "gdk_display_get_screen".}
-proc gdk_display_get_default_screen*(display: PGdkDisplay): PGdkScreen{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_get_default_screen".}
-proc gdk_display_pointer_ungrab*(display: PGdkDisplay, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_display_pointer_ungrab".}
-proc gdk_display_keyboard_ungrab*(display: PGdkDisplay, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_display_keyboard_ungrab".}
-proc gdk_display_pointer_is_grabbed*(display: PGdkDisplay): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_pointer_is_grabbed".}
-proc gdk_display_beep*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
-    importc: "gdk_display_beep".}
-proc gdk_display_sync*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
-    importc: "gdk_display_sync".}
-proc gdk_display_close*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
-    importc: "gdk_display_close".}
-proc gdk_display_list_devices*(display: PGdkDisplay): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_list_devices".}
-proc gdk_display_get_event*(display: PGdkDisplay): PGdkEvent{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_get_event".}
-proc gdk_display_peek_event*(display: PGdkDisplay): PGdkEvent{.cdecl,
-    dynlib: gdklib, importc: "gdk_display_peek_event".}
-proc gdk_display_put_event*(display: PGdkDisplay, event: PGdkEvent){.cdecl,
-    dynlib: gdklib, importc: "gdk_display_put_event".}
-proc gdk_display_add_client_message_filter*(display: PGdkDisplay,
-    message_type: TGdkAtom, func: TGdkFilterFunc, data: gpointer){.cdecl,
-    dynlib: gdklib, importc: "gdk_display_add_client_message_filter".}
-proc gdk_display_set_double_click_time*(display: PGdkDisplay, msec: guint){.
-    cdecl, dynlib: gdklib, importc: "gdk_display_set_double_click_time".}
-proc gdk_display_set_sm_client_id*(display: PGdkDisplay, sm_client_id: cstring){.
-    cdecl, dynlib: gdklib, importc: "gdk_display_set_sm_client_id".}
-proc gdk_set_default_display*(display: PGdkDisplay){.cdecl, dynlib: gdklib,
-    importc: "gdk_set_default_display".}
-proc gdk_get_default_display*(): PGdkDisplay{.cdecl, dynlib: gdklib,
-    importc: "gdk_get_default_display".}
-proc GDK_TYPE_SCREEN*(): GType
-proc GDK_SCREEN*(anObject: Pointer): PGdkScreen
-proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass
-proc GDK_IS_SCREEN*(anObject: Pointer): bool
-proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool
-proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass
-proc gdk_screen_get_default_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_default_colormap".}
-proc gdk_screen_set_default_colormap*(screen: PGdkScreen, colormap: PGdkColormap){.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_set_default_colormap".}
-proc gdk_screen_get_system_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_system_colormap".}
-proc gdk_screen_get_system_visual*(screen: PGdkScreen): PGdkVisual{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_system_visual".}
-proc gdk_screen_get_rgb_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_rgb_colormap".}
-proc gdk_screen_get_rgb_visual*(screen: PGdkScreen): PGdkVisual{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_rgb_visual".}
-proc gdk_screen_get_root_window*(screen: PGdkScreen): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_root_window".}
-proc gdk_screen_get_display*(screen: PGdkScreen): PGdkDisplay{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_display".}
-proc gdk_screen_get_number*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_number".}
-proc gdk_screen_get_window_at_pointer*(screen: PGdkScreen, win_x: Pgint,
-                                       win_y: Pgint): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_window_at_pointer".}
-proc gdk_screen_get_width*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_width".}
-proc gdk_screen_get_height*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_height".}
-proc gdk_screen_get_width_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_width_mm".}
-proc gdk_screen_get_height_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_get_height_mm".}
-proc gdk_screen_close*(screen: PGdkScreen){.cdecl, dynlib: gdklib,
-    importc: "gdk_screen_close".}
-proc gdk_screen_list_visuals*(screen: PGdkScreen): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_list_visuals".}
-proc gdk_screen_get_toplevel_windows*(screen: PGdkScreen): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_toplevel_windows".}
-proc gdk_screen_get_n_monitors*(screen: PGdkScreen): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_n_monitors".}
-proc gdk_screen_get_monitor_geometry*(screen: PGdkScreen, monitor_num: gint,
-                                      dest: PGdkRectangle){.cdecl,
-    dynlib: gdklib, importc: "gdk_screen_get_monitor_geometry".}
-proc gdk_screen_get_monitor_at_point*(screen: PGdkScreen, x: gint, y: gint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_get_monitor_at_point".}
-proc gdk_screen_get_monitor_at_window*(screen: PGdkScreen, window: PGdkWindow): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_get_monitor_at_window".}
-proc gdk_screen_broadcast_client_message*(screen: PGdkScreen, event: PGdkEvent){.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_broadcast_client_message".}
-proc gdk_get_default_screen*(): PGdkScreen{.cdecl, dynlib: gdklib,
-    importc: "gdk_get_default_screen".}
-proc gdk_screen_get_setting*(screen: PGdkScreen, name: cstring, value: PGValue): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_screen_get_setting".}
-proc GDK_SELECTION_PRIMARY*(): TGdkAtom
-proc GDK_SELECTION_SECONDARY*(): TGdkAtom
-proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom
-proc GDK_TARGET_BITMAP*(): TGdkAtom
-proc GDK_TARGET_COLORMAP*(): TGdkAtom
-proc GDK_TARGET_DRAWABLE*(): TGdkAtom
-proc GDK_TARGET_PIXMAP*(): TGdkAtom
-proc GDK_TARGET_STRING*(): TGdkAtom
-proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom
-proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom
-proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom
-proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom
-proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom
-proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom
-proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom
-proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom
-proc gdk_selection_owner_set_for_display*(display: PGdkDisplay,
-    owner: PGdkWindow, selection: TGdkAtom, time: guint32, send_event: gboolean): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_selection_owner_set_for_display".}
-proc gdk_selection_owner_get_for_display*(display: PGdkDisplay,
-    selection: TGdkAtom): PGdkWindow{.cdecl, dynlib: gdklib, importc: "gdk_selection_owner_get_for_display".}
-proc gdk_selection_convert*(requestor: PGdkWindow, selection: TGdkAtom,
-                            target: TGdkAtom, time: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_selection_convert".}
-proc gdk_selection_property_get*(requestor: PGdkWindow, data: PPguchar,
-                                 prop_type: PGdkAtom, prop_format: Pgint): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_selection_property_get".}
-proc gdk_selection_send_notify_for_display*(display: PGdkDisplay,
-    requestor: guint32, selection: TGdkAtom, target: TGdkAtom,
-    `property`: TGdkAtom, time: guint32){.cdecl, dynlib: gdklib,
-    importc: "gdk_selection_send_notify_for_display".}
-const
-  GDK_CURRENT_TIME* = 0
-  GDK_PARENT_RELATIVE* = 1
-  GDK_OK* = 0
-  GDK_ERROR* = - (1)
-  GDK_ERROR_PARAM* = - (2)
-  GDK_ERROR_FILE* = - (3)
-  GDK_ERROR_MEM* = - (4)
-  GDK_SHIFT_MASK* = 1 shl 0
-  GDK_LOCK_MASK* = 1 shl 1
-  GDK_CONTROL_MASK* = 1 shl 2
-  GDK_MOD1_MASK* = 1 shl 3
-  GDK_MOD2_MASK* = 1 shl 4
-  GDK_MOD3_MASK* = 1 shl 5
-  GDK_MOD4_MASK* = 1 shl 6
-  GDK_MOD5_MASK* = 1 shl 7
-  GDK_BUTTON1_MASK* = 1 shl 8
-  GDK_BUTTON2_MASK* = 1 shl 9
-  GDK_BUTTON3_MASK* = 1 shl 10
-  GDK_BUTTON4_MASK* = 1 shl 11
-  GDK_BUTTON5_MASK* = 1 shl 12
-  GDK_RELEASE_MASK* = 1 shl 30
-  GDK_MODIFIER_MASK* = ord(GDK_RELEASE_MASK) or 0x00001FFF
-  GDK_INPUT_READ* = 1 shl 0
-  GDK_INPUT_WRITE* = 1 shl 1
-  GDK_INPUT_EXCEPTION* = 1 shl 2
-  GDK_GRAB_SUCCESS* = 0
-  GDK_GRAB_ALREADY_GRABBED* = 1
-  GDK_GRAB_INVALID_TIME* = 2
-  GDK_GRAB_NOT_VIEWABLE* = 3
-  GDK_GRAB_FROZEN* = 4
-
-proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): Pointer
-proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom
-proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom
-proc GDK_NONE*(): TGdkAtom
-proc GDK_TYPE_VISUAL*(): GType
-proc GDK_VISUAL*(anObject: Pointer): PGdkVisual
-proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass
-proc GDK_IS_VISUAL*(anObject: Pointer): bool
-proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool
-proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass
-proc gdk_visual_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_visual_get_type".}
-const
-  GDK_WA_TITLE* = 1 shl 1
-  GDK_WA_X* = 1 shl 2
-  GDK_WA_Y* = 1 shl 3
-  GDK_WA_CURSOR* = 1 shl 4
-  GDK_WA_COLORMAP* = 1 shl 5
-  GDK_WA_VISUAL* = 1 shl 6
-  GDK_WA_WMCLASS* = 1 shl 7
-  GDK_WA_NOREDIR* = 1 shl 8
-  GDK_HINT_POS* = 1 shl 0
-  GDK_HINT_MIN_SIZE* = 1 shl 1
-  GDK_HINT_MAX_SIZE* = 1 shl 2
-  GDK_HINT_BASE_SIZE* = 1 shl 3
-  GDK_HINT_ASPECT* = 1 shl 4
-  GDK_HINT_RESIZE_INC* = 1 shl 5
-  GDK_HINT_WIN_GRAVITY* = 1 shl 6
-  GDK_HINT_USER_POS* = 1 shl 7
-  GDK_HINT_USER_SIZE* = 1 shl 8
-  GDK_DECOR_ALL* = 1 shl 0
-  GDK_DECOR_BORDER* = 1 shl 1
-  GDK_DECOR_RESIZEH* = 1 shl 2
-  GDK_DECOR_TITLE* = 1 shl 3
-  GDK_DECOR_MENU* = 1 shl 4
-  GDK_DECOR_MINIMIZE* = 1 shl 5
-  GDK_DECOR_MAXIMIZE* = 1 shl 6
-  GDK_FUNC_ALL* = 1 shl 0
-  GDK_FUNC_RESIZE* = 1 shl 1
-  GDK_FUNC_MOVE* = 1 shl 2
-  GDK_FUNC_MINIMIZE* = 1 shl 3
-  GDK_FUNC_MAXIMIZE* = 1 shl 4
-  GDK_FUNC_CLOSE* = 1 shl 5
-  GDK_GRAVITY_NORTH_WEST* = 1
-  GDK_GRAVITY_NORTH* = 2
-  GDK_GRAVITY_NORTH_EAST* = 3
-  GDK_GRAVITY_WEST* = 4
-  GDK_GRAVITY_CENTER* = 5
-  GDK_GRAVITY_EAST* = 6
-  GDK_GRAVITY_SOUTH_WEST* = 7
-  GDK_GRAVITY_SOUTH* = 8
-  GDK_GRAVITY_SOUTH_EAST* = 9
-  GDK_GRAVITY_STATIC* = 10
-
-proc GDK_TYPE_WINDOW*(): GType
-proc GDK_WINDOW*(anObject: Pointer): PGdkWindow
-proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass
-proc GDK_IS_WINDOW*(anObject: Pointer): bool
-proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool
-proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass
-proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject
-const
-  bm_TGdkWindowObject_guffaw_gravity* = 0x00000001'i16
-  bp_TGdkWindowObject_guffaw_gravity* = 0'i16
-  bm_TGdkWindowObject_input_only* = 0x00000002'i16
-  bp_TGdkWindowObject_input_only* = 1'i16
-  bm_TGdkWindowObject_modal_hint* = 0x00000004'i16
-  bp_TGdkWindowObject_modal_hint* = 2'i16
-  bm_TGdkWindowObject_destroyed* = 0x00000018'i16
-  bp_TGdkWindowObject_destroyed* = 3'i16
-
-proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject,
-    `guffaw_gravity`: guint)
-proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject,
-                                     `input_only`: guint)
-proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject,
-                                     `modal_hint`: guint)
-proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint
-proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint)
-proc gdk_window_object_get_type*(): GType{.cdecl, dynlib: gdklib,
-    importc: "gdk_window_object_get_type".}
-proc gdk_window_new*(parent: PGdkWindow, attributes: PGdkWindowAttr,
-                     attributes_mask: gint): PGdkWindow{.cdecl, dynlib: gdklib,
-    importc: "gdk_window_new".}
-proc gdk_window_destroy*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_destroy".}
-proc gdk_window_get_window_type*(window: PGdkWindow): TGdkWindowType{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_window_type".}
-proc gdk_window_at_pointer*(win_x: Pgint, win_y: Pgint): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_at_pointer".}
-proc gdk_window_show*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_show".}
-proc gdk_window_hide*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_hide".}
-proc gdk_window_withdraw*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_withdraw".}
-proc gdk_window_show_unraised*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_show_unraised".}
-proc gdk_window_move*(window: PGdkWindow, x: gint, y: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_move".}
-proc gdk_window_resize*(window: PGdkWindow, width: gint, height: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_resize".}
-proc gdk_window_move_resize*(window: PGdkWindow, x: gint, y: gint, width: gint,
-                             height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_move_resize".}
-proc gdk_window_reparent*(window: PGdkWindow, new_parent: PGdkWindow, x: gint,
-                          y: gint){.cdecl, dynlib: gdklib,
-                                    importc: "gdk_window_reparent".}
-proc gdk_window_clear*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_clear".}
-proc gdk_window_clear_area*(window: PGdkWindow, x: gint, y: gint, width: gint,
-                            height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_clear_area".}
-proc gdk_window_clear_area_e*(window: PGdkWindow, x: gint, y: gint, width: gint,
-                              height: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_clear_area_e".}
-proc gdk_window_raise*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_raise".}
-proc gdk_window_lower*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_lower".}
-proc gdk_window_focus*(window: PGdkWindow, timestamp: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_focus".}
-proc gdk_window_set_user_data*(window: PGdkWindow, user_data: gpointer){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_user_data".}
-proc gdk_window_set_override_redirect*(window: PGdkWindow,
-                                       override_redirect: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_override_redirect".}
-proc gdk_window_add_filter*(window: PGdkWindow, `function`: TGdkFilterFunc,
-                            data: gpointer){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_add_filter".}
-proc gdk_window_remove_filter*(window: PGdkWindow, `function`: TGdkFilterFunc,
-                               data: gpointer){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_remove_filter".}
-proc gdk_window_scroll*(window: PGdkWindow, dx: gint, dy: gint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_scroll".}
-proc gdk_window_shape_combine_mask*(window: PGdkWindow, mask: PGdkBitmap,
-                                    x: gint, y: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_shape_combine_mask".}
-proc gdk_window_shape_combine_region*(window: PGdkWindow,
-                                      shape_region: PGdkRegion, offset_x: gint,
-                                      offset_y: gint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_shape_combine_region".}
-proc gdk_window_set_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_set_child_shapes".}
-proc gdk_window_merge_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_merge_child_shapes".}
-proc gdk_window_is_visible*(window: PGdkWindow): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_is_visible".}
-proc gdk_window_is_viewable*(window: PGdkWindow): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_is_viewable".}
-proc gdk_window_get_state*(window: PGdkWindow): TGdkWindowState{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_state".}
-proc gdk_window_set_static_gravities*(window: PGdkWindow, use_static: gboolean): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_static_gravities".}
-proc gdk_window_foreign_new_for_display*(display: PGdkDisplay,
-    anid: TGdkNativeWindow): PGdkWindow{.cdecl, dynlib: gdklib,
-    importc: "gdk_window_foreign_new_for_display".}
-proc gdk_window_lookup_for_display*(display: PGdkDisplay, anid: TGdkNativeWindow): PGdkWindow{.
-    cdecl, dynlib: gdklib, importc: "gdk_window_lookup_for_display".}
-proc gdk_window_set_type_hint*(window: PGdkWindow, hint: TGdkWindowTypeHint){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_type_hint".}
-proc gdk_window_set_modal_hint*(window: PGdkWindow, modal: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_modal_hint".}
-proc gdk_window_set_geometry_hints*(window: PGdkWindow, geometry: PGdkGeometry,
-                                    geom_mask: TGdkWindowHints){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_geometry_hints".}
-proc gdk_set_sm_client_id*(sm_client_id: cstring){.cdecl, dynlib: gdklib,
-    importc: "gdk_set_sm_client_id".}
-proc gdk_window_begin_paint_rect*(window: PGdkWindow, rectangle: PGdkRectangle){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_begin_paint_rect".}
-proc gdk_window_begin_paint_region*(window: PGdkWindow, region: PGdkRegion){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_begin_paint_region".}
-proc gdk_window_end_paint*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_end_paint".}
-proc gdk_window_set_title*(window: PGdkWindow, title: cstring){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_title".}
-proc gdk_window_set_role*(window: PGdkWindow, role: cstring){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_role".}
-proc gdk_window_set_transient_for*(window: PGdkWindow, parent: PGdkWindow){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_transient_for".}
-proc gdk_window_set_background*(window: PGdkWindow, color: PGdkColor){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_background".}
-proc gdk_window_set_back_pixmap*(window: PGdkWindow, pixmap: PGdkPixmap,
-                                 parent_relative: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_back_pixmap".}
-proc gdk_window_set_cursor*(window: PGdkWindow, cursor: PGdkCursor){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_cursor".}
-proc gdk_window_get_user_data*(window: PGdkWindow, data: gpointer){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_user_data".}
-proc gdk_window_get_geometry*(window: PGdkWindow, x: Pgint, y: Pgint,
-                              width: Pgint, height: Pgint, depth: Pgint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_geometry".}
-proc gdk_window_get_position*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_position".}
-proc gdk_window_get_origin*(window: PGdkWindow, x: Pgint, y: Pgint): gint{.
-    cdecl, dynlib: gdklib, importc: "gdk_window_get_origin".}
-proc gdk_window_get_root_origin*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_root_origin".}
-proc gdk_window_get_frame_extents*(window: PGdkWindow, rect: PGdkRectangle){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_get_frame_extents".}
-proc gdk_window_get_pointer*(window: PGdkWindow, x: Pgint, y: Pgint,
-                             mask: PGdkModifierType): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_pointer".}
-proc gdk_window_get_parent*(window: PGdkWindow): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_parent".}
-proc gdk_window_get_toplevel*(window: PGdkWindow): PGdkWindow{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_toplevel".}
-proc gdk_window_get_children*(window: PGdkWindow): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_children".}
-proc gdk_window_peek_children*(window: PGdkWindow): PGList{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_peek_children".}
-proc gdk_window_get_events*(window: PGdkWindow): TGdkEventMask{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_events".}
-proc gdk_window_set_events*(window: PGdkWindow, event_mask: TGdkEventMask){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_events".}
-proc gdk_window_set_icon_list*(window: PGdkWindow, pixbufs: PGList){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_icon_list".}
-proc gdk_window_set_icon*(window: PGdkWindow, icon_window: PGdkWindow,
-                          pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_icon".}
-proc gdk_window_set_icon_name*(window: PGdkWindow, name: cstring){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_icon_name".}
-proc gdk_window_set_group*(window: PGdkWindow, leader: PGdkWindow){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_group".}
-proc gdk_window_set_decorations*(window: PGdkWindow,
-                                 decorations: TGdkWMDecoration){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_set_decorations".}
-proc gdk_window_get_decorations*(window: PGdkWindow,
-                                 decorations: PGdkWMDecoration): gboolean{.
-    cdecl, dynlib: gdklib, importc: "gdk_window_get_decorations".}
-proc gdk_window_set_functions*(window: PGdkWindow, functions: TGdkWMFunction){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_set_functions".}
-proc gdk_window_iconify*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_iconify".}
-proc gdk_window_deiconify*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_deiconify".}
-proc gdk_window_stick*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_stick".}
-proc gdk_window_unstick*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_unstick".}
-proc gdk_window_maximize*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_maximize".}
-proc gdk_window_unmaximize*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_unmaximize".}
-proc gdk_window_register_dnd*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_register_dnd".}
-proc gdk_window_begin_resize_drag*(window: PGdkWindow, edge: TGdkWindowEdge,
-                                   button: gint, root_x: gint, root_y: gint,
-                                   timestamp: guint32){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_begin_resize_drag".}
-proc gdk_window_begin_move_drag*(window: PGdkWindow, button: gint, root_x: gint,
-                                 root_y: gint, timestamp: guint32){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_begin_move_drag".}
-proc gdk_window_invalidate_rect*(window: PGdkWindow, rect: PGdkRectangle,
-                                 invalidate_children: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_invalidate_rect".}
-proc gdk_window_invalidate_region*(window: PGdkWindow, region: PGdkRegion,
-                                   invalidate_children: gboolean){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_invalidate_region".}
-proc gdk_window_invalidate_maybe_recurse*(window: PGdkWindow,
-    region: PGdkRegion,
-    child_func: gdk_window_invalidate_maybe_recurse_child_func,
-    user_data: gpointer){.cdecl, dynlib: gdklib,
-                          importc: "gdk_window_invalidate_maybe_recurse".}
-proc gdk_window_get_update_area*(window: PGdkWindow): PGdkRegion{.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_update_area".}
-proc gdk_window_freeze_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_freeze_updates".}
-proc gdk_window_thaw_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_thaw_updates".}
-proc gdk_window_process_all_updates*(){.cdecl, dynlib: gdklib, importc: "gdk_window_process_all_updates".}
-proc gdk_window_process_updates*(window: PGdkWindow, update_children: gboolean){.
-    cdecl, dynlib: gdklib, importc: "gdk_window_process_updates".}
-proc gdk_window_set_debug_updates*(setting: gboolean){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_set_debug_updates".}
-proc gdk_window_constrain_size*(geometry: PGdkGeometry, flags: guint,
-                                width: gint, height: gint, new_width: Pgint,
-                                new_height: Pgint){.cdecl, dynlib: gdklib,
-    importc: "gdk_window_constrain_size".}
-proc gdk_window_get_internal_paint_info*(window: PGdkWindow,
-    e: var PGdkDrawable, x_offset: Pgint, y_offset: Pgint){.cdecl,
-    dynlib: gdklib, importc: "gdk_window_get_internal_paint_info".}
-proc gdk_set_pointer_hooks*(new_hooks: PGdkPointerHooks): PGdkPointerHooks{.
-    cdecl, dynlib: gdklib, importc: "gdk_set_pointer_hooks".}
-proc gdk_get_default_root_window*(): PGdkWindow{.cdecl, dynlib: gdklib,
-    importc: "gdk_get_default_root_window".}
-proc gdk_parse_args*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib,
-    importc: "gdk_parse_args".}
-proc gdk_init*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib,
-    importc: "gdk_init".}
-proc gdk_init_check*(argc: Pgint, v: var PPgchar): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_init_check".}
-when not defined(GDK_DISABLE_DEPRECATED):
-  proc gdk_exit*(error_code: gint){.cdecl, dynlib: gdklib, importc: "gdk_exit".}
-proc gdk_set_locale*(): cstring{.cdecl, dynlib: gdklib, importc: "gdk_set_locale".}
-proc gdk_get_program_class*(): cstring{.cdecl, dynlib: gdklib,
-                                        importc: "gdk_get_program_class".}
-proc gdk_set_program_class*(program_class: cstring){.cdecl, dynlib: gdklib,
-    importc: "gdk_set_program_class".}
-proc gdk_error_trap_push*(){.cdecl, dynlib: gdklib,
-                             importc: "gdk_error_trap_push".}
-proc gdk_error_trap_pop*(): gint{.cdecl, dynlib: gdklib,
-                                  importc: "gdk_error_trap_pop".}
-when not defined(GDK_DISABLE_DEPRECATED):
-  proc gdk_set_use_xshm*(use_xshm: gboolean){.cdecl, dynlib: gdklib,
-      importc: "gdk_set_use_xshm".}
-  proc gdk_get_use_xshm*(): gboolean{.cdecl, dynlib: gdklib,
-                                     importc: "gdk_get_use_xshm".}
-proc gdk_get_display*(): cstring{.cdecl, dynlib: gdklib,
-                                 importc: "gdk_get_display".}
-proc gdk_get_display_arg_name*(): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_get_display_arg_name".}
-when not defined(GDK_DISABLE_DEPRECATED):
-  proc gdk_input_add_full*(source: gint, condition: TGdkInputCondition,
-                          `function`: TGdkInputFunction, data: gpointer,
-                          destroy: TGdkDestroyNotify): gint{.cdecl,
-      dynlib: gdklib, importc: "gdk_input_add_full".}
-  proc gdk_input_add*(source: gint, condition: TGdkInputCondition,
-                     `function`: TGdkInputFunction, data: gpointer): gint{.
-      cdecl, dynlib: gdklib, importc: "gdk_input_add".}
-  proc gdk_input_remove*(tag: gint){.cdecl, dynlib: gdklib,
-                                    importc: "gdk_input_remove".}
-proc gdk_pointer_grab*(window: PGdkWindow, owner_events: gboolean,
-                       event_mask: TGdkEventMask, confine_to: PGdkWindow,
-                       cursor: PGdkCursor, time: guint32): TGdkGrabStatus{.
-    cdecl, dynlib: gdklib, importc: "gdk_pointer_grab".}
-proc gdk_keyboard_grab*(window: PGdkWindow, owner_events: gboolean,
-                        time: guint32): TGdkGrabStatus{.cdecl, dynlib: gdklib,
-    importc: "gdk_keyboard_grab".}
-when not defined(GDK_MULTIHEAD_SAFE):
-  proc gdk_pointer_ungrab*(time: guint32){.cdecl, dynlib: gdklib,
-      importc: "gdk_pointer_ungrab".}
-  proc gdk_keyboard_ungrab*(time: guint32){.cdecl, dynlib: gdklib,
-      importc: "gdk_keyboard_ungrab".}
-  proc gdk_pointer_is_grabbed*(): gboolean{.cdecl, dynlib: gdklib,
-      importc: "gdk_pointer_is_grabbed".}
-  proc gdk_screen_width*(): gint{.cdecl, dynlib: gdklib,
-                                 importc: "gdk_screen_width".}
-  proc gdk_screen_height*(): gint{.cdecl, dynlib: gdklib,
-                                  importc: "gdk_screen_height".}
-  proc gdk_screen_width_mm*(): gint{.cdecl, dynlib: gdklib,
-                                    importc: "gdk_screen_width_mm".}
-  proc gdk_screen_height_mm*(): gint{.cdecl, dynlib: gdklib,
-                                     importc: "gdk_screen_height_mm".}
-  proc gdk_beep*(){.cdecl, dynlib: gdklib, importc: "gdk_beep".}
-proc gdk_flush*(){.cdecl, dynlib: gdklib, importc: "gdk_flush".}
-when not defined(GDK_MULTIHEAD_SAFE):
-  proc gdk_set_double_click_time*(msec: guint){.cdecl, dynlib: gdklib,
-      importc: "gdk_set_double_click_time".}
-proc gdk_rectangle_intersect*(src1: PGdkRectangle, src2: PGdkRectangle,
-                              dest: PGdkRectangle): gboolean{.cdecl,
-    dynlib: gdklib, importc: "gdk_rectangle_intersect".}
-proc gdk_rectangle_union*(src1: PGdkRectangle, src2: PGdkRectangle,
-                          dest: PGdkRectangle){.cdecl, dynlib: gdklib,
-    importc: "gdk_rectangle_union".}
-proc gdk_rectangle_get_type*(): GType{.cdecl, dynlib: gdklib,
-                                       importc: "gdk_rectangle_get_type".}
-proc GDK_TYPE_RECTANGLE*(): GType
-proc gdk_wcstombs*(src: PGdkWChar): cstring{.cdecl, dynlib: gdklib,
-    importc: "gdk_wcstombs".}
-proc gdk_mbstowcs*(dest: PGdkWChar, src: cstring, dest_max: gint): gint{.cdecl,
-    dynlib: gdklib, importc: "gdk_mbstowcs".}
-when not defined(GDK_MULTIHEAD_SAFE):
-  proc gdk_event_send_client_message*(event: PGdkEvent, xid: guint32): gboolean{.
-      cdecl, dynlib: gdklib, importc: "gdk_event_send_client_message".}
-  proc gdk_event_send_clientmessage_toall*(event: PGdkEvent){.cdecl,
-      dynlib: gdklib, importc: "gdk_event_send_clientmessage_toall".}
-proc gdk_event_send_client_message_for_display*(display: PGdkDisplay,
-    event: PGdkEvent, xid: guint32): gboolean{.cdecl, dynlib: gdklib,
-    importc: "gdk_event_send_client_message_for_display".}
-proc gdk_threads_enter*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_enter".}
-proc gdk_threads_leave*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_leave".}
-proc gdk_threads_init*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_init".}
-
-proc GDK_TYPE_RECTANGLE*(): GType =
-  result = gdk_rectangle_get_type()
-
-proc GDK_TYPE_COLORMAP*(): GType =
-  result = gdk_colormap_get_type()
-
-proc GDK_COLORMAP*(anObject: pointer): PGdkColormap =
-  result = cast[PGdkColormap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_COLORMAP()))
-
-proc GDK_COLORMAP_CLASS*(klass: pointer): PGdkColormapClass =
-  result = cast[PGdkColormapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_COLORMAP()))
-
-proc GDK_IS_COLORMAP*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_COLORMAP())
-
-proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_COLORMAP())
-
-proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass =
-  result = cast[PGdkColormapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_COLORMAP()))
-
-proc GDK_TYPE_COLOR*(): GType =
-  result = gdk_color_get_type()
-
-proc gdk_cursor_destroy*(cursor: PGdkCursor) =
-  gdk_cursor_unref(cursor)
-
-proc GDK_TYPE_CURSOR*(): GType =
-  result = gdk_cursor_get_type()
-
-proc GDK_TYPE_DRAG_CONTEXT*(): GType =
-  result = gdk_drag_context_get_type()
-
-proc GDK_DRAG_CONTEXT*(anObject: Pointer): PGdkDragContext =
-  result = cast[PGdkDragContext](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      GDK_TYPE_DRAG_CONTEXT()))
-
-proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass =
-  result = cast[PGdkDragContextClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GDK_TYPE_DRAG_CONTEXT()))
-
-proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAG_CONTEXT())
-
-proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAG_CONTEXT())
-
-proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass =
-  result = cast[PGdkDragContextClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GDK_TYPE_DRAG_CONTEXT()))
-
-proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool =
-  result = ((r1.x2) > r2.x1) and ((r1.x1) < r2.x2) and
-      ((r1.y2) > r2.y1) and ((r1.y1) < r2.y2)
-
-proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion) =
-  if ((r.x1) < idRect.extents.x1):
-    idRect.extents.x1 = r.x1
-  if (r.y1) < idRect.extents.y1:
-    idRect.extents.y1 = r.y1
-  if (r.x2) > idRect.extents.x2:
-    idRect.extents.x2 = r.x2
-
-proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool =
-  assert(false) # to implement
-
-proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox,
-                               Rx1, Ry1, Rx2, Ry2: gint): bool =
-  assert(false) # to implement
-
-proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox,
-                        rx1, ry1, rx2, ry2: gint) =
-  if (((rx1) < rx2) and ((ry1) < ry2) and
-      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)):
-    r.x1 = rx1
-    r.y1 = ry1
-    r.x2 = rx2
-    r.y2 = ry2
-
-proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox,
-                           rx1, ry1, rx2, ry2: gint) =
-  if (((rx1) < rx2) and ((ry1) < ry2) and
-      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)):
-    r.x1 = rx1
-    r.y1 = ry1
-    r.x2 = rx2
-    r.y2 = ry2
-    inc(reg . numRects)
-
-proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool =
-  result = pReg.numRects == 0'i32
-
-proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool =
-  result = pReg.numRects != 0'i32
-
-proc gdkregion_INBOX*(r: TGdkRegionBox, x, y: gint): bool =
-  result = ((((r.x2) > x) and ((r.x1) <= x)) and
-            ((r.y2) > y)) and ((r.y1) <= y)
-
-proc GDK_TYPE_DRAWABLE*(): GType =
-  result = gdk_drawable_get_type()
-
-proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable =
-  result = cast[PGdkDrawable](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DRAWABLE()))
-
-proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass =
-  result = cast[PGdkDrawableClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DRAWABLE()))
-
-proc GDK_IS_DRAWABLE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAWABLE())
-
-proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAWABLE())
-
-proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass =
-  result = cast[PGdkDrawableClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DRAWABLE()))
-
-proc gdk_draw_pixmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
-                      xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                      width: gint, height: gint) =
-  gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height)
-
-proc gdk_draw_bitmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable,
-                      xsrc: gint, ysrc: gint, xdest: gint, ydest: gint,
-                      width: gint, height: gint) =
-  gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height)
-
-proc GDK_TYPE_EVENT*(): GType =
-  result = gdk_event_get_type()
-
-proc GDK_TYPE_FONT*(): GType =
-  result = gdk_font_get_type()
-
-proc GDK_TYPE_GC*(): GType =
-  result = gdk_gc_get_type()
-
-proc GDK_GC*(anObject: Pointer): PGdkGC =
-  result = cast[PGdkGC](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GC()))
-
-proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass =
-  result = cast[PGdkGCClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GC()))
-
-proc GDK_IS_GC*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GC())
-
-proc GDK_IS_GC_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GC())
-
-proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass =
-  result = cast[PGdkGCClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GC()))
-
-proc gdk_gc_destroy*(gc: PGdkGC) =
-  g_object_unref(G_OBJECT(gc))
-
-proc GDK_TYPE_IMAGE*(): GType =
-  result = gdk_image_get_type()
-
-proc GDK_IMAGE*(anObject: Pointer): PGdkImage =
-  result = cast[PGdkImage](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_IMAGE()))
-
-proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass =
-  result = cast[PGdkImageClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_IMAGE()))
-
-proc GDK_IS_IMAGE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_IMAGE())
-
-proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_IMAGE())
-
-proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass =
-  result = cast[PGdkImageClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_IMAGE()))
-
-proc gdk_image_destroy*(image: PGdkImage) =
-  g_object_unref(G_OBJECT(image))
-
-proc GDK_TYPE_DEVICE*(): GType =
-  result = gdk_device_get_type()
-
-proc GDK_DEVICE*(anObject: Pointer): PGdkDevice =
-  result = cast[PGdkDevice](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DEVICE()))
-
-proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass =
-  result = cast[PGdkDeviceClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DEVICE()))
-
-proc GDK_IS_DEVICE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DEVICE())
-
-proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DEVICE())
-
-proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass =
-  result = cast[PGdkDeviceClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DEVICE()))
-
-proc GDK_TYPE_KEYMAP*(): GType =
-  result = gdk_keymap_get_type()
-
-proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap =
-  result = cast[PGdkKeymap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_KEYMAP()))
-
-proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass =
-  result = cast[PGdkKeymapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_KEYMAP()))
-
-proc GDK_IS_KEYMAP*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_KEYMAP())
-
-proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_KEYMAP())
-
-proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass =
-  result = cast[PGdkKeymapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_KEYMAP()))
-
-proc GDK_TYPE_PIXMAP*(): GType =
-  result = gdk_pixmap_get_type()
-
-proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap =
-  result = cast[PGdkPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_PIXMAP()))
-
-proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass =
-  result = cast[PGdkPixmapObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_PIXMAP()))
-
-proc GDK_IS_PIXMAP*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXMAP())
-
-proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_PIXMAP())
-
-proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass =
-  result = cast[PGdkPixmapObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_PIXMAP()))
-
-proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject =
-  result = cast[PGdkPixmapObject](GDK_PIXMAP(anObject))
-
-proc gdk_bitmap_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
-
-proc gdk_bitmap_unref*(drawable: PGdkDrawable) =
-  g_object_unref(G_OBJECT(drawable))
-
-proc gdk_pixmap_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
-
-proc gdk_pixmap_unref*(drawable: PGdkDrawable) =
-  g_object_unref(G_OBJECT(drawable))
-
-proc gdk_rgb_get_cmap*(): PGdkColormap =
-  result = nil #gdk_rgb_get_colormap()
-
-proc GDK_TYPE_DISPLAY*(): GType =
-  nil
-  #result = nil
-
-proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay =
-  result = cast[PGdkDisplay](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DISPLAY()))
-
-proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass =
-  result = cast[PGdkDisplayClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DISPLAY()))
-
-proc GDK_IS_DISPLAY*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DISPLAY())
-
-proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DISPLAY())
-
-proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass =
-  result = cast[PGdkDisplayClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DISPLAY()))
-
-proc GDK_TYPE_SCREEN*(): GType =
-  nil
-
-proc GDK_SCREEN*(anObject: Pointer): PGdkScreen =
-  result = cast[PGdkScreen](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_SCREEN()))
-
-proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass =
-  result = cast[PGdkScreenClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_SCREEN()))
-
-proc GDK_IS_SCREEN*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_SCREEN())
-
-proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_SCREEN())
-
-proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass =
-  result = cast[PGdkScreenClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_SCREEN()))
-
-proc GDK_SELECTION_PRIMARY*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(1)
-
-proc GDK_SELECTION_SECONDARY*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(2)
-
-proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(69)
-
-proc GDK_TARGET_BITMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(5)
-
-proc GDK_TARGET_COLORMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(7)
-
-proc GDK_TARGET_DRAWABLE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(17)
-
-proc GDK_TARGET_PIXMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(20)
-
-proc GDK_TARGET_STRING*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(31)
-
-proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(4)
-
-proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(5)
-
-proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(7)
-
-proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(17)
-
-proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(19)
-
-proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(20)
-
-proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(33)
-
-proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(31)
-
-proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): pointer =
-  result = cast[Pointer](atom)
-
-proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom =
-  result = cast[TGdkAtom](p)
-
-proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom =
-  result = cast[TGdkAtom](val)
-
-proc GDK_NONE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(0)
-
-proc GDK_TYPE_VISUAL*(): GType =
-  result = gdk_visual_get_type()
-
-proc GDK_VISUAL*(anObject: Pointer): PGdkVisual =
-  result = cast[PGdkVisual](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_VISUAL()))
-
-proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass =
-  result = cast[PGdkVisualClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_VISUAL()))
-
-proc GDK_IS_VISUAL*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_VISUAL())
-
-proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_VISUAL())
-
-proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass =
-  result = cast[PGdkVisualClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_VISUAL()))
-
-proc gdk_visual_ref*(v: PGdkVisual) =
-  discard g_object_ref(v)
-
-proc gdk_visual_unref*(v: PGdkVisual) =
-  g_object_unref(v)
-
-proc GDK_TYPE_WINDOW*(): GType =
-  result = gdk_window_object_get_type()
-
-proc GDK_WINDOW*(anObject: Pointer): PGdkWindow =
-  result = cast[PGdkWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_WINDOW()))
-
-proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass =
-  result = cast[PGdkWindowObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_WINDOW()))
-
-proc GDK_IS_WINDOW*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_WINDOW())
-
-proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_WINDOW())
-
-proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass =
-  result = cast[PGdkWindowObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_WINDOW()))
-
-proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject =
-  result = cast[PGdkWindowObject](GDK_WINDOW(anObject))
-
-proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_guffaw_gravity) shr
-      bp_TGdkWindowObject_guffaw_gravity
-
-proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject,
-    `guffaw_gravity`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`guffaw_gravity` shl bp_TGdkWindowObject_guffaw_gravity) and
-      bm_TGdkWindowObject_guffaw_gravity)
-
-proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_input_only) shr
-      bp_TGdkWindowObject_input_only
-
-proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject,
-                                     `input_only`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`input_only` shl bp_TGdkWindowObject_input_only) and
-      bm_TGdkWindowObject_input_only)
-
-proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_modal_hint) shr
-      bp_TGdkWindowObject_modal_hint
-
-proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject,
-                                     `modal_hint`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`modal_hint` shl bp_TGdkWindowObject_modal_hint) and
-      bm_TGdkWindowObject_modal_hint)
-
-proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_destroyed) shr
-      bp_TGdkWindowObject_destroyed
-
-proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`destroyed` shl bp_TGdkWindowObject_destroyed) and
-      bm_TGdkWindowObject_destroyed)
-
-proc GDK_ROOT_PARENT*(): PGdkWindow =
-  result = gdk_get_default_root_window()
-
-proc gdk_window_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint) =
-  gdk_drawable_get_size(drawable, width, height)
-
-proc gdk_window_get_type*(window: PGdkWindow): TGdkWindowType =
-  result = gdk_window_get_window_type(window)
-
-proc gdk_window_get_colormap*(drawable: PGdkDrawable): PGdkColormap =
-  result = gdk_drawable_get_colormap(drawable)
-
-proc gdk_window_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap) =
-  gdk_drawable_set_colormap(drawable, colormap)
-
-proc gdk_window_get_visual*(drawable: PGdkDrawable): PGdkVisual =
-  result = gdk_drawable_get_visual(drawable)
-
-proc gdk_window_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
-
-proc gdk_window_unref*(drawable: PGdkDrawable) =
-  g_object_unref(G_OBJECT(drawable))
-
-proc gdk_window_copy_area*(drawable: PGdkDrawable, gc: PGdkGC, x, y: gint,
-                           source_drawable: PGdkDrawable,
-                           source_x, source_y: gint, width, height: gint) =
-  gdk_draw_pixmap(drawable, gc, source_drawable, source_x, source_y, x, y,
-                  width, height)
diff --git a/lib/oldwrappers/gtk/gdk2pixbuf.nim b/lib/oldwrappers/gtk/gdk2pixbuf.nim
deleted file mode 100755
index daaa1479b..000000000
--- a/lib/oldwrappers/gtk/gdk2pixbuf.nim
+++ /dev/null
@@ -1,277 +0,0 @@
-{.deadCodeElim: on.}
-
-import
-  glib2
-
-when defined(win32):
-  const
-    gdkpixbuflib = "libgdk_pixbuf-2.0-0.dll"
-elif defined(darwin):
-  const
-    gdkpixbuflib = "gdk_pixbuf-2.0.0"
-  # linklib gtk-x11-2.0
-  # linklib gdk-x11-2.0
-  # linklib pango-1.0.0
-  # linklib glib-2.0.0
-  # linklib gobject-2.0.0
-  # linklib gdk_pixbuf-2.0.0
-  # linklib atk-1.0.0
-else:
-  const
-    gdkpixbuflib = "libgdk_pixbuf-2.0.so"
-
-type
-  PGdkPixbuf* = pointer
-  PGdkPixbufAnimation* = pointer
-  PGdkPixbufAnimationIter* = pointer
-  PGdkPixbufAlphaMode* = ptr TGdkPixbufAlphaMode
-  TGdkPixbufAlphaMode* = enum
-    GDK_PIXBUF_ALPHA_BILEVEL, GDK_PIXBUF_ALPHA_FULL
-  PGdkColorspace* = ptr TGdkColorspace
-  TGdkColorspace* = enum
-    GDK_COLORSPACE_RGB
-  TGdkPixbufDestroyNotify* = proc (pixels: Pguchar, data: gpointer){.cdecl.}
-  PGdkPixbufError* = ptr TGdkPixbufError
-  TGdkPixbufError* = enum
-    GDK_PIXBUF_ERROR_CORRUPT_IMAGE, GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
-    GDK_PIXBUF_ERROR_BAD_OPTION, GDK_PIXBUF_ERROR_UNKNOWN_TYPE,
-    GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION, GDK_PIXBUF_ERROR_FAILED
-  PGdkInterpType* = ptr TGdkInterpType
-  TGdkInterpType* = enum
-    GDK_INTERP_NEAREST, GDK_INTERP_TILES, GDK_INTERP_BILINEAR, GDK_INTERP_HYPER
-
-proc GDK_TYPE_PIXBUF*(): GType
-proc GDK_PIXBUF*(anObject: pointer): PGdkPixbuf
-proc GDK_IS_PIXBUF*(anObject: pointer): bool
-proc GDK_TYPE_PIXBUF_ANIMATION*(): GType
-proc GDK_PIXBUF_ANIMATION*(anObject: pointer): PGdkPixbufAnimation
-proc GDK_IS_PIXBUF_ANIMATION*(anObject: pointer): bool
-proc GDK_TYPE_PIXBUF_ANIMATION_ITER*(): GType
-proc GDK_PIXBUF_ANIMATION_ITER*(anObject: pointer): PGdkPixbufAnimationIter
-proc GDK_IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool
-proc GDK_PIXBUF_ERROR*(): TGQuark
-proc gdk_pixbuf_error_quark*(): TGQuark{.cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_error_quark".}
-proc gdk_pixbuf_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib,
-                                    importc: "gdk_pixbuf_get_type".}
-when not defined(GDK_PIXBUF_DISABLE_DEPRECATED):
-  proc gdk_pixbuf_ref*(pixbuf: PGdkPixbuf): PGdkPixbuf{.cdecl,
-      dynlib: gdkpixbuflib, importc: "gdk_pixbuf_ref".}
-  proc gdk_pixbuf_unref*(pixbuf: PGdkPixbuf){.cdecl, dynlib: gdkpixbuflib,
-      importc: "gdk_pixbuf_unref".}
-proc gdk_pixbuf_get_colorspace*(pixbuf: PGdkPixbuf): TGdkColorspace{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_colorspace".}
-proc gdk_pixbuf_get_n_channels*(pixbuf: PGdkPixbuf): int32{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_n_channels".}
-proc gdk_pixbuf_get_has_alpha*(pixbuf: PGdkPixbuf): gboolean{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_has_alpha".}
-proc gdk_pixbuf_get_bits_per_sample*(pixbuf: PGdkPixbuf): int32{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_bits_per_sample".}
-proc gdk_pixbuf_get_pixels*(pixbuf: PGdkPixbuf): Pguchar{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_pixels".}
-proc gdk_pixbuf_get_width*(pixbuf: PGdkPixbuf): int32{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_width".}
-proc gdk_pixbuf_get_height*(pixbuf: PGdkPixbuf): int32{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_height".}
-proc gdk_pixbuf_get_rowstride*(pixbuf: PGdkPixbuf): int32{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_rowstride".}
-proc gdk_pixbuf_new*(colorspace: TGdkColorspace, has_alpha: gboolean,
-                     bits_per_sample: int32, width: int32, height: int32): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new".}
-proc gdk_pixbuf_copy*(pixbuf: PGdkPixbuf): PGdkPixbuf{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_copy".}
-proc gdk_pixbuf_new_subpixbuf*(src_pixbuf: PGdkPixbuf, src_x: int32,
-                               src_y: int32, width: int32, height: int32): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_subpixbuf".}
-proc gdk_pixbuf_new_from_file*(filename: cstring, error: pointer): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file".}
-proc gdk_pixbuf_new_from_data*(data: Pguchar, colorspace: TGdkColorspace,
-                               has_alpha: gboolean, bits_per_sample: int32,
-                               width: int32, height: int32, rowstride: int32,
-                               destroy_fn: TGdkPixbufDestroyNotify,
-                               destroy_fn_data: gpointer): PGdkPixbuf{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_data".}
-proc gdk_pixbuf_new_from_xpm_data*(data: PPchar): PGdkPixbuf{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_xpm_data".}
-proc gdk_pixbuf_new_from_inline*(data_length: gint, a: var guint8,
-                                 copy_pixels: gboolean, error: pointer): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_inline".}
-proc gdk_pixbuf_new_from_file_at_size*(filename: cstring, width, height: gint,
-                                       error: pointer): PGdkPixbuf{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file_at_size".}
-proc gdk_pixbuf_new_from_file_at_scale*(filename: cstring, width, height: gint,
-    preserve_aspect_ratio: gboolean, error: pointer): PGdkPixbuf{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file_at_scale".}
-proc gdk_pixbuf_fill*(pixbuf: PGdkPixbuf, pixel: guint32){.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_fill".}
-proc gdk_pixbuf_save*(pixbuf: PGdkPixbuf, filename: cstring, `type`: cstring,
-                      error: pointer): gboolean{.cdecl, varargs,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_save".}
-proc gdk_pixbuf_savev*(pixbuf: PGdkPixbuf, filename: cstring, `type`: cstring,
-                       option_keys: PPchar, option_values: PPchar,
-                       error: pointer): gboolean{.cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_savev".}
-proc gdk_pixbuf_add_alpha*(pixbuf: PGdkPixbuf, substitute_color: gboolean,
-                           r: guchar, g: guchar, b: guchar): PGdkPixbuf{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_add_alpha".}
-proc gdk_pixbuf_copy_area*(src_pixbuf: PGdkPixbuf, src_x: int32, src_y: int32,
-                           width: int32, height: int32, dest_pixbuf: PGdkPixbuf,
-                           dest_x: int32, dest_y: int32){.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_copy_area".}
-proc gdk_pixbuf_saturate_and_pixelate*(src: PGdkPixbuf, dest: PGdkPixbuf,
-                                       saturation: gfloat, pixelate: gboolean){.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_saturate_and_pixelate".}
-proc gdk_pixbuf_scale*(src: PGdkPixbuf, dest: PGdkPixbuf, dest_x: int32,
-                       dest_y: int32, dest_width: int32, dest_height: int32,
-                       offset_x: float64, offset_y: float64, scale_x: float64,
-                       scale_y: float64, interp_type: TGdkInterpType){.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_scale".}
-proc gdk_pixbuf_composite*(src: PGdkPixbuf, dest: PGdkPixbuf, dest_x: int32,
-                           dest_y: int32, dest_width: int32, dest_height: int32,
-                           offset_x: float64, offset_y: float64,
-                           scale_x: float64, scale_y: float64,
-                           interp_type: TGdkInterpType, overall_alpha: int32){.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite".}
-proc gdk_pixbuf_composite_color*(src: PGdkPixbuf, dest: PGdkPixbuf,
-                                 dest_x: int32, dest_y: int32,
-                                 dest_width: int32, dest_height: int32,
-                                 offset_x: float64, offset_y: float64,
-                                 scale_x: float64, scale_y: float64,
-                                 interp_type: TGdkInterpType,
-                                 overall_alpha: int32, check_x: int32,
-                                 check_y: int32, check_size: int32,
-                                 color1: guint32, color2: guint32){.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite_color".}
-proc gdk_pixbuf_scale_simple*(src: PGdkPixbuf, dest_width: int32,
-                              dest_height: int32, interp_type: TGdkInterpType): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_scale_simple".}
-proc gdk_pixbuf_composite_color_simple*(src: PGdkPixbuf, dest_width: int32,
-                                        dest_height: int32,
-                                        interp_type: TGdkInterpType,
-                                        overall_alpha: int32, check_size: int32,
-                                        color1: guint32, color2: guint32): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite_color_simple".}
-proc gdk_pixbuf_animation_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_animation_get_type".}
-proc gdk_pixbuf_animation_new_from_file*(filename: cstring, error: pointer): PGdkPixbufAnimation{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_new_from_file".}
-when not defined(GDK_PIXBUF_DISABLE_DEPRECATED):
-  proc gdk_pixbuf_animation_ref*(animation: PGdkPixbufAnimation): PGdkPixbufAnimation{.
-      cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_ref".}
-  proc gdk_pixbuf_animation_unref*(animation: PGdkPixbufAnimation){.cdecl,
-      dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_unref".}
-proc gdk_pixbuf_animation_get_width*(animation: PGdkPixbufAnimation): int32{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_get_width".}
-proc gdk_pixbuf_animation_get_height*(animation: PGdkPixbufAnimation): int32{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_get_height".}
-proc gdk_pixbuf_animation_is_static_image*(animation: PGdkPixbufAnimation): gboolean{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_is_static_image".}
-proc gdk_pixbuf_animation_get_static_image*(animation: PGdkPixbufAnimation): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_animation_get_static_image".}
-proc gdk_pixbuf_animation_get_iter*(animation: PGdkPixbufAnimation,
-                                    e: var TGTimeVal): PGdkPixbufAnimationIter{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_get_iter".}
-proc gdk_pixbuf_animation_iter_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_animation_iter_get_type".}
-proc gdk_pixbuf_animation_iter_get_delay_time*(iter: PGdkPixbufAnimationIter): int32{.
-    cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_animation_iter_get_delay_time".}
-proc gdk_pixbuf_animation_iter_get_pixbuf*(iter: PGdkPixbufAnimationIter): PGdkPixbuf{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_iter_get_pixbuf".}
-proc gdk_pixbuf_animation_iter_on_currently_loading_frame*(
-    iter: PGdkPixbufAnimationIter): gboolean{.cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_animation_iter_on_currently_loading_frame".}
-proc gdk_pixbuf_animation_iter_advance*(iter: PGdkPixbufAnimationIter,
-                                        e: var TGTimeVal): gboolean{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_iter_advance".}
-proc gdk_pixbuf_get_option*(pixbuf: PGdkPixbuf, key: cstring): cstring{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_option".}
-type
-  PGdkPixbufLoader* = ptr TGdkPixbufLoader
-  TGdkPixbufLoader* {.final, pure.} = object
-    parent_instance*: TGObject
-    priv*: gpointer
-
-  PGdkPixbufLoaderClass* = ptr TGdkPixbufLoaderClass
-  TGdkPixbufLoaderClass* {.final, pure.} = object
-    parent_class*: TGObjectClass
-    area_prepared*: proc (loader: PGdkPixbufLoader){.cdecl.}
-    area_updated*: proc (loader: PGdkPixbufLoader, x: int32, y: int32,
-                         width: int32, height: int32){.cdecl.}
-    closed*: proc (loader: PGdkPixbufLoader){.cdecl.}
-
-
-proc GDK_TYPE_PIXBUF_LOADER*(): GType
-proc GDK_PIXBUF_LOADER*(obj: pointer): PGdkPixbufLoader
-proc GDK_PIXBUF_LOADER_CLASS*(klass: pointer): PGdkPixbufLoaderClass
-proc GDK_IS_PIXBUF_LOADER*(obj: pointer): bool
-proc GDK_IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool
-proc GDK_PIXBUF_LOADER_GET_CLASS*(obj: pointer): PGdkPixbufLoaderClass
-proc gdk_pixbuf_loader_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_loader_get_type".}
-proc gdk_pixbuf_loader_new*(): PGdkPixbufLoader{.cdecl, dynlib: gdkpixbuflib,
-    importc: "gdk_pixbuf_loader_new".}
-proc gdk_pixbuf_loader_new_with_type*(image_type: cstring, error: pointer): PGdkPixbufLoader{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_new_with_type".}
-proc gdk_pixbuf_loader_write*(loader: PGdkPixbufLoader, buf: Pguchar,
-                              count: gsize, error: pointer): gboolean{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_write".}
-proc gdk_pixbuf_loader_get_pixbuf*(loader: PGdkPixbufLoader): PGdkPixbuf{.cdecl,
-    dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_get_pixbuf".}
-proc gdk_pixbuf_loader_get_animation*(loader: PGdkPixbufLoader): PGdkPixbufAnimation{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_get_animation".}
-proc gdk_pixbuf_loader_close*(loader: PGdkPixbufLoader, error: pointer): gboolean{.
-    cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_close".}
-proc GDK_TYPE_PIXBUF_LOADER*(): GType =
-  result = gdk_pixbuf_loader_get_type()
-
-proc GDK_PIXBUF_LOADER*(obj: pointer): PGdkPixbufLoader =
-  result = cast[PGdkPixbufLoader](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      GDK_TYPE_PIXBUF_LOADER()))
-
-proc GDK_PIXBUF_LOADER_CLASS*(klass: pointer): PGdkPixbufLoaderClass =
-  result = cast[PGdkPixbufLoaderClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GDK_TYPE_PIXBUF_LOADER()))
-
-proc GDK_IS_PIXBUF_LOADER*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GDK_TYPE_PIXBUF_LOADER())
-
-proc GDK_IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_PIXBUF_LOADER())
-
-proc GDK_PIXBUF_LOADER_GET_CLASS*(obj: pointer): PGdkPixbufLoaderClass =
-  result = cast[PGdkPixbufLoaderClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GDK_TYPE_PIXBUF_LOADER()))
-
-proc GDK_TYPE_PIXBUF*(): GType =
-  result = gdk_pixbuf_get_type()
-
-proc GDK_PIXBUF*(anObject: pointer): PGdkPixbuf =
-  result = cast[PGdkPixbuf](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_PIXBUF()))
-
-proc GDK_IS_PIXBUF*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF())
-
-proc GDK_TYPE_PIXBUF_ANIMATION*(): GType =
-  result = gdk_pixbuf_animation_get_type()
-
-proc GDK_PIXBUF_ANIMATION*(anObject: pointer): PGdkPixbufAnimation =
-  result = cast[PGdkPixbufAnimation](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      GDK_TYPE_PIXBUF_ANIMATION()))
-
-proc GDK_IS_PIXBUF_ANIMATION*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF_ANIMATION())
-
-proc GDK_TYPE_PIXBUF_ANIMATION_ITER*(): GType =
-  result = gdk_pixbuf_animation_iter_get_type()
-
-proc GDK_PIXBUF_ANIMATION_ITER*(anObject: pointer): PGdkPixbufAnimationIter =
-  result = cast[PGdkPixbufAnimationIter](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-    GDK_TYPE_PIXBUF_ANIMATION_ITER()))
-
-proc GDK_IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF_ANIMATION_ITER())
-
-proc GDK_PIXBUF_ERROR*(): TGQuark =
-  result = gdk_pixbuf_error_quark()
diff --git a/lib/oldwrappers/gtk/gdkglext.nim b/lib/oldwrappers/gtk/gdkglext.nim
deleted file mode 100755
index 524b5f730..000000000
--- a/lib/oldwrappers/gtk/gdkglext.nim
+++ /dev/null
@@ -1,564 +0,0 @@
-{.deadCodeElim: on.}
-
-import 
-  Glib2, Gdk2
-
-when defined(WIN32): 
-  const 
-    GdkGLExtLib = "libgdkglext-win32-1.0-0.dll"
-else: 
-  const 
-    GdkGLExtLib = "libgdkglext-x11-1.0.so"
-type 
-  TGdkGLConfigAttrib* = int32
-  TGdkGLConfigCaveat* = int32
-  TGdkGLVisualType* = int32
-  TGdkGLTransparentType* = int32
-  TGdkGLDrawableTypeMask* = int32
-  TGdkGLRenderTypeMask* = int32
-  TGdkGLBufferMask* = int32
-  TGdkGLConfigError* = int32
-  TGdkGLRenderType* = int32
-  TGdkGLDrawableAttrib* = int32
-  TGdkGLPbufferAttrib* = int32
-  TGdkGLEventMask* = int32
-  TGdkGLEventType* = int32
-  TGdkGLDrawableType* = int32
-  TGdkGLProc* = Pointer
-  PGdkGLConfig* = ptr TGdkGLConfig
-  PGdkGLContext* = ptr TGdkGLContext
-  PGdkGLDrawable* = ptr TGdkGLDrawable
-  PGdkGLPixmap* = ptr TGdkGLPixmap
-  PGdkGLWindow* = ptr TGdkGLWindow
-  TGdkGLConfig* = object of TGObject
-    layer_plane*: gint
-    n_aux_buffers*: gint
-    n_sample_buffers*: gint
-    flag0*: int16
-
-  PGdkGLConfigClass* = ptr TGdkGLConfigClass
-  TGdkGLConfigClass* = object of TGObjectClass
-
-  TGdkGLContext* = object of TGObject
-
-  PGdkGLContextClass* = ptr TGdkGLContextClass
-  TGdkGLContextClass* = object of TGObjectClass
-
-  TGdkGLDrawable* = object of TGObject
-
-  PGdkGLDrawableClass* = ptr TGdkGLDrawableClass
-  TGdkGLDrawableClass* = object of TGTypeInterface
-    create_new_context*: proc (gldrawable: PGdkGLDrawable, 
-                               share_list: PGdkGLContext, direct: gboolean, 
-                               render_type: int32): PGdkGLContext{.cdecl.}
-    make_context_current*: proc (draw: PGdkGLDrawable, a_read: PGdkGLDrawable, 
-                                 glcontext: PGdkGLContext): gboolean{.cdecl.}
-    is_double_buffered*: proc (gldrawable: PGdkGLDrawable): gboolean{.cdecl.}
-    swap_buffers*: proc (gldrawable: PGdkGLDrawable){.cdecl.}
-    wait_gl*: proc (gldrawable: PGdkGLDrawable){.cdecl.}
-    wait_gdk*: proc (gldrawable: PGdkGLDrawable){.cdecl.}
-    gl_begin*: proc (draw: PGdkGLDrawable, a_read: PGdkGLDrawable, 
-                     glcontext: PGdkGLContext): gboolean{.cdecl.}
-    gl_end*: proc (gldrawable: PGdkGLDrawable){.cdecl.}
-    get_gl_config*: proc (gldrawable: PGdkGLDrawable): PGdkGLConfig{.cdecl.}
-    get_size*: proc (gldrawable: PGdkGLDrawable, width, height: PGInt){.cdecl.}
-
-  TGdkGLPixmap* = object of TGObject
-    drawable*: PGdkDrawable
-
-  PGdkGLPixmapClass* = ptr TGdkGLPixmapClass
-  TGdkGLPixmapClass* = object of TGObjectClass
-
-  TGdkGLWindow* = object of TGObject
-    drawable*: PGdkDrawable
-
-  PGdkGLWindowClass* = ptr TGdkGLWindowClass
-  TGdkGLWindowClass* = object of TGObjectClass
-
-
-const 
-  HEADER_GDKGLEXT_MAJOR_VERSION* = 1
-  HEADER_GDKGLEXT_MINOR_VERSION* = 0
-  HEADER_GDKGLEXT_MICRO_VERSION* = 6
-  HEADER_GDKGLEXT_INTERFACE_AGE* = 4
-  HEADER_GDKGLEXT_BINARY_AGE* = 6
-
-proc HEADER_GDKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool
-var 
-  gdkglext_major_version*{.importc, dynlib: GdkGLExtLib.}: guint
-  gdkglext_minor_version*{.importc, dynlib: GdkGLExtLib.}: guint
-  gdkglext_micro_version*{.importc, dynlib: GdkGLExtLib.}: guint
-  gdkglext_interface_age*{.importc, dynlib: GdkGLExtLib.}: guint
-  gdkglext_binary_age*{.importc, dynlib: GdkGLExtLib.}: guint
-
-const 
-  GDK_GL_SUCCESS* = 0
-  GDK_GL_ATTRIB_LIST_NONE* = 0
-  GDK_GL_USE_GL* = 1
-  GDK_GL_BUFFER_SIZE* = 2
-  GDK_GL_LEVEL* = 3
-  GDK_GL_RGBA* = 4
-  GDK_GL_DOUBLEBUFFER* = 5
-  GDK_GL_STEREO* = 6
-  GDK_GL_AUX_BUFFERS* = 7
-  GDK_GL_RED_SIZE* = 8
-  GDK_GL_GREEN_SIZE* = 9
-  GDK_GL_BLUE_SIZE* = 10
-  GDK_GL_ALPHA_SIZE* = 11
-  GDK_GL_DEPTH_SIZE* = 12
-  GDK_GL_STENCIL_SIZE* = 13
-  GDK_GL_ACCUM_RED_SIZE* = 14
-  GDK_GL_ACCUM_GREEN_SIZE* = 15
-  GDK_GL_ACCUM_BLUE_SIZE* = 16
-  GDK_GL_ACCUM_ALPHA_SIZE* = 17
-  GDK_GL_CONFIG_CAVEAT* = 0x00000020
-  GDK_GL_X_VISUAL_TYPE* = 0x00000022
-  GDK_GL_TRANSPARENT_TYPE* = 0x00000023
-  GDK_GL_TRANSPARENT_INDEX_VALUE* = 0x00000024
-  GDK_GL_TRANSPARENT_RED_VALUE* = 0x00000025
-  GDK_GL_TRANSPARENT_GREEN_VALUE* = 0x00000026
-  GDK_GL_TRANSPARENT_BLUE_VALUE* = 0x00000027
-  GDK_GL_TRANSPARENT_ALPHA_VALUE* = 0x00000028
-  GDK_GL_DRAWABLE_TYPE* = 0x00008010
-  GDK_GL_RENDER_TYPE* = 0x00008011
-  GDK_GL_X_RENDERABLE* = 0x00008012
-  GDK_GL_FBCONFIG_ID* = 0x00008013
-  GDK_GL_MAX_PBUFFER_WIDTH* = 0x00008016
-  GDK_GL_MAX_PBUFFER_HEIGHT* = 0x00008017
-  GDK_GL_MAX_PBUFFER_PIXELS* = 0x00008018
-  GDK_GL_VISUAL_ID* = 0x0000800B
-  GDK_GL_SCREEN* = 0x0000800C
-  GDK_GL_SAMPLE_BUFFERS* = 100000
-  GDK_GL_SAMPLES* = 100001
-  GDK_GL_DONT_CARE* = 0xFFFFFFFF
-  GDK_GL_NONE* = 0x00008000
-  GDK_GL_CONFIG_CAVEAT_DONT_CARE* = 0xFFFFFFFF
-  GDK_GL_CONFIG_CAVEAT_NONE* = 0x00008000
-  GDK_GL_SLOW_CONFIG* = 0x00008001
-  GDK_GL_NON_CONFORMANT_CONFIG* = 0x0000800D
-  GDK_GL_VISUAL_TYPE_DONT_CARE* = 0xFFFFFFFF
-  GDK_GL_TRUE_COLOR* = 0x00008002
-  GDK_GL_DIRECT_COLOR* = 0x00008003
-  GDK_GL_PSEUDO_COLOR* = 0x00008004
-  GDK_GL_STATIC_COLOR* = 0x00008005
-  GDK_GL_GRAY_SCALE* = 0x00008006
-  GDK_GL_STATIC_GRAY* = 0x00008007
-  GDK_GL_TRANSPARENT_NONE* = 0x00008000
-  GDK_GL_TRANSPARENT_RGB* = 0x00008008
-  GDK_GL_TRANSPARENT_INDEX* = 0x00008009
-  GDK_GL_WINDOW_BIT* = 1 shl 0
-  GDK_GL_PIXMAP_BIT* = 1 shl 1
-  GDK_GL_PBUFFER_BIT* = 1 shl 2
-  GDK_GL_RGBA_BIT* = 1 shl 0
-  GDK_GL_COLOR_INDEX_BIT* = 1 shl 1
-  GDK_GL_FRONT_LEFT_BUFFER_BIT* = 1 shl 0
-  GDK_GL_FRONT_RIGHT_BUFFER_BIT* = 1 shl 1
-  GDK_GL_BACK_LEFT_BUFFER_BIT* = 1 shl 2
-  GDK_GL_BACK_RIGHT_BUFFER_BIT* = 1 shl 3
-  GDK_GL_AUX_BUFFERS_BIT* = 1 shl 4
-  GDK_GL_DEPTH_BUFFER_BIT* = 1 shl 5
-  GDK_GL_STENCIL_BUFFER_BIT* = 1 shl 6
-  GDK_GL_ACCUM_BUFFER_BIT* = 1 shl 7
-  GDK_GL_BAD_SCREEN* = 1
-  GDK_GL_BAD_ATTRIBUTE* = 2
-  GDK_GL_NO_EXTENSION* = 3
-  GDK_GL_BAD_VISUAL* = 4
-  GDK_GL_BAD_CONTEXT* = 5
-  GDK_GL_BAD_VALUE* = 6
-  GDK_GL_BAD_ENUM* = 7
-  GDK_GL_RGBA_TYPE* = 0x00008014
-  GDK_GL_COLOR_INDEX_TYPE* = 0x00008015
-  GDK_GL_PRESERVED_CONTENTS* = 0x0000801B
-  GDK_GL_LARGEST_PBUFFER* = 0x0000801C
-  GDK_GL_WIDTH* = 0x0000801D
-  GDK_GL_HEIGHT* = 0x0000801E
-  GDK_GL_EVENT_MASK* = 0x0000801F
-  GDK_GL_PBUFFER_PRESERVED_CONTENTS* = 0x0000801B
-  GDK_GL_PBUFFER_LARGEST_PBUFFER* = 0x0000801C
-  GDK_GL_PBUFFER_HEIGHT* = 0x00008040
-  GDK_GL_PBUFFER_WIDTH* = 0x00008041
-  GDK_GL_PBUFFER_CLOBBER_MASK* = 1 shl 27
-  GDK_GL_DAMAGED* = 0x00008020
-  GDK_GL_SAVED* = 0x00008021
-  GDK_GL_WINDOW_VALUE* = 0x00008022
-  GDK_GL_PBUFFER* = 0x00008023
-
-proc gdk_gl_config_attrib_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_config_attrib_get_type".}
-proc GDK_TYPE_GL_CONFIG_ATTRIB*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_config_attrib_get_type".}
-proc gdk_gl_config_caveat_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_config_caveat_get_type".}
-proc GDK_TYPE_GL_CONFIG_CAVEAT*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_config_caveat_get_type".}
-proc gdk_gl_visual_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_visual_type_get_type".}
-proc GDK_TYPE_GL_VISUAL_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                        importc: "gdk_gl_visual_type_get_type".}
-proc gdk_gl_transparent_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_transparent_type_get_type".}
-proc GDK_TYPE_GL_TRANSPARENT_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_transparent_type_get_type".}
-proc gdk_gl_drawable_type_mask_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_drawable_type_mask_get_type".}
-proc GDK_TYPE_GL_DRAWABLE_TYPE_MASK*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_drawable_type_mask_get_type".}
-proc gdk_gl_render_type_mask_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_render_type_mask_get_type".}
-proc GDK_TYPE_GL_RENDER_TYPE_MASK*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_render_type_mask_get_type".}
-proc gdk_gl_buffer_mask_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_buffer_mask_get_type".}
-proc GDK_TYPE_GL_BUFFER_MASK*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                        importc: "gdk_gl_buffer_mask_get_type".}
-proc gdk_gl_config_error_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_config_error_get_type".}
-proc GDK_TYPE_GL_CONFIG_ERROR*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_config_error_get_type".}
-proc gdk_gl_render_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_render_type_get_type".}
-proc GDK_TYPE_GL_RENDER_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                        importc: "gdk_gl_render_type_get_type".}
-proc gdk_gl_drawable_attrib_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_drawable_attrib_get_type".}
-proc GDK_TYPE_GL_DRAWABLE_ATTRIB*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_drawable_attrib_get_type".}
-proc gdk_gl_pbuffer_attrib_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_pbuffer_attrib_get_type".}
-proc GDK_TYPE_GL_PBUFFER_ATTRIB*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_pbuffer_attrib_get_type".}
-proc gdk_gl_event_mask_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_event_mask_get_type".}
-proc GDK_TYPE_GL_EVENT_MASK*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                       importc: "gdk_gl_event_mask_get_type".}
-proc gdk_gl_event_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_event_type_get_type".}
-proc GDK_TYPE_GL_EVENT_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                       importc: "gdk_gl_event_type_get_type".}
-proc gdk_gl_drawable_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_drawable_type_get_type".}
-proc GDK_TYPE_GL_DRAWABLE_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_drawable_type_get_type".}
-proc gdk_gl_config_mode_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_config_mode_get_type".}
-proc GDK_TYPE_GL_CONFIG_MODE*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                        importc: "gdk_gl_config_mode_get_type".}
-proc gdk_gl_parse_args*(argc: var int32, argv: ptr cstringArray): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_parse_args".}
-proc gdk_gl_init_check*(argc: var int32, argv: ptr cstringArray): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_init_check".}
-proc gdk_gl_init*(argc: var int32, argv: ptr cstringArray){.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_init".}
-proc gdk_gl_query_gl_extension*(extension: cstring): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_query_gl_extension".}
-proc gdk_gl_get_proc_address*(proc_name: cstring): TGdkGLProc{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_get_proc_address".}
-const 
-  bm_TGdkGLConfig_is_rgba* = 1 shl 0
-  bp_TGdkGLConfig_is_rgba* = 0
-  bm_TGdkGLConfig_is_double_buffered* = 1 shl 1
-  bp_TGdkGLConfig_is_double_buffered* = 1
-  bm_TGdkGLConfig_as_single_mode* = 1 shl 2
-  bp_TGdkGLConfig_as_single_mode* = 2
-  bm_TGdkGLConfig_is_stereo* = 1 shl 3
-  bp_TGdkGLConfig_is_stereo* = 3
-  bm_TGdkGLConfig_has_alpha* = 1 shl 4
-  bp_TGdkGLConfig_has_alpha* = 4
-  bm_TGdkGLConfig_has_depth_buffer* = 1 shl 5
-  bp_TGdkGLConfig_has_depth_buffer* = 5
-  bm_TGdkGLConfig_has_stencil_buffer* = 1 shl 6
-  bp_TGdkGLConfig_has_stencil_buffer* = 6
-  bm_TGdkGLConfig_has_accum_buffer* = 1 shl 7
-  bp_TGdkGLConfig_has_accum_buffer* = 7
-
-const 
-  GDK_GL_MODE_RGB* = 0
-  GDK_GL_MODE_RGBA* = 0
-  GDK_GL_MODE_INDEX* = 1 shl 0
-  GDK_GL_MODE_SINGLE* = 0
-  GDK_GL_MODE_DOUBLE* = 1 shl 1
-  GDK_GL_MODE_STEREO* = 1 shl 2
-  GDK_GL_MODE_ALPHA* = 1 shl 3
-  GDK_GL_MODE_DEPTH* = 1 shl 4
-  GDK_GL_MODE_STENCIL* = 1 shl 5
-  GDK_GL_MODE_ACCUM* = 1 shl 6
-  GDK_GL_MODE_MULTISAMPLE* = 1 shl 7
-
-type 
-  TGdkGLConfigMode* = int32
-  PGdkGLConfigMode* = ptr TGdkGLConfigMode
-
-proc GDK_TYPE_GL_CONFIG*(): GType
-proc GDK_GL_CONFIG*(anObject: Pointer): PGdkGLConfig
-proc GDK_GL_CONFIG_CLASS*(klass: Pointer): PGdkGLConfigClass
-proc GDK_IS_GL_CONFIG*(anObject: Pointer): bool
-proc GDK_IS_GL_CONFIG_CLASS*(klass: Pointer): bool
-proc GDK_GL_CONFIG_GET_CLASS*(obj: Pointer): PGdkGLConfigClass
-proc gdk_gl_config_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                       importc: "gdk_gl_config_get_type".}
-proc gdk_gl_config_get_screen*(glconfig: PGdkGLConfig): PGdkScreen{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_screen".}
-proc gdk_gl_config_get_attrib*(glconfig: PGdkGLConfig, attribute: int, 
-                               value: var cint): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_attrib".}
-proc gdk_gl_config_get_colormap*(glconfig: PGdkGLConfig): PGdkColormap{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_colormap".}
-proc gdk_gl_config_get_visual*(glconfig: PGdkGLConfig): PGdkVisual{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_visual".}
-proc gdk_gl_config_get_depth*(glconfig: PGdkGLConfig): gint{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_depth".}
-proc gdk_gl_config_get_layer_plane*(glconfig: PGdkGLConfig): gint{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_layer_plane".}
-proc gdk_gl_config_get_n_aux_buffers*(glconfig: PGdkGLConfig): gint{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_n_aux_buffers".}
-proc gdk_gl_config_get_n_sample_buffers*(glconfig: PGdkGLConfig): gint{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_n_sample_buffers".}
-proc gdk_gl_config_is_rgba*(glconfig: PGdkGLConfig): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_is_rgba".}
-proc gdk_gl_config_is_double_buffered*(glconfig: PGdkGLConfig): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_is_double_buffered".}
-proc gdk_gl_config_is_stereo*(glconfig: PGdkGLConfig): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_is_stereo".}
-proc gdk_gl_config_has_alpha*(glconfig: PGdkGLConfig): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_has_alpha".}
-proc gdk_gl_config_has_depth_buffer*(glconfig: PGdkGLConfig): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_has_depth_buffer".}
-proc gdk_gl_config_has_stencil_buffer*(glconfig: PGdkGLConfig): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_has_stencil_buffer".}
-proc gdk_gl_config_has_accum_buffer*(glconfig: PGdkGLConfig): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_config_has_accum_buffer".}
-proc GDK_TYPE_GL_CONTEXT*(): GType
-proc GDK_GL_CONTEXT*(anObject: Pointer): PGdkGLContext
-proc GDK_GL_CONTEXT_CLASS*(klass: Pointer): PGdkGLContextClass
-proc GDK_IS_GL_CONTEXT*(anObject: Pointer): bool
-proc GDK_IS_GL_CONTEXT_CLASS*(klass: Pointer): bool
-proc GDK_GL_CONTEXT_GET_CLASS*(obj: Pointer): PGdkGLContextClass
-proc gdk_gl_context_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                        importc: "gdk_gl_context_get_type".}
-proc gdk_gl_context_new*(gldrawable: PGdkGLDrawable, share_list: PGdkGLContext, 
-                         direct: gboolean, render_type: int32): PGdkGLContext{.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_context_new".}
-proc gdk_gl_context_destroy*(glcontext: PGdkGLContext){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_context_destroy".}
-proc gdk_gl_context_copy*(glcontext: PGdkGLContext, src: PGdkGLContext, 
-                          mask: int32): gboolean{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_context_copy".}
-proc gdk_gl_context_get_gl_drawable*(glcontext: PGdkGLContext): PGdkGLDrawable{.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_context_get_gl_drawable".}
-proc gdk_gl_context_get_gl_config*(glcontext: PGdkGLContext): PGdkGLConfig{.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_context_get_gl_config".}
-proc gdk_gl_context_get_share_list*(glcontext: PGdkGLContext): PGdkGLContext{.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_context_get_share_list".}
-proc gdk_gl_context_is_direct*(glcontext: PGdkGLContext): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_context_is_direct".}
-proc gdk_gl_context_get_render_type*(glcontext: PGdkGLContext): int32{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_context_get_render_type".}
-proc gdk_gl_context_get_current*(): PGdkGLContext{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_context_get_current".}
-proc GDK_TYPE_GL_DRAWABLE*(): GType
-proc GDK_GL_DRAWABLE*(inst: Pointer): PGdkGLDrawable
-proc GDK_GL_DRAWABLE_CLASS*(vtable: Pointer): PGdkGLDrawableClass
-proc GDK_IS_GL_DRAWABLE*(inst: Pointer): bool
-proc GDK_IS_GL_DRAWABLE_CLASS*(vtable: Pointer): bool
-proc GDK_GL_DRAWABLE_GET_CLASS*(inst: Pointer): PGdkGLDrawableClass
-proc gdk_gl_drawable_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_drawable_get_type".}
-proc gdk_gl_drawable_make_current*(gldrawable: PGdkGLDrawable, 
-                                   glcontext: PGdkGLContext): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_make_current".}
-proc gdk_gl_drawable_is_double_buffered*(gldrawable: PGdkGLDrawable): gboolean{.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_is_double_buffered".}
-proc gdk_gl_drawable_swap_buffers*(gldrawable: PGdkGLDrawable){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_swap_buffers".}
-proc gdk_gl_drawable_wait_gl*(gldrawable: PGdkGLDrawable){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_wait_gl".}
-proc gdk_gl_drawable_wait_gdk*(gldrawable: PGdkGLDrawable){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_wait_gdk".}
-proc gdk_gl_drawable_gl_begin*(gldrawable: PGdkGLDrawable, 
-                               glcontext: PGdkGLContext): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_gl_begin".}
-proc gdk_gl_drawable_gl_end*(gldrawable: PGdkGLDrawable){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_gl_end".}
-proc gdk_gl_drawable_get_gl_config*(gldrawable: PGdkGLDrawable): PGdkGLConfig{.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_get_gl_config".}
-proc gdk_gl_drawable_get_size*(gldrawable: PGdkGLDrawable, width, height: PGInt){.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_get_size".}
-proc gdk_gl_drawable_get_current*(): PGdkGLDrawable{.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_drawable_get_current".}
-proc GDK_TYPE_GL_PIXMAP*(): GType
-proc GDK_GL_PIXMAP*(anObject: Pointer): PGdkGLPixmap
-proc GDK_GL_PIXMAP_CLASS*(klass: Pointer): PGdkGLPixmapClass
-proc GDK_IS_GL_PIXMAP*(anObject: Pointer): bool
-proc GDK_IS_GL_PIXMAP_CLASS*(klass: Pointer): bool
-proc GDK_GL_PIXMAP_GET_CLASS*(obj: Pointer): PGdkGLPixmapClass
-proc gdk_gl_pixmap_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                       importc: "gdk_gl_pixmap_get_type".}
-proc gdk_gl_pixmap_new*(glconfig: PGdkGLConfig, pixmap: PGdkPixmap, 
-                        attrib_list: ptr int32): PGdkGLPixmap{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_pixmap_new".}
-proc gdk_gl_pixmap_destroy*(glpixmap: PGdkGLPixmap){.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_pixmap_destroy".}
-proc gdk_gl_pixmap_get_pixmap*(glpixmap: PGdkGLPixmap): PGdkPixmap{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_pixmap_get_pixmap".}
-proc gdk_pixmap_set_gl_capability*(pixmap: PGdkPixmap, glconfig: PGdkGLConfig, 
-                                   attrib_list: ptr int32): PGdkGLPixmap{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_pixmap_set_gl_capability".}
-proc gdk_pixmap_unset_gl_capability*(pixmap: PGdkPixmap){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_pixmap_unset_gl_capability".}
-proc gdk_pixmap_is_gl_capable*(pixmap: PGdkPixmap): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_pixmap_is_gl_capable".}
-proc gdk_pixmap_get_gl_pixmap*(pixmap: PGdkPixmap): PGdkGLPixmap{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_pixmap_get_gl_pixmap".}
-proc gdk_pixmap_get_gl_drawable*(pixmap: PGdkPixmap): PGdkGLDrawable
-proc GDK_TYPE_GL_WINDOW*(): GType
-proc GDK_GL_WINDOW*(anObject: Pointer): PGdkGLWindow
-proc GDK_GL_WINDOW_CLASS*(klass: Pointer): PGdkGLWindowClass
-proc GDK_IS_GL_WINDOW*(anObject: Pointer): bool
-proc GDK_IS_GL_WINDOW_CLASS*(klass: Pointer): bool
-proc GDK_GL_WINDOW_GET_CLASS*(obj: Pointer): PGdkGLWindowClass
-proc gdk_gl_window_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, 
-                                       importc: "gdk_gl_window_get_type".}
-proc gdk_gl_window_new*(glconfig: PGdkGLConfig, window: PGdkWindow, 
-                        attrib_list: ptr int32): PGdkGLWindow{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_window_new".}
-proc gdk_gl_window_destroy*(glwindow: PGdkGLWindow){.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_window_destroy".}
-proc gdk_gl_window_get_window*(glwindow: PGdkGLWindow): PGdkWindow{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_window_get_window".}
-proc gdk_window_set_gl_capability*(window: PGdkWindow, glconfig: PGdkGLConfig, 
-                                   attrib_list: ptr int32): PGdkGLWindow{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_window_set_gl_capability".}
-proc gdk_window_unset_gl_capability*(window: PGdkWindow){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_window_unset_gl_capability".}
-proc gdk_window_is_gl_capable*(window: PGdkWindow): gboolean{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_window_is_gl_capable".}
-proc gdk_window_get_gl_window*(window: PGdkWindow): PGdkGLWindow{.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_window_get_gl_window".}
-proc gdk_window_get_gl_drawable*(window: PGdkWindow): PGdkGLDrawable
-proc gdk_gl_draw_cube*(solid: gboolean, size: float64){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_draw_cube".}
-proc gdk_gl_draw_sphere*(solid: gboolean, radius: float64, slices: int32, 
-                         stacks: int32){.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_draw_sphere".}
-proc gdk_gl_draw_cone*(solid: gboolean, base: float64, height: float64, 
-                       slices: int32, stacks: int32){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_draw_cone".}
-proc gdk_gl_draw_torus*(solid: gboolean, inner_radius: float64, 
-                        outer_radius: float64, nsides: int32, rings: int32){.
-    cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_draw_torus".}
-proc gdk_gl_draw_tetrahedron*(solid: gboolean){.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_draw_tetrahedron".}
-proc gdk_gl_draw_octahedron*(solid: gboolean){.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_draw_octahedron".}
-proc gdk_gl_draw_dodecahedron*(solid: gboolean){.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_draw_dodecahedron".}
-proc gdk_gl_draw_icosahedron*(solid: gboolean){.cdecl, dynlib: GdkGLExtLib, 
-    importc: "gdk_gl_draw_icosahedron".}
-proc gdk_gl_draw_teapot*(solid: gboolean, scale: float64){.cdecl, 
-    dynlib: GdkGLExtLib, importc: "gdk_gl_draw_teapot".}
-proc HEADER_GDKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool = 
-  result = (HEADER_GDKGLEXT_MAJOR_VERSION > major) or
-      ((HEADER_GDKGLEXT_MAJOR_VERSION == major) and
-      (HEADER_GDKGLEXT_MINOR_VERSION > minor)) or
-      ((HEADER_GDKGLEXT_MAJOR_VERSION == major) and
-      (HEADER_GDKGLEXT_MINOR_VERSION == minor) and
-      (HEADER_GDKGLEXT_MICRO_VERSION >= micro))
-
-proc GDK_TYPE_GL_CONFIG*(): GType = 
-  result = gdk_gl_config_get_type()
-
-proc GDK_GL_CONFIG*(anObject: Pointer): PGdkGLConfig = 
-  result = cast[PGdkGLConfig](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GL_CONFIG()))
-
-proc GDK_GL_CONFIG_CLASS*(klass: Pointer): PGdkGLConfigClass = 
-  result = cast[PGdkGLConfigClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GL_CONFIG()))
-
-proc GDK_IS_GL_CONFIG*(anObject: Pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GL_CONFIG())
-
-proc GDK_IS_GL_CONFIG_CLASS*(klass: Pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GL_CONFIG())
-
-proc GDK_GL_CONFIG_GET_CLASS*(obj: Pointer): PGdkGLConfigClass = 
-  result = cast[PGdkGLConfigClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GL_CONFIG()))
-
-proc GDK_TYPE_GL_CONTEXT*(): GType = 
-  result = gdk_gl_context_get_type()
-
-proc GDK_GL_CONTEXT*(anObject: Pointer): PGdkGLContext = 
-  result = cast[PGdkGLContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
-      GDK_TYPE_GL_CONTEXT()))
-
-proc GDK_GL_CONTEXT_CLASS*(klass: Pointer): PGdkGLContextClass = 
-  result = cast[PGdkGLContextClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GL_CONTEXT()))
-
-proc GDK_IS_GL_CONTEXT*(anObject: Pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GL_CONTEXT())
-
-proc GDK_IS_GL_CONTEXT_CLASS*(klass: Pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GL_CONTEXT())
-
-proc GDK_GL_CONTEXT_GET_CLASS*(obj: Pointer): PGdkGLContextClass = 
-  result = cast[PGdkGLContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GL_CONTEXT()))
-
-proc GDK_TYPE_GL_DRAWABLE*(): GType = 
-  result = gdk_gl_drawable_get_type()
-
-proc GDK_GL_DRAWABLE*(inst: Pointer): PGdkGLDrawable = 
-  result = cast[PGdkGLDrawable](G_TYPE_CHECK_INSTANCE_CAST(inst, GDK_TYPE_GL_DRAWABLE()))
-
-proc GDK_GL_DRAWABLE_CLASS*(vtable: Pointer): PGdkGLDrawableClass = 
-  result = cast[PGdkGLDrawableClass](G_TYPE_CHECK_CLASS_CAST(vtable, 
-      GDK_TYPE_GL_DRAWABLE()))
-
-proc GDK_IS_GL_DRAWABLE*(inst: Pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(inst, GDK_TYPE_GL_DRAWABLE())
-
-proc GDK_IS_GL_DRAWABLE_CLASS*(vtable: Pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(vtable, GDK_TYPE_GL_DRAWABLE())
-
-proc GDK_GL_DRAWABLE_GET_CLASS*(inst: Pointer): PGdkGLDrawableClass = 
-  result = cast[PGdkGLDrawableClass](G_TYPE_INSTANCE_GET_INTERFACE(inst, 
-      GDK_TYPE_GL_DRAWABLE()))
-
-proc GDK_TYPE_GL_PIXMAP*(): GType = 
-  result = gdk_gl_pixmap_get_type()
-
-proc GDK_GL_PIXMAP*(anObject: Pointer): PGdkGLPixmap = 
-  result = cast[PGdkGLPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GL_PIXMAP()))
-
-proc GDK_GL_PIXMAP_CLASS*(klass: Pointer): PGdkGLPixmapClass = 
-  result = cast[PGdkGLPixmapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GL_PIXMAP()))
-
-proc GDK_IS_GL_PIXMAP*(anObject: Pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GL_PIXMAP())
-
-proc GDK_IS_GL_PIXMAP_CLASS*(klass: Pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GL_PIXMAP())
-
-proc GDK_GL_PIXMAP_GET_CLASS*(obj: Pointer): PGdkGLPixmapClass = 
-  result = cast[PGdkGLPixmapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GL_PIXMAP()))
-
-proc gdk_pixmap_get_gl_drawable*(pixmap: PGdkPixmap): PGdkGLDrawable = 
-  result = GDK_GL_DRAWABLE(gdk_pixmap_get_gl_pixmap(pixmap))
-
-proc GDK_TYPE_GL_WINDOW*(): GType = 
-  result = gdk_gl_window_get_type()
-
-proc GDK_GL_WINDOW*(anObject: Pointer): PGdkGLWindow = 
-  result = cast[PGdkGLWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GL_WINDOW()))
-
-proc GDK_GL_WINDOW_CLASS*(klass: Pointer): PGdkGLWindowClass = 
-  result = cast[PGdkGLWindowClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GL_WINDOW()))
-
-proc GDK_IS_GL_WINDOW*(anObject: Pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GL_WINDOW())
-
-proc GDK_IS_GL_WINDOW_CLASS*(klass: Pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GL_WINDOW())
-
-proc GDK_GL_WINDOW_GET_CLASS*(obj: Pointer): PGdkGLWindowClass = 
-  result = cast[PGdkGLWindowClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GL_WINDOW()))
-
-proc gdk_window_get_gl_drawable*(window: PGdkWindow): PGdkGLDrawable = 
-  result = GDK_GL_DRAWABLE(gdk_window_get_gl_window(window))
diff --git a/lib/oldwrappers/gtk/glib2.nim b/lib/oldwrappers/gtk/glib2.nim
deleted file mode 100755
index 3f33501e8..000000000
--- a/lib/oldwrappers/gtk/glib2.nim
+++ /dev/null
@@ -1,4503 +0,0 @@
-{.deadCodeElim: on.}
-
-when defined(windows):
-  const
-    gliblib = "libglib-2.0-0.dll"
-    gmodulelib = "libgmodule-2.0-0.dll"
-    gobjectlib = "libgobject-2.0-0.dll"
-else:
-  const
-    gliblib = "libglib-2.0.so"
-    gmodulelib = "libgmodule-2.0.so"
-    gobjectlib = "libgobject-2.0.so"
-    
-# gthreadlib = "libgthread-2.0.so"
-
-type
-  PGTypePlugin* = pointer
-  PGParamSpecPool* = pointer
-  PPchar* = ptr cstring
-  PPPchar* = ptr PPchar
-  PPPgchar* = ptr PPgchar
-  PPgchar* = ptr cstring
-  gchar* = char
-  gshort* = cshort
-  glong* = clong
-  gint* = cint
-  gboolean* = bool
-  guchar* = char
-  gushort* = int16
-  gulong* = int
-  guint* = cint
-  gfloat* = cfloat
-  gdouble* = cdouble
-  gpointer* = pointer
-  Pgshort* = ptr gshort
-  Pglong* = ptr glong
-  Pgint* = ptr gint
-  PPgint* = ptr Pgint
-  Pgboolean* = ptr gboolean
-  Pguchar* = ptr guchar
-  PPguchar* = ptr Pguchar
-  Pgushort* = ptr gushort
-  Pgulong* = ptr gulong
-  Pguint* = ptr guint
-  Pgfloat* = ptr gfloat
-  Pgdouble* = ptr gdouble
-  pgpointer* = ptr gpointer
-  gconstpointer* = pointer
-  PGCompareFunc* = ptr TGCompareFunc
-  TGCompareFunc* = proc (a, b: gconstpointer): gint{.cdecl.}
-  PGCompareDataFunc* = ptr TGCompareDataFunc
-  TGCompareDataFunc* = proc (a, b: gconstpointer, user_data: gpointer): gint{.
-      cdecl.}
-  PGEqualFunc* = ptr TGEqualFunc
-  TGEqualFunc* = proc (a, b: gconstpointer): gboolean{.cdecl.}
-  PGDestroyNotify* = ptr TGDestroyNotify
-  TGDestroyNotify* = proc (data: gpointer){.cdecl.}
-  PGFunc* = ptr TGFunc
-  TGFunc* = proc (data, userdata: gpointer, key: gconstpointer){.cdecl.}
-  PGHashFunc* = ptr TGHashFunc
-  TGHashFunc* = proc (key: gconstpointer): guint{.cdecl.}
-  PGHFunc* = ptr TGHFunc
-  TGHFunc* = proc (key, value, user_data: gpointer){.cdecl.}
-  PGFreeFunc* = proc (data: gpointer){.cdecl.}
-  PGTimeVal* = ptr TGTimeVal
-  TGTimeVal* {.final.} = object
-    tv_sec*: glong
-    tv_usec*: glong
-
-  guint64* = int64
-  gint8* = int8
-  guint8* = int8
-  gint16* = int16
-  guint16* = int16
-  gint32* = int32
-  guint32* = int32
-  gint64* = int64
-  gssize* = int32
-  gsize* = int32
-  Pgint8* = ptr gint8
-  Pguint8* = ptr guint8
-  Pgint16* = ptr gint16
-  Pguint16* = ptr guint16
-  Pgint32* = ptr gint32
-  Pguint32* = ptr guint32
-  Pgint64* = ptr gint64
-  Pguint64* = ptr guint64
-  pgssize* = ptr gssize
-  pgsize* = ptr gsize
-  TGQuark* = guint32
-  PGQuark* = ptr TGQuark
-  PGTypeCValue* = ptr TGTypeCValue
-  TGTypeCValue* {.final.} = object
-    v_double*: gdouble
-
-  GType* = gulong
-  PGType* = ptr GType
-  PGTypeClass* = ptr TGTypeClass
-  TGTypeClass* {.final.} = object
-    g_type*: GType
-
-  PGTypeInstance* = ptr TGTypeInstance
-  TGTypeInstance* {.final.} = object
-    g_class*: PGTypeClass
-
-  PGTypeInterface* = ptr TGTypeInterface
-  TGTypeInterface* {.pure.} = object
-    g_type*: GType
-    g_instance_type*: GType
-
-  PGTypeQuery* = ptr TGTypeQuery
-  TGTypeQuery* {.final.} = object
-    theType*: GType
-    type_name*: cstring
-    class_size*: guint
-    instance_size*: guint
-
-  PGValue* = ptr TGValue
-  TGValue* {.final.} = object
-    g_type*: GType
-    data*: array[0..1, gdouble]
-
-  PGData* = pointer
-  PPGData* = ptr PGData
-  PGSList* = ptr TGSList
-  PPGSList* = ptr PGSList
-  TGSList* {.final.} = object
-    data*: gpointer
-    next*: PGSList
-
-  PGList* = ptr TGList
-  TGList* {.final.} = object
-    data*: gpointer
-    next*: PGList
-    prev*: PGList
-
-  TGParamFlags* = int32
-  PGParamFlags* = ptr TGParamFlags
-  PGParamSpec* = ptr TGParamSpec
-  PPGParamSpec* = ptr PGParamSpec
-  TGParamSpec* {.final.} = object
-    g_type_instance*: TGTypeInstance
-    name*: cstring
-    flags*: TGParamFlags
-    value_type*: GType
-    owner_type*: GType
-    nick*: cstring
-    blurb*: cstring
-    qdata*: PGData
-    ref_count*: guint
-    param_id*: guint
-
-  PGParamSpecClass* = ptr TGParamSpecClass
-  TGParamSpecClass* {.final.} = object
-    g_type_class*: TGTypeClass
-    value_type*: GType
-    finalize*: proc (pspec: PGParamSpec){.cdecl.}
-    value_set_default*: proc (pspec: PGParamSpec, value: PGValue){.cdecl.}
-    value_validate*: proc (pspec: PGParamSpec, value: PGValue): gboolean{.cdecl.}
-    values_cmp*: proc (pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{.
-        cdecl.}
-    dummy*: array[0..3, gpointer]
-
-  PGParameter* = ptr TGParameter
-  TGParameter* {.final.} = object
-    name*: cstring
-    value*: TGValue
-
-  TGBoxedCopyFunc* = proc (boxed: gpointer): gpointer{.cdecl.}
-  TGBoxedFreeFunc* = proc (boxed: gpointer){.cdecl.}
-
-  PGsource = pointer # I don't know and don't care
-
-const
-  G_TYPE_FUNDAMENTAL_SHIFT* = 2
-  G_TYPE_FUNDAMENTAL_MAX* = 255 shl G_TYPE_FUNDAMENTAL_SHIFT
-  G_TYPE_INVALID* = GType(0 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_NONE* = GType(1 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_INTERFACE* = GType(2 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_CHAR* = GType(3 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_UCHAR* = GType(4 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_BOOLEAN* = GType(5 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_INT* = GType(6 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_UINT* = GType(7 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_LONG* = GType(8 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_ULONG* = GType(9 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_INT64* = GType(10 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_UINT64* = GType(11 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_ENUM* = GType(12 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_FLAGS* = GType(13 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_FLOAT* = GType(14 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_DOUBLE* = GType(15 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_STRING* = GType(16 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_POINTER* = GType(17 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_BOXED* = GType(18 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_PARAM* = GType(19 shl G_TYPE_FUNDAMENTAL_SHIFT)
-  G_TYPE_OBJECT* = GType(20 shl G_TYPE_FUNDAMENTAL_SHIFT)
-
-proc G_TYPE_MAKE_FUNDAMENTAL*(x: int): GType
-const
-  G_TYPE_RESERVED_GLIB_FIRST* = 21
-  G_TYPE_RESERVED_GLIB_LAST* = 31
-  G_TYPE_RESERVED_BSE_FIRST* = 32
-  G_TYPE_RESERVED_BSE_LAST* = 48
-  G_TYPE_RESERVED_USER_FIRST* = 49
-
-proc G_TYPE_IS_FUNDAMENTAL*(theType: GType): bool
-proc G_TYPE_IS_DERIVED*(theType: GType): bool
-proc G_TYPE_IS_INTERFACE*(theType: GType): bool
-proc G_TYPE_IS_CLASSED*(theType: GType): gboolean
-proc G_TYPE_IS_INSTANTIATABLE*(theType: GType): bool
-proc G_TYPE_IS_DERIVABLE*(theType: GType): bool
-proc G_TYPE_IS_DEEP_DERIVABLE*(theType: GType): bool
-proc G_TYPE_IS_ABSTRACT*(theType: GType): bool
-proc G_TYPE_IS_VALUE_ABSTRACT*(theType: GType): bool
-proc G_TYPE_IS_VALUE_TYPE*(theType: GType): bool
-proc G_TYPE_HAS_VALUE_TABLE*(theType: GType): bool
-proc G_TYPE_CHECK_INSTANCE*(instance: Pointer): gboolean
-proc G_TYPE_CHECK_INSTANCE_CAST*(instance: Pointer, g_type: GType): PGTypeInstance
-proc G_TYPE_CHECK_INSTANCE_TYPE*(instance: Pointer, g_type: GType): bool
-proc G_TYPE_INSTANCE_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass
-proc G_TYPE_INSTANCE_GET_INTERFACE*(instance: Pointer, g_type: GType): Pointer
-proc G_TYPE_CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer
-proc G_TYPE_CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool
-proc G_TYPE_CHECK_VALUE*(value: Pointer): bool
-proc G_TYPE_CHECK_VALUE_TYPE*(value: pointer, g_type: GType): bool
-proc G_TYPE_FROM_INSTANCE*(instance: Pointer): GType
-proc G_TYPE_FROM_CLASS*(g_class: Pointer): GType
-proc G_TYPE_FROM_INTERFACE*(g_iface: Pointer): GType
-type
-  TGTypeDebugFlags* = int32
-  PGTypeDebugFlags* = ptr TGTypeDebugFlags
-
-const
-  G_TYPE_DEBUG_NONE* = 0
-  G_TYPE_DEBUG_OBJECTS* = 1 shl 0
-  G_TYPE_DEBUG_SIGNALS* = 1 shl 1
-  G_TYPE_DEBUG_MASK* = 0x00000003
-
-proc g_type_init*(){.cdecl, dynlib: gobjectlib, importc: "g_type_init".}
-proc g_type_init_with_debug_flags*(debug_flags: TGTypeDebugFlags){.cdecl,
-    dynlib: gobjectlib, importc: "g_type_init_with_debug_flags".}
-proc g_type_name*(theType: GType): cstring{.cdecl, dynlib: gobjectlib,
-    importc: "g_type_name".}
-proc g_type_qname*(theType: GType): TGQuark{.cdecl, dynlib: gobjectlib,
-    importc: "g_type_qname".}
-proc g_type_from_name*(name: cstring): GType{.cdecl, dynlib: gobjectlib,
-    importc: "g_type_from_name".}
-proc g_type_parent*(theType: GType): GType{.cdecl, dynlib: gobjectlib,
-    importc: "g_type_parent".}
-proc g_type_depth*(theType: GType): guint{.cdecl, dynlib: gobjectlib,
-    importc: "g_type_depth".}
-proc g_type_next_base*(leaf_type: GType, root_type: GType): GType{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_next_base".}
-proc g_type_is_a*(theType: GType, is_a_type: GType): gboolean{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_is_a".}
-proc g_type_class_ref*(theType: GType): gpointer{.cdecl, dynlib: gobjectlib,
-    importc: "g_type_class_ref".}
-proc g_type_class_peek*(theType: GType): gpointer{.cdecl, dynlib: gobjectlib,
-    importc: "g_type_class_peek".}
-proc g_type_class_unref*(g_class: gpointer){.cdecl, dynlib: gobjectlib,
-    importc: "g_type_class_unref".}
-proc g_type_class_peek_parent*(g_class: gpointer): gpointer{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_class_peek_parent".}
-proc g_type_interface_peek*(instance_class: gpointer, iface_type: GType): gpointer{.
-    cdecl, dynlib: gobjectlib, importc: "g_type_interface_peek".}
-proc g_type_interface_peek_parent*(g_iface: gpointer): gpointer{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_interface_peek_parent".}
-proc g_type_children*(theType: GType, n_children: Pguint): PGType{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_children".}
-proc g_type_interfaces*(theType: GType, n_interfaces: Pguint): PGType{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_interfaces".}
-proc g_type_set_qdata*(theType: GType, quark: TGQuark, data: gpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_type_set_qdata".}
-proc g_type_get_qdata*(theType: GType, quark: TGQuark): gpointer{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_get_qdata".}
-proc g_type_query*(theType: GType, query: PGTypeQuery){.cdecl,
-    dynlib: gobjectlib, importc: "g_type_query".}
-type
-  TGBaseInitFunc* = proc (g_class: gpointer){.cdecl.}
-  TGBaseFinalizeFunc* = proc (g_class: gpointer){.cdecl.}
-  TGClassInitFunc* = proc (g_class: gpointer, class_data: gpointer){.cdecl.}
-  TGClassFinalizeFunc* = proc (g_class: gpointer, class_data: gpointer){.cdecl.}
-  TGInstanceInitFunc* = proc (instance: PGTypeInstance, g_class: gpointer){.
-      cdecl.}
-  TGInterfaceInitFunc* = proc (g_iface: gpointer, iface_data: gpointer){.cdecl.}
-  TGInterfaceFinalizeFunc* = proc (g_iface: gpointer, iface_data: gpointer){.
-      cdecl.}
-  TGTypeClassCacheFunc* = proc (cache_data: gpointer, g_class: PGTypeClass): gboolean{.
-      cdecl.}
-  TGTypeFundamentalFlags* = int32
-  PGTypeFundamentalFlags* = ptr TGTypeFundamentalFlags
-
-const
-  G_TYPE_FLAG_CLASSED* = 1 shl 0
-  G_TYPE_FLAG_INSTANTIATABLE* = 1 shl 1
-  G_TYPE_FLAG_DERIVABLE* = 1 shl 2
-  G_TYPE_FLAG_DEEP_DERIVABLE* = 1 shl 3
-
-type
-  TGTypeFlags* = int32
-  PGTypeFlags* = ptr TGTypeFlags
-
-const
-  G_TYPE_FLAG_ABSTRACT* = 1 shl 4
-  G_TYPE_FLAG_VALUE_ABSTRACT* = 1 shl 5
-
-type
-  PGTypeValueTable* = ptr TGTypeValueTable
-  TGTypeValueTable* {.final.} = object
-    value_init*: proc (value: PGValue){.cdecl.}
-    value_free*: proc (value: PGValue){.cdecl.}
-    value_copy*: proc (src_value: PGValue, dest_value: PGValue){.cdecl.}
-    value_peek_pointer*: proc (value: PGValue): gpointer{.cdecl.}
-    collect_format*: cstring
-    collect_value*: proc (value: PGValue, n_collect_values: guint,
-                          collect_values: PGTypeCValue, collect_flags: guint): cstring{.
-        cdecl.}
-    lcopy_format*: cstring
-    lcopy_value*: proc (value: PGValue, n_collect_values: guint,
-                        collect_values: PGTypeCValue, collect_flags: guint): cstring{.
-        cdecl.}
-
-  PGTypeInfo* = ptr TGTypeInfo
-  TGTypeInfo* {.final.} = object
-    class_size*: guint16
-    base_init*: TGBaseInitFunc
-    base_finalize*: TGBaseFinalizeFunc
-    class_init*: TGClassInitFunc
-    class_finalize*: TGClassFinalizeFunc
-    class_data*: gconstpointer
-    instance_size*: guint16
-    n_preallocs*: guint16
-    instance_init*: TGInstanceInitFunc
-    value_table*: PGTypeValueTable
-
-  PGTypeFundamentalInfo* = ptr TGTypeFundamentalInfo
-  TGTypeFundamentalInfo* {.final.} = object
-    type_flags*: TGTypeFundamentalFlags
-
-  PGInterfaceInfo* = ptr TGInterfaceInfo
-  TGInterfaceInfo* {.final.} = object
-    interface_init*: TGInterfaceInitFunc
-    interface_finalize*: TGInterfaceFinalizeFunc
-    interface_data*: gpointer
-
-
-proc g_type_register_static*(parent_type: GType, type_name: cstring,
-                             info: PGTypeInfo, flags: TGTypeFlags): GType{.
-    cdecl, dynlib: gobjectlib, importc: "g_type_register_static".}
-proc g_type_register_dynamic*(parent_type: GType, type_name: cstring,
-                              plugin: PGTypePlugin, flags: TGTypeFlags): GType{.
-    cdecl, dynlib: gobjectlib, importc: "g_type_register_dynamic".}
-proc g_type_register_fundamental*(type_id: GType, type_name: cstring,
-                                  info: PGTypeInfo,
-                                  finfo: PGTypeFundamentalInfo,
-                                  flags: TGTypeFlags): GType{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_register_fundamental".}
-proc g_type_add_interface_static*(instance_type: GType, interface_type: GType,
-                                  info: PGInterfaceInfo){.cdecl,
-    dynlib: gobjectlib, importc: "g_type_add_interface_static".}
-proc g_type_add_interface_dynamic*(instance_type: GType, interface_type: GType,
-                                   plugin: PGTypePlugin){.cdecl,
-    dynlib: gobjectlib, importc: "g_type_add_interface_dynamic".}
-proc g_type_interface_add_prerequisite*(interface_type: GType,
-                                        prerequisite_type: GType){.cdecl,
-    dynlib: gobjectlib, importc: "g_type_interface_add_prerequisite".}
-proc g_type_get_plugin*(theType: GType): PGTypePlugin{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_get_plugin".}
-proc g_type_interface_get_plugin*(instance_type: GType,
-                                  implementation_type: GType): PGTypePlugin{.
-    cdecl, dynlib: gobjectlib, importc: "g_type_interface_get_plugin".}
-proc g_type_fundamental_next*(): GType{.cdecl, dynlib: gobjectlib,
-                                        importc: "g_type_fundamental_next".}
-proc g_type_fundamental*(type_id: GType): GType{.cdecl, dynlib: gobjectlib,
-    importc: "g_type_fundamental".}
-proc g_type_create_instance*(theType: GType): PGTypeInstance{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_create_instance".}
-proc g_type_free_instance*(instance: PGTypeInstance){.cdecl, dynlib: gobjectlib,
-    importc: "g_type_free_instance".}
-proc g_type_add_class_cache_func*(cache_data: gpointer,
-                                  cache_func: TGTypeClassCacheFunc){.cdecl,
-    dynlib: gobjectlib, importc: "g_type_add_class_cache_func".}
-proc g_type_remove_class_cache_func*(cache_data: gpointer,
-                                     cache_func: TGTypeClassCacheFunc){.cdecl,
-    dynlib: gobjectlib, importc: "g_type_remove_class_cache_func".}
-proc g_type_class_unref_uncached*(g_class: gpointer){.cdecl, dynlib: gobjectlib,
-    importc: "g_type_class_unref_uncached".}
-proc g_type_value_table_peek*(theType: GType): PGTypeValueTable{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_value_table_peek".}
-proc private_g_type_check_instance*(instance: PGTypeInstance): gboolean{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_check_instance".}
-proc private_g_type_check_instance_cast*(instance: PGTypeInstance,
-    iface_type: GType): PGTypeInstance{.cdecl, dynlib: gobjectlib,
-                                        importc: "g_type_check_instance_cast".}
-proc private_g_type_check_instance_is_a*(instance: PGTypeInstance,
-    iface_type: GType): gboolean{.cdecl, dynlib: gobjectlib,
-                                  importc: "g_type_check_instance_is_a".}
-proc private_g_type_check_class_cast*(g_class: PGTypeClass, is_a_type: GType): PGTypeClass{.
-    cdecl, dynlib: gobjectlib, importc: "g_type_check_class_cast".}
-proc private_g_type_check_class_is_a*(g_class: PGTypeClass, is_a_type: GType): gboolean{.
-    cdecl, dynlib: gobjectlib, importc: "g_type_check_class_is_a".}
-proc private_g_type_check_is_value_type*(theType: GType): gboolean{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_check_is_value_type".}
-proc private_g_type_check_value*(value: PGValue): gboolean{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_check_value".}
-proc private_g_type_check_value_holds*(value: PGValue, theType: GType): gboolean{.
-    cdecl, dynlib: gobjectlib, importc: "g_type_check_value_holds".}
-proc private_g_type_test_flags*(theType: GType, flags: guint): gboolean{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_test_flags".}
-proc g_type_name_from_instance*(instance: PGTypeInstance): cstring{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_name_from_instance".}
-proc g_type_name_from_class*(g_class: PGTypeClass): cstring{.cdecl,
-    dynlib: gobjectlib, importc: "g_type_name_from_class".}
-const
-  G_TYPE_FLAG_RESERVED_ID_BIT* = GType(1 shl 0)
-
-proc G_TYPE_IS_VALUE*(theType: GType): bool
-proc G_IS_VALUE*(value: pointer): bool
-proc G_VALUE_TYPE*(value: Pointer): GType
-proc G_VALUE_TYPE_NAME*(value: Pointer): cstring
-proc G_VALUE_HOLDS*(value: pointer, g_type: GType): bool
-type
-  TGValueTransform* = proc (src_value: PGValue, dest_value: PGValue){.cdecl.}
-
-proc g_value_init*(value: PGValue, g_type: GType): PGValue{.cdecl,
-    dynlib: gobjectlib, importc: "g_value_init".}
-proc g_value_copy*(src_value: PGValue, dest_value: PGValue){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_copy".}
-proc g_value_reset*(value: PGValue): PGValue{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_reset".}
-proc g_value_unset*(value: PGValue){.cdecl, dynlib: gobjectlib,
-                                     importc: "g_value_unset".}
-proc g_value_set_instance*(value: PGValue, instance: gpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_instance".}
-proc g_value_fits_pointer*(value: PGValue): gboolean{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_fits_pointer".}
-proc g_value_peek_pointer*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_peek_pointer".}
-proc g_value_type_compatible*(src_type: GType, dest_type: GType): gboolean{.
-    cdecl, dynlib: gobjectlib, importc: "g_value_type_compatible".}
-proc g_value_type_transformable*(src_type: GType, dest_type: GType): gboolean{.
-    cdecl, dynlib: gobjectlib, importc: "g_value_type_transformable".}
-proc g_value_transform*(src_value: PGValue, dest_value: PGValue): gboolean{.
-    cdecl, dynlib: gobjectlib, importc: "g_value_transform".}
-proc g_value_register_transform_func*(src_type: GType, dest_type: GType,
-                                      transform_func: TGValueTransform){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_register_transform_func".}
-const
-  G_VALUE_NOCOPY_CONTENTS* = 1 shl 27
-
-type
-  PGValueArray* = ptr TGValueArray
-  TGValueArray* {.final.} = object
-    n_values*: guint
-    values*: PGValue
-    n_prealloced*: guint
-
-
-proc g_value_array_get_nth*(value_array: PGValueArray, index: guint): PGValue{.
-    cdecl, dynlib: gobjectlib, importc: "g_value_array_get_nth".}
-proc g_value_array_new*(n_prealloced: guint): PGValueArray{.cdecl,
-    dynlib: gobjectlib, importc: "g_value_array_new".}
-proc g_value_array_free*(value_array: PGValueArray){.cdecl, dynlib: gobjectlib,
-    importc: "g_value_array_free".}
-proc g_value_array_copy*(value_array: PGValueArray): PGValueArray{.cdecl,
-    dynlib: gobjectlib, importc: "g_value_array_copy".}
-proc g_value_array_prepend*(value_array: PGValueArray, value: PGValue): PGValueArray{.
-    cdecl, dynlib: gobjectlib, importc: "g_value_array_prepend".}
-proc g_value_array_append*(value_array: PGValueArray, value: PGValue): PGValueArray{.
-    cdecl, dynlib: gobjectlib, importc: "g_value_array_append".}
-proc g_value_array_insert*(value_array: PGValueArray, index: guint,
-                           value: PGValue): PGValueArray{.cdecl,
-    dynlib: gobjectlib, importc: "g_value_array_insert".}
-proc g_value_array_remove*(value_array: PGValueArray, index: guint): PGValueArray{.
-    cdecl, dynlib: gobjectlib, importc: "g_value_array_remove".}
-proc g_value_array_sort*(value_array: PGValueArray, compare_func: TGCompareFunc): PGValueArray{.
-    cdecl, dynlib: gobjectlib, importc: "g_value_array_sort".}
-proc g_value_array_sort_with_data*(value_array: PGValueArray,
-                                   compare_func: TGCompareDataFunc,
-                                   user_data: gpointer): PGValueArray{.cdecl,
-    dynlib: gobjectlib, importc: "g_value_array_sort_with_data".}
-const
-  G_VALUE_COLLECT_INT* = 'i'
-  G_VALUE_COLLECT_LONG* = 'l'
-  G_VALUE_COLLECT_INT64* = 'q'
-  G_VALUE_COLLECT_DOUBLE* = 'd'
-  G_VALUE_COLLECT_POINTER* = 'p'
-  G_VALUE_COLLECT_FORMAT_MAX_LENGTH* = 8
-
-proc G_VALUE_HOLDS_CHAR*(value: PGValue): bool
-proc G_VALUE_HOLDS_UCHAR*(value: PGValue): bool
-proc G_VALUE_HOLDS_BOOLEAN*(value: PGValue): bool
-proc G_VALUE_HOLDS_INT*(value: PGValue): bool
-proc G_VALUE_HOLDS_UINT*(value: PGValue): bool
-proc G_VALUE_HOLDS_LONG*(value: PGValue): bool
-proc G_VALUE_HOLDS_ULONG*(value: PGValue): bool
-proc G_VALUE_HOLDS_INT64*(value: PGValue): bool
-proc G_VALUE_HOLDS_UINT64*(value: PGValue): bool
-proc G_VALUE_HOLDS_FLOAT*(value: PGValue): bool
-proc G_VALUE_HOLDS_DOUBLE*(value: PGValue): bool
-proc G_VALUE_HOLDS_STRING*(value: PGValue): bool
-proc G_VALUE_HOLDS_POINTER*(value: PGValue): bool
-proc g_value_set_char*(value: PGValue, v_char: gchar){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_char".}
-proc g_value_get_char*(value: PGValue): gchar{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_char".}
-proc g_value_set_uchar*(value: PGValue, v_uchar: guchar){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_uchar".}
-proc g_value_get_uchar*(value: PGValue): guchar{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_uchar".}
-proc g_value_set_boolean*(value: PGValue, v_boolean: gboolean){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_boolean".}
-proc g_value_get_boolean*(value: PGValue): gboolean{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_boolean".}
-proc g_value_set_int*(value: PGValue, v_int: gint){.cdecl, dynlib: gobjectlib,
-    importc: "g_value_set_int".}
-proc g_value_get_int*(value: PGValue): gint{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_int".}
-proc g_value_set_uint*(value: PGValue, v_uint: guint){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_uint".}
-proc g_value_get_uint*(value: PGValue): guint{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_uint".}
-proc g_value_set_long*(value: PGValue, v_long: glong){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_long".}
-proc g_value_get_long*(value: PGValue): glong{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_long".}
-proc g_value_set_ulong*(value: PGValue, v_ulong: gulong){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_ulong".}
-proc g_value_get_ulong*(value: PGValue): gulong{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_ulong".}
-proc g_value_set_int64*(value: PGValue, v_int64: gint64){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_int64".}
-proc g_value_get_int64*(value: PGValue): gint64{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_int64".}
-proc g_value_set_uint64*(value: PGValue, v_uint64: guint64){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_uint64".}
-proc g_value_get_uint64*(value: PGValue): guint64{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_uint64".}
-proc g_value_set_float*(value: PGValue, v_float: gfloat){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_float".}
-proc g_value_get_float*(value: PGValue): gfloat{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_float".}
-proc g_value_set_double*(value: PGValue, v_double: gdouble){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_double".}
-proc g_value_get_double*(value: PGValue): gdouble{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_double".}
-proc g_value_set_string*(value: PGValue, v_string: cstring){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_string".}
-proc g_value_set_static_string*(value: PGValue, v_string: cstring){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_static_string".}
-proc g_value_get_string*(value: PGValue): cstring{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_string".}
-proc g_value_dup_string*(value: PGValue): cstring{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_dup_string".}
-proc g_value_set_pointer*(value: PGValue, v_pointer: gpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_pointer".}
-proc g_value_get_pointer*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_pointer".}
-proc g_pointer_type_register_static*(name: cstring): GType{.cdecl,
-    dynlib: gobjectlib, importc: "g_pointer_type_register_static".}
-proc g_strdup_value_contents*(value: PGValue): cstring{.cdecl,
-    dynlib: gobjectlib, importc: "g_strdup_value_contents".}
-proc g_value_set_string_take_ownership*(value: PGValue, v_string: cstring){.
-    cdecl, dynlib: gobjectlib, importc: "g_value_set_string_take_ownership".}
-type
-  Tgchararray* = gchar
-  Pgchararray* = ptr Tgchararray
-
-proc G_TYPE_IS_PARAM*(theType: GType): bool
-proc G_PARAM_SPEC*(pspec: Pointer): PGParamSpec
-proc G_IS_PARAM_SPEC*(pspec: Pointer): bool
-proc G_PARAM_SPEC_CLASS*(pclass: Pointer): PGParamSpecClass
-proc G_IS_PARAM_SPEC_CLASS*(pclass: Pointer): bool
-proc G_PARAM_SPEC_GET_CLASS*(pspec: Pointer): PGParamSpecClass
-proc G_PARAM_SPEC_TYPE*(pspec: Pointer): GType
-proc G_PARAM_SPEC_TYPE_NAME*(pspec: Pointer): cstring
-proc G_PARAM_SPEC_VALUE_TYPE*(pspec: Pointer): GType
-proc G_VALUE_HOLDS_PARAM*(value: Pointer): bool
-const
-  G_PARAM_READABLE* = 1 shl 0
-  G_PARAM_WRITABLE* = 1 shl 1
-  G_PARAM_CONSTRUCT* = 1 shl 2
-  G_PARAM_CONSTRUCT_ONLY* = 1 shl 3
-  G_PARAM_LAX_VALIDATION* = 1 shl 4
-  G_PARAM_PRIVATE* = 1 shl 5
-  G_PARAM_READWRITE* = G_PARAM_READABLE or G_PARAM_WRITABLE
-  G_PARAM_MASK* = 0x000000FF
-  G_PARAM_USER_SHIFT* = 8
-
-proc g_param_spec_ref*(pspec: PGParamSpec): PGParamSpec{.cdecl, dynlib: gliblib,
-    importc: "g_param_spec_ref".}
-proc g_param_spec_unref*(pspec: PGParamSpec){.cdecl, dynlib: gliblib,
-    importc: "g_param_spec_unref".}
-proc g_param_spec_sink*(pspec: PGParamSpec){.cdecl, dynlib: gliblib,
-    importc: "g_param_spec_sink".}
-proc g_param_spec_get_qdata*(pspec: PGParamSpec, quark: TGQuark): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_param_spec_get_qdata".}
-proc g_param_spec_set_qdata*(pspec: PGParamSpec, quark: TGQuark, data: gpointer){.
-    cdecl, dynlib: gliblib, importc: "g_param_spec_set_qdata".}
-proc g_param_spec_set_qdata_full*(pspec: PGParamSpec, quark: TGQuark,
-                                  data: gpointer, destroy: TGDestroyNotify){.
-    cdecl, dynlib: gliblib, importc: "g_param_spec_set_qdata_full".}
-proc g_param_spec_steal_qdata*(pspec: PGParamSpec, quark: TGQuark): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_param_spec_steal_qdata".}
-proc g_param_value_set_default*(pspec: PGParamSpec, value: PGValue){.cdecl,
-    dynlib: gliblib, importc: "g_param_value_set_default".}
-proc g_param_value_defaults*(pspec: PGParamSpec, value: PGValue): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_param_value_defaults".}
-proc g_param_value_validate*(pspec: PGParamSpec, value: PGValue): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_param_value_validate".}
-proc g_param_value_convert*(pspec: PGParamSpec, src_value: PGValue,
-                            dest_value: PGValue, strict_validation: gboolean): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_param_value_convert".}
-proc g_param_values_cmp*(pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{.
-    cdecl, dynlib: gliblib, importc: "g_param_values_cmp".}
-proc g_param_spec_get_name*(pspec: PGParamSpec): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_param_spec_get_name".}
-proc g_param_spec_get_nick*(pspec: PGParamSpec): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_param_spec_get_nick".}
-proc g_param_spec_get_blurb*(pspec: PGParamSpec): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_param_spec_get_blurb".}
-proc g_value_set_param*(value: PGValue, param: PGParamSpec){.cdecl,
-    dynlib: gliblib, importc: "g_value_set_param".}
-proc g_value_get_param*(value: PGValue): PGParamSpec{.cdecl, dynlib: gliblib,
-    importc: "g_value_get_param".}
-proc g_value_dup_param*(value: PGValue): PGParamSpec{.cdecl, dynlib: gliblib,
-    importc: "g_value_dup_param".}
-proc g_value_set_param_take_ownership*(value: PGValue, param: PGParamSpec){.
-    cdecl, dynlib: gliblib, importc: "g_value_set_param_take_ownership".}
-type
-  PGParamSpecTypeInfo* = ptr TGParamSpecTypeInfo
-  TGParamSpecTypeInfo* {.final.} = object
-    instance_size*: guint16
-    n_preallocs*: guint16
-    instance_init*: proc (pspec: PGParamSpec){.cdecl.}
-    value_type*: GType
-    finalize*: proc (pspec: PGParamSpec){.cdecl.}
-    value_set_default*: proc (pspec: PGParamSpec, value: PGValue){.cdecl.}
-    value_validate*: proc (pspec: PGParamSpec, value: PGValue): gboolean{.cdecl.}
-    values_cmp*: proc (pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{.
-        cdecl.}
-
-
-proc g_param_type_register_static*(name: cstring,
-                                   pspec_info: PGParamSpecTypeInfo): GType{.
-    cdecl, dynlib: gliblib, importc: "g_param_type_register_static".}
-proc g_param_type_register_static_constant*(name: cstring,
-    pspec_info: PGParamSpecTypeInfo, opt_type: GType): GType{.cdecl,
-    dynlib: gliblib, importc: "`g_param_type_register_static_constant`".}
-proc g_param_spec_internal*(param_type: GType, name: cstring, nick: cstring,
-                            blurb: cstring, flags: TGParamFlags): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_param_spec_internal".}
-proc g_param_spec_pool_new*(type_prefixing: gboolean): PGParamSpecPool{.cdecl,
-    dynlib: gliblib, importc: "g_param_spec_pool_new".}
-proc g_param_spec_pool_insert*(pool: PGParamSpecPool, pspec: PGParamSpec,
-                               owner_type: GType){.cdecl, dynlib: gliblib,
-    importc: "g_param_spec_pool_insert".}
-proc g_param_spec_pool_remove*(pool: PGParamSpecPool, pspec: PGParamSpec){.
-    cdecl, dynlib: gliblib, importc: "g_param_spec_pool_remove".}
-proc g_param_spec_pool_lookup*(pool: PGParamSpecPool, param_name: cstring,
-                               owner_type: GType, walk_ancestors: gboolean): PGParamSpec{.
-    cdecl, dynlib: gliblib, importc: "g_param_spec_pool_lookup".}
-proc g_param_spec_pool_list_owned*(pool: PGParamSpecPool, owner_type: GType): PGList{.
-    cdecl, dynlib: gliblib, importc: "g_param_spec_pool_list_owned".}
-proc g_param_spec_pool_list*(pool: PGParamSpecPool, owner_type: GType,
-                             n_pspecs_p: Pguint): PPGParamSpec{.cdecl,
-    dynlib: gliblib, importc: "g_param_spec_pool_list".}
-type
-  PGClosure* = ptr TGClosure
-  PGClosureNotifyData* = ptr TGClosureNotifyData
-  TGClosureNotify* = proc (data: gpointer, closure: PGClosure){.cdecl.}
-  TGClosure* {.final.} = object
-    flag0*: int32
-    marshal*: proc (closure: PGClosure, return_value: PGValue,
-                    n_param_values: guint, param_values: PGValue,
-                    invocation_hint, marshal_data: gpointer){.cdecl.}
-    data*: gpointer
-    notifiers*: PGClosureNotifyData
-
-  TGCallBackProcedure* = proc () {.cdecl.}
-  TGCallback* = proc () {.cdecl.}
-  TGClosureMarshal* = proc (closure: PGClosure, return_value: PGValue,
-                            n_param_values: guint, param_values: PGValue,
-                            invocation_hint: gpointer, marshal_data: gpointer){.
-      cdecl.}
-  TGClosureNotifyData* {.final.} = object
-    data*: gpointer
-    notify*: TGClosureNotify
-
-
-proc G_CLOSURE_NEEDS_MARSHAL*(closure: Pointer): bool
-proc G_CLOSURE_N_NOTIFIERS*(cl: PGClosure): int32
-proc G_CCLOSURE_SWAP_DATA*(cclosure: PGClosure): int32
-proc G_CALLBACK*(f: pointer): TGCallback
-const
-  bm_TGClosure_ref_count* = 0x00007FFF'i32
-  bp_TGClosure_ref_count* = 0'i32
-  bm_TGClosure_meta_marshal* = 0x00008000'i32
-  bp_TGClosure_meta_marshal* = 15'i32
-  bm_TGClosure_n_guards* = 0x00010000'i32
-  bp_TGClosure_n_guards* = 16'i32
-  bm_TGClosure_n_fnotifiers* = 0x00060000'i32
-  bp_TGClosure_n_fnotifiers* = 17'i32
-  bm_TGClosure_n_inotifiers* = 0x07F80000'i32
-  bp_TGClosure_n_inotifiers* = 19'i32
-  bm_TGClosure_in_inotify* = 0x08000000'i32
-  bp_TGClosure_in_inotify* = 27'i32
-  bm_TGClosure_floating* = 0x10000000'i32
-  bp_TGClosure_floating* = 28'i32
-  bm_TGClosure_derivative_flag* = 0x20000000'i32
-  bp_TGClosure_derivative_flag* = 29'i32
-  bm_TGClosure_in_marshal* = 0x40000000'i32
-  bp_TGClosure_in_marshal* = 30'i32
-  bm_TGClosure_is_invalid* = 0x80000000'i32
-  bp_TGClosure_is_invalid* = 31'i32
-
-proc ref_count*(a: var TGClosure): guint
-proc set_ref_count*(a: var TGClosure, ref_count: guint)
-proc meta_marshal*(a: PGClosure): guint
-proc set_meta_marshal*(a: var TGClosure, meta_marshal: guint)
-proc n_guards*(a: PGClosure): guint
-proc set_n_guards*(a: var TGClosure, n_guards: guint)
-proc n_fnotifiers*(a: PGClosure): guint
-proc set_n_fnotifiers*(a: var TGClosure, n_fnotifiers: guint)
-proc n_inotifiers*(a: PGClosure): guint
-proc in_inotify*(a: var TGClosure): guint
-proc set_in_inotify*(a: var TGClosure, in_inotify: guint)
-proc floating*(a: var TGClosure): guint
-proc set_floating*(a: var TGClosure, floating: guint)
-proc derivative_flag*(a: PGClosure): guint
-proc set_derivative_flag*(a: var TGClosure, derivative_flag: guint)
-proc in_marshal*(a: var TGClosure): guint
-proc set_in_marshal*(a: var TGClosure, in_marshal: guint)
-proc is_invalid*(a: var TGClosure): guint
-proc set_is_invalid*(a: var TGClosure, is_invalid: guint)
-type
-  PGCClosure* = ptr TGCClosure
-  TGCClosure* {.final.} = object
-    closure*: TGClosure
-    callback*: gpointer
-
-
-proc g_cclosure_new*(callback_func: TGCallback, user_data: gpointer,
-                     destroy_data: TGClosureNotify): PGClosure{.cdecl,
-    dynlib: gliblib, importc: "g_cclosure_new".}
-proc g_cclosure_new_swap*(callback_func: TGCallback, user_data: gpointer,
-                          destroy_data: TGClosureNotify): PGClosure{.cdecl,
-    dynlib: gliblib, importc: "g_cclosure_new_swap".}
-proc g_signal_type_cclosure_new*(itype: GType, struct_offset: guint): PGClosure{.
-    cdecl, dynlib: gliblib, importc: "g_signal_type_cclosure_new".}
-proc g_closure_ref*(closure: PGClosure): PGClosure{.cdecl, dynlib: gliblib,
-    importc: "g_closure_ref".}
-proc g_closure_sink*(closure: PGClosure){.cdecl, dynlib: gliblib,
-    importc: "g_closure_sink".}
-proc g_closure_unref*(closure: PGClosure){.cdecl, dynlib: gliblib,
-    importc: "g_closure_unref".}
-proc g_closure_new_simple*(sizeof_closure: guint, data: gpointer): PGClosure{.
-    cdecl, dynlib: gliblib, importc: "g_closure_new_simple".}
-proc g_closure_add_finalize_notifier*(closure: PGClosure, notify_data: gpointer,
-                                      notify_func: TGClosureNotify){.cdecl,
-    dynlib: gliblib, importc: "g_closure_add_finalize_notifier".}
-proc g_closure_remove_finalize_notifier*(closure: PGClosure,
-    notify_data: gpointer, notify_func: TGClosureNotify){.cdecl,
-    dynlib: gliblib, importc: "g_closure_remove_finalize_notifier".}
-proc g_closure_add_invalidate_notifier*(closure: PGClosure,
-                                        notify_data: gpointer,
-                                        notify_func: TGClosureNotify){.cdecl,
-    dynlib: gliblib, importc: "g_closure_add_invalidate_notifier".}
-proc g_closure_remove_invalidate_notifier*(closure: PGClosure,
-    notify_data: gpointer, notify_func: TGClosureNotify){.cdecl,
-    dynlib: gliblib, importc: "g_closure_remove_invalidate_notifier".}
-proc g_closure_add_marshal_guards*(closure: PGClosure,
-                                   pre_marshal_data: gpointer,
-                                   pre_marshal_notify: TGClosureNotify,
-                                   post_marshal_data: gpointer,
-                                   post_marshal_notify: TGClosureNotify){.cdecl,
-    dynlib: gliblib, importc: "g_closure_add_marshal_guards".}
-proc g_closure_set_marshal*(closure: PGClosure, marshal: TGClosureMarshal){.
-    cdecl, dynlib: gliblib, importc: "g_closure_set_marshal".}
-proc g_closure_set_meta_marshal*(closure: PGClosure, marshal_data: gpointer,
-                                 meta_marshal: TGClosureMarshal){.cdecl,
-    dynlib: gliblib, importc: "g_closure_set_meta_marshal".}
-proc g_closure_invalidate*(closure: PGClosure){.cdecl, dynlib: gliblib,
-    importc: "g_closure_invalidate".}
-proc g_closure_invoke*(closure: PGClosure, return_value: PGValue,
-                       n_param_values: guint, param_values: PGValue,
-                       invocation_hint: gpointer){.cdecl, dynlib: gliblib,
-    importc: "g_closure_invoke".}
-type
-  PGSignalInvocationHint* = ptr TGSignalInvocationHint
-  PGSignalCMarshaller* = ptr TGSignalCMarshaller
-  TGSignalCMarshaller* = TGClosureMarshal
-  TGSignalEmissionHook* = proc (ihint: PGSignalInvocationHint,
-                                n_param_values: guint, param_values: PGValue,
-                                data: gpointer): gboolean{.cdecl.}
-  TGSignalAccumulator* = proc (ihint: PGSignalInvocationHint,
-                               return_accu: PGValue, handler_return: PGValue,
-                               data: gpointer): gboolean{.cdecl.}
-  PGSignalFlags* = ptr TGSignalFlags
-  TGSignalFlags* = int32
-  TGSignalInvocationHint* {.final.} = object
-    signal_id*: guint
-    detail*: TGQuark
-    run_type*: TGSignalFlags
-
-  PGSignalQuery* = ptr TGSignalQuery
-  TGSignalQuery* {.final.} = object
-    signal_id*: guint
-    signal_name*: cstring
-    itype*: GType
-    signal_flags*: TGSignalFlags
-    return_type*: GType
-    n_params*: guint
-    param_types*: PGType
-
-
-const
-  G_SIGNAL_RUN_FIRST* = 1 shl 0
-  G_SIGNAL_RUN_LAST* = 1 shl 1
-  G_SIGNAL_RUN_CLEANUP* = 1 shl 2
-  G_SIGNAL_NO_RECURSE* = 1 shl 3
-  G_SIGNAL_DETAILED* = 1 shl 4
-  G_SIGNAL_ACTION* = 1 shl 5
-  G_SIGNAL_NO_HOOKS* = 1 shl 6
-  G_SIGNAL_FLAGS_MASK* = 0x0000007F
-
-type
-  PGConnectFlags* = ptr TGConnectFlags
-  TGConnectFlags* = int32
-
-const
-  G_CONNECT_AFTER* = 1 shl 0
-  G_CONNECT_SWAPPED* = 1 shl 1
-
-type
-  PGSignalMatchType* = ptr TGSignalMatchType
-  TGSignalMatchType* = int32
-
-const
-  G_SIGNAL_MATCH_ID* = 1 shl 0
-  G_SIGNAL_MATCH_DETAIL* = 1 shl 1
-  G_SIGNAL_MATCH_CLOSURE* = 1 shl 2
-  G_SIGNAL_MATCH_FUNC* = 1 shl 3
-  G_SIGNAL_MATCH_DATA* = 1 shl 4
-  G_SIGNAL_MATCH_UNBLOCKED* = 1 shl 5
-  G_SIGNAL_MATCH_MASK* = 0x0000003F
-  G_SIGNAL_TYPE_STATIC_SCOPE* = G_TYPE_FLAG_RESERVED_ID_BIT
-
-proc g_signal_newv*(signal_name: cstring, itype: GType,
-                    signal_flags: TGSignalFlags, class_closure: PGClosure,
-                    accumulator: TGSignalAccumulator, accu_data: gpointer,
-                    c_marshaller: TGSignalCMarshaller, return_type: GType,
-                    n_params: guint, param_types: PGType): guint{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_newv".}
-proc g_signal_emitv*(instance_and_params: PGValue, signal_id: guint,
-                     detail: TGQuark, return_value: PGValue){.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_emitv".}
-proc g_signal_lookup*(name: cstring, itype: GType): guint{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_lookup".}
-proc g_signal_name*(signal_id: guint): cstring{.cdecl, dynlib: gobjectlib,
-    importc: "g_signal_name".}
-proc g_signal_query*(signal_id: guint, query: PGSignalQuery){.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_query".}
-proc g_signal_list_ids*(itype: GType, n_ids: Pguint): Pguint{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_list_ids".}
-proc g_signal_parse_name*(detailed_signal: cstring, itype: GType,
-                          signal_id_p: Pguint, detail_p: PGQuark,
-                          force_detail_quark: gboolean): gboolean{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_parse_name".}
-proc g_signal_get_invocation_hint*(instance: gpointer): PGSignalInvocationHint{.
-    cdecl, dynlib: gobjectlib, importc: "g_signal_get_invocation_hint".}
-proc g_signal_stop_emission*(instance: gpointer, signal_id: guint,
-                             detail: TGQuark){.cdecl, dynlib: gobjectlib,
-    importc: "g_signal_stop_emission".}
-proc g_signal_stop_emission_by_name*(instance: gpointer,
-                                     detailed_signal: cstring){.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_stop_emission_by_name".}
-proc g_signal_add_emission_hook*(signal_id: guint, quark: TGQuark,
-                                 hook_func: TGSignalEmissionHook,
-                                 hook_data: gpointer,
-                                 data_destroy: TGDestroyNotify): gulong{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_add_emission_hook".}
-proc g_signal_remove_emission_hook*(signal_id: guint, hook_id: gulong){.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_remove_emission_hook".}
-proc g_signal_has_handler_pending*(instance: gpointer, signal_id: guint,
-                                   detail: TGQuark, may_be_blocked: gboolean): gboolean{.
-    cdecl, dynlib: gobjectlib, importc: "g_signal_has_handler_pending".}
-proc g_signal_connect_closure_by_id*(instance: gpointer, signal_id: guint,
-                                     detail: TGQuark, closure: PGClosure,
-                                     after: gboolean): gulong{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_connect_closure_by_id".}
-proc g_signal_connect_closure*(instance: gpointer, detailed_signal: cstring,
-                               closure: PGClosure, after: gboolean): gulong{.
-    cdecl, dynlib: gobjectlib, importc: "g_signal_connect_closure".}
-proc g_signal_connect_data*(instance: gpointer, detailed_signal: cstring,
-                            c_handler: TGCallback, data: gpointer,
-                            destroy_data: TGClosureNotify,
-                            connect_flags: TGConnectFlags): gulong{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_connect_data".}
-proc g_signal_handler_block*(instance: gpointer, handler_id: gulong){.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_handler_block".}
-proc g_signal_handler_unblock*(instance: gpointer, handler_id: gulong){.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_handler_unblock".}
-proc g_signal_handler_disconnect*(instance: gpointer, handler_id: gulong){.
-    cdecl, dynlib: gobjectlib, importc: "g_signal_handler_disconnect".}
-proc g_signal_handler_is_connected*(instance: gpointer, handler_id: gulong): gboolean{.
-    cdecl, dynlib: gobjectlib, importc: "g_signal_handler_is_connected".}
-proc g_signal_handler_find*(instance: gpointer, mask: TGSignalMatchType,
-                            signal_id: guint, detail: TGQuark,
-                            closure: PGClosure, func: gpointer, data: gpointer): gulong{.
-    cdecl, dynlib: gobjectlib, importc: "g_signal_handler_find".}
-proc g_signal_handlers_block_matched*(instance: gpointer,
-                                      mask: TGSignalMatchType, signal_id: guint,
-                                      detail: TGQuark, closure: PGClosure,
-                                      func: gpointer, data: gpointer): guint{.
-    cdecl, dynlib: gobjectlib, importc: "g_signal_handlers_block_matched".}
-proc g_signal_handlers_unblock_matched*(instance: gpointer,
-                                        mask: TGSignalMatchType,
-                                        signal_id: guint, detail: TGQuark,
-                                        closure: PGClosure, func: gpointer,
-                                        data: gpointer): guint{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_handlers_unblock_matched".}
-proc g_signal_handlers_disconnect_matched*(instance: gpointer,
-    mask: TGSignalMatchType, signal_id: guint, detail: TGQuark,
-    closure: PGClosure, func: gpointer, data: gpointer): guint{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_handlers_disconnect_matched".}
-proc g_signal_override_class_closure*(signal_id: guint, instance_type: GType,
-                                      class_closure: PGClosure){.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_override_class_closure".}
-proc g_signal_chain_from_overridden*(instance_and_params: PGValue,
-                                     return_value: PGValue){.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_chain_from_overridden".}
-proc g_signal_connect*(instance: gpointer, detailed_signal: cstring,
-                       c_handler: TGCallback, data: gpointer): gulong
-proc g_signal_connect_after*(instance: gpointer, detailed_signal: cstring,
-                             c_handler: TGCallback, data: gpointer): gulong
-proc g_signal_connect_swapped*(instance: gpointer, detailed_signal: cstring,
-                               c_handler: TGCallback, data: gpointer): gulong
-proc g_signal_handlers_disconnect_by_func*(instance: gpointer,
-    func, data: gpointer): guint
-proc g_signal_handlers_block_by_func*(instance: gpointer, func, data: gpointer)
-proc g_signal_handlers_unblock_by_func*(instance: gpointer, func, data: gpointer)
-proc g_signal_handlers_destroy*(instance: gpointer){.cdecl, dynlib: gobjectlib,
-    importc: "g_signal_handlers_destroy".}
-proc g_signals_destroy*(itype: GType){.cdecl, dynlib: gobjectlib,
-                                       importc: "`g_signals_destroy`".}
-type
-  TGTypePluginUse* = proc (plugin: PGTypePlugin){.cdecl.}
-  TGTypePluginUnuse* = proc (plugin: PGTypePlugin){.cdecl.}
-  TGTypePluginCompleteTypeInfo* = proc (plugin: PGTypePlugin, g_type: GType,
-                                        info: PGTypeInfo,
-                                        value_table: PGTypeValueTable){.cdecl.}
-  TGTypePluginCompleteInterfaceInfo* = proc (plugin: PGTypePlugin,
-      instance_type: GType, interface_type: GType, info: PGInterfaceInfo){.cdecl.}
-  PGTypePluginClass* = ptr TGTypePluginClass
-  TGTypePluginClass* {.final.} = object
-    base_iface*: TGTypeInterface
-    use_plugin*: TGTypePluginUse
-    unuse_plugin*: TGTypePluginUnuse
-    complete_type_info*: TGTypePluginCompleteTypeInfo
-    complete_interface_info*: TGTypePluginCompleteInterfaceInfo
-
-
-proc G_TYPE_TYPE_PLUGIN*(): GType
-proc G_TYPE_PLUGIN*(inst: Pointer): PGTypePlugin
-proc G_TYPE_PLUGIN_CLASS*(vtable: Pointer): PGTypePluginClass
-proc G_IS_TYPE_PLUGIN*(inst: Pointer): bool
-proc G_IS_TYPE_PLUGIN_CLASS*(vtable: Pointer): bool
-proc G_TYPE_PLUGIN_GET_CLASS*(inst: Pointer): PGTypePluginClass
-proc g_type_plugin_get_type*(): GType{.cdecl, dynlib: gliblib,
-                                       importc: "g_type_plugin_get_type".}
-proc g_type_plugin_use*(plugin: PGTypePlugin){.cdecl, dynlib: gliblib,
-    importc: "g_type_plugin_use".}
-proc g_type_plugin_unuse*(plugin: PGTypePlugin){.cdecl, dynlib: gliblib,
-    importc: "g_type_plugin_unuse".}
-proc g_type_plugin_complete_type_info*(plugin: PGTypePlugin, g_type: GType,
-                                       info: PGTypeInfo,
-                                       value_table: PGTypeValueTable){.cdecl,
-    dynlib: gliblib, importc: "g_type_plugin_complete_type_info".}
-proc g_type_plugin_complete_interface_info*(plugin: PGTypePlugin,
-    instance_type: GType, interface_type: GType, info: PGInterfaceInfo){.cdecl,
-    dynlib: gliblib, importc: "g_type_plugin_complete_interface_info".}
-type
-  PGObject* = ptr TGObject
-  TGObject* {.pure.} = object
-    g_type_instance*: TGTypeInstance
-    ref_count*: guint
-    qdata*: PGData
-
-  TGObjectGetPropertyFunc* = proc (anObject: PGObject, property_id: guint,
-                                   value: PGValue, pspec: PGParamSpec){.cdecl.}
-  TGObjectSetPropertyFunc* = proc (anObject: PGObject, property_id: guint,
-                                   value: PGValue, pspec: PGParamSpec){.cdecl.}
-  TGObjectFinalizeFunc* = proc (anObject: PGObject){.cdecl.}
-  TGWeakNotify* = proc (data: gpointer, where_the_object_was: PGObject){.cdecl.}
-  PGObjectConstructParam* = ptr TGObjectConstructParam
-  PGObjectClass* = ptr TGObjectClass
-  TGObjectClass* {.pure.} = object
-    g_type_class*: TGTypeClass
-    construct_properties*: PGSList
-    constructor*: proc (theType: GType, n_construct_properties: guint,
-                        construct_properties: PGObjectConstructParam): PGObject{.
-        cdecl.}
-    set_property*: proc (anObject: PGObject, property_id: guint, value: PGValue,
-                         pspec: PGParamSpec){.cdecl.}
-    get_property*: proc (anObject: PGObject, property_id: guint, value: PGValue,
-                         pspec: PGParamSpec){.cdecl.}
-    dispose*: proc (anObject: PGObject){.cdecl.}
-    finalize*: proc (anObject: PGObject){.cdecl.}
-    dispatch_properties_changed*: proc (anObject: PGObject, n_pspecs: guint,
-                                        pspecs: PPGParamSpec){.cdecl.}
-    notify*: proc (anObject: PGObject, pspec: PGParamSpec){.cdecl.}
-    pdummy*: array[0..7, gpointer]
-
-  TGObjectConstructParam* {.final.} = object
-    pspec*: PGParamSpec
-    value*: PGValue
-
-
-proc G_TYPE_IS_OBJECT*(theType: GType): bool
-proc G_OBJECT*(anObject: pointer): PGObject
-proc G_OBJECT_CLASS*(class: Pointer): PGObjectClass
-proc G_IS_OBJECT*(anObject: pointer): bool
-proc G_IS_OBJECT_CLASS*(class: Pointer): bool
-proc G_OBJECT_GET_CLASS*(anObject: pointer): PGObjectClass
-proc G_OBJECT_TYPE*(anObject: pointer): GType
-proc G_OBJECT_TYPE_NAME*(anObject: pointer): cstring
-proc G_OBJECT_CLASS_TYPE*(class: Pointer): GType
-proc G_OBJECT_CLASS_NAME*(class: Pointer): cstring
-proc G_VALUE_HOLDS_OBJECT*(value: Pointer): bool
-proc g_object_class_install_property*(oclass: PGObjectClass, property_id: guint,
-                                      pspec: PGParamSpec){.cdecl,
-    dynlib: gobjectlib, importc: "g_object_class_install_property".}
-proc g_object_class_find_property*(oclass: PGObjectClass, property_name: cstring): PGParamSpec{.
-    cdecl, dynlib: gobjectlib, importc: "g_object_class_find_property".}
-proc g_object_class_list_properties*(oclass: PGObjectClass, n_properties: Pguint): PPGParamSpec{.
-    cdecl, dynlib: gobjectlib, importc: "g_object_class_list_properties".}
-proc g_object_set_property*(anObject: PGObject, property_name: cstring,
-                            value: PGValue){.cdecl, dynlib: gobjectlib,
-    importc: "g_object_set_property".}
-proc g_object_get_property*(anObject: PGObject, property_name: cstring,
-                            value: PGValue){.cdecl, dynlib: gobjectlib,
-    importc: "g_object_get_property".}
-proc g_object_freeze_notify*(anObject: PGObject){.cdecl, dynlib: gobjectlib,
-    importc: "g_object_freeze_notify".}
-proc g_object_notify*(anObject: PGObject, property_name: cstring){.cdecl,
-    dynlib: gobjectlib, importc: "g_object_notify".}
-proc g_object_thaw_notify*(anObject: PGObject){.cdecl, dynlib: gobjectlib,
-    importc: "g_object_thaw_notify".}
-proc g_object_ref*(anObject: gpointer): gpointer{.cdecl, dynlib: gobjectlib,
-    importc: "g_object_ref".}
-proc g_object_unref*(anObject: gpointer){.cdecl, dynlib: gobjectlib,
-    importc: "g_object_unref".}
-proc g_object_weak_ref*(anObject: PGObject, notify: TGWeakNotify, data: gpointer){.
-    cdecl, dynlib: gobjectlib, importc: "g_object_weak_ref".}
-proc g_object_weak_unref*(anObject: PGObject, notify: TGWeakNotify,
-                          data: gpointer){.cdecl, dynlib: gobjectlib,
-    importc: "g_object_weak_unref".}
-proc g_object_add_weak_pointer*(anObject: PGObject,
-                                weak_pointer_location: Pgpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_object_add_weak_pointer".}
-proc g_object_remove_weak_pointer*(anObject: PGObject,
-                                   weak_pointer_location: Pgpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_object_remove_weak_pointer".}
-proc g_object_get_qdata*(anObject: PGObject, quark: TGQuark): gpointer{.cdecl,
-    dynlib: gobjectlib, importc: "g_object_get_qdata".}
-proc g_object_set_qdata*(anObject: PGObject, quark: TGQuark, data: gpointer){.
-    cdecl, dynlib: gobjectlib, importc: "g_object_set_qdata".}
-proc g_object_set_qdata_full*(anObject: PGObject, quark: TGQuark,
-                              data: gpointer, destroy: TGDestroyNotify){.cdecl,
-    dynlib: gobjectlib, importc: "g_object_set_qdata_full".}
-proc g_object_steal_qdata*(anObject: PGObject, quark: TGQuark): gpointer{.cdecl,
-    dynlib: gobjectlib, importc: "g_object_steal_qdata".}
-proc g_object_get_data*(anObject: PGObject, key: cstring): gpointer{.cdecl,
-    dynlib: gobjectlib, importc: "g_object_get_data".}
-proc g_object_set_data*(anObject: PGObject, key: cstring, data: gpointer){.
-    cdecl, dynlib: gobjectlib, importc: "g_object_set_data".}
-proc g_object_set_data_full*(anObject: PGObject, key: cstring, data: gpointer,
-                             destroy: TGDestroyNotify){.cdecl,
-    dynlib: gobjectlib, importc: "g_object_set_data_full".}
-proc g_object_steal_data*(anObject: PGObject, key: cstring): gpointer{.cdecl,
-    dynlib: gobjectlib, importc: "g_object_steal_data".}
-proc g_object_watch_closure*(anObject: PGObject, closure: PGClosure){.cdecl,
-    dynlib: gobjectlib, importc: "g_object_watch_closure".}
-proc g_cclosure_new_object*(callback_func: TGCallback, anObject: PGObject): PGClosure{.
-    cdecl, dynlib: gobjectlib, importc: "g_cclosure_new_object".}
-proc g_cclosure_new_object_swap*(callback_func: TGCallback, anObject: PGObject): PGClosure{.
-    cdecl, dynlib: gobjectlib, importc: "g_cclosure_new_object_swap".}
-proc g_closure_new_object*(sizeof_closure: guint, anObject: PGObject): PGClosure{.
-    cdecl, dynlib: gobjectlib, importc: "g_closure_new_object".}
-proc g_value_set_object*(value: PGValue, v_object: gpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_object".}
-proc g_value_get_object*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_object".}
-proc g_value_dup_object*(value: PGValue): PGObject{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_dup_object".}
-proc g_signal_connect_object*(instance: gpointer, detailed_signal: cstring,
-                              c_handler: TGCallback, gobject: gpointer,
-                              connect_flags: TGConnectFlags): gulong{.cdecl,
-    dynlib: gobjectlib, importc: "g_signal_connect_object".}
-proc g_object_run_dispose*(anObject: PGObject){.cdecl, dynlib: gobjectlib,
-    importc: "g_object_run_dispose".}
-proc g_value_set_object_take_ownership*(value: PGValue, v_object: gpointer){.
-    cdecl, dynlib: gobjectlib, importc: "g_value_set_object_take_ownership".}
-proc G_OBJECT_WARN_INVALID_PSPEC*(anObject: gpointer, pname: cstring,
-                                  property_id: gint, pspec: gpointer)
-proc G_OBJECT_WARN_INVALID_PROPERTY_ID*(anObject: gpointer, property_id: gint,
-                                        pspec: gpointer)
-type
-  G_FLAGS_TYPE* = GType
-
-const
-  G_E* = 2.7182818284590451
-  G_LN2* = 0.6931471805599452
-  G_LN10* = 2.3025850929940455
-  G_PI* = 3.1415926535897936
-  G_PI_2* = 1.5707963267948968
-  G_PI_4* = 0.7853981633974483
-  G_SQRT2* = 1.4142135623730951
-  G_LITTLE_ENDIAN* = 1234
-  G_BIG_ENDIAN* = 4321
-  G_PDP_ENDIAN* = 3412
-
-proc GUINT16_SWAP_LE_BE_CONSTANT*(val: guint16): guint16
-proc GUINT32_SWAP_LE_BE_CONSTANT*(val: guint32): guint32
-type
-  PGEnumClass* = ptr TGEnumClass
-  PGEnumValue* = ptr TGEnumValue
-  TGEnumClass* {.final.} = object
-    g_type_class*: TGTypeClass
-    minimum*: gint
-    maximum*: gint
-    n_values*: guint
-    values*: PGEnumValue
-
-  TGEnumValue* {.final.} = object
-    value*: gint
-    value_name*: cstring
-    value_nick*: cstring
-
-  PGFlagsClass* = ptr TGFlagsClass
-  PGFlagsValue* = ptr TGFlagsValue
-  TGFlagsClass* {.final.} = object
-    g_type_class*: TGTypeClass
-    mask*: guint
-    n_values*: guint
-    values*: PGFlagsValue
-
-  TGFlagsValue* {.final.} = object
-    value*: guint
-    value_name*: cstring
-    value_nick*: cstring
-
-
-proc G_TYPE_IS_ENUM*(theType: GType): gboolean
-proc G_ENUM_CLASS*(class: pointer): PGEnumClass
-proc G_IS_ENUM_CLASS*(class: pointer): gboolean
-proc G_ENUM_CLASS_TYPE*(class: pointer): GType
-proc G_ENUM_CLASS_TYPE_NAME*(class: pointer): cstring
-proc G_TYPE_IS_FLAGS*(theType: GType): gboolean
-proc G_FLAGS_CLASS*(class: pointer): PGFlagsClass
-proc G_IS_FLAGS_CLASS*(class: pointer): gboolean
-proc G_FLAGS_CLASS_TYPE*(class: pointer): GType
-proc G_FLAGS_CLASS_TYPE_NAME*(class: pointer): cstring
-proc G_VALUE_HOLDS_ENUM*(value: pointer): gboolean
-proc G_VALUE_HOLDS_FLAGS*(value: pointer): gboolean
-proc g_enum_get_value*(enum_class: PGEnumClass, value: gint): PGEnumValue{.
-    cdecl, dynlib: gliblib, importc: "g_enum_get_value".}
-proc g_enum_get_value_by_name*(enum_class: PGEnumClass, name: cstring): PGEnumValue{.
-    cdecl, dynlib: gliblib, importc: "g_enum_get_value_by_name".}
-proc g_enum_get_value_by_nick*(enum_class: PGEnumClass, nick: cstring): PGEnumValue{.
-    cdecl, dynlib: gliblib, importc: "g_enum_get_value_by_nick".}
-proc g_flags_get_first_value*(flags_class: PGFlagsClass, value: guint): PGFlagsValue{.
-    cdecl, dynlib: gliblib, importc: "g_flags_get_first_value".}
-proc g_flags_get_value_by_name*(flags_class: PGFlagsClass, name: cstring): PGFlagsValue{.
-    cdecl, dynlib: gliblib, importc: "g_flags_get_value_by_name".}
-proc g_flags_get_value_by_nick*(flags_class: PGFlagsClass, nick: cstring): PGFlagsValue{.
-    cdecl, dynlib: gliblib, importc: "g_flags_get_value_by_nick".}
-proc g_value_set_enum*(value: PGValue, v_enum: gint){.cdecl, dynlib: gliblib,
-    importc: "g_value_set_enum".}
-proc g_value_get_enum*(value: PGValue): gint{.cdecl, dynlib: gliblib,
-    importc: "g_value_get_enum".}
-proc g_value_set_flags*(value: PGValue, v_flags: guint){.cdecl, dynlib: gliblib,
-    importc: "g_value_set_flags".}
-proc g_value_get_flags*(value: PGValue): guint{.cdecl, dynlib: gliblib,
-    importc: "g_value_get_flags".}
-proc g_enum_register_static*(name: cstring, const_static_values: PGEnumValue): GType{.
-    cdecl, dynlib: gliblib, importc: "g_enum_register_static".}
-proc g_flags_register_static*(name: cstring, const_static_values: PGFlagsValue): GType{.
-    cdecl, dynlib: gliblib, importc: "g_flags_register_static".}
-proc g_enum_complete_type_info*(g_enum_type: GType, info: PGTypeInfo,
-                                const_values: PGEnumValue){.cdecl,
-    dynlib: gliblib, importc: "g_enum_complete_type_info".}
-proc g_flags_complete_type_info*(g_flags_type: GType, info: PGTypeInfo,
-                                 const_values: PGFlagsValue){.cdecl,
-    dynlib: gliblib, importc: "g_flags_complete_type_info".}
-const
-  G_MINFLOAT* = 0.0
-  G_MAXFLOAT* = 1.6999999999999995E308
-  G_MINDOUBLE* = G_MINFLOAT
-  G_MAXDOUBLE* = G_MAXFLOAT
-  G_MAXSHORT* = 32767
-  G_MINSHORT* = - G_MAXSHORT - 1
-  G_MAXUSHORT* = 2 * G_MAXSHORT + 1
-  G_MAXINT* = 2147483647
-  G_MININT* = - G_MAXINT - 1
-  G_MAXUINT* = -1
-  G_MINLONG* = G_MININT
-  G_MAXLONG* = G_MAXINT
-  G_MAXULONG* = G_MAXUINT
-  G_MAXINT64* = high(int64)
-  G_MININT64* = low(int64)
-
-const
-  G_GINT16_FORMAT* = "hi"
-  G_GUINT16_FORMAT* = "hu"
-  G_GINT32_FORMAT* = 'i'
-  G_GUINT32_FORMAT* = 'u'
-  G_HAVE_GINT64* = 1
-  G_GINT64_FORMAT* = "I64i"
-  G_GUINT64_FORMAT* = "I64u"
-  GLIB_SIZEOF_VOID_P* = SizeOf(Pointer)
-  GLIB_SIZEOF_LONG* = SizeOf(int32)
-  GLIB_SIZEOF_SIZE_T* = SizeOf(int32)
-
-type
-  PGSystemThread* = ptr TGSystemThread
-  TGSystemThread* {.final.} = object
-    data*: array[0..3, char]
-    dummy_double*: float64
-    dummy_pointer*: pointer
-    dummy_long*: int32
-
-
-const
-  GLIB_SYSDEF_POLLIN* = 1
-  GLIB_SYSDEF_POLLOUT* = 4
-  GLIB_SYSDEF_POLLPRI* = 2
-  GLIB_SYSDEF_POLLERR* = 8
-  GLIB_SYSDEF_POLLHUP* = 16
-  GLIB_SYSDEF_POLLNVAL* = 32
-
-proc GUINT_TO_POINTER*(i: guint): pointer
-type
-  PGAsciiType* = ptr TGAsciiType
-  TGAsciiType* = int32
-
-const
-  G_ASCII_ALNUM* = 1 shl 0
-  G_ASCII_ALPHA* = 1 shl 1
-  G_ASCII_CNTRL* = 1 shl 2
-  G_ASCII_DIGIT* = 1 shl 3
-  G_ASCII_GRAPH* = 1 shl 4
-  G_ASCII_LOWER* = 1 shl 5
-  G_ASCII_PRINT* = 1 shl 6
-  G_ASCII_PUNCT* = 1 shl 7
-  G_ASCII_SPACE* = 1 shl 8
-  G_ASCII_UPPER* = 1 shl 9
-  G_ASCII_XDIGIT* = 1 shl 10
-
-proc g_ascii_tolower*(c: gchar): gchar{.cdecl, dynlib: gliblib,
-                                        importc: "g_ascii_tolower".}
-proc g_ascii_toupper*(c: gchar): gchar{.cdecl, dynlib: gliblib,
-                                        importc: "g_ascii_toupper".}
-proc g_ascii_digit_value*(c: gchar): gint{.cdecl, dynlib: gliblib,
-    importc: "g_ascii_digit_value".}
-proc g_ascii_xdigit_value*(c: gchar): gint{.cdecl, dynlib: gliblib,
-    importc: "g_ascii_xdigit_value".}
-const
-  G_STR_DELIMITERS* = "``-|> <."
-
-proc g_strdelimit*(str: cstring, delimiters: cstring, new_delimiter: gchar): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_strdelimit".}
-proc g_strcanon*(str: cstring, valid_chars: cstring, substitutor: gchar): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_strcanon".}
-proc g_strerror*(errnum: gint): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_strerror".}
-proc g_strsignal*(signum: gint): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_strsignal".}
-proc g_strreverse*(str: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_strreverse".}
-proc g_strlcpy*(dest: cstring, src: cstring, dest_size: gsize): gsize{.cdecl,
-    dynlib: gliblib, importc: "g_strlcpy".}
-proc g_strlcat*(dest: cstring, src: cstring, dest_size: gsize): gsize{.cdecl,
-    dynlib: gliblib, importc: "g_strlcat".}
-proc g_strstr_len*(haystack: cstring, haystack_len: gssize, needle: cstring): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_strstr_len".}
-proc g_strrstr*(haystack: cstring, needle: cstring): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_strrstr".}
-proc g_strrstr_len*(haystack: cstring, haystack_len: gssize, needle: cstring): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_strrstr_len".}
-proc g_str_has_suffix*(str: cstring, suffix: cstring): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_str_has_suffix".}
-proc g_str_has_prefix*(str: cstring, prefix: cstring): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_str_has_prefix".}
-proc g_strtod*(nptr: cstring, endptr: PPgchar): gdouble{.cdecl, dynlib: gliblib,
-    importc: "g_strtod".}
-proc g_ascii_strtod*(nptr: cstring, endptr: PPgchar): gdouble{.cdecl,
-    dynlib: gliblib, importc: "g_ascii_strtod".}
-const
-  G_ASCII_DTOSTR_BUF_SIZE* = 29 + 10
-
-proc g_ascii_dtostr*(buffer: cstring, buf_len: gint, d: gdouble): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_ascii_dtostr".}
-proc g_ascii_formatd*(buffer: cstring, buf_len: gint, format: cstring,
-                      d: gdouble): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_ascii_formatd".}
-proc g_strchug*(str: cstring): cstring{.cdecl, dynlib: gliblib,
-                                        importc: "g_strchug".}
-proc g_strchomp*(str: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_strchomp".}
-proc g_ascii_strcasecmp*(s1: cstring, s2: cstring): gint{.cdecl,
-    dynlib: gliblib, importc: "g_ascii_strcasecmp".}
-proc g_ascii_strncasecmp*(s1: cstring, s2: cstring, n: gsize): gint{.cdecl,
-    dynlib: gliblib, importc: "g_ascii_strncasecmp".}
-proc g_ascii_strdown*(str: cstring, len: gssize): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_ascii_strdown".}
-proc g_ascii_strup*(str: cstring, len: gssize): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_ascii_strup".}
-proc g_strdup*(str: cstring): cstring{.cdecl, dynlib: gliblib,
-                                       importc: "g_strdup".}
-proc g_strndup*(str: cstring, n: gsize): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_strndup".}
-proc g_strnfill*(length: gsize, fill_char: gchar): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_strnfill".}
-proc g_strcompress*(source: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_strcompress".}
-proc g_strescape*(source: cstring, exceptions: cstring): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_strescape".}
-proc g_memdup*(mem: gconstpointer, byte_size: guint): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_memdup".}
-proc g_strsplit*(str: cstring, delimiter: cstring, max_tokens: gint): PPgchar{.
-    cdecl, dynlib: gliblib, importc: "g_strsplit".}
-proc g_strjoinv*(separator: cstring, str_array: PPgchar): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_strjoinv".}
-proc g_strfreev*(str_array: PPgchar){.cdecl, dynlib: gliblib,
-                                      importc: "g_strfreev".}
-proc g_strdupv*(str_array: PPgchar): PPgchar{.cdecl, dynlib: gliblib,
-    importc: "g_strdupv".}
-proc g_stpcpy*(dest: cstring, src: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_stpcpy".}
-proc g_get_user_name*(): cstring{.cdecl, dynlib: gliblib,
-                                  importc: "g_get_user_name".}
-proc g_get_real_name*(): cstring{.cdecl, dynlib: gliblib,
-                                  importc: "g_get_real_name".}
-proc g_get_home_dir*(): cstring{.cdecl, dynlib: gliblib,
-                                 importc: "g_get_home_dir".}
-proc g_get_tmp_dir*(): cstring{.cdecl, dynlib: gliblib, importc: "g_get_tmp_dir".}
-proc g_get_prgname*(): cstring{.cdecl, dynlib: gliblib, importc: "g_get_prgname".}
-proc g_set_prgname*(prgname: cstring){.cdecl, dynlib: gliblib,
-                                       importc: "g_set_prgname".}
-type
-  PGDebugKey* = ptr TGDebugKey
-  TGDebugKey* {.final.} = object
-    key*: cstring
-    value*: guint
-
-
-proc g_parse_debug_string*(str: cstring, keys: PGDebugKey, nkeys: guint): guint{.
-    cdecl, dynlib: gliblib, importc: "g_parse_debug_string".}
-proc g_path_is_absolute*(file_name: cstring): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_path_is_absolute".}
-proc g_path_skip_root*(file_name: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_path_skip_root".}
-proc g_basename*(file_name: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_basename".}
-proc g_dirname*(file_name: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_path_get_dirname".}
-proc g_get_current_dir*(): cstring{.cdecl, dynlib: gliblib,
-                                    importc: "g_get_current_dir".}
-proc g_path_get_basename*(file_name: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_path_get_basename".}
-proc g_path_get_dirname*(file_name: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_path_get_dirname".}
-proc g_nullify_pointer*(nullify_location: Pgpointer){.cdecl, dynlib: gliblib,
-    importc: "g_nullify_pointer".}
-proc g_getenv*(variable: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_getenv".}
-type
-  TGVoidFunc* = proc (){.cdecl.}
-
-proc g_atexit*(func: TGVoidFunc){.cdecl, dynlib: gliblib, importc: "g_atexit".}
-proc g_find_program_in_path*(program: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_find_program_in_path".}
-proc g_bit_nth_lsf*(mask: gulong, nth_bit: gint): gint{.cdecl, dynlib: gliblib,
-    importc: "g_bit_nth_lsf".}
-proc g_bit_nth_msf*(mask: gulong, nth_bit: gint): gint{.cdecl, dynlib: gliblib,
-    importc: "g_bit_nth_msf".}
-proc g_bit_storage*(number: gulong): guint{.cdecl, dynlib: gliblib,
-    importc: "g_bit_storage".}
-type
-  PPGTrashStack* = ptr PGTrashStack
-  PGTrashStack* = ptr TGTrashStack
-  TGTrashStack* {.final.} = object
-    next*: PGTrashStack
-
-
-proc g_trash_stack_push*(stack_p: PPGTrashStack, data_p: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_trash_stack_push".}
-proc g_trash_stack_pop*(stack_p: PPGTrashStack): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_trash_stack_pop".}
-proc g_trash_stack_peek*(stack_p: PPGTrashStack): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_trash_stack_peek".}
-proc g_trash_stack_height*(stack_p: PPGTrashStack): guint{.cdecl,
-    dynlib: gliblib, importc: "g_trash_stack_height".}
-type
-  PGHashTable* = pointer
-  TGHRFunc* = proc (key, value, user_data: gpointer): gboolean{.cdecl.}
-
-proc g_hash_table_new*(hash_func: TGHashFunc, key_equal_func: TGEqualFunc): PGHashTable{.
-    cdecl, dynlib: gliblib, importc: "g_hash_table_new".}
-proc g_hash_table_new_full*(hash_func: TGHashFunc, key_equal_func: TGEqualFunc,
-                            key_destroy_func: TGDestroyNotify,
-                            value_destroy_func: TGDestroyNotify): PGHashTable{.
-    cdecl, dynlib: gliblib, importc: "g_hash_table_new_full".}
-proc g_hash_table_destroy*(hash_table: PGHashTable){.cdecl, dynlib: gliblib,
-    importc: "g_hash_table_destroy".}
-proc g_hash_table_insert*(hash_table: PGHashTable, key: gpointer,
-                          value: gpointer){.cdecl, dynlib: gliblib,
-    importc: "g_hash_table_insert".}
-proc g_hash_table_replace*(hash_table: PGHashTable, key: gpointer,
-                           value: gpointer){.cdecl, dynlib: gliblib,
-    importc: "g_hash_table_replace".}
-proc g_hash_table_remove*(hash_table: PGHashTable, key: gconstpointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_hash_table_remove".}
-proc g_hash_table_steal*(hash_table: PGHashTable, key: gconstpointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_hash_table_steal".}
-proc g_hash_table_lookup*(hash_table: PGHashTable, key: gconstpointer): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_hash_table_lookup".}
-proc g_hash_table_lookup_extended*(hash_table: PGHashTable,
-                                   lookup_key: gconstpointer,
-                                   orig_key: Pgpointer, value: Pgpointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_hash_table_lookup_extended".}
-proc g_hash_table_foreach*(hash_table: PGHashTable, func: TGHFunc,
-                           user_data: gpointer){.cdecl, dynlib: gliblib,
-    importc: "g_hash_table_foreach".}
-proc g_hash_table_foreach_remove*(hash_table: PGHashTable, func: TGHRFunc,
-                                  user_data: gpointer): guint{.cdecl,
-    dynlib: gliblib, importc: "g_hash_table_foreach_remove".}
-proc g_hash_table_foreach_steal*(hash_table: PGHashTable, func: TGHRFunc,
-                                 user_data: gpointer): guint{.cdecl,
-    dynlib: gliblib, importc: "g_hash_table_foreach_steal".}
-proc g_hash_table_size*(hash_table: PGHashTable): guint{.cdecl, dynlib: gliblib,
-    importc: "g_hash_table_size".}
-proc g_str_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_str_equal".}
-proc g_str_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib,
-    importc: "g_str_hash".}
-proc g_int_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_int_equal".}
-proc g_int_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib,
-    importc: "g_int_hash".}
-proc g_direct_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib,
-    importc: "g_direct_hash".}
-proc g_direct_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_direct_equal".}
-proc g_quark_try_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib,
-    importc: "g_quark_try_string".}
-proc g_quark_from_static_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib,
-    importc: "g_quark_from_static_string".}
-proc g_quark_from_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib,
-    importc: "g_quark_from_string".}
-proc g_quark_to_string*(quark: TGQuark): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_quark_to_string".}
-const
-  G_MEM_ALIGN* = GLIB_SIZEOF_VOID_P
-
-type
-  PGMemVTable* = ptr TGMemVTable
-  TGMemVTable* {.final.} = object
-    malloc*: proc (n_bytes: gsize): gpointer{.cdecl.}
-    realloc*: proc (mem: gpointer, n_bytes: gsize): gpointer{.cdecl.}
-    free*: proc (mem: gpointer){.cdecl.}
-    calloc*: proc (n_blocks: gsize, n_block_bytes: gsize): gpointer{.cdecl.}
-    try_malloc*: proc (n_bytes: gsize): gpointer{.cdecl.}
-    try_realloc*: proc (mem: gpointer, n_bytes: gsize): gpointer{.cdecl.}
-
-  PGMemChunk* = pointer
-  PGAllocator* = pointer
-
-proc g_malloc*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_malloc".}
-proc g_malloc0*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_malloc0".}
-proc g_realloc*(mem: gpointer, n_bytes: gulong): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_realloc".}
-proc g_free*(mem: gpointer){.cdecl, dynlib: gliblib, importc: "g_free".}
-proc g_try_malloc*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_try_malloc".}
-proc g_try_realloc*(mem: gpointer, n_bytes: gulong): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_try_realloc".}
-#proc g_new*(bytes_per_struct, n_structs: gsize): gpointer
-#proc g_new0*(bytes_per_struct, n_structs: gsize): gpointer
-#proc g_renew*(struct_size: gsize, OldMem: gpointer, n_structs: gsize): gpointer
-proc g_mem_set_vtable*(vtable: PGMemVTable){.cdecl, dynlib: gliblib,
-    importc: "g_mem_set_vtable".}
-proc g_mem_is_system_malloc*(): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_mem_is_system_malloc".}
-proc g_mem_profile*(){.cdecl, dynlib: gliblib, importc: "g_mem_profile".}
-proc g_chunk_new*(chunk: Pointer): Pointer
-proc g_chunk_new0*(chunk: Pointer): Pointer
-proc g_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer)
-const
-  G_ALLOC_ONLY* = 1
-  G_ALLOC_AND_FREE* = 2
-
-proc g_mem_chunk_new*(name: cstring, atom_size: gint, area_size: gulong,
-                      theType: gint): PGMemChunk{.cdecl, dynlib: gliblib,
-    importc: "g_mem_chunk_new".}
-proc g_mem_chunk_destroy*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib,
-    importc: "g_mem_chunk_destroy".}
-proc g_mem_chunk_alloc*(mem_chunk: PGMemChunk): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_mem_chunk_alloc".}
-proc g_mem_chunk_alloc0*(mem_chunk: PGMemChunk): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_mem_chunk_alloc0".}
-proc g_mem_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_mem_chunk_free".}
-proc g_mem_chunk_clean*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib,
-    importc: "g_mem_chunk_clean".}
-proc g_mem_chunk_reset*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib,
-    importc: "g_mem_chunk_reset".}
-proc g_mem_chunk_print*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib,
-    importc: "g_mem_chunk_print".}
-proc g_mem_chunk_info*(){.cdecl, dynlib: gliblib, importc: "g_mem_chunk_info".}
-proc g_blow_chunks*(){.cdecl, dynlib: gliblib, importc: "g_blow_chunks".}
-proc g_allocator_new*(name: cstring, n_preallocs: guint): PGAllocator{.cdecl,
-    dynlib: gliblib, importc: "g_allocator_new".}
-proc g_allocator_free*(allocator: PGAllocator){.cdecl, dynlib: gliblib,
-    importc: "g_allocator_free".}
-const
-  G_ALLOCATOR_LIST* = 1
-  G_ALLOCATOR_SLIST* = 2
-  G_ALLOCATOR_NODE* = 3
-
-proc g_slist_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib,
-    importc: "g_slist_push_allocator".}
-proc g_slist_pop_allocator*(){.cdecl, dynlib: gliblib,
-                               importc: "g_slist_pop_allocator".}
-proc g_slist_alloc*(): PGSList{.cdecl, dynlib: gliblib, importc: "g_slist_alloc".}
-proc g_slist_free*(list: PGSList){.cdecl, dynlib: gliblib,
-                                   importc: "g_slist_free".}
-proc g_slist_free_1*(list: PGSList){.cdecl, dynlib: gliblib,
-                                     importc: "g_slist_free_1".}
-proc g_slist_append*(list: PGSList, data: gpointer): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_append".}
-proc g_slist_prepend*(list: PGSList, data: gpointer): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_prepend".}
-proc g_slist_insert*(list: PGSList, data: gpointer, position: gint): PGSList{.
-    cdecl, dynlib: gliblib, importc: "g_slist_insert".}
-proc g_slist_insert_sorted*(list: PGSList, data: gpointer, func: TGCompareFunc): PGSList{.
-    cdecl, dynlib: gliblib, importc: "g_slist_insert_sorted".}
-proc g_slist_insert_before*(slist: PGSList, sibling: PGSList, data: gpointer): PGSList{.
-    cdecl, dynlib: gliblib, importc: "g_slist_insert_before".}
-proc g_slist_concat*(list1: PGSList, list2: PGSList): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_concat".}
-proc g_slist_remove*(list: PGSList, data: gconstpointer): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_remove".}
-proc g_slist_remove_all*(list: PGSList, data: gconstpointer): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_remove_all".}
-proc g_slist_remove_link*(list: PGSList, link: PGSList): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_remove_link".}
-proc g_slist_delete_link*(list: PGSList, link: PGSList): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_delete_link".}
-proc g_slist_reverse*(list: PGSList): PGSList{.cdecl, dynlib: gliblib,
-    importc: "g_slist_reverse".}
-proc g_slist_copy*(list: PGSList): PGSList{.cdecl, dynlib: gliblib,
-    importc: "g_slist_copy".}
-proc g_slist_nth*(list: PGSList, n: guint): PGSList{.cdecl, dynlib: gliblib,
-    importc: "g_slist_nth".}
-proc g_slist_find*(list: PGSList, data: gconstpointer): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_find".}
-proc g_slist_find_custom*(list: PGSList, data: gconstpointer,
-                          func: TGCompareFunc): PGSList{.cdecl, dynlib: gliblib,
-    importc: "g_slist_find_custom".}
-proc g_slist_position*(list: PGSList, llink: PGSList): gint{.cdecl,
-    dynlib: gliblib, importc: "g_slist_position".}
-proc g_slist_index*(list: PGSList, data: gconstpointer): gint{.cdecl,
-    dynlib: gliblib, importc: "g_slist_index".}
-proc g_slist_last*(list: PGSList): PGSList{.cdecl, dynlib: gliblib,
-    importc: "g_slist_last".}
-proc g_slist_length*(list: PGSList): guint{.cdecl, dynlib: gliblib,
-    importc: "g_slist_length".}
-proc g_slist_foreach*(list: PGSList, func: TGFunc, user_data: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_slist_foreach".}
-proc g_slist_sort*(list: PGSList, compare_func: TGCompareFunc): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_sort".}
-proc g_slist_sort_with_data*(list: PGSList, compare_func: TGCompareDataFunc,
-                             user_data: gpointer): PGSList{.cdecl,
-    dynlib: gliblib, importc: "g_slist_sort_with_data".}
-proc g_slist_nth_data*(list: PGSList, n: guint): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_slist_nth_data".}
-proc g_slist_next*(slist: PGSList): PGSList
-proc g_list_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib,
-    importc: "g_list_push_allocator".}
-proc g_list_pop_allocator*(){.cdecl, dynlib: gliblib,
-                              importc: "g_list_pop_allocator".}
-proc g_list_alloc*(): PGList{.cdecl, dynlib: gliblib, importc: "g_list_alloc".}
-proc g_list_free*(list: PGList){.cdecl, dynlib: gliblib, importc: "g_list_free".}
-proc g_list_free_1*(list: PGList){.cdecl, dynlib: gliblib,
-                                   importc: "g_list_free_1".}
-proc g_list_append*(list: PGList, data: gpointer): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_append".}
-proc g_list_prepend*(list: PGList, data: gpointer): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_prepend".}
-proc g_list_insert*(list: PGList, data: gpointer, position: gint): PGList{.
-    cdecl, dynlib: gliblib, importc: "g_list_insert".}
-proc g_list_insert_sorted*(list: PGList, data: gpointer, func: TGCompareFunc): PGList{.
-    cdecl, dynlib: gliblib, importc: "g_list_insert_sorted".}
-proc g_list_insert_before*(list: PGList, sibling: PGList, data: gpointer): PGList{.
-    cdecl, dynlib: gliblib, importc: "g_list_insert_before".}
-proc g_list_concat*(list1: PGList, list2: PGList): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_concat".}
-proc g_list_remove*(list: PGList, data: gconstpointer): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_remove".}
-proc g_list_remove_all*(list: PGList, data: gconstpointer): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_remove_all".}
-proc g_list_remove_link*(list: PGList, llink: PGList): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_remove_link".}
-proc g_list_delete_link*(list: PGList, link: PGList): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_delete_link".}
-proc g_list_reverse*(list: PGList): PGList{.cdecl, dynlib: gliblib,
-    importc: "g_list_reverse".}
-proc g_list_copy*(list: PGList): PGList{.cdecl, dynlib: gliblib,
-    importc: "g_list_copy".}
-proc g_list_nth*(list: PGList, n: guint): PGList{.cdecl, dynlib: gliblib,
-    importc: "g_list_nth".}
-proc g_list_nth_prev*(list: PGList, n: guint): PGList{.cdecl, dynlib: gliblib,
-    importc: "g_list_nth_prev".}
-proc g_list_find*(list: PGList, data: gconstpointer): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_find".}
-proc g_list_find_custom*(list: PGList, data: gconstpointer, func: TGCompareFunc): PGList{.
-    cdecl, dynlib: gliblib, importc: "g_list_find_custom".}
-proc g_list_position*(list: PGList, llink: PGList): gint{.cdecl,
-    dynlib: gliblib, importc: "g_list_position".}
-proc g_list_index*(list: PGList, data: gconstpointer): gint{.cdecl,
-    dynlib: gliblib, importc: "g_list_index".}
-proc g_list_last*(list: PGList): PGList{.cdecl, dynlib: gliblib,
-    importc: "g_list_last".}
-proc g_list_first*(list: PGList): PGList{.cdecl, dynlib: gliblib,
-    importc: "g_list_first".}
-proc g_list_length*(list: PGList): guint{.cdecl, dynlib: gliblib,
-    importc: "g_list_length".}
-proc g_list_foreach*(list: PGList, func: TGFunc, user_data: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_list_foreach".}
-proc g_list_sort*(list: PGList, compare_func: TGCompareFunc): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_sort".}
-proc g_list_sort_with_data*(list: PGList, compare_func: TGCompareDataFunc,
-                            user_data: gpointer): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_list_sort_with_data".}
-proc g_list_nth_data*(list: PGList, n: guint): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_list_nth_data".}
-proc g_list_previous*(list: PGList): PGList
-proc g_list_next*(list: PGList): PGList
-type
-  PGCache* = pointer
-  TGCacheNewFunc* = proc (key: gpointer): gpointer{.cdecl.}
-  TGCacheDupFunc* = proc (value: gpointer): gpointer{.cdecl.}
-  TGCacheDestroyFunc* = proc (value: gpointer){.cdecl.}
-
-proc g_cache_new*(value_new_func: TGCacheNewFunc,
-                  value_destroy_func: TGCacheDestroyFunc,
-                  key_dup_func: TGCacheDupFunc,
-                  key_destroy_func: TGCacheDestroyFunc,
-                  hash_key_func: TGHashFunc, hash_value_func: TGHashFunc,
-                  key_equal_func: TGEqualFunc): PGCache{.cdecl, dynlib: gliblib,
-    importc: "g_cache_new".}
-proc g_cache_destroy*(cache: PGCache){.cdecl, dynlib: gliblib,
-                                       importc: "g_cache_destroy".}
-proc g_cache_insert*(cache: PGCache, key: gpointer): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_cache_insert".}
-proc g_cache_remove*(cache: PGCache, value: gconstpointer){.cdecl,
-    dynlib: gliblib, importc: "g_cache_remove".}
-proc g_cache_key_foreach*(cache: PGCache, func: TGHFunc, user_data: gpointer){.
-    cdecl, dynlib: gliblib, importc: "g_cache_key_foreach".}
-proc g_cache_value_foreach*(cache: PGCache, func: TGHFunc, user_data: gpointer){.
-    cdecl, dynlib: gliblib, importc: "g_cache_value_foreach".}
-type
-  PGCompletionFunc* = ptr TGCompletionFunc
-  TGCompletionFunc* = gchar
-  TGCompletionStrncmpFunc* = proc (s1: cstring, s2: cstring, n: gsize): gint{.
-      cdecl.}
-  PGCompletion* = ptr TGCompletion
-  TGCompletion* {.final.} = object
-    items*: PGList
-    func*: TGCompletionFunc
-    prefix*: cstring
-    cache*: PGList
-    strncmp_func*: TGCompletionStrncmpFunc
-
-
-proc g_completion_new*(func: TGCompletionFunc): PGCompletion{.cdecl,
-    dynlib: gliblib, importc: "g_completion_new".}
-proc g_completion_add_items*(cmp: PGCompletion, items: PGList){.cdecl,
-    dynlib: gliblib, importc: "g_completion_add_items".}
-proc g_completion_remove_items*(cmp: PGCompletion, items: PGList){.cdecl,
-    dynlib: gliblib, importc: "g_completion_remove_items".}
-proc g_completion_clear_items*(cmp: PGCompletion){.cdecl, dynlib: gliblib,
-    importc: "g_completion_clear_items".}
-proc g_completion_complete*(cmp: PGCompletion, prefix: cstring,
-                            new_prefix: PPgchar): PGList{.cdecl,
-    dynlib: gliblib, importc: "g_completion_complete".}
-proc g_completion_set_compare*(cmp: PGCompletion,
-                               strncmp_func: TGCompletionStrncmpFunc){.cdecl,
-    dynlib: gliblib, importc: "g_completion_set_compare".}
-proc g_completion_free*(cmp: PGCompletion){.cdecl, dynlib: gliblib,
-    importc: "g_completion_free".}
-type
-  PGConvertError* = ptr TGConvertError
-  TGConvertError* = enum
-    G_CONVERT_ERROR_NO_CONVERSION, G_CONVERT_ERROR_ILLEGAL_SEQUENCE,
-    G_CONVERT_ERROR_FAILED, G_CONVERT_ERROR_PARTIAL_INPUT,
-    G_CONVERT_ERROR_BAD_URI, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH
-
-proc G_CONVERT_ERROR*(): TGQuark
-proc g_convert_error_quark*(): TGQuark{.cdecl, dynlib: gliblib,
-                                        importc: "g_convert_error_quark".}
-type
-  PGIConv* = ptr TGIConv
-  TGIConv* = pointer
-
-proc g_iconv_open*(to_codeset: cstring, from_codeset: cstring): TGIConv{.cdecl,
-    dynlib: gliblib, importc: "g_iconv_open".}
-proc g_iconv*(`converter`: TGIConv, inbuf: PPgchar, inbytes_left: Pgsize,
-              outbuf: PPgchar, outbytes_left: Pgsize): gsize{.cdecl,
-    dynlib: gliblib, importc: "g_iconv".}
-proc g_iconv_close*(`converter`: TGIConv): gint{.cdecl, dynlib: gliblib,
-    importc: "g_iconv_close".}
-proc g_convert*(str: cstring, len: gssize, to_codeset: cstring,
-                from_codeset: cstring, bytes_read: Pgsize,
-                bytes_written: Pgsize, error: pointer): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_convert".}
-proc g_convert_with_iconv*(str: cstring, len: gssize, `converter`: TGIConv,
-                           bytes_read: Pgsize, bytes_written: Pgsize,
-                           error: pointer): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_convert_with_iconv".}
-proc g_convert_with_fallback*(str: cstring, len: gssize, to_codeset: cstring,
-                              from_codeset: cstring, fallback: cstring,
-                              bytes_read: Pgsize, bytes_written: Pgsize,
-                              error: pointer): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_convert_with_fallback".}
-proc g_locale_to_utf8*(opsysstring: cstring, len: gssize, bytes_read: Pgsize,
-                       bytes_written: Pgsize, error: pointer): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_locale_to_utf8".}
-proc g_locale_from_utf8*(utf8string: cstring, len: gssize, bytes_read: Pgsize,
-                         bytes_written: Pgsize, error: pointer): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_locale_from_utf8".}
-proc g_filename_to_utf8*(opsysstring: cstring, len: gssize, bytes_read: Pgsize,
-                         bytes_written: Pgsize, error: pointer): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_filename_to_utf8".}
-proc g_filename_from_utf8*(utf8string: cstring, len: gssize, bytes_read: Pgsize,
-                           bytes_written: Pgsize, error: pointer): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_filename_from_utf8".}
-proc g_filename_from_uri*(uri: cstring, hostname: PPchar, error: pointer): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_filename_from_uri".}
-proc g_filename_to_uri*(filename: cstring, hostname: cstring, error: pointer): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_filename_to_uri".}
-type
-  TGDataForeachFunc* = proc (key_id: TGQuark, data: gpointer,
-                             user_data: gpointer){.cdecl.}
-
-proc g_datalist_init*(datalist: PPGData){.cdecl, dynlib: gliblib,
-    importc: "g_datalist_init".}
-proc g_datalist_clear*(datalist: PPGData){.cdecl, dynlib: gliblib,
-    importc: "g_datalist_clear".}
-proc g_datalist_id_get_data*(datalist: PPGData, key_id: TGQuark): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_datalist_id_get_data".}
-proc g_datalist_id_set_data_full*(datalist: PPGData, key_id: TGQuark,
-                                  data: gpointer, destroy_func: TGDestroyNotify){.
-    cdecl, dynlib: gliblib, importc: "g_datalist_id_set_data_full".}
-proc g_datalist_id_remove_no_notify*(datalist: PPGData, key_id: TGQuark): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_datalist_id_remove_no_notify".}
-proc g_datalist_foreach*(datalist: PPGData, func: TGDataForeachFunc,
-                         user_data: gpointer){.cdecl, dynlib: gliblib,
-    importc: "g_datalist_foreach".}
-proc g_datalist_id_set_data*(datalist: PPGData, key_id: TGQuark, data: gpointer)
-proc g_datalist_id_remove_data*(datalist: PPGData, key_id: TGQuark)
-proc g_datalist_get_data*(datalist: PPGData, key_str: cstring): PPGData
-proc g_datalist_set_data_full*(datalist: PPGData, key_str: cstring,
-                               data: gpointer, destroy_func: TGDestroyNotify)
-proc g_datalist_set_data*(datalist: PPGData, key_str: cstring, data: gpointer)
-proc g_datalist_remove_no_notify*(datalist: PPGData, key_str: cstring)
-proc g_datalist_remove_data*(datalist: PPGData, key_str: cstring)
-proc g_dataset_id_get_data*(dataset_location: gconstpointer, key_id: TGQuark): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_dataset_id_get_data".}
-proc g_dataset_id_set_data_full*(dataset_location: gconstpointer,
-                                 key_id: TGQuark, data: gpointer,
-                                 destroy_func: TGDestroyNotify){.cdecl,
-    dynlib: gliblib, importc: "g_dataset_id_set_data_full".}
-proc g_dataset_id_remove_no_notify*(dataset_location: gconstpointer,
-                                    key_id: TGQuark): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_dataset_id_remove_no_notify".}
-proc g_dataset_foreach*(dataset_location: gconstpointer,
-                        func: TGDataForeachFunc, user_data: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_dataset_foreach".}
-proc g_dataset_id_set_data*(location: gconstpointer, key_id: TGQuark,
-                            data: gpointer)
-proc g_dataset_id_remove_data*(location: gconstpointer, key_id: TGQuark)
-proc g_dataset_get_data*(location: gconstpointer, key_str: cstring): gpointer
-proc g_dataset_set_data_full*(location: gconstpointer, key_str: cstring,
-                              data: gpointer, destroy_func: TGDestroyNotify)
-proc g_dataset_remove_no_notify*(location: gconstpointer, key_str: cstring)
-proc g_dataset_set_data*(location: gconstpointer, key_str: cstring,
-                         data: gpointer)
-proc g_dataset_remove_data*(location: gconstpointer, key_str: cstring)
-type
-  PGTime* = ptr TGTime
-  TGTime* = gint32
-  PGDateYear* = ptr TGDateYear
-  TGDateYear* = guint16
-  PGDateDay* = ptr TGDateDay
-  TGDateDay* = guint8
-  Ptm* = ptr Ttm
-  Ttm* {.final.} = object
-    tm_sec*: gint
-    tm_min*: gint
-    tm_hour*: gint
-    tm_mday*: gint
-    tm_mon*: gint
-    tm_year*: gint
-    tm_wday*: gint
-    tm_yday*: gint
-    tm_isdst*: gint
-    tm_gmtoff*: glong
-    tm_zone*: cstring
-
-
-type
-  PGDateDMY* = ptr TGDateDMY
-  TGDateDMY* = int
-
-const
-  G_DATE_DAY* = 0
-  G_DATE_MONTH* = 1
-  G_DATE_YEAR* = 2
-
-type
-  PGDateWeekday* = ptr TGDateWeekday
-  TGDateWeekday* = int
-
-const
-  G_DATE_BAD_WEEKDAY* = 0
-  G_DATE_MONDAY* = 1
-  G_DATE_TUESDAY* = 2
-  G_DATE_WEDNESDAY* = 3
-  G_DATE_THURSDAY* = 4
-  G_DATE_FRIDAY* = 5
-  G_DATE_SATURDAY* = 6
-  G_DATE_SUNDAY* = 7
-
-type
-  PGDateMonth* = ptr TGDateMonth
-  TGDateMonth* = int
-
-const
-  G_DATE_BAD_MONTH* = 0
-  G_DATE_JANUARY* = 1
-  G_DATE_FEBRUARY* = 2
-  G_DATE_MARCH* = 3
-  G_DATE_APRIL* = 4
-  G_DATE_MAY* = 5
-  G_DATE_JUNE* = 6
-  G_DATE_JULY* = 7
-  G_DATE_AUGUST* = 8
-  G_DATE_SEPTEMBER* = 9
-  G_DATE_OCTOBER* = 10
-  G_DATE_NOVEMBER* = 11
-  G_DATE_DECEMBER* = 12
-
-const
-  G_DATE_BAD_JULIAN* = 0
-  G_DATE_BAD_DAY* = 0
-  G_DATE_BAD_YEAR* = 0
-
-type
-  PGDate* = ptr TGDate
-  TGDate* {.final.} = object
-    flag0*: int32
-    flag1*: int32
-
-
-proc g_date_new*(): PGDate{.cdecl, dynlib: gliblib, importc: "g_date_new".}
-proc g_date_new_dmy*(day: TGDateDay, month: TGDateMonth, year: TGDateYear): PGDate{.
-    cdecl, dynlib: gliblib, importc: "g_date_new_dmy".}
-proc g_date_new_julian*(julian_day: guint32): PGDate{.cdecl, dynlib: gliblib,
-    importc: "g_date_new_julian".}
-proc g_date_free*(date: PGDate){.cdecl, dynlib: gliblib, importc: "g_date_free".}
-proc g_date_valid*(date: PGDate): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_date_valid".}
-proc g_date_valid_month*(month: TGDateMonth): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_date_valid_month".}
-proc g_date_valid_year*(year: TGDateYear): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_date_valid_year".}
-proc g_date_valid_weekday*(weekday: TGDateWeekday): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_date_valid_weekday".}
-proc g_date_valid_julian*(julian_date: guint32): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_date_valid_julian".}
-proc g_date_get_weekday*(date: PGDate): TGDateWeekday{.cdecl, dynlib: gliblib,
-    importc: "g_date_get_weekday".}
-proc g_date_get_month*(date: PGDate): TGDateMonth{.cdecl, dynlib: gliblib,
-    importc: "g_date_get_month".}
-proc g_date_get_year*(date: PGDate): TGDateYear{.cdecl, dynlib: gliblib,
-    importc: "g_date_get_year".}
-proc g_date_get_day*(date: PGDate): TGDateDay{.cdecl, dynlib: gliblib,
-    importc: "g_date_get_day".}
-proc g_date_get_julian*(date: PGDate): guint32{.cdecl, dynlib: gliblib,
-    importc: "g_date_get_julian".}
-proc g_date_get_day_of_year*(date: PGDate): guint{.cdecl, dynlib: gliblib,
-    importc: "g_date_get_day_of_year".}
-proc g_date_get_monday_week_of_year*(date: PGDate): guint{.cdecl,
-    dynlib: gliblib, importc: "g_date_get_monday_week_of_year".}
-proc g_date_get_sunday_week_of_year*(date: PGDate): guint{.cdecl,
-    dynlib: gliblib, importc: "g_date_get_sunday_week_of_year".}
-proc g_date_clear*(date: PGDate, n_dates: guint){.cdecl, dynlib: gliblib,
-    importc: "g_date_clear".}
-proc g_date_set_parse*(date: PGDate, str: cstring){.cdecl, dynlib: gliblib,
-    importc: "g_date_set_parse".}
-proc g_date_set_time*(date: PGDate, time: TGTime){.cdecl, dynlib: gliblib,
-    importc: "g_date_set_time".}
-proc g_date_set_month*(date: PGDate, month: TGDateMonth){.cdecl,
-    dynlib: gliblib, importc: "g_date_set_month".}
-proc g_date_set_day*(date: PGDate, day: TGDateDay){.cdecl, dynlib: gliblib,
-    importc: "g_date_set_day".}
-proc g_date_set_year*(date: PGDate, year: TGDateYear){.cdecl, dynlib: gliblib,
-    importc: "g_date_set_year".}
-proc g_date_set_dmy*(date: PGDate, day: TGDateDay, month: TGDateMonth,
-                     y: TGDateYear){.cdecl, dynlib: gliblib,
-                                     importc: "g_date_set_dmy".}
-proc g_date_set_julian*(date: PGDate, julian_date: guint32){.cdecl,
-    dynlib: gliblib, importc: "g_date_set_julian".}
-proc g_date_is_first_of_month*(date: PGDate): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_date_is_first_of_month".}
-proc g_date_is_last_of_month*(date: PGDate): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_date_is_last_of_month".}
-proc g_date_add_days*(date: PGDate, n_days: guint){.cdecl, dynlib: gliblib,
-    importc: "g_date_add_days".}
-proc g_date_subtract_days*(date: PGDate, n_days: guint){.cdecl, dynlib: gliblib,
-    importc: "g_date_subtract_days".}
-proc g_date_add_months*(date: PGDate, n_months: guint){.cdecl, dynlib: gliblib,
-    importc: "g_date_add_months".}
-proc g_date_subtract_months*(date: PGDate, n_months: guint){.cdecl,
-    dynlib: gliblib, importc: "g_date_subtract_months".}
-proc g_date_add_years*(date: PGDate, n_years: guint){.cdecl, dynlib: gliblib,
-    importc: "g_date_add_years".}
-proc g_date_subtract_years*(date: PGDate, n_years: guint){.cdecl,
-    dynlib: gliblib, importc: "g_date_subtract_years".}
-proc g_date_is_leap_year*(year: TGDateYear): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_date_is_leap_year".}
-proc g_date_get_days_in_month*(month: TGDateMonth, year: TGDateYear): guint8{.
-    cdecl, dynlib: gliblib, importc: "g_date_get_days_in_month".}
-proc g_date_get_monday_weeks_in_year*(year: TGDateYear): guint8{.cdecl,
-    dynlib: gliblib, importc: "g_date_get_monday_weeks_in_year".}
-proc g_date_get_sunday_weeks_in_year*(year: TGDateYear): guint8{.cdecl,
-    dynlib: gliblib, importc: "g_date_get_sunday_weeks_in_year".}
-proc g_date_days_between*(date1: PGDate, date2: PGDate): gint{.cdecl,
-    dynlib: gliblib, importc: "g_date_days_between".}
-proc g_date_compare*(lhs: PGDate, rhs: PGDate): gint{.cdecl, dynlib: gliblib,
-    importc: "g_date_compare".}
-proc g_date_to_struct_tm*(date: PGDate, tm: Ptm){.cdecl, dynlib: gliblib,
-    importc: "g_date_to_struct_tm".}
-proc g_date_clamp*(date: PGDate, min_date: PGDate, max_date: PGDate){.cdecl,
-    dynlib: gliblib, importc: "g_date_clamp".}
-proc g_date_order*(date1: PGDate, date2: PGDate){.cdecl, dynlib: gliblib,
-    importc: "g_date_order".}
-proc g_date_strftime*(s: cstring, slen: gsize, format: cstring, date: PGDate): gsize{.
-    cdecl, dynlib: gliblib, importc: "g_date_strftime".}
-type
-  PGDir* = pointer
-
-proc g_dir_open*(path: cstring, flags: guint, error: pointer): PGDir{.cdecl,
-    dynlib: gliblib, importc: "g_dir_open".}
-proc g_dir_read_name*(dir: PGDir): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_dir_read_name".}
-proc g_dir_rewind*(dir: PGDir){.cdecl, dynlib: gliblib, importc: "g_dir_rewind".}
-proc g_dir_close*(dir: PGDir){.cdecl, dynlib: gliblib, importc: "g_dir_close".}
-type
-  PGFileError* = ptr TGFileError
-  TGFileError* = gint
-
-type
-  PGFileTest* = ptr TGFileTest
-  TGFileTest* = int
-
-const
-  G_FILE_TEST_IS_REGULAR* = 1 shl 0
-  G_FILE_TEST_IS_SYMLINK* = 1 shl 1
-  G_FILE_TEST_IS_DIR* = 1 shl 2
-  G_FILE_TEST_IS_EXECUTABLE* = 1 shl 3
-  G_FILE_TEST_EXISTS* = 1 shl 4
-
-const
-  G_FILE_ERROR_EXIST* = 0
-  G_FILE_ERROR_ISDIR* = 1
-  G_FILE_ERROR_ACCES* = 2
-  G_FILE_ERROR_NAMETOOLONG* = 3
-  G_FILE_ERROR_NOENT* = 4
-  G_FILE_ERROR_NOTDIR* = 5
-  G_FILE_ERROR_NXIO* = 6
-  G_FILE_ERROR_NODEV* = 7
-  G_FILE_ERROR_ROFS* = 8
-  G_FILE_ERROR_TXTBSY* = 9
-  G_FILE_ERROR_FAULT* = 10
-  G_FILE_ERROR_LOOP* = 11
-  G_FILE_ERROR_NOSPC* = 12
-  G_FILE_ERROR_NOMEM* = 13
-  G_FILE_ERROR_MFILE* = 14
-  G_FILE_ERROR_NFILE* = 15
-  G_FILE_ERROR_BADF* = 16
-  G_FILE_ERROR_INVAL* = 17
-  G_FILE_ERROR_PIPE* = 18
-  G_FILE_ERROR_AGAIN* = 19
-  G_FILE_ERROR_INTR* = 20
-  G_FILE_ERROR_IO* = 21
-  G_FILE_ERROR_PERM* = 22
-  G_FILE_ERROR_FAILED* = 23
-
-proc G_FILE_ERROR*(): TGQuark
-proc g_file_error_quark*(): TGQuark{.cdecl, dynlib: gliblib,
-                                     importc: "g_file_error_quark".}
-proc g_file_error_from_errno*(err_no: gint): TGFileError{.cdecl,
-    dynlib: gliblib, importc: "g_file_error_from_errno".}
-proc g_file_test*(filename: cstring, test: TGFileTest): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_file_test".}
-proc g_file_get_contents*(filename: cstring, contents: PPgchar, length: Pgsize,
-                          error: pointer): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_file_get_contents".}
-proc g_mkstemp*(tmpl: cstring): int32{.cdecl, dynlib: gliblib,
-                                       importc: "g_mkstemp".}
-proc g_file_open_tmp*(tmpl: cstring, name_used: PPchar, error: pointer): int32{.
-    cdecl, dynlib: gliblib, importc: "g_file_open_tmp".}
-type
-  PGHook* = ptr TGHook
-  TGHook* {.final.} = object
-    data*: gpointer
-    next*: PGHook
-    prev*: PGHook
-    ref_count*: guint
-    hook_id*: gulong
-    flags*: guint
-    func*: gpointer
-    destroy*: TGDestroyNotify
-
-  PGHookList* = ptr TGHookList
-  TGHookCompareFunc* = proc (new_hook: PGHook, sibling: PGHook): gint{.cdecl.}
-  TGHookFindFunc* = proc (hook: PGHook, data: gpointer): gboolean{.cdecl.}
-  TGHookMarshaller* = proc (hook: PGHook, marshal_data: gpointer){.cdecl.}
-  TGHookCheckMarshaller* = proc (hook: PGHook, marshal_data: gpointer): gboolean{.
-      cdecl.}
-  TGHookFunc* = proc (data: gpointer){.cdecl.}
-  TGHookCheckFunc* = proc (data: gpointer): gboolean{.cdecl.}
-  TGHookFinalizeFunc* = proc (hook_list: PGHookList, hook: PGHook){.cdecl.}
-  TGHookList* {.final.} = object
-    seq_id*: gulong
-    flag0*: int32
-    hooks*: PGHook
-    hook_memchunk*: PGMemChunk
-    finalize_hook*: TGHookFinalizeFunc
-    dummy*: array[0..1, gpointer]
-
-
-type
-  PGHookFlagMask* = ptr TGHookFlagMask
-  TGHookFlagMask* = int
-
-const
-  G_HOOK_FLAG_ACTIVE* = 1'i32 shl 0'i32
-  G_HOOK_FLAG_IN_CALL* = 1'i32 shl 1'i32
-  G_HOOK_FLAG_MASK* = 0x0000000F'i32
-
-const
-  G_HOOK_FLAG_USER_SHIFT* = 4'i32
-  bm_TGHookList_hook_size* = 0x0000FFFF'i32
-  bp_TGHookList_hook_size* = 0'i32
-  bm_TGHookList_is_setup* = 0x00010000'i32
-  bp_TGHookList_is_setup* = 16'i32
-
-proc TGHookList_hook_size*(a: var TGHookList): guint
-proc TGHookList_set_hook_size*(a: var TGHookList, `hook_size`: guint)
-proc TGHookList_is_setup*(a: var TGHookList): guint
-proc TGHookList_set_is_setup*(a: var TGHookList, `is_setup`: guint)
-proc G_HOOK*(hook: pointer): PGHook
-proc G_HOOK_FLAGS*(hook: PGHook): guint
-proc G_HOOK_ACTIVE*(hook: PGHook): bool
-proc G_HOOK_IN_CALL*(hook: PGHook): bool
-proc G_HOOK_IS_VALID*(hook: PGHook): bool
-proc G_HOOK_IS_UNLINKED*(hook: PGHook): bool
-proc g_hook_list_init*(hook_list: PGHookList, hook_size: guint){.cdecl,
-    dynlib: gliblib, importc: "g_hook_list_init".}
-proc g_hook_list_clear*(hook_list: PGHookList){.cdecl, dynlib: gliblib,
-    importc: "g_hook_list_clear".}
-proc g_hook_alloc*(hook_list: PGHookList): PGHook{.cdecl, dynlib: gliblib,
-    importc: "g_hook_alloc".}
-proc g_hook_free*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib,
-    importc: "g_hook_free".}
-proc g_hook_ref*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib,
-    importc: "g_hook_ref".}
-proc g_hook_unref*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib,
-    importc: "g_hook_unref".}
-proc g_hook_destroy*(hook_list: PGHookList, hook_id: gulong): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_hook_destroy".}
-proc g_hook_destroy_link*(hook_list: PGHookList, hook: PGHook){.cdecl,
-    dynlib: gliblib, importc: "g_hook_destroy_link".}
-proc g_hook_prepend*(hook_list: PGHookList, hook: PGHook){.cdecl,
-    dynlib: gliblib, importc: "g_hook_prepend".}
-proc g_hook_insert_before*(hook_list: PGHookList, sibling: PGHook, hook: PGHook){.
-    cdecl, dynlib: gliblib, importc: "g_hook_insert_before".}
-proc g_hook_insert_sorted*(hook_list: PGHookList, hook: PGHook,
-                           func: TGHookCompareFunc){.cdecl, dynlib: gliblib,
-    importc: "g_hook_insert_sorted".}
-proc g_hook_get*(hook_list: PGHookList, hook_id: gulong): PGHook{.cdecl,
-    dynlib: gliblib, importc: "g_hook_get".}
-proc g_hook_find*(hook_list: PGHookList, need_valids: gboolean,
-                  func: TGHookFindFunc, data: gpointer): PGHook{.cdecl,
-    dynlib: gliblib, importc: "g_hook_find".}
-proc g_hook_find_data*(hook_list: PGHookList, need_valids: gboolean,
-                       data: gpointer): PGHook{.cdecl, dynlib: gliblib,
-    importc: "g_hook_find_data".}
-proc g_hook_find_func*(hook_list: PGHookList, need_valids: gboolean,
-                       func: gpointer): PGHook{.cdecl, dynlib: gliblib,
-    importc: "g_hook_find_func".}
-proc g_hook_find_func_data*(hook_list: PGHookList, need_valids: gboolean,
-                            func: gpointer, data: gpointer): PGHook{.cdecl,
-    dynlib: gliblib, importc: "g_hook_find_func_data".}
-proc g_hook_first_valid*(hook_list: PGHookList, may_be_in_call: gboolean): PGHook{.
-    cdecl, dynlib: gliblib, importc: "g_hook_first_valid".}
-proc g_hook_next_valid*(hook_list: PGHookList, hook: PGHook,
-                        may_be_in_call: gboolean): PGHook{.cdecl,
-    dynlib: gliblib, importc: "g_hook_next_valid".}
-proc g_hook_compare_ids*(new_hook: PGHook, sibling: PGHook): gint{.cdecl,
-    dynlib: gliblib, importc: "g_hook_compare_ids".}
-proc g_hook_append*(hook_list: PGHookList, hook: PGHook)
-proc g_hook_list_invoke_check*(hook_list: PGHookList, may_recurse: gboolean){.
-    cdecl, dynlib: gliblib, importc: "g_hook_list_invoke_check".}
-proc g_hook_list_marshal*(hook_list: PGHookList, may_recurse: gboolean,
-                          marshaller: TGHookMarshaller, marshal_data: gpointer){.
-    cdecl, dynlib: gliblib, importc: "g_hook_list_marshal".}
-proc g_hook_list_marshal_check*(hook_list: PGHookList, may_recurse: gboolean,
-                                marshaller: TGHookCheckMarshaller,
-                                marshal_data: gpointer){.cdecl, dynlib: gliblib,
-    importc: "g_hook_list_marshal_check".}
-type
-  PGThreadPool* = ptr TGThreadPool
-  TGThreadPool* {.final.} = object
-    func*: TGFunc
-    user_data*: gpointer
-    exclusive*: gboolean
-
-
-proc g_thread_pool_new*(func: TGFunc, user_data: gpointer, max_threads: gint,
-                        exclusive: gboolean, error: pointer): PGThreadPool{.
-    cdecl, dynlib: gliblib, importc: "g_thread_pool_new".}
-proc g_thread_pool_push*(pool: PGThreadPool, data: gpointer, error: pointer){.
-    cdecl, dynlib: gliblib, importc: "g_thread_pool_push".}
-proc g_thread_pool_set_max_threads*(pool: PGThreadPool, max_threads: gint,
-                                    error: pointer){.cdecl, dynlib: gliblib,
-    importc: "g_thread_pool_set_max_threads".}
-proc g_thread_pool_get_max_threads*(pool: PGThreadPool): gint{.cdecl,
-    dynlib: gliblib, importc: "g_thread_pool_get_max_threads".}
-proc g_thread_pool_get_num_threads*(pool: PGThreadPool): guint{.cdecl,
-    dynlib: gliblib, importc: "g_thread_pool_get_num_threads".}
-proc g_thread_pool_unprocessed*(pool: PGThreadPool): guint{.cdecl,
-    dynlib: gliblib, importc: "g_thread_pool_unprocessed".}
-proc g_thread_pool_free*(pool: PGThreadPool, immediate: gboolean, wait: gboolean){.
-    cdecl, dynlib: gliblib, importc: "g_thread_pool_free".}
-proc g_thread_pool_set_max_unused_threads*(max_threads: gint){.cdecl,
-    dynlib: gliblib, importc: "g_thread_pool_set_max_unused_threads".}
-proc g_thread_pool_get_max_unused_threads*(): gint{.cdecl, dynlib: gliblib,
-    importc: "g_thread_pool_get_max_unused_threads".}
-proc g_thread_pool_get_num_unused_threads*(): guint{.cdecl, dynlib: gliblib,
-    importc: "g_thread_pool_get_num_unused_threads".}
-proc g_thread_pool_stop_unused_threads*(){.cdecl, dynlib: gliblib,
-    importc: "g_thread_pool_stop_unused_threads".}
-type
-  PGTimer* = pointer
-
-const
-  G_USEC_PER_SEC* = 1000000
-
-proc g_timer_new*(): PGTimer{.cdecl, dynlib: gliblib, importc: "g_timer_new".}
-proc g_timer_destroy*(timer: PGTimer){.cdecl, dynlib: gliblib,
-                                       importc: "g_timer_destroy".}
-proc g_timer_start*(timer: PGTimer){.cdecl, dynlib: gliblib,
-                                     importc: "g_timer_start".}
-proc g_timer_stop*(timer: PGTimer){.cdecl, dynlib: gliblib,
-                                    importc: "g_timer_stop".}
-proc g_timer_reset*(timer: PGTimer){.cdecl, dynlib: gliblib,
-                                     importc: "g_timer_reset".}
-proc g_timer_elapsed*(timer: PGTimer, microseconds: Pgulong): gdouble{.cdecl,
-    dynlib: gliblib, importc: "g_timer_elapsed".}
-proc g_usleep*(microseconds: gulong){.cdecl, dynlib: gliblib,
-                                      importc: "g_usleep".}
-proc g_time_val_add*(time: PGTimeVal, microseconds: glong){.cdecl,
-    dynlib: gliblib, importc: "g_time_val_add".}
-type
-  Pgunichar* = ptr gunichar
-  gunichar* = guint32
-  Pgunichar2* = ptr gunichar2
-  gunichar2* = guint16
-  PGUnicodeType* = ptr TGUnicodeType
-  TGUnicodeType* = enum
-    G_UNICODE_CONTROL, G_UNICODE_FORMAT, G_UNICODE_UNASSIGNED,
-    G_UNICODE_PRIVATE_USE, G_UNICODE_SURROGATE, G_UNICODE_LOWERCASE_LETTER,
-    G_UNICODE_MODIFIER_LETTER, G_UNICODE_OTHER_LETTER,
-    G_UNICODE_TITLECASE_LETTER, G_UNICODE_UPPERCASE_LETTER,
-    G_UNICODE_COMBINING_MARK, G_UNICODE_ENCLOSING_MARK,
-    G_UNICODE_NON_SPACING_MARK, G_UNICODE_DECIMAL_NUMBER,
-    G_UNICODE_LETTER_NUMBER, G_UNICODE_OTHER_NUMBER,
-    G_UNICODE_CONNECT_PUNCTUATION, G_UNICODE_DASH_PUNCTUATION,
-    G_UNICODE_CLOSE_PUNCTUATION, G_UNICODE_FINAL_PUNCTUATION,
-    G_UNICODE_INITIAL_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION,
-    G_UNICODE_OPEN_PUNCTUATION, G_UNICODE_CURRENCY_SYMBOL,
-    G_UNICODE_MODIFIER_SYMBOL, G_UNICODE_MATH_SYMBOL, G_UNICODE_OTHER_SYMBOL,
-    G_UNICODE_LINE_SEPARATOR, G_UNICODE_PARAGRAPH_SEPARATOR,
-    G_UNICODE_SPACE_SEPARATOR
-  PGUnicodeBreakType* = ptr TGUnicodeBreakType
-  TGUnicodeBreakType* = enum
-    G_UNICODE_BREAK_MANDATORY, G_UNICODE_BREAK_CARRIAGE_RETURN,
-    G_UNICODE_BREAK_LINE_FEED, G_UNICODE_BREAK_COMBINING_MARK,
-    G_UNICODE_BREAK_SURROGATE, G_UNICODE_BREAK_ZERO_WIDTH_SPACE,
-    G_UNICODE_BREAK_INSEPARABLE, G_UNICODE_BREAK_NON_BREAKING_GLUE,
-    G_UNICODE_BREAK_CONTINGENT, G_UNICODE_BREAK_SPACE, G_UNICODE_BREAK_AFTER,
-    G_UNICODE_BREAK_BEFORE, G_UNICODE_BREAK_BEFORE_AND_AFTER,
-    G_UNICODE_BREAK_HYPHEN, G_UNICODE_BREAK_NON_STARTER,
-    G_UNICODE_BREAK_OPEN_PUNCTUATION, G_UNICODE_BREAK_CLOSE_PUNCTUATION,
-    G_UNICODE_BREAK_QUOTATION, G_UNICODE_BREAK_EXCLAMATION,
-    G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_NUMERIC,
-    G_UNICODE_BREAK_INFIX_SEPARATOR, G_UNICODE_BREAK_SYMBOL,
-    G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_PREFIX, G_UNICODE_BREAK_POSTFIX,
-    G_UNICODE_BREAK_COMPLEX_CONTEXT, G_UNICODE_BREAK_AMBIGUOUS,
-    G_UNICODE_BREAK_UNKNOWN
-
-proc g_get_charset*(charset: PPchar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_get_charset".}
-proc g_unichar_isalnum*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isalnum".}
-proc g_unichar_isalpha*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isalpha".}
-proc g_unichar_iscntrl*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_iscntrl".}
-proc g_unichar_isdigit*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isdigit".}
-proc g_unichar_isgraph*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isgraph".}
-proc g_unichar_islower*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_islower".}
-proc g_unichar_isprint*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isprint".}
-proc g_unichar_ispunct*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_ispunct".}
-proc g_unichar_isspace*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isspace".}
-proc g_unichar_isupper*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isupper".}
-proc g_unichar_isxdigit*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isxdigit".}
-proc g_unichar_istitle*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_istitle".}
-proc g_unichar_isdefined*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_isdefined".}
-proc g_unichar_iswide*(c: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_iswide".}
-proc g_unichar_toupper*(c: gunichar): gunichar{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_toupper".}
-proc g_unichar_tolower*(c: gunichar): gunichar{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_tolower".}
-proc g_unichar_totitle*(c: gunichar): gunichar{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_totitle".}
-proc g_unichar_digit_value*(c: gunichar): gint{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_digit_value".}
-proc g_unichar_xdigit_value*(c: gunichar): gint{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_xdigit_value".}
-proc g_unichar_type*(c: gunichar): TGUnicodeType{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_type".}
-proc g_unichar_break_type*(c: gunichar): TGUnicodeBreakType{.cdecl,
-    dynlib: gliblib, importc: "g_unichar_break_type".}
-proc g_unicode_canonical_ordering*(str: Pgunichar, len: gsize){.cdecl,
-    dynlib: gliblib, importc: "g_unicode_canonical_ordering".}
-proc g_unicode_canonical_decomposition*(ch: gunichar, result_len: Pgsize): Pgunichar{.
-    cdecl, dynlib: gliblib, importc: "g_unicode_canonical_decomposition".}
-proc g_utf8_next_char*(p: pguchar): pguchar
-proc g_utf8_get_char*(p: cstring): gunichar{.cdecl, dynlib: gliblib,
-    importc: "g_utf8_get_char".}
-proc g_utf8_get_char_validated*(p: cstring, max_len: gssize): gunichar{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_get_char_validated".}
-proc g_utf8_offset_to_pointer*(str: cstring, offset: glong): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_offset_to_pointer".}
-proc g_utf8_pointer_to_offset*(str: cstring, pos: cstring): glong{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_pointer_to_offset".}
-proc g_utf8_prev_char*(p: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_utf8_prev_char".}
-proc g_utf8_find_next_char*(p: cstring, `end`: cstring): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_find_next_char".}
-proc g_utf8_find_prev_char*(str: cstring, p: cstring): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_find_prev_char".}
-proc g_utf8_strlen*(p: cstring, max: gssize): glong{.cdecl, dynlib: gliblib,
-    importc: "g_utf8_strlen".}
-proc g_utf8_strncpy*(dest: cstring, src: cstring, n: gsize): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_strncpy".}
-proc g_utf8_strchr*(p: cstring, len: gssize, c: gunichar): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_strchr".}
-proc g_utf8_strrchr*(p: cstring, len: gssize, c: gunichar): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_strrchr".}
-proc g_utf8_to_utf16*(str: cstring, len: glong, items_read: Pglong,
-                      items_written: Pglong, error: pointer): Pgunichar2{.
-    cdecl, dynlib: gliblib, importc: "g_utf8_to_utf16".}
-proc g_utf8_to_ucs4*(str: cstring, len: glong, items_read: Pglong,
-                     items_written: Pglong, error: pointer): Pgunichar{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_to_ucs4".}
-proc g_utf8_to_ucs4_fast*(str: cstring, len: glong, items_written: Pglong): Pgunichar{.
-    cdecl, dynlib: gliblib, importc: "g_utf8_to_ucs4_fast".}
-proc g_utf16_to_ucs4*(str: Pgunichar2, len: glong, items_read: Pglong,
-                      items_written: Pglong, error: pointer): Pgunichar{.cdecl,
-    dynlib: gliblib, importc: "g_utf16_to_ucs4".}
-proc g_utf16_to_utf8*(str: Pgunichar2, len: glong, items_read: Pglong,
-                      items_written: Pglong, error: pointer): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf16_to_utf8".}
-proc g_ucs4_to_utf16*(str: Pgunichar, len: glong, items_read: Pglong,
-                      items_written: Pglong, error: pointer): Pgunichar2{.
-    cdecl, dynlib: gliblib, importc: "g_ucs4_to_utf16".}
-proc g_ucs4_to_utf8*(str: Pgunichar, len: glong, items_read: Pglong,
-                     items_written: Pglong, error: pointer): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_ucs4_to_utf8".}
-proc g_unichar_to_utf8*(c: gunichar, outbuf: cstring): gint{.cdecl,
-    dynlib: gliblib, importc: "g_unichar_to_utf8".}
-proc g_utf8_validate*(str: cstring, max_len: gssize, `end`: PPgchar): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_utf8_validate".}
-proc g_unichar_validate*(ch: gunichar): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_unichar_validate".}
-proc g_utf8_strup*(str: cstring, len: gssize): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_utf8_strup".}
-proc g_utf8_strdown*(str: cstring, len: gssize): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_strdown".}
-proc g_utf8_casefold*(str: cstring, len: gssize): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_casefold".}
-type
-  PGNormalizeMode* = ptr TGNormalizeMode
-  TGNormalizeMode* = gint
-
-const
-  G_NORMALIZE_DEFAULT* = 0
-  G_NORMALIZE_NFD* = G_NORMALIZE_DEFAULT
-  G_NORMALIZE_DEFAULT_COMPOSE* = 1
-  G_NORMALIZE_NFC* = G_NORMALIZE_DEFAULT_COMPOSE
-  G_NORMALIZE_ALL* = 2
-  G_NORMALIZE_NFKD* = G_NORMALIZE_ALL
-  G_NORMALIZE_ALL_COMPOSE* = 3
-  G_NORMALIZE_NFKC* = G_NORMALIZE_ALL_COMPOSE
-
-proc g_utf8_normalize*(str: cstring, len: gssize, mode: TGNormalizeMode): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_utf8_normalize".}
-proc g_utf8_collate*(str1: cstring, str2: cstring): gint{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_collate".}
-proc g_utf8_collate_key*(str: cstring, len: gssize): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_utf8_collate_key".}
-type
-  PGString* = ptr TGString
-  TGString* {.final.} = object
-    str*: cstring
-    len*: gsize
-    allocated_len*: gsize
-
-  PGStringChunk* = pointer
-
-proc g_string_chunk_new*(size: gsize): PGStringChunk{.cdecl, dynlib: gliblib,
-    importc: "g_string_chunk_new".}
-proc g_string_chunk_free*(chunk: PGStringChunk){.cdecl, dynlib: gliblib,
-    importc: "g_string_chunk_free".}
-proc g_string_chunk_insert*(chunk: PGStringChunk, str: cstring): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_string_chunk_insert".}
-proc g_string_chunk_insert_const*(chunk: PGStringChunk, str: cstring): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_string_chunk_insert_const".}
-proc g_string_new*(init: cstring): PGString{.cdecl, dynlib: gliblib,
-    importc: "g_string_new".}
-proc g_string_new_len*(init: cstring, len: gssize): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_new_len".}
-proc g_string_sized_new*(dfl_size: gsize): PGString{.cdecl, dynlib: gliblib,
-    importc: "g_string_sized_new".}
-proc g_string_free*(str: PGString, free_segment: gboolean): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_string_free".}
-proc g_string_equal*(v: PGString, v2: PGString): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_string_equal".}
-proc g_string_hash*(str: PGString): guint{.cdecl, dynlib: gliblib,
-    importc: "g_string_hash".}
-proc g_string_assign*(str: PGString, rval: cstring): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_assign".}
-proc g_string_truncate*(str: PGString, len: gsize): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_truncate".}
-proc g_string_set_size*(str: PGString, len: gsize): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_set_size".}
-proc g_string_insert_len*(str: PGString, pos: gssize, val: cstring, len: gssize): PGString{.
-    cdecl, dynlib: gliblib, importc: "g_string_insert_len".}
-proc g_string_append*(str: PGString, val: cstring): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_append".}
-proc g_string_append_len*(str: PGString, val: cstring, len: gssize): PGString{.
-    cdecl, dynlib: gliblib, importc: "g_string_append_len".}
-proc g_string_append_c*(str: PGString, c: gchar): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_append_c".}
-proc g_string_append_unichar*(str: PGString, wc: gunichar): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_append_unichar".}
-proc g_string_prepend*(str: PGString, val: cstring): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_prepend".}
-proc g_string_prepend_c*(str: PGString, c: gchar): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_prepend_c".}
-proc g_string_prepend_unichar*(str: PGString, wc: gunichar): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_prepend_unichar".}
-proc g_string_prepend_len*(str: PGString, val: cstring, len: gssize): PGString{.
-    cdecl, dynlib: gliblib, importc: "g_string_prepend_len".}
-proc g_string_insert*(str: PGString, pos: gssize, val: cstring): PGString{.
-    cdecl, dynlib: gliblib, importc: "g_string_insert".}
-proc g_string_insert_c*(str: PGString, pos: gssize, c: gchar): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_insert_c".}
-proc g_string_insert_unichar*(str: PGString, pos: gssize, wc: gunichar): PGString{.
-    cdecl, dynlib: gliblib, importc: "g_string_insert_unichar".}
-proc g_string_erase*(str: PGString, pos: gssize, len: gssize): PGString{.cdecl,
-    dynlib: gliblib, importc: "g_string_erase".}
-proc g_string_ascii_down*(str: PGString): PGString{.cdecl, dynlib: gliblib,
-    importc: "g_string_ascii_down".}
-proc g_string_ascii_up*(str: PGString): PGString{.cdecl, dynlib: gliblib,
-    importc: "g_string_ascii_up".}
-proc g_string_down*(str: PGString): PGString{.cdecl, dynlib: gliblib,
-    importc: "g_string_down".}
-proc g_string_up*(str: PGString): PGString{.cdecl, dynlib: gliblib,
-    importc: "g_string_up".}
-type
-  PGIOError* = ptr TGIOError
-  TGIOError* = enum
-    G_IO_ERROR_NONE, G_IO_ERROR_AGAIN, G_IO_ERROR_INVAL, G_IO_ERROR_UNKNOWN
-
-proc G_IO_CHANNEL_ERROR*(): TGQuark
-type
-  PGIOChannelError* = ptr TGIOChannelError
-  TGIOChannelError* = enum
-    G_IO_CHANNEL_ERROR_FBIG, G_IO_CHANNEL_ERROR_INVAL, G_IO_CHANNEL_ERROR_IO,
-    G_IO_CHANNEL_ERROR_ISDIR, G_IO_CHANNEL_ERROR_NOSPC, G_IO_CHANNEL_ERROR_NXIO,
-    G_IO_CHANNEL_ERROR_OVERFLOW, G_IO_CHANNEL_ERROR_PIPE,
-    G_IO_CHANNEL_ERROR_FAILED
-  PGIOStatus* = ptr TGIOStatus
-  TGIOStatus* = enum
-    G_IO_STATUS_ERROR, G_IO_STATUS_NORMAL, G_IO_STATUS_EOF, G_IO_STATUS_AGAIN
-  PGSeekType* = ptr TGSeekType
-  TGSeekType* = enum
-    G_SEEK_CUR, G_SEEK_SET, G_SEEK_END
-  PGIOCondition* = ptr TGIOCondition
-  TGIOCondition* = gint
-
-const
-  G_IO_IN* = GLIB_SYSDEF_POLLIN
-  G_IO_OUT* = GLIB_SYSDEF_POLLOUT
-  G_IO_PRI* = GLIB_SYSDEF_POLLPRI
-  G_IO_ERR* = GLIB_SYSDEF_POLLERR
-  G_IO_HUP* = GLIB_SYSDEF_POLLHUP
-  G_IO_NVAL* = GLIB_SYSDEF_POLLNVAL
-
-type
-  PGIOFlags* = ptr TGIOFlags
-  TGIOFlags* = gint
-
-const
-  G_IO_FLAG_APPEND* = 1 shl 0
-  G_IO_FLAG_NONBLOCK* = 1 shl 1
-  G_IO_FLAG_IS_READABLE* = 1 shl 2
-  G_IO_FLAG_IS_WRITEABLE* = 1 shl 3
-  G_IO_FLAG_IS_SEEKABLE* = 1 shl 4
-  G_IO_FLAG_MASK* = (1 shl 5) - 1
-  G_IO_FLAG_GET_MASK* = G_IO_FLAG_MASK
-  G_IO_FLAG_SET_MASK* = G_IO_FLAG_APPEND or G_IO_FLAG_NONBLOCK
-
-type
-  PGIOChannel* = ptr TGIOChannel
-  TGIOFunc* = proc (source: PGIOChannel, condition: TGIOCondition,
-                    data: gpointer): gboolean{.cdecl.}
-  PGIOFuncs* = ptr TGIOFuncs
-  TGIOFuncs* {.final.} = object
-    io_read*: proc (channel: PGIOChannel, buf: cstring, count: gsize,
-                    bytes_read: Pgsize, err: pointer): TGIOStatus{.cdecl.}
-    io_write*: proc (channel: PGIOChannel, buf: cstring, count: gsize,
-                     bytes_written: Pgsize, err: pointer): TGIOStatus{.cdecl.}
-    io_seek*: proc (channel: PGIOChannel, offset: gint64, theType: TGSeekType,
-                    err: pointer): TGIOStatus{.cdecl.}
-    io_close*: proc (channel: PGIOChannel, err: pointer): TGIOStatus{.cdecl.}
-    io_create_watch*: proc (channel: PGIOChannel, condition: TGIOCondition): PGSource{.
-        cdecl.}
-    io_free*: proc (channel: PGIOChannel){.cdecl.}
-    io_set_flags*: proc (channel: PGIOChannel, flags: TGIOFlags, err: pointer): TGIOStatus{.
-        cdecl.}
-    io_get_flags*: proc (channel: PGIOChannel): TGIOFlags{.cdecl.}
-
-  TGIOChannel* {.final.} = object
-    ref_count*: guint
-    funcs*: PGIOFuncs
-    encoding*: cstring
-    read_cd*: TGIConv
-    write_cd*: TGIConv
-    line_term*: cstring
-    line_term_len*: guint
-    buf_size*: gsize
-    read_buf*: PGString
-    encoded_read_buf*: PGString
-    write_buf*: PGString
-    partial_write_buf*: array[0..5, gchar]
-    flag0*: guint16
-    reserved1*: gpointer
-    reserved2*: gpointer
-
-
-const
-  bm_TGIOChannel_use_buffer* = 0x00000001'i16
-  bp_TGIOChannel_use_buffer* = 0'i16
-  bm_TGIOChannel_do_encode* = 0x00000002'i16
-  bp_TGIOChannel_do_encode* = 1'i16
-  bm_TGIOChannel_close_on_unref* = 0x00000004'i16
-  bp_TGIOChannel_close_on_unref* = 2'i16
-  bm_TGIOChannel_is_readable* = 0x00000008'i16
-  bp_TGIOChannel_is_readable* = 3'i16
-  bm_TGIOChannel_is_writeable* = 0x00000010'i16
-  bp_TGIOChannel_is_writeable* = 4'i16
-  bm_TGIOChannel_is_seekable* = 0x00000020'i16
-  bp_TGIOChannel_is_seekable* = 5'i16
-
-proc TGIOChannel_use_buffer*(a: var TGIOChannel): guint
-proc TGIOChannel_set_use_buffer*(a: var TGIOChannel, `use_buffer`: guint)
-proc TGIOChannel_do_encode*(a: var TGIOChannel): guint
-proc TGIOChannel_set_do_encode*(a: var TGIOChannel, `do_encode`: guint)
-proc TGIOChannel_close_on_unref*(a: var TGIOChannel): guint
-proc TGIOChannel_set_close_on_unref*(a: var TGIOChannel, `close_on_unref`: guint)
-proc TGIOChannel_is_readable*(a: var TGIOChannel): guint
-proc TGIOChannel_set_is_readable*(a: var TGIOChannel, `is_readable`: guint)
-proc TGIOChannel_is_writeable*(a: var TGIOChannel): guint
-proc TGIOChannel_set_is_writeable*(a: var TGIOChannel, `is_writeable`: guint)
-proc TGIOChannel_is_seekable*(a: var TGIOChannel): guint
-proc TGIOChannel_set_is_seekable*(a: var TGIOChannel, `is_seekable`: guint)
-proc g_io_channel_init*(channel: PGIOChannel){.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_init".}
-proc g_io_channel_ref*(channel: PGIOChannel){.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_ref".}
-proc g_io_channel_unref*(channel: PGIOChannel){.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_unref".}
-proc g_io_channel_read*(channel: PGIOChannel, buf: cstring, count: gsize,
-                        bytes_read: Pgsize): TGIOError{.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_read".}
-proc g_io_channel_write*(channel: PGIOChannel, buf: cstring, count: gsize,
-                         bytes_written: Pgsize): TGIOError{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_write".}
-proc g_io_channel_seek*(channel: PGIOChannel, offset: gint64,
-                        theType: TGSeekType): TGIOError{.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_seek".}
-proc g_io_channel_close*(channel: PGIOChannel){.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_close".}
-proc g_io_channel_shutdown*(channel: PGIOChannel, flush: gboolean, err: pointer): TGIOStatus{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_shutdown".}
-proc g_io_add_watch_full*(channel: PGIOChannel, priority: gint,
-                          condition: TGIOCondition, func: TGIOFunc,
-                          user_data: gpointer, notify: TGDestroyNotify): guint{.
-    cdecl, dynlib: gliblib, importc: "g_io_add_watch_full".}
-proc g_io_create_watch*(channel: PGIOChannel, condition: TGIOCondition): PGSource{.
-    cdecl, dynlib: gliblib, importc: "g_io_create_watch".}
-proc g_io_add_watch*(channel: PGIOChannel, condition: TGIOCondition,
-                     func: TGIOFunc, user_data: gpointer): guint{.cdecl,
-    dynlib: gliblib, importc: "g_io_add_watch".}
-proc g_io_channel_set_buffer_size*(channel: PGIOChannel, size: gsize){.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_set_buffer_size".}
-proc g_io_channel_get_buffer_size*(channel: PGIOChannel): gsize{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_get_buffer_size".}
-proc g_io_channel_get_buffer_condition*(channel: PGIOChannel): TGIOCondition{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_get_buffer_condition".}
-proc g_io_channel_set_flags*(channel: PGIOChannel, flags: TGIOFlags,
-                             error: pointer): TGIOStatus{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_set_flags".}
-proc g_io_channel_get_flags*(channel: PGIOChannel): TGIOFlags{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_get_flags".}
-proc g_io_channel_set_line_term*(channel: PGIOChannel, line_term: cstring,
-                                 length: gint){.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_set_line_term".}
-proc g_io_channel_get_line_term*(channel: PGIOChannel, length: Pgint): cstring{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_get_line_term".}
-proc g_io_channel_set_buffered*(channel: PGIOChannel, buffered: gboolean){.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_set_buffered".}
-proc g_io_channel_get_buffered*(channel: PGIOChannel): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_get_buffered".}
-proc g_io_channel_set_encoding*(channel: PGIOChannel, encoding: cstring,
-                                error: pointer): TGIOStatus{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_set_encoding".}
-proc g_io_channel_get_encoding*(channel: PGIOChannel): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_get_encoding".}
-proc g_io_channel_set_close_on_unref*(channel: PGIOChannel, do_close: gboolean){.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_set_close_on_unref".}
-proc g_io_channel_get_close_on_unref*(channel: PGIOChannel): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_get_close_on_unref".}
-proc g_io_channel_flush*(channel: PGIOChannel, error: pointer): TGIOStatus{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_flush".}
-proc g_io_channel_read_line*(channel: PGIOChannel, str_return: PPgchar,
-                             length: Pgsize, terminator_pos: Pgsize,
-                             error: pointer): TGIOStatus{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_read_line".}
-proc g_io_channel_read_line_string*(channel: PGIOChannel, buffer: PGString,
-                                    terminator_pos: Pgsize, error: pointer): TGIOStatus{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_read_line_string".}
-proc g_io_channel_read_to_end*(channel: PGIOChannel, str_return: PPgchar,
-                               length: Pgsize, error: pointer): TGIOStatus{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_read_to_end".}
-proc g_io_channel_read_chars*(channel: PGIOChannel, buf: cstring, count: gsize,
-                              bytes_read: Pgsize, error: pointer): TGIOStatus{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_read_chars".}
-proc g_io_channel_read_unichar*(channel: PGIOChannel, thechar: Pgunichar,
-                                error: pointer): TGIOStatus{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_read_unichar".}
-proc g_io_channel_write_chars*(channel: PGIOChannel, buf: cstring,
-                               count: gssize, bytes_written: Pgsize,
-                               error: pointer): TGIOStatus{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_write_chars".}
-proc g_io_channel_write_unichar*(channel: PGIOChannel, thechar: gunichar,
-                                 error: pointer): TGIOStatus{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_write_unichar".}
-proc g_io_channel_seek_position*(channel: PGIOChannel, offset: gint64,
-                                 theType: TGSeekType, error: pointer): TGIOStatus{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_seek_position".}
-proc g_io_channel_new_file*(filename: cstring, mode: cstring, error: pointer): PGIOChannel{.
-    cdecl, dynlib: gliblib, importc: "g_io_channel_new_file".}
-proc g_io_channel_error_quark*(): TGQuark{.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_error_quark".}
-proc g_io_channel_error_from_errno*(en: gint): TGIOChannelError{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_error_from_errno".}
-proc g_io_channel_unix_new*(fd: int32): PGIOChannel{.cdecl, dynlib: gliblib,
-    importc: "g_io_channel_unix_new".}
-proc g_io_channel_unix_get_fd*(channel: PGIOChannel): gint{.cdecl,
-    dynlib: gliblib, importc: "g_io_channel_unix_get_fd".}
-const
-  G_LOG_LEVEL_USER_SHIFT* = 8
-
-type
-  PGLogLevelFlags* = ptr TGLogLevelFlags
-  TGLogLevelFlags* = int32
-
-const
-  G_LOG_FLAG_RECURSION* = 1 shl 0
-  G_LOG_FLAG_FATAL* = 1 shl 1
-  G_LOG_LEVEL_ERROR* = 1 shl 2
-  G_LOG_LEVEL_CRITICAL* = 1 shl 3
-  G_LOG_LEVEL_WARNING* = 1 shl 4
-  G_LOG_LEVEL_MESSAGE* = 1 shl 5
-  G_LOG_LEVEL_INFO* = 1 shl 6
-  G_LOG_LEVEL_DEBUG* = 1 shl 7
-  G_LOG_LEVEL_MASK* = not 3
-
-const
-  G_LOG_FATAL_MASK* = 5
-
-type
-  TGLogFunc* = proc (log_domain: cstring, log_level: TGLogLevelFlags,
-                     TheMessage: cstring, user_data: gpointer){.cdecl.}
-
-proc g_log_set_handler*(log_domain: cstring, log_levels: TGLogLevelFlags,
-                        log_func: TGLogFunc, user_data: gpointer): guint{.cdecl,
-    dynlib: gliblib, importc: "g_log_set_handler".}
-proc g_log_remove_handler*(log_domain: cstring, handler_id: guint){.cdecl,
-    dynlib: gliblib, importc: "g_log_remove_handler".}
-proc g_log_default_handler*(log_domain: cstring, log_level: TGLogLevelFlags,
-                            TheMessage: cstring, unused_data: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_log_default_handler".}
-proc g_log_set_fatal_mask*(log_domain: cstring, fatal_mask: TGLogLevelFlags): TGLogLevelFlags{.
-    cdecl, dynlib: gliblib, importc: "g_log_set_fatal_mask".}
-proc g_log_set_always_fatal*(fatal_mask: TGLogLevelFlags): TGLogLevelFlags{.
-    cdecl, dynlib: gliblib, importc: "g_log_set_always_fatal".}
-proc `g_log_fallback_handler`*(log_domain: cstring, log_level: TGLogLevelFlags,
-                               message: cstring, unused_data: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_log_fallback_handler".}
-const
-  G_LOG_DOMAIN* = nil
-
-when false:
-  proc g_error*(format: cstring){.varargs.}
-  proc g_message*(format: cstring){.varargs.}
-  proc g_critical*(format: cstring){.varargs.}
-  proc g_warning*(format: cstring){.varargs.}
-
-type
-  TGPrintFunc* = proc (str: cstring)
-
-proc g_set_print_handler*(func: TGPrintFunc): TGPrintFunc{.cdecl,
-    dynlib: gliblib, importc: "g_set_print_handler".}
-proc g_set_printerr_handler*(func: TGPrintFunc): TGPrintFunc{.cdecl,
-    dynlib: gliblib, importc: "g_set_printerr_handler".}
-type
-  PGMarkupError* = ptr TGMarkupError
-  TGMarkupError* = enum
-    G_MARKUP_ERROR_BAD_UTF8, G_MARKUP_ERROR_EMPTY, G_MARKUP_ERROR_PARSE,
-    G_MARKUP_ERROR_UNKNOWN_ELEMENT, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
-    G_MARKUP_ERROR_INVALID_CONTENT
-
-proc G_MARKUP_ERROR*(): TGQuark
-proc g_markup_error_quark*(): TGQuark{.cdecl, dynlib: gliblib,
-                                       importc: "g_markup_error_quark".}
-type
-  PGMarkupParseFlags* = ptr TGMarkupParseFlags
-  TGMarkupParseFlags* = int
-
-const
-  G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG* = 1 shl 0
-
-type
-  PGMarkupParseContext* = ptr TGMarkupParseContext
-  TGMarkupParseContext* = pointer
-  PGMarkupParser* = ptr TGMarkupParser
-  TGMarkupParser* {.final.} = object
-    start_element*: proc (context: PGMarkupParseContext, element_name: cstring,
-                          attribute_names: PPgchar, attribute_values: PPgchar,
-                          user_data: gpointer, error: pointer){.cdecl.}
-    end_element*: proc (context: PGMarkupParseContext, element_name: cstring,
-                        user_data: gpointer, error: pointer){.cdecl.}
-    text*: proc (context: PGMarkupParseContext, text: cstring, text_len: gsize,
-                 user_data: gpointer, error: pointer){.cdecl.}
-    passthrough*: proc (context: PGMarkupParseContext,
-                        passthrough_text: cstring, text_len: gsize,
-                        user_data: gpointer, error: pointer){.cdecl.}
-    error*: proc (context: PGMarkupParseContext, error: pointer,
-                  user_data: gpointer){.cdecl.}
-
-
-proc g_markup_parse_context_new*(parser: PGMarkupParser,
-                                 flags: TGMarkupParseFlags, user_data: gpointer,
-                                 user_data_dnotify: TGDestroyNotify): PGMarkupParseContext{.
-    cdecl, dynlib: gliblib, importc: "g_markup_parse_context_new".}
-proc g_markup_parse_context_free*(context: PGMarkupParseContext){.cdecl,
-    dynlib: gliblib, importc: "g_markup_parse_context_free".}
-proc g_markup_parse_context_parse*(context: PGMarkupParseContext, text: cstring,
-                                   text_len: gssize, error: pointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_markup_parse_context_parse".}
-proc g_markup_parse_context_end_parse*(context: PGMarkupParseContext,
-                                       error: pointer): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_markup_parse_context_end_parse".}
-proc g_markup_parse_context_get_position*(context: PGMarkupParseContext,
-    line_number: Pgint, char_number: Pgint){.cdecl, dynlib: gliblib,
-    importc: "g_markup_parse_context_get_position".}
-proc g_markup_escape_text*(text: cstring, length: gssize): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_markup_escape_text".}
-type
-  PGNode* = ptr TGNode
-  TGNode* {.final.} = object
-    data*: gpointer
-    next*: PGNode
-    prev*: PGNode
-    parent*: PGNode
-    children*: PGNode
-
-  PGTraverseFlags* = ptr TGTraverseFlags
-  TGTraverseFlags* = gint
-
-const
-  G_TRAVERSE_LEAFS* = 1 shl 0
-  G_TRAVERSE_NON_LEAFS* = 1 shl 1
-  G_TRAVERSE_ALL* = G_TRAVERSE_LEAFS or G_TRAVERSE_NON_LEAFS
-  G_TRAVERSE_MASK* = 0x00000003
-
-type
-  PGTraverseType* = ptr TGTraverseType
-  TGTraverseType* = enum
-    G_IN_ORDER, G_PRE_ORDER, G_POST_ORDER, G_LEVEL_ORDER
-  TGNodeTraverseFunc* = proc (node: PGNode, data: gpointer): gboolean{.cdecl.}
-  TGNodeForeachFunc* = proc (node: PGNode, data: gpointer){.cdecl.}
-
-proc G_NODE_IS_ROOT*(node: PGNode): bool
-proc G_NODE_IS_LEAF*(node: PGNode): bool
-proc g_node_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib,
-    importc: "g_node_push_allocator".}
-proc g_node_pop_allocator*(){.cdecl, dynlib: gliblib,
-                              importc: "g_node_pop_allocator".}
-proc g_node_new*(data: gpointer): PGNode{.cdecl, dynlib: gliblib,
-    importc: "g_node_new".}
-proc g_node_destroy*(root: PGNode){.cdecl, dynlib: gliblib,
-                                    importc: "g_node_destroy".}
-proc g_node_unlink*(node: PGNode){.cdecl, dynlib: gliblib,
-                                   importc: "g_node_unlink".}
-proc g_node_copy*(node: PGNode): PGNode{.cdecl, dynlib: gliblib,
-    importc: "g_node_copy".}
-proc g_node_insert*(parent: PGNode, position: gint, node: PGNode): PGNode{.
-    cdecl, dynlib: gliblib, importc: "g_node_insert".}
-proc g_node_insert_before*(parent: PGNode, sibling: PGNode, node: PGNode): PGNode{.
-    cdecl, dynlib: gliblib, importc: "g_node_insert_before".}
-proc g_node_insert_after*(parent: PGNode, sibling: PGNode, node: PGNode): PGNode{.
-    cdecl, dynlib: gliblib, importc: "g_node_insert_after".}
-proc g_node_prepend*(parent: PGNode, node: PGNode): PGNode{.cdecl,
-    dynlib: gliblib, importc: "g_node_prepend".}
-proc g_node_n_nodes*(root: PGNode, flags: TGTraverseFlags): guint{.cdecl,
-    dynlib: gliblib, importc: "g_node_n_nodes".}
-proc g_node_get_root*(node: PGNode): PGNode{.cdecl, dynlib: gliblib,
-    importc: "g_node_get_root".}
-proc g_node_is_ancestor*(node: PGNode, descendant: PGNode): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_node_is_ancestor".}
-proc g_node_depth*(node: PGNode): guint{.cdecl, dynlib: gliblib,
-    importc: "g_node_depth".}
-proc g_node_find*(root: PGNode, order: TGTraverseType, flags: TGTraverseFlags,
-                  data: gpointer): PGNode{.cdecl, dynlib: gliblib,
-    importc: "g_node_find".}
-proc g_node_append*(parent: PGNode, node: PGNode): PGNode
-proc g_node_insert_data*(parent: PGNode, position: gint, data: gpointer): PGNode
-proc g_node_insert_data_before*(parent: PGNode, sibling: PGNode, data: gpointer): PGNode
-proc g_node_prepend_data*(parent: PGNode, data: gpointer): PGNode
-proc g_node_append_data*(parent: PGNode, data: gpointer): PGNode
-proc g_node_traverse*(root: PGNode, order: TGTraverseType,
-                      flags: TGTraverseFlags, max_depth: gint,
-                      func: TGNodeTraverseFunc, data: gpointer): guint{.cdecl,
-    dynlib: gliblib, importc: "g_node_traverse".}
-proc g_node_max_height*(root: PGNode): guint{.cdecl, dynlib: gliblib,
-    importc: "g_node_max_height".}
-proc g_node_children_foreach*(node: PGNode, flags: TGTraverseFlags,
-                              func: TGNodeForeachFunc, data: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_node_children_foreach".}
-proc g_node_reverse_children*(node: PGNode){.cdecl, dynlib: gliblib,
-    importc: "g_node_reverse_children".}
-proc g_node_n_children*(node: PGNode): guint{.cdecl, dynlib: gliblib,
-    importc: "g_node_n_children".}
-proc g_node_nth_child*(node: PGNode, n: guint): PGNode{.cdecl, dynlib: gliblib,
-    importc: "g_node_nth_child".}
-proc g_node_last_child*(node: PGNode): PGNode{.cdecl, dynlib: gliblib,
-    importc: "g_node_last_child".}
-proc g_node_find_child*(node: PGNode, flags: TGTraverseFlags, data: gpointer): PGNode{.
-    cdecl, dynlib: gliblib, importc: "g_node_find_child".}
-proc g_node_child_position*(node: PGNode, child: PGNode): gint{.cdecl,
-    dynlib: gliblib, importc: "g_node_child_position".}
-proc g_node_child_index*(node: PGNode, data: gpointer): gint{.cdecl,
-    dynlib: gliblib, importc: "g_node_child_index".}
-proc g_node_first_sibling*(node: PGNode): PGNode{.cdecl, dynlib: gliblib,
-    importc: "g_node_first_sibling".}
-proc g_node_last_sibling*(node: PGNode): PGNode{.cdecl, dynlib: gliblib,
-    importc: "g_node_last_sibling".}
-proc g_node_prev_sibling*(node: PGNode): PGNode
-proc g_node_next_sibling*(node: PGNode): PGNode
-proc g_node_first_child*(node: PGNode): PGNode
-type
-  PGTree* = pointer
-  TGTraverseFunc* = proc (key: gpointer, value: gpointer, data: gpointer): gboolean{.
-      cdecl.}
-
-proc g_tree_new*(key_compare_func: TGCompareFunc): PGTree{.cdecl,
-    dynlib: gliblib, importc: "g_tree_new".}
-proc g_tree_new_with_data*(key_compare_func: TGCompareDataFunc,
-                           key_compare_data: gpointer): PGTree{.cdecl,
-    dynlib: gliblib, importc: "g_tree_new_with_data".}
-proc g_tree_new_full*(key_compare_func: TGCompareDataFunc,
-                      key_compare_data: gpointer,
-                      key_destroy_func: TGDestroyNotify,
-                      value_destroy_func: TGDestroyNotify): PGTree{.cdecl,
-    dynlib: gliblib, importc: "g_tree_new_full".}
-proc g_tree_destroy*(tree: PGTree){.cdecl, dynlib: gliblib,
-                                    importc: "g_tree_destroy".}
-proc g_tree_insert*(tree: PGTree, key: gpointer, value: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_tree_insert".}
-proc g_tree_replace*(tree: PGTree, key: gpointer, value: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_tree_replace".}
-proc g_tree_remove*(tree: PGTree, key: gconstpointer){.cdecl, dynlib: gliblib,
-    importc: "g_tree_remove".}
-proc g_tree_steal*(tree: PGTree, key: gconstpointer){.cdecl, dynlib: gliblib,
-    importc: "g_tree_steal".}
-proc g_tree_lookup*(tree: PGTree, key: gconstpointer): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_tree_lookup".}
-proc g_tree_lookup_extended*(tree: PGTree, lookup_key: gconstpointer,
-                             orig_key: Pgpointer, value: Pgpointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_tree_lookup_extended".}
-proc g_tree_foreach*(tree: PGTree, func: TGTraverseFunc, user_data: gpointer){.
-    cdecl, dynlib: gliblib, importc: "g_tree_foreach".}
-proc g_tree_search*(tree: PGTree, search_func: TGCompareFunc,
-                    user_data: gconstpointer): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_tree_search".}
-proc g_tree_height*(tree: PGTree): gint{.cdecl, dynlib: gliblib,
-    importc: "g_tree_height".}
-proc g_tree_nnodes*(tree: PGTree): gint{.cdecl, dynlib: gliblib,
-    importc: "g_tree_nnodes".}
-type
-  PGPatternSpec* = pointer
-
-proc g_pattern_spec_new*(pattern: cstring): PGPatternSpec{.cdecl,
-    dynlib: gliblib, importc: "g_pattern_spec_new".}
-proc g_pattern_spec_free*(pspec: PGPatternSpec){.cdecl, dynlib: gliblib,
-    importc: "g_pattern_spec_free".}
-proc g_pattern_spec_equal*(pspec1: PGPatternSpec, pspec2: PGPatternSpec): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_pattern_spec_equal".}
-proc g_pattern_match*(pspec: PGPatternSpec, string_length: guint, str: cstring,
-                      string_reversed: cstring): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_pattern_match".}
-proc g_pattern_match_string*(pspec: PGPatternSpec, str: cstring): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_pattern_match_string".}
-proc g_pattern_match_simple*(pattern: cstring, str: cstring): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_pattern_match_simple".}
-proc g_spaced_primes_closest*(num: guint): guint{.cdecl, dynlib: gliblib,
-    importc: "g_spaced_primes_closest".}
-proc g_qsort_with_data*(pbase: gconstpointer, total_elems: gint, size: gsize,
-                        compare_func: TGCompareDataFunc, user_data: gpointer){.
-    cdecl, dynlib: gliblib, importc: "g_qsort_with_data".}
-type
-  PGQueue* = ptr TGQueue
-  TGQueue* {.final.} = object
-    head*: PGList
-    tail*: PGList
-    length*: guint
-
-
-proc g_queue_new*(): PGQueue{.cdecl, dynlib: gliblib, importc: "g_queue_new".}
-proc g_queue_free*(queue: PGQueue){.cdecl, dynlib: gliblib,
-                                    importc: "g_queue_free".}
-proc g_queue_push_head*(queue: PGQueue, data: gpointer){.cdecl, dynlib: gliblib,
-    importc: "g_queue_push_head".}
-proc g_queue_push_tail*(queue: PGQueue, data: gpointer){.cdecl, dynlib: gliblib,
-    importc: "g_queue_push_tail".}
-proc g_queue_pop_head*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_queue_pop_head".}
-proc g_queue_pop_tail*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_queue_pop_tail".}
-proc g_queue_is_empty*(queue: PGQueue): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_queue_is_empty".}
-proc g_queue_peek_head*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_queue_peek_head".}
-proc g_queue_peek_tail*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib,
-    importc: "g_queue_peek_tail".}
-proc g_queue_push_head_link*(queue: PGQueue, link: PGList){.cdecl,
-    dynlib: gliblib, importc: "g_queue_push_head_link".}
-proc g_queue_push_tail_link*(queue: PGQueue, link: PGList){.cdecl,
-    dynlib: gliblib, importc: "g_queue_push_tail_link".}
-proc g_queue_pop_head_link*(queue: PGQueue): PGList{.cdecl, dynlib: gliblib,
-    importc: "g_queue_pop_head_link".}
-proc g_queue_pop_tail_link*(queue: PGQueue): PGList{.cdecl, dynlib: gliblib,
-    importc: "g_queue_pop_tail_link".}
-type
-  PGRand* = pointer
-
-proc g_rand_new_with_seed*(seed: guint32): PGRand{.cdecl, dynlib: gliblib,
-    importc: "g_rand_new_with_seed".}
-proc g_rand_new*(): PGRand{.cdecl, dynlib: gliblib, importc: "g_rand_new".}
-proc g_rand_free*(rand: PGRand){.cdecl, dynlib: gliblib, importc: "g_rand_free".}
-proc g_rand_set_seed*(rand: PGRand, seed: guint32){.cdecl, dynlib: gliblib,
-    importc: "g_rand_set_seed".}
-proc g_rand_boolean*(rand: PGRand): gboolean
-proc g_rand_int*(rand: PGRand): guint32{.cdecl, dynlib: gliblib,
-    importc: "g_rand_int".}
-proc g_rand_int_range*(rand: PGRand, `begin`: gint32, `end`: gint32): gint32{.
-    cdecl, dynlib: gliblib, importc: "g_rand_int_range".}
-proc g_rand_double*(rand: PGRand): gdouble{.cdecl, dynlib: gliblib,
-    importc: "g_rand_double".}
-proc g_rand_double_range*(rand: PGRand, `begin`: gdouble, `end`: gdouble): gdouble{.
-    cdecl, dynlib: gliblib, importc: "g_rand_double_range".}
-proc g_random_set_seed*(seed: guint32){.cdecl, dynlib: gliblib,
-                                        importc: "g_random_set_seed".}
-proc g_random_boolean*(): gboolean
-proc g_random_int*(): guint32{.cdecl, dynlib: gliblib, importc: "g_random_int".}
-proc g_random_int_range*(`begin`: gint32, `end`: gint32): gint32{.cdecl,
-    dynlib: gliblib, importc: "g_random_int_range".}
-proc g_random_double*(): gdouble{.cdecl, dynlib: gliblib,
-                                  importc: "g_random_double".}
-proc g_random_double_range*(`begin`: gdouble, `end`: gdouble): gdouble{.cdecl,
-    dynlib: gliblib, importc: "g_random_double_range".}
-type
-  PGTuples* = ptr TGTuples
-  TGTuples* {.final.} = object
-    len*: guint
-
-  PGRelation* = pointer
-
-proc g_relation_new*(fields: gint): PGRelation{.cdecl, dynlib: gliblib,
-    importc: "g_relation_new".}
-proc g_relation_destroy*(relation: PGRelation){.cdecl, dynlib: gliblib,
-    importc: "g_relation_destroy".}
-proc g_relation_index*(relation: PGRelation, field: gint, hash_func: TGHashFunc,
-                       key_equal_func: TGEqualFunc){.cdecl, dynlib: gliblib,
-    importc: "g_relation_index".}
-proc g_relation_delete*(relation: PGRelation, key: gconstpointer, field: gint): gint{.
-    cdecl, dynlib: gliblib, importc: "g_relation_delete".}
-proc g_relation_select*(relation: PGRelation, key: gconstpointer, field: gint): PGTuples{.
-    cdecl, dynlib: gliblib, importc: "g_relation_select".}
-proc g_relation_count*(relation: PGRelation, key: gconstpointer, field: gint): gint{.
-    cdecl, dynlib: gliblib, importc: "g_relation_count".}
-proc g_relation_print*(relation: PGRelation){.cdecl, dynlib: gliblib,
-    importc: "g_relation_print".}
-proc g_tuples_destroy*(tuples: PGTuples){.cdecl, dynlib: gliblib,
-    importc: "g_tuples_destroy".}
-proc g_tuples_index*(tuples: PGTuples, index: gint, field: gint): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_tuples_index".}
-type
-  PGTokenType* = ptr TGTokenType
-  TGTokenType* = gint
-
-const
-  G_TOKEN_LEFT_PAREN* = 40
-  G_TOKEN_RIGHT_PAREN* = 41
-  G_TOKEN_LEFT_CURLY* = 123
-  G_TOKEN_RIGHT_CURLY* = 125
-  G_TOKEN_LEFT_BRACE* = 91
-  G_TOKEN_RIGHT_BRACE* = 93
-  G_TOKEN_EQUAL_SIGN* = 61
-  G_TOKEN_COMMA* = 44
-  G_TOKEN_NONE* = 256
-  G_TOKEN_ERROR* = 257
-  G_TOKEN_CHAR* = 258
-  G_TOKEN_OCTAL* = 260
-  G_TOKEN_INT* = 261
-  G_TOKEN_HEX* = 262
-  G_TOKEN_FLOAT* = 263
-  G_TOKEN_STRING* = 264
-  G_TOKEN_SYMBOL* = 265
-  G_TOKEN_IDENTIFIER* = 266
-  G_TOKEN_IDENTIFIER_NULL* = 267
-  G_TOKEN_COMMENT_SINGLE* = 268
-  G_TOKEN_COMMENT_MULTI* = 269
-  G_TOKEN_LAST* = 270
-
-type
-  PGScanner* = ptr TGScanner
-  PGScannerConfig* = ptr TGScannerConfig
-  PGTokenValue* = ptr TGTokenValue
-  TGTokenValue* {.final.} = object
-    v_float*: gdouble
-
-  TGScannerMsgFunc* = proc (scanner: PGScanner, message: cstring,
-                            error: gboolean){.cdecl.}
-  TGScanner* {.final.} = object
-    user_data*: gpointer
-    max_parse_errors*: guint
-    parse_errors*: guint
-    input_name*: cstring
-    qdata*: PGData
-    config*: PGScannerConfig
-    token*: TGTokenType
-    value*: TGTokenValue
-    line*: guint
-    position*: guint
-    next_token*: TGTokenType
-    next_value*: TGTokenValue
-    next_line*: guint
-    next_position*: guint
-    symbol_table*: PGHashTable
-    input_fd*: gint
-    text*: cstring
-    text_end*: cstring
-    buffer*: cstring
-    scope_id*: guint
-    msg_handler*: TGScannerMsgFunc
-
-  TGScannerConfig* {.final.} = object
-    cset_skip_characters*: cstring
-    cset_identifier_first*: cstring
-    cset_identifier_nth*: cstring
-    cpair_comment_single*: cstring
-    flag0*: int32
-    padding_dummy*: guint
-
-
-const
-  G_CSET_A_2_Z_UCASE* = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-  G_CSET_a_2_z_lcase* = "abcdefghijklmnopqrstuvwxyz"
-  G_CSET_DIGITS* = "0123456789"
-
-const
-  bm_TGScannerConfig_case_sensitive* = 0x00000001'i32
-  bp_TGScannerConfig_case_sensitive* = 0'i32
-  bm_TGScannerConfig_skip_comment_multi* = 0x00000002'i32
-  bp_TGScannerConfig_skip_comment_multi* = 1'i32
-  bm_TGScannerConfig_skip_comment_single* = 0x00000004'i32
-  bp_TGScannerConfig_skip_comment_single* = 2'i32
-  bm_TGScannerConfig_scan_comment_multi* = 0x00000008'i32
-  bp_TGScannerConfig_scan_comment_multi* = 3'i32
-  bm_TGScannerConfig_scan_identifier* = 0x00000010'i32
-  bp_TGScannerConfig_scan_identifier* = 4'i32
-  bm_TGScannerConfig_scan_identifier_1char* = 0x00000020'i32
-  bp_TGScannerConfig_scan_identifier_1char* = 5'i32
-  bm_TGScannerConfig_scan_identifier_NULL* = 0x00000040'i32
-  bp_TGScannerConfig_scan_identifier_NULL* = 6'i32
-  bm_TGScannerConfig_scan_symbols* = 0x00000080'i32
-  bp_TGScannerConfig_scan_symbols* = 7'i32
-  bm_TGScannerConfig_scan_binary* = 0x00000100'i32
-  bp_TGScannerConfig_scan_binary* = 8'i32
-  bm_TGScannerConfig_scan_octal* = 0x00000200'i32
-  bp_TGScannerConfig_scan_octal* = 9'i32
-  bm_TGScannerConfig_scan_float* = 0x00000400'i32
-  bp_TGScannerConfig_scan_float* = 10'i32
-  bm_TGScannerConfig_scan_hex* = 0x00000800'i32
-  bp_TGScannerConfig_scan_hex* = 11'i32
-  bm_TGScannerConfig_scan_hex_dollar* = 0x00001000'i32
-  bp_TGScannerConfig_scan_hex_dollar* = 12'i32
-  bm_TGScannerConfig_scan_string_sq* = 0x00002000'i32
-  bp_TGScannerConfig_scan_string_sq* = 13'i32
-  bm_TGScannerConfig_scan_string_dq* = 0x00004000'i32
-  bp_TGScannerConfig_scan_string_dq* = 14'i32
-  bm_TGScannerConfig_numbers_2_int* = 0x00008000'i32
-  bp_TGScannerConfig_numbers_2_int* = 15'i32
-  bm_TGScannerConfig_int_2_float* = 0x00010000'i32
-  bp_TGScannerConfig_int_2_float* = 16'i32
-  bm_TGScannerConfig_identifier_2_string* = 0x00020000'i32
-  bp_TGScannerConfig_identifier_2_string* = 17'i32
-  bm_TGScannerConfig_char_2_token* = 0x00040000'i32
-  bp_TGScannerConfig_char_2_token* = 18'i32
-  bm_TGScannerConfig_symbol_2_token* = 0x00080000'i32
-  bp_TGScannerConfig_symbol_2_token* = 19'i32
-  bm_TGScannerConfig_scope_0_fallback* = 0x00100000'i32
-  bp_TGScannerConfig_scope_0_fallback* = 20'i32
-
-proc TGScannerConfig_case_sensitive*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_case_sensitive*(a: var TGScannerConfig,
-    `case_sensitive`: guint)
-proc TGScannerConfig_skip_comment_multi*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_skip_comment_multi*(a: var TGScannerConfig,
-    `skip_comment_multi`: guint)
-proc TGScannerConfig_skip_comment_single*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_skip_comment_single*(a: var TGScannerConfig,
-    `skip_comment_single`: guint)
-proc TGScannerConfig_scan_comment_multi*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_comment_multi*(a: var TGScannerConfig,
-    `scan_comment_multi`: guint)
-proc TGScannerConfig_scan_identifier*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_identifier*(a: var TGScannerConfig,
-    `scan_identifier`: guint)
-proc TGScannerConfig_scan_identifier_1char*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_identifier_1char*(a: var TGScannerConfig,
-    `scan_identifier_1char`: guint)
-proc TGScannerConfig_scan_identifier_NULL*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_identifier_NULL*(a: var TGScannerConfig,
-    `scan_identifier_NULL`: guint)
-proc TGScannerConfig_scan_symbols*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_symbols*(a: var TGScannerConfig,
-                                       `scan_symbols`: guint)
-proc TGScannerConfig_scan_binary*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_binary*(a: var TGScannerConfig,
-                                      `scan_binary`: guint)
-proc TGScannerConfig_scan_octal*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_octal*(a: var TGScannerConfig, `scan_octal`: guint)
-proc TGScannerConfig_scan_float*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_float*(a: var TGScannerConfig, `scan_float`: guint)
-proc TGScannerConfig_scan_hex*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_hex*(a: var TGScannerConfig, `scan_hex`: guint)
-proc TGScannerConfig_scan_hex_dollar*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_hex_dollar*(a: var TGScannerConfig,
-    `scan_hex_dollar`: guint)
-proc TGScannerConfig_scan_string_sq*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_string_sq*(a: var TGScannerConfig,
-    `scan_string_sq`: guint)
-proc TGScannerConfig_scan_string_dq*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scan_string_dq*(a: var TGScannerConfig,
-    `scan_string_dq`: guint)
-proc TGScannerConfig_numbers_2_int*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_numbers_2_int*(a: var TGScannerConfig,
-                                        `numbers_2_int`: guint)
-proc TGScannerConfig_int_2_float*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_int_2_float*(a: var TGScannerConfig,
-                                      `int_2_float`: guint)
-proc TGScannerConfig_identifier_2_string*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_identifier_2_string*(a: var TGScannerConfig,
-    `identifier_2_string`: guint)
-proc TGScannerConfig_char_2_token*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_char_2_token*(a: var TGScannerConfig,
-                                       `char_2_token`: guint)
-proc TGScannerConfig_symbol_2_token*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_symbol_2_token*(a: var TGScannerConfig,
-    `symbol_2_token`: guint)
-proc TGScannerConfig_scope_0_fallback*(a: var TGScannerConfig): guint
-proc TGScannerConfig_set_scope_0_fallback*(a: var TGScannerConfig,
-    `scope_0_fallback`: guint)
-proc g_scanner_new*(config_templ: PGScannerConfig): PGScanner{.cdecl,
-    dynlib: gliblib, importc: "g_scanner_new".}
-proc g_scanner_destroy*(scanner: PGScanner){.cdecl, dynlib: gliblib,
-    importc: "g_scanner_destroy".}
-proc g_scanner_input_file*(scanner: PGScanner, input_fd: gint){.cdecl,
-    dynlib: gliblib, importc: "g_scanner_input_file".}
-proc g_scanner_sync_file_offset*(scanner: PGScanner){.cdecl, dynlib: gliblib,
-    importc: "g_scanner_sync_file_offset".}
-proc g_scanner_input_text*(scanner: PGScanner, text: cstring, text_len: guint){.
-    cdecl, dynlib: gliblib, importc: "g_scanner_input_text".}
-proc g_scanner_get_next_token*(scanner: PGScanner): TGTokenType{.cdecl,
-    dynlib: gliblib, importc: "g_scanner_get_next_token".}
-proc g_scanner_peek_next_token*(scanner: PGScanner): TGTokenType{.cdecl,
-    dynlib: gliblib, importc: "g_scanner_peek_next_token".}
-proc g_scanner_cur_token*(scanner: PGScanner): TGTokenType{.cdecl,
-    dynlib: gliblib, importc: "g_scanner_cur_token".}
-proc g_scanner_cur_value*(scanner: PGScanner): TGTokenValue{.cdecl,
-    dynlib: gliblib, importc: "g_scanner_cur_value".}
-proc g_scanner_cur_line*(scanner: PGScanner): guint{.cdecl, dynlib: gliblib,
-    importc: "g_scanner_cur_line".}
-proc g_scanner_cur_position*(scanner: PGScanner): guint{.cdecl, dynlib: gliblib,
-    importc: "g_scanner_cur_position".}
-proc g_scanner_eof*(scanner: PGScanner): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_scanner_eof".}
-proc g_scanner_set_scope*(scanner: PGScanner, scope_id: guint): guint{.cdecl,
-    dynlib: gliblib, importc: "g_scanner_set_scope".}
-proc g_scanner_scope_add_symbol*(scanner: PGScanner, scope_id: guint,
-                                 symbol: cstring, value: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_scanner_scope_add_symbol".}
-proc g_scanner_scope_remove_symbol*(scanner: PGScanner, scope_id: guint,
-                                    symbol: cstring){.cdecl, dynlib: gliblib,
-    importc: "g_scanner_scope_remove_symbol".}
-proc g_scanner_scope_lookup_symbol*(scanner: PGScanner, scope_id: guint,
-                                    symbol: cstring): gpointer{.cdecl,
-    dynlib: gliblib, importc: "g_scanner_scope_lookup_symbol".}
-proc g_scanner_scope_foreach_symbol*(scanner: PGScanner, scope_id: guint,
-                                     func: TGHFunc, user_data: gpointer){.cdecl,
-    dynlib: gliblib, importc: "g_scanner_scope_foreach_symbol".}
-proc g_scanner_lookup_symbol*(scanner: PGScanner, symbol: cstring): gpointer{.
-    cdecl, dynlib: gliblib, importc: "g_scanner_lookup_symbol".}
-proc g_scanner_unexp_token*(scanner: PGScanner, expected_token: TGTokenType,
-                            identifier_spec: cstring, symbol_spec: cstring,
-                            symbol_name: cstring, `message`: cstring,
-                            is_error: gint){.cdecl, dynlib: gliblib,
-    importc: "g_scanner_unexp_token".}
-proc G_SHELL_ERROR*(): TGQuark
-type
-  PGShellError* = ptr TGShellError
-  TGShellError* = enum
-    G_SHELL_ERROR_BAD_QUOTING, G_SHELL_ERROR_EMPTY_STRING, G_SHELL_ERROR_FAILED
-
-proc g_shell_error_quark*(): TGQuark{.cdecl, dynlib: gliblib,
-                                      importc: "g_shell_error_quark".}
-proc g_shell_quote*(unquoted_string: cstring): cstring{.cdecl, dynlib: gliblib,
-    importc: "g_shell_quote".}
-proc g_shell_unquote*(quoted_string: cstring, error: pointer): cstring{.cdecl,
-    dynlib: gliblib, importc: "g_shell_unquote".}
-proc g_shell_parse_argv*(command_line: cstring, argcp: Pgint, argvp: PPPgchar,
-                         error: pointer): gboolean{.cdecl, dynlib: gliblib,
-    importc: "g_shell_parse_argv".}
-proc G_SPAWN_ERROR*(): TGQuark
-type
-  PGSpawnError* = ptr TGSpawnError
-  TGSpawnError* = enum
-    G_SPAWN_ERROR_FORK, G_SPAWN_ERROR_READ, G_SPAWN_ERROR_CHDIR,
-    G_SPAWN_ERROR_ACCES, G_SPAWN_ERROR_PERM, G_SPAWN_ERROR_2BIG,
-    G_SPAWN_ERROR_NOEXEC, G_SPAWN_ERROR_NAMETOOLONG, G_SPAWN_ERROR_NOENT,
-    G_SPAWN_ERROR_NOMEM, G_SPAWN_ERROR_NOTDIR, G_SPAWN_ERROR_LOOP,
-    G_SPAWN_ERROR_TXTBUSY, G_SPAWN_ERROR_IO, G_SPAWN_ERROR_NFILE,
-    G_SPAWN_ERROR_MFILE, G_SPAWN_ERROR_INVAL, G_SPAWN_ERROR_ISDIR,
-    G_SPAWN_ERROR_LIBBAD, G_SPAWN_ERROR_FAILED
-  TGSpawnChildSetupFunc* = proc (user_data: gpointer){.cdecl.}
-  PGSpawnFlags* = ptr TGSpawnFlags
-  TGSpawnFlags* = int
-
-const
-  G_SPAWN_LEAVE_DESCRIPTORS_OPEN* = 1 shl 0
-  G_SPAWN_DO_NOT_REAP_CHILD* = 1 shl 1
-  G_SPAWN_SEARCH_PATH* = 1 shl 2
-  G_SPAWN_STDOUT_TO_DEV_NULL* = 1 shl 3
-  G_SPAWN_STDERR_TO_DEV_NULL* = 1 shl 4
-  G_SPAWN_CHILD_INHERITS_STDIN* = 1 shl 5
-  G_SPAWN_FILE_AND_ARGV_ZERO* = 1 shl 6
-
-proc g_spawn_error_quark*(): TGQuark{.cdecl, dynlib: gliblib,
-                                      importc: "g_spawn_error_quark".}
-proc g_spawn_async*(working_directory: cstring, argv: PPgchar, envp: PPgchar,
-                    flags: TGSpawnFlags, child_setup: TGSpawnChildSetupFunc,
-                    user_data: gpointer, child_pid: Pgint, error: pointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_spawn_async".}
-proc g_spawn_async_with_pipes*(working_directory: cstring, argv: PPgchar,
-                               envp: PPgchar, flags: TGSpawnFlags,
-                               child_setup: TGSpawnChildSetupFunc,
-                               user_data: gpointer, child_pid: Pgint,
-                               standard_input: Pgint, standard_output: Pgint,
-                               standard_error: Pgint, error: pointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_spawn_async_with_pipes".}
-proc g_spawn_sync*(working_directory: cstring, argv: PPgchar, envp: PPgchar,
-                   flags: TGSpawnFlags, child_setup: TGSpawnChildSetupFunc,
-                   user_data: gpointer, standard_output: PPgchar,
-                   standard_error: PPgchar, exit_status: Pgint, error: pointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_spawn_sync".}
-proc g_spawn_command_line_sync*(command_line: cstring, standard_output: PPgchar,
-                                standard_error: PPgchar, exit_status: Pgint,
-                                error: pointer): gboolean{.cdecl,
-    dynlib: gliblib, importc: "g_spawn_command_line_sync".}
-proc g_spawn_command_line_async*(command_line: cstring, error: pointer): gboolean{.
-    cdecl, dynlib: gliblib, importc: "g_spawn_command_line_async".}
-proc G_TYPE_IS_BOXED*(theType: GType): gboolean
-proc G_VALUE_HOLDS_BOXED*(value: PGValue): gboolean
-proc G_TYPE_CLOSURE*(): GType
-proc G_TYPE_VALUE*(): GType
-proc G_TYPE_VALUE_ARRAY*(): GType
-proc G_TYPE_GSTRING*(): GType
-proc g_boxed_copy*(boxed_type: GType, src_boxed: gconstpointer): gpointer{.
-    cdecl, dynlib: gobjectlib, importc: "g_boxed_copy".}
-proc g_boxed_free*(boxed_type: GType, boxed: gpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_boxed_free".}
-proc g_value_set_boxed*(value: PGValue, v_boxed: gconstpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_boxed".}
-proc g_value_set_static_boxed*(value: PGValue, v_boxed: gconstpointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_value_set_static_boxed".}
-proc g_value_get_boxed*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_get_boxed".}
-proc g_value_dup_boxed*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib,
-    importc: "g_value_dup_boxed".}
-proc g_boxed_type_register_static*(name: cstring, boxed_copy: TGBoxedCopyFunc,
-                                   boxed_free: TGBoxedFreeFunc): GType{.cdecl,
-    dynlib: gobjectlib, importc: "g_boxed_type_register_static".}
-proc g_value_set_boxed_take_ownership*(value: PGValue, v_boxed: gconstpointer){.
-    cdecl, dynlib: gobjectlib, importc: "g_value_set_boxed_take_ownership".}
-proc g_closure_get_type*(): GType{.cdecl, dynlib: gobjectlib,
-                                   importc: "g_closure_get_type".}
-proc g_value_get_type*(): GType{.cdecl, dynlib: gobjectlib,
-                                 importc: "g_value_get_type".}
-proc g_value_array_get_type*(): GType{.cdecl, dynlib: gobjectlib,
-                                       importc: "g_value_array_get_type".}
-proc g_gstring_get_type*(): GType{.cdecl, dynlib: gobjectlib,
-                                   importc: "g_gstring_get_type".}
-type
-  PGModule* = pointer
-  TGModuleFlags* = int32
-  TGModuleCheckInit* = proc (module: PGModule): cstring{.cdecl.}
-  TGModuleUnload* = proc (module: PGModule){.cdecl.}
-
-const
-  G_MODULE_BIND_LAZY* = 1 shl 0
-  G_MODULE_BIND_MASK* = 1
-
-proc g_module_supported*(): gboolean{.cdecl, dynlib: gmodulelib,
-                                      importc: "g_module_supported".}
-proc g_module_open*(file_name: cstring, flags: TGModuleFlags): PGModule{.cdecl,
-    dynlib: gmodulelib, importc: "g_module_open".}
-proc g_module_close*(module: PGModule): gboolean{.cdecl, dynlib: gmodulelib,
-    importc: "g_module_close".}
-proc g_module_make_resident*(module: PGModule){.cdecl, dynlib: gmodulelib,
-    importc: "g_module_make_resident".}
-proc g_module_error*(): cstring{.cdecl, dynlib: gmodulelib,
-                                 importc: "g_module_error".}
-proc g_module_symbol*(module: PGModule, symbol_name: cstring, symbol: Pgpointer): gboolean{.
-    cdecl, dynlib: gmodulelib, importc: "g_module_symbol".}
-proc g_module_name*(module: PGModule): cstring{.cdecl, dynlib: gmodulelib,
-    importc: "g_module_name".}
-proc g_module_build_path*(directory: cstring, module_name: cstring): cstring{.
-    cdecl, dynlib: gmodulelib, importc: "g_module_build_path".}
-proc g_cclosure_marshal_VOID_VOID*(closure: PGClosure, return_value: PGValue,
-                                    n_param_values: GUInt,
-                                    param_values: PGValue,
-                                    invocation_hint: GPointer,
-                                    marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__VOID".}
-proc g_cclosure_marshal_VOID_BOOLEAN*(closure: PGClosure,
-                                       return_value: PGValue,
-                                       n_param_values: GUInt,
-                                       param_values: PGValue,
-                                       invocation_hint: GPointer,
-                                       marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__BOOLEAN".}
-proc g_cclosure_marshal_VOID_CHAR*(closure: PGClosure, return_value: PGValue,
-                                    n_param_values: GUInt,
-                                    param_values: PGValue,
-                                    invocation_hint: GPointer,
-                                    marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__CHAR".}
-proc g_cclosure_marshal_VOID_UCHAR*(closure: PGClosure, return_value: PGValue,
-                                     n_param_values: GUInt,
-                                     param_values: PGValue,
-                                     invocation_hint: GPointer,
-                                     marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UCHAR".}
-proc g_cclosure_marshal_VOID_INT*(closure: PGClosure, return_value: PGValue,
-                                   n_param_values: GUInt, param_values: PGValue,
-                                   invocation_hint: GPointer,
-                                   marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__INT".}
-proc g_cclosure_marshal_VOID_UINT*(closure: PGClosure, return_value: PGValue,
-                                    n_param_values: GUInt,
-                                    param_values: PGValue,
-                                    invocation_hint: GPointer,
-                                    marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UINT".}
-proc g_cclosure_marshal_VOID_LONG*(closure: PGClosure, return_value: PGValue,
-                                    n_param_values: GUInt,
-                                    param_values: PGValue,
-                                    invocation_hint: GPointer,
-                                    marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__LONG".}
-proc g_cclosure_marshal_VOID_ULONG*(closure: PGClosure, return_value: PGValue,
-                                     n_param_values: GUInt,
-                                     param_values: PGValue,
-                                     invocation_hint: GPointer,
-                                     marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__ULONG".}
-proc g_cclosure_marshal_VOID_ENUM*(closure: PGClosure, return_value: PGValue,
-                                    n_param_values: GUInt,
-                                    param_values: PGValue,
-                                    invocation_hint: GPointer,
-                                    marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__ENUM".}
-proc g_cclosure_marshal_VOID_FLAGS*(closure: PGClosure, return_value: PGValue,
-                                     n_param_values: GUInt,
-                                     param_values: PGValue,
-                                     invocation_hint: GPointer,
-                                     marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__FLAGS".}
-proc g_cclosure_marshal_VOID_FLOAT*(closure: PGClosure, return_value: PGValue,
-                                     n_param_values: GUInt,
-                                     param_values: PGValue,
-                                     invocation_hint: GPointer,
-                                     marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__FLOAT".}
-proc g_cclosure_marshal_VOID_DOUBLE*(closure: PGClosure, return_value: PGValue,
-                                      n_param_values: GUInt,
-                                      param_values: PGValue,
-                                      invocation_hint: GPointer,
-                                      marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__DOUBLE".}
-proc g_cclosure_marshal_VOID_STRING*(closure: PGClosure, return_value: PGValue,
-                                      n_param_values: GUInt,
-                                      param_values: PGValue,
-                                      invocation_hint: GPointer,
-                                      marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__STRING".}
-proc g_cclosure_marshal_VOID_PARAM*(closure: PGClosure, return_value: PGValue,
-                                     n_param_values: GUInt,
-                                     param_values: PGValue,
-                                     invocation_hint: GPointer,
-                                     marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__PARAM".}
-proc g_cclosure_marshal_VOID_BOXED*(closure: PGClosure, return_value: PGValue,
-                                     n_param_values: GUInt,
-                                     param_values: PGValue,
-                                     invocation_hint: GPointer,
-                                     marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__BOXED".}
-proc g_cclosure_marshal_VOID_POINTER*(closure: PGClosure,
-                                       return_value: PGValue,
-                                       n_param_values: GUInt,
-                                       param_values: PGValue,
-                                       invocation_hint: GPointer,
-                                       marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__POINTER".}
-proc g_cclosure_marshal_VOID_OBJECT*(closure: PGClosure, return_value: PGValue,
-                                      n_param_values: GUInt,
-                                      param_values: PGValue,
-                                      invocation_hint: GPointer,
-                                      marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__OBJECT".}
-proc g_cclosure_marshal_STRING_OBJECT_POINTER*(closure: PGClosure,
-    return_value: PGValue, n_param_values: GUInt, param_values: PGValue,
-    invocation_hint: GPointer, marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_STRING__OBJECT_POINTER".}
-proc g_cclosure_marshal_VOID_UINT_POINTER*(closure: PGClosure,
-    return_value: PGValue, n_param_values: GUInt, param_values: PGValue,
-    invocation_hint: GPointer, marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UINT_POINTER".}
-proc g_cclosure_marshal_BOOLEAN_FLAGS*(closure: PGClosure,
-                                        return_value: PGValue,
-                                        n_param_values: GUInt,
-                                        param_values: PGValue,
-                                        invocation_hint: GPointer,
-                                        marshal_data: GPointer){.cdecl,
-    dynlib: gobjectlib, importc: "g_cclosure_marshal_BOOLEAN__FLAGS".}
-proc g_cclosure_marshal_BOOL_FLAGS*(closure: PGClosure, return_value: PGValue,
-                                     n_param_values: GUInt,
-                                     param_values: PGValue,
-                                     invocation_hint: GPointer,
-                                     marshal_data: GPointer){.cdecl,
-    dynlib: gliblib, importc: "g_cclosure_marshal_BOOLEAN__FLAGS".}
-
-proc GUINT16_SWAP_LE_BE_CONSTANT*(val: guint16): guint16 =
-  Result = ((val and 0x00FF'i16) shl 8'i16) or ((val and 0xFF00'i16) shr 8'i16)
-
-proc GUINT32_SWAP_LE_BE_CONSTANT*(val: guint32): guint32 =
-  Result = ((val and 0x000000FF'i32) shl 24'i32) or ((val and 0x0000FF00'i32) shl 8'i32) or
-      ((val and 0x00FF0000'i32) shr 8'i32) or ((val and 0xFF000000'i32) shr 24'i32)
-
-proc GUINT_TO_POINTER*(i: guint): pointer =
-  Result = cast[Pointer](TAddress(i))
-
-
-when false:
-
-  type
-    PGArray* = pointer
-
-  proc g_array_append_val*(a: PGArray, v: gpointer): PGArray =
-    result = g_array_append_vals(a, addr(v), 1)
-
-  proc g_array_prepend_val*(a: PGArray, v: gpointer): PGArray =
-    result = g_array_prepend_vals(a, addr(v), 1)
-
-  proc g_array_insert_val*(a: PGArray, i: guint, v: gpointer): PGArray =
-    result = g_array_insert_vals(a, i, addr(v), 1)
-
-  proc g_ptr_array_index*(parray: PGPtrArray, index: guint): gpointer =
-    result = cast[PGPointer](cast[int](parray ^. pdata) +
-        index * SizeOf(GPointer))^
-
-  proc G_THREAD_ERROR*(): TGQuark =
-    result = g_thread_error_quark()
-
-  proc g_mutex_lock*(mutex: PGMutex) =
-    if g_threads_got_initialized:
-      g_thread_functions_for_glib_use.mutex_lock(mutex)
-
-  proc g_mutex_trylock*(mutex: PGMutex): gboolean =
-    if g_threads_got_initialized:
-      result = g_thread_functions_for_glib_use.mutex_trylock(mutex)
-    else:
-      result = true
-
-  proc g_mutex_unlock*(mutex: PGMutex) =
-    if g_threads_got_initialized:
-      g_thread_functions_for_glib_use.mutex_unlock(mutex)
-
-  proc g_mutex_free*(mutex: PGMutex) =
-    if g_threads_got_initialized:
-      g_thread_functions_for_glib_use.mutex_free(mutex)
-
-  proc g_cond_wait*(cond: PGCond, mutex: PGMutex) =
-    if g_threads_got_initialized:
-      g_thread_functions_for_glib_use.cond_wait(cond, mutex)
-
-  proc g_cond_timed_wait*(cond: PGCond, mutex: PGMutex, end_time: PGTimeVal): gboolean =
-    if g_threads_got_initialized:
-      result = g_thread_functions_for_glib_use.cond_timed_wait(cond, mutex,
-          end_time)
-    else:
-      result = true
-
-  proc g_thread_supported*(): gboolean =
-    result = g_threads_got_initialized
-
-  proc g_mutex_new*(): PGMutex =
-    result = g_thread_functions_for_glib_use.mutex_new()
-
-  proc g_cond_new*(): PGCond =
-    result = g_thread_functions_for_glib_use.cond_new()
-
-  proc g_cond_signal*(cond: PGCond) =
-    if g_threads_got_initialized:
-      g_thread_functions_for_glib_use.cond_signal(cond)
-
-  proc g_cond_broadcast*(cond: PGCond) =
-    if g_threads_got_initialized:
-      g_thread_functions_for_glib_use.cond_broadcast(cond)
-
-  proc g_cond_free*(cond: PGCond) =
-    if g_threads_got_initialized:
-      g_thread_functions_for_glib_use.cond_free(cond)
-
-  proc g_private_new*(dest: TGDestroyNotify): PGPrivate =
-    result = g_thread_functions_for_glib_use.private_new(dest)
-
-  proc g_private_get*(private_key: PGPrivate): gpointer =
-    if g_threads_got_initialized:
-      result = g_thread_functions_for_glib_use.private_get(private_key)
-    else:
-      result = private_key
-
-  proc g_private_set*(private_key: var PGPrivate, data: gpointer) =
-    if g_threads_got_initialized:
-      nil
-    else:
-      private_key = data
-
-  proc g_thread_yield*() =
-    if g_threads_got_initialized:
-      g_thread_functions_for_glib_use.thread_yield
-
-  proc g_thread_create*(func: TGThreadFunc, data: gpointer, joinable: gboolean,
-                        error: pointer): PGThread =
-    result = g_thread_create_full(func, data, 0, joinable, false,
-                                  G_THREAD_PRIORITY_NORMAL, error)
-
-  proc g_static_mutex_get_mutex*(mutex: PPGMutex): PGMutex =
-    result = g_static_mutex_get_mutex_impl(mutex)
-
-  proc g_static_mutex_lock*(mutex: PGStaticMutex) =
-    g_mutex_lock(g_static_mutex_get_mutex_impl(PPGMutex(mutex)))
-
-  proc g_static_mutex_trylock*(mutex: PGStaticMutex): gboolean =
-    result = g_mutex_trylock(g_static_mutex_get_mutex(PPGMutex(mutex)))
-
-  proc g_static_mutex_unlock*(mutex: PGStaticMutex) =
-    g_mutex_unlock(g_static_mutex_get_mutex_impl(PPGMutex(mutex)))
-
-  proc g_main_new*(is_running: gboolean): PGMainLoop =
-    result = g_main_loop_new(nil, is_running)
-
-  proc g_main_iteration*(may_block: gboolean): gboolean =
-    result = g_main_context_iteration(nil, may_block)
-
-  proc g_main_pending*(): gboolean =
-    result = g_main_context_pending(nil)
-
-  proc g_main_set_poll_func*(func: TGPollFunc) =
-    g_main_context_set_poll_func(nil, func)
-
-proc g_slist_next*(slist: PGSList): PGSList =
-  if slist != nil:
-    result = slist.next
-  else:
-    result = nil
-
-proc g_new*(bytes_per_struct, n_structs: int): gpointer =
-  result = g_malloc(n_structs * bytes_per_struct)
-
-proc g_new0*(bytes_per_struct, n_structs: int): gpointer =
-  result = g_malloc0(n_structs * bytes_per_struct)
-
-proc g_renew*(struct_size: int, OldMem: gpointer, n_structs: int): gpointer =
-  result = g_realloc(OldMem, struct_size * n_structs)
-
-proc g_chunk_new*(chunk: Pointer): Pointer =
-  result = g_mem_chunk_alloc(chunk)
-
-proc g_chunk_new0*(chunk: Pointer): Pointer =
-  result = g_mem_chunk_alloc0(chunk)
-
-proc g_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer) =
-  g_mem_chunk_free(mem_chunk, mem)
-
-proc g_list_previous*(list: PGList): PGList =
-  if list != nil:
-    result = list.prev
-  else:
-    result = nil
-
-proc g_list_next*(list: PGList): PGList =
-  if list != nil:
-    result = list.next
-  else:
-    result = nil
-
-proc G_CONVERT_ERROR*(): TGQuark =
-  result = g_convert_error_quark()
-
-proc g_datalist_id_set_data*(datalist: PPGData, key_id: TGQuark, data: gpointer) =
-  g_datalist_id_set_data_full(datalist, key_id, data, TGDestroyNotify(nil))
-
-proc g_datalist_id_remove_data*(datalist: PPGData, key_id: TGQuark) =
-  g_datalist_id_set_data(datalist, key_id, nil)
-
-proc g_datalist_get_data*(datalist: PPGData, key_str: cstring): PPGData =
-  result = cast[PPGData](g_datalist_id_get_data(datalist,
-                                                g_quark_try_string(key_str)))
-
-proc g_datalist_set_data_full*(datalist: PPGData, key_str: cstring,
-                               data: gpointer, destroy_func: TGDestroyNotify) =
-  g_datalist_id_set_data_full(datalist, g_quark_from_string(key_str), data,
-                              destroy_func)
-
-proc g_datalist_set_data*(datalist: PPGData, key_str: cstring, data: gpointer) =
-  g_datalist_set_data_full(datalist, key_str, data, nil)
-
-proc g_datalist_remove_no_notify*(datalist: PPGData, key_str: cstring) =
-  discard g_datalist_id_remove_no_notify(datalist, g_quark_try_string(key_str))
-
-proc g_datalist_remove_data*(datalist: PPGData, key_str: cstring) =
-  g_datalist_id_set_data(datalist, g_quark_try_string(key_str), nil)
-
-proc g_dataset_id_set_data*(location: gconstpointer, key_id: TGQuark,
-                            data: gpointer) =
-  g_dataset_id_set_data_full(location, key_id, data, nil)
-
-proc g_dataset_id_remove_data*(location: gconstpointer, key_id: TGQuark) =
-  g_dataset_id_set_data(location, key_id, nil)
-
-proc g_dataset_get_data*(location: gconstpointer, key_str: cstring): gpointer =
-  result = g_dataset_id_get_data(location, g_quark_try_string(key_str))
-
-proc g_dataset_set_data_full*(location: gconstpointer, key_str: cstring,
-                              data: gpointer, destroy_func: TGDestroyNotify) =
-  g_dataset_id_set_data_full(location, g_quark_from_string(key_str), data,
-                             destroy_func)
-
-proc g_dataset_remove_no_notify*(location: gconstpointer, key_str: cstring) =
-  discard g_dataset_id_remove_no_notify(location, g_quark_try_string(key_str))
-
-proc g_dataset_set_data*(location: gconstpointer, key_str: cstring,
-                         data: gpointer) =
-  g_dataset_set_data_full(location, key_str, data, nil)
-
-proc g_dataset_remove_data*(location: gconstpointer, key_str: cstring) =
-  g_dataset_id_set_data(location, g_quark_try_string(key_str), nil)
-
-proc G_FILE_ERROR*(): TGQuark =
-  result = g_file_error_quark()
-
-proc TGHookList_hook_size*(a: var TGHookList): guint =
-  result = (a.flag0 and bm_TGHookList_hook_size) shr bp_TGHookList_hook_size
-
-proc TGHookList_set_hook_size*(a: var TGHookList, `hook_size`: guint) =
-  a.flag0 = a.flag0 or
-      ((`hook_size` shl bp_TGHookList_hook_size) and bm_TGHookList_hook_size)
-
-proc TGHookList_is_setup*(a: var TGHookList): guint =
-  result = (a.flag0 and bm_TGHookList_is_setup) shr bp_TGHookList_is_setup
-
-proc TGHookList_set_is_setup*(a: var TGHookList, `is_setup`: guint) =
-  a.flag0 = a.flag0 or
-      ((`is_setup` shl bp_TGHookList_is_setup) and bm_TGHookList_is_setup)
-
-proc G_HOOK*(hook: pointer): PGHook =
-  result = cast[PGHook](hook)
-
-proc G_HOOK_FLAGS*(hook: PGHook): guint =
-  result = hook.flags
-
-proc G_HOOK_ACTIVE*(hook: PGHook): bool =
-  result = (hook.flags and G_HOOK_FLAG_ACTIVE) != 0'i32
-
-proc G_HOOK_IN_CALL*(hook: PGHook): bool =
-  result = (hook.flags and G_HOOK_FLAG_IN_CALL) != 0'i32
-
-proc G_HOOK_IS_VALID*(hook: PGHook): bool =
-  result = (hook.hook_id != 0) and G_HOOK_ACTIVE(hook)
-
-proc G_HOOK_IS_UNLINKED*(hook: PGHook): bool =
-  result = (hook.next == nil) and (hook.prev == nil) and
-      (hook.hook_id == 0) and (hook.ref_count == 0'i32)
-
-proc g_hook_append*(hook_list: PGHookList, hook: PGHook) =
-  g_hook_insert_before(hook_list, nil, hook)
-
-proc G_IO_CHANNEL_ERROR*(): TGQuark =
-  result = g_io_channel_error_quark()
-
-proc TGIOChannel_use_buffer*(a: var TGIOChannel): guint =
-  result = (a.flag0 and bm_TGIOChannel_use_buffer) shr
-      bp_TGIOChannel_use_buffer
-
-proc TGIOChannel_set_use_buffer*(a: var TGIOChannel, `use_buffer`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`use_buffer` shl bp_TGIOChannel_use_buffer) and
-      bm_TGIOChannel_use_buffer)
-
-proc TGIOChannel_do_encode*(a: var TGIOChannel): guint =
-  result = (a.flag0 and bm_TGIOChannel_do_encode) shr
-      bp_TGIOChannel_do_encode
-
-proc TGIOChannel_set_do_encode*(a: var TGIOChannel, `do_encode`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`do_encode` shl bp_TGIOChannel_do_encode) and
-      bm_TGIOChannel_do_encode)
-
-proc TGIOChannel_close_on_unref*(a: var TGIOChannel): guint =
-  result = (a.flag0 and bm_TGIOChannel_close_on_unref) shr
-      bp_TGIOChannel_close_on_unref
-
-proc TGIOChannel_set_close_on_unref*(a: var TGIOChannel, `close_on_unref`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`close_on_unref` shl bp_TGIOChannel_close_on_unref) and
-      bm_TGIOChannel_close_on_unref)
-
-proc TGIOChannel_is_readable*(a: var TGIOChannel): guint =
-  result = (a.flag0 and bm_TGIOChannel_is_readable) shr
-      bp_TGIOChannel_is_readable
-
-proc TGIOChannel_set_is_readable*(a: var TGIOChannel, `is_readable`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_readable` shl bp_TGIOChannel_is_readable) and
-      bm_TGIOChannel_is_readable)
-
-proc TGIOChannel_is_writeable*(a: var TGIOChannel): guint =
-  result = (a.flag0 and bm_TGIOChannel_is_writeable) shr
-      bp_TGIOChannel_is_writeable
-
-proc TGIOChannel_set_is_writeable*(a: var TGIOChannel, `is_writeable`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_writeable` shl bp_TGIOChannel_is_writeable) and
-      bm_TGIOChannel_is_writeable)
-
-proc TGIOChannel_is_seekable*(a: var TGIOChannel): guint =
-  result = (a.flag0 and bm_TGIOChannel_is_seekable) shr
-      bp_TGIOChannel_is_seekable
-
-proc TGIOChannel_set_is_seekable*(a: var TGIOChannel, `is_seekable`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_seekable` shl bp_TGIOChannel_is_seekable) and
-      bm_TGIOChannel_is_seekable)
-
-proc g_utf8_next_char*(p: pguchar): pguchar =
-  result = cast[pguchar](cast[TAddress](p)+1) # p + ord((g_utf8_skip + p^ )^ )
-
-when false:
-  proc GLIB_CHECK_VERSION*(major, minor, micro: guint): bool =
-    result = ((GLIB_MAJOR_VERSION > major) or
-        ((GLIB_MAJOR_VERSION == major) and (GLIB_MINOR_VERSION > minor)) or
-        ((GLIB_MAJOR_VERSION == major) and (GLIB_MINOR_VERSION == minor) and
-        (GLIB_MICRO_VERSION >= micro)))
-
-  proc g_error*(format: cstring) =
-    g_log(G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format)
-
-  proc g_message*(format: cstring) =
-    g_log(G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, format)
-
-  proc g_critical*(format: cstring) =
-    g_log(G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, format)
-
-  proc g_warning*(format: cstring) =
-    g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, format)
-
-proc G_MARKUP_ERROR*(): TGQuark =
-  result = g_markup_error_quark()
-
-proc G_NODE_IS_ROOT*(node: PGNode): bool =
-  result = (node . parent == nil) and (node . next == nil) and
-      (node . prev == nil)
-
-proc G_NODE_IS_LEAF*(node: PGNode): bool =
-  result = node . children == nil
-
-proc g_node_append*(parent: PGNode, node: PGNode): PGNode =
-  result = g_node_insert_before(parent, nil, node)
-
-proc g_node_insert_data*(parent: PGNode, position: gint, data: gpointer): PGNode =
-  result = g_node_insert(parent, position, g_node_new(data))
-
-proc g_node_insert_data_before*(parent: PGNode, sibling: PGNode, data: gpointer): PGNode =
-  result = g_node_insert_before(parent, sibling, g_node_new(data))
-
-proc g_node_prepend_data*(parent: PGNode, data: gpointer): PGNode =
-  result = g_node_prepend(parent, g_node_new(data))
-
-proc g_node_append_data*(parent: PGNode, data: gpointer): PGNode =
-  result = g_node_insert_before(parent, nil, g_node_new(data))
-
-proc g_node_prev_sibling*(node: PGNode): PGNode =
-  if node != nil:
-    result = node.prev
-  else:
-    result = nil
-
-proc g_node_next_sibling*(node: PGNode): PGNode =
-  if node != nil:
-    result = node.next
-  else:
-    result = nil
-
-proc g_node_first_child*(node: PGNode): PGNode =
-  if node != nil:
-    result = node.children
-  else:
-    result = nil
-
-proc g_rand_boolean*(rand: PGRand): gboolean =
-  result = (int(g_rand_int(rand)) and (1 shl 15)) != 0
-
-proc g_random_boolean*(): gboolean =
-  result = (int(g_random_int()) and (1 shl 15)) != 0
-
-proc TGScannerConfig_case_sensitive*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_case_sensitive) shr
-      bp_TGScannerConfig_case_sensitive
-
-proc TGScannerConfig_set_case_sensitive*(a: var TGScannerConfig,
-    `case_sensitive`: guint) =
-  a.flag0 = a.flag0 or
-      ((`case_sensitive` shl bp_TGScannerConfig_case_sensitive) and
-      bm_TGScannerConfig_case_sensitive)
-
-proc TGScannerConfig_skip_comment_multi*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_skip_comment_multi) shr
-      bp_TGScannerConfig_skip_comment_multi
-
-proc TGScannerConfig_set_skip_comment_multi*(a: var TGScannerConfig,
-    `skip_comment_multi`: guint) =
-  a.flag0 = a.flag0 or
-      ((`skip_comment_multi` shl bp_TGScannerConfig_skip_comment_multi) and
-      bm_TGScannerConfig_skip_comment_multi)
-
-proc TGScannerConfig_skip_comment_single*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_skip_comment_single) shr
-      bp_TGScannerConfig_skip_comment_single
-
-proc TGScannerConfig_set_skip_comment_single*(a: var TGScannerConfig,
-    `skip_comment_single`: guint) =
-  a.flag0 = a.flag0 or
-      ((`skip_comment_single` shl bp_TGScannerConfig_skip_comment_single) and
-      bm_TGScannerConfig_skip_comment_single)
-
-proc TGScannerConfig_scan_comment_multi*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_comment_multi) shr
-      bp_TGScannerConfig_scan_comment_multi
-
-proc TGScannerConfig_set_scan_comment_multi*(a: var TGScannerConfig,
-    `scan_comment_multi`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_comment_multi` shl bp_TGScannerConfig_scan_comment_multi) and
-      bm_TGScannerConfig_scan_comment_multi)
-
-proc TGScannerConfig_scan_identifier*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_identifier) shr
-      bp_TGScannerConfig_scan_identifier
-
-proc TGScannerConfig_set_scan_identifier*(a: var TGScannerConfig,
-    `scan_identifier`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_identifier` shl bp_TGScannerConfig_scan_identifier) and
-      bm_TGScannerConfig_scan_identifier)
-
-proc TGScannerConfig_scan_identifier_1char*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_identifier_1char) shr
-      bp_TGScannerConfig_scan_identifier_1char
-
-proc TGScannerConfig_set_scan_identifier_1char*(a: var TGScannerConfig,
-    `scan_identifier_1char`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_identifier_1char` shl bp_TGScannerConfig_scan_identifier_1char) and
-      bm_TGScannerConfig_scan_identifier_1char)
-
-proc TGScannerConfig_scan_identifier_NULL*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_identifier_NULL) shr
-      bp_TGScannerConfig_scan_identifier_NULL
-
-proc TGScannerConfig_set_scan_identifier_NULL*(a: var TGScannerConfig,
-    `scan_identifier_NULL`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_identifier_NULL` shl bp_TGScannerConfig_scan_identifier_NULL) and
-      bm_TGScannerConfig_scan_identifier_NULL)
-
-proc TGScannerConfig_scan_symbols*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_symbols) shr
-      bp_TGScannerConfig_scan_symbols
-
-proc TGScannerConfig_set_scan_symbols*(a: var TGScannerConfig,
-                                       `scan_symbols`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_symbols` shl bp_TGScannerConfig_scan_symbols) and
-      bm_TGScannerConfig_scan_symbols)
-
-proc TGScannerConfig_scan_binary*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_binary) shr
-      bp_TGScannerConfig_scan_binary
-
-proc TGScannerConfig_set_scan_binary*(a: var TGScannerConfig,
-                                      `scan_binary`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_binary` shl bp_TGScannerConfig_scan_binary) and
-      bm_TGScannerConfig_scan_binary)
-
-proc TGScannerConfig_scan_octal*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_octal) shr
-      bp_TGScannerConfig_scan_octal
-
-proc TGScannerConfig_set_scan_octal*(a: var TGScannerConfig, `scan_octal`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_octal` shl bp_TGScannerConfig_scan_octal) and
-      bm_TGScannerConfig_scan_octal)
-
-proc TGScannerConfig_scan_float*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_float) shr
-      bp_TGScannerConfig_scan_float
-
-proc TGScannerConfig_set_scan_float*(a: var TGScannerConfig, `scan_float`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_float` shl bp_TGScannerConfig_scan_float) and
-      bm_TGScannerConfig_scan_float)
-
-proc TGScannerConfig_scan_hex*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_hex) shr
-      bp_TGScannerConfig_scan_hex
-
-proc TGScannerConfig_set_scan_hex*(a: var TGScannerConfig, `scan_hex`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_hex` shl bp_TGScannerConfig_scan_hex) and
-      bm_TGScannerConfig_scan_hex)
-
-proc TGScannerConfig_scan_hex_dollar*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_hex_dollar) shr
-      bp_TGScannerConfig_scan_hex_dollar
-
-proc TGScannerConfig_set_scan_hex_dollar*(a: var TGScannerConfig,
-    `scan_hex_dollar`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_hex_dollar` shl bp_TGScannerConfig_scan_hex_dollar) and
-      bm_TGScannerConfig_scan_hex_dollar)
-
-proc TGScannerConfig_scan_string_sq*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_string_sq) shr
-      bp_TGScannerConfig_scan_string_sq
-
-proc TGScannerConfig_set_scan_string_sq*(a: var TGScannerConfig,
-    `scan_string_sq`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_string_sq` shl bp_TGScannerConfig_scan_string_sq) and
-      bm_TGScannerConfig_scan_string_sq)
-
-proc TGScannerConfig_scan_string_dq*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scan_string_dq) shr
-      bp_TGScannerConfig_scan_string_dq
-
-proc TGScannerConfig_set_scan_string_dq*(a: var TGScannerConfig,
-    `scan_string_dq`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scan_string_dq` shl bp_TGScannerConfig_scan_string_dq) and
-      bm_TGScannerConfig_scan_string_dq)
-
-proc TGScannerConfig_numbers_2_int*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_numbers_2_int) shr
-      bp_TGScannerConfig_numbers_2_int
-
-proc TGScannerConfig_set_numbers_2_int*(a: var TGScannerConfig,
-                                        `numbers_2_int`: guint) =
-  a.flag0 = a.flag0 or
-      ((`numbers_2_int` shl bp_TGScannerConfig_numbers_2_int) and
-      bm_TGScannerConfig_numbers_2_int)
-
-proc TGScannerConfig_int_2_float*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_int_2_float) shr
-      bp_TGScannerConfig_int_2_float
-
-proc TGScannerConfig_set_int_2_float*(a: var TGScannerConfig,
-                                      `int_2_float`: guint) =
-  a.flag0 = a.flag0 or
-      ((`int_2_float` shl bp_TGScannerConfig_int_2_float) and
-      bm_TGScannerConfig_int_2_float)
-
-proc TGScannerConfig_identifier_2_string*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_identifier_2_string) shr
-      bp_TGScannerConfig_identifier_2_string
-
-proc TGScannerConfig_set_identifier_2_string*(a: var TGScannerConfig,
-    `identifier_2_string`: guint) =
-  a.flag0 = a.flag0 or
-      ((`identifier_2_string` shl bp_TGScannerConfig_identifier_2_string) and
-      bm_TGScannerConfig_identifier_2_string)
-
-proc TGScannerConfig_char_2_token*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_char_2_token) shr
-      bp_TGScannerConfig_char_2_token
-
-proc TGScannerConfig_set_char_2_token*(a: var TGScannerConfig,
-                                       `char_2_token`: guint) =
-  a.flag0 = a.flag0 or
-      ((`char_2_token` shl bp_TGScannerConfig_char_2_token) and
-      bm_TGScannerConfig_char_2_token)
-
-proc TGScannerConfig_symbol_2_token*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_symbol_2_token) shr
-      bp_TGScannerConfig_symbol_2_token
-
-proc TGScannerConfig_set_symbol_2_token*(a: var TGScannerConfig,
-    `symbol_2_token`: guint) =
-  a.flag0 = a.flag0 or
-      ((`symbol_2_token` shl bp_TGScannerConfig_symbol_2_token) and
-      bm_TGScannerConfig_symbol_2_token)
-
-proc TGScannerConfig_scope_0_fallback*(a: var TGScannerConfig): guint =
-  result = (a.flag0 and bm_TGScannerConfig_scope_0_fallback) shr
-      bp_TGScannerConfig_scope_0_fallback
-
-proc TGScannerConfig_set_scope_0_fallback*(a: var TGScannerConfig,
-    `scope_0_fallback`: guint) =
-  a.flag0 = a.flag0 or
-      ((`scope_0_fallback` shl bp_TGScannerConfig_scope_0_fallback) and
-      bm_TGScannerConfig_scope_0_fallback)
-
-proc g_scanner_freeze_symbol_table*(scanner: PGScanner) =
-  if Scanner == nil: nil
-
-proc g_scanner_thaw_symbol_table*(scanner: PGScanner) =
-  if Scanner == nil: nil
-
-proc G_SHELL_ERROR*(): TGQuark =
-  result = g_shell_error_quark()
-
-proc G_SPAWN_ERROR*(): TGQuark =
-  result = g_spawn_error_quark()
-
-when false:
-  proc g_ascii_isalnum*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_ALNUM) != 0
-
-  proc g_ascii_isalpha*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_ALPHA) != 0
-
-  proc g_ascii_iscntrl*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_CNTRL) != 0
-
-  proc g_ascii_isdigit*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_DIGIT) != 0
-
-  proc g_ascii_isgraph*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_GRAPH) != 0
-
-  proc g_ascii_islower*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_LOWER) != 0
-
-  proc g_ascii_isprint*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_PRINT) != 0
-
-  proc g_ascii_ispunct*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_PUNCT) != 0
-
-  proc g_ascii_isspace*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_SPACE) != 0
-
-  proc g_ascii_isupper*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_UPPER) != 0
-
-  proc g_ascii_isxdigit*(c: gchar): bool =
-    result = ((g_ascii_table[guchar(c)]) and G_ASCII_XDIGIT) != 0
-
-  proc g_strstrip*(str: cstring): cstring =
-    result = g_strchomp(g_strchug(str))
-
-proc G_TYPE_MAKE_FUNDAMENTAL*(x: int): GType =
-  result = GType(x shl G_TYPE_FUNDAMENTAL_SHIFT)
-
-proc G_TYPE_IS_FUNDAMENTAL*(theType: GType): bool =
-  result = theType <= G_TYPE_FUNDAMENTAL_MAX
-
-proc G_TYPE_IS_DERIVED*(theType: GType): bool =
-  result = theType > G_TYPE_FUNDAMENTAL_MAX
-
-proc G_TYPE_IS_INTERFACE*(theType: GType): bool =
-  result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_INTERFACE
-
-proc G_TYPE_IS_CLASSED*(theType: GType): gboolean =
-  result = private_g_type_test_flags(theType, G_TYPE_FLAG_CLASSED)
-
-proc G_TYPE_IS_INSTANTIATABLE*(theType: GType): bool =
-  result = private_g_type_test_flags(theType, G_TYPE_FLAG_INSTANTIATABLE)
-
-proc G_TYPE_IS_DERIVABLE*(theType: GType): bool =
-  result = private_g_type_test_flags(theType, G_TYPE_FLAG_DERIVABLE)
-
-proc G_TYPE_IS_DEEP_DERIVABLE*(theType: GType): bool =
-  result = private_g_type_test_flags(theType, G_TYPE_FLAG_DEEP_DERIVABLE)
-
-proc G_TYPE_IS_ABSTRACT*(theType: GType): bool =
-  result = private_g_type_test_flags(theType, G_TYPE_FLAG_ABSTRACT)
-
-proc G_TYPE_IS_VALUE_ABSTRACT*(theType: GType): bool =
-  result = private_g_type_test_flags(theType, G_TYPE_FLAG_VALUE_ABSTRACT)
-
-proc G_TYPE_IS_VALUE_TYPE*(theType: GType): bool =
-  result = private_g_type_check_is_value_type(theType)
-
-proc G_TYPE_HAS_VALUE_TABLE*(theType: GType): bool =
-  result = (g_type_value_table_peek(theType)) != nil
-
-proc G_TYPE_CHECK_INSTANCE*(instance: Pointer): gboolean =
-  result = private_g_type_check_instance(cast[PGTypeInstance](instance))
-
-proc G_TYPE_CHECK_INSTANCE_CAST*(instance: Pointer, g_type: GType): PGTypeInstance =
-  result = cast[PGTypeInstance](private_g_type_check_instance_cast(
-                                  cast[PGTypeInstance](instance), g_type))
-
-proc G_TYPE_CHECK_INSTANCE_TYPE*(instance: Pointer, g_type: GType): bool =
-  result = private_g_type_check_instance_is_a(
-             cast[PGTypeInstance](instance), g_type)
-
-proc G_TYPE_INSTANCE_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass =
-  result = cast[PGTypeInstance](Instance).g_class
-  result = private_g_type_check_class_cast(result, g_type)
-
-proc G_TYPE_INSTANCE_GET_INTERFACE*(instance: Pointer, g_type: GType): Pointer =
-  result = g_type_interface_peek((cast[PGTypeInstance](instance)).g_class, g_type)
-
-proc G_TYPE_CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer =
-  result = private_g_type_check_class_cast(cast[PGTypeClass](g_class), g_type)
-
-proc G_TYPE_CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool =
-  result = private_g_type_check_class_is_a(cast[PGTypeClass](g_class), g_type)
-
-proc G_TYPE_CHECK_VALUE*(value: Pointer): bool =
-  result = private_g_type_check_value(cast[PGValue](Value))
-
-proc G_TYPE_CHECK_VALUE_TYPE*(value: pointer, g_type: GType): bool =
-  result = private_g_type_check_value_holds(cast[PGValue](value), g_type)
-
-proc G_TYPE_FROM_INSTANCE*(instance: Pointer): GType =
-  result = G_TYPE_FROM_CLASS((cast[PGTypeInstance](instance)) . g_class)
-
-proc G_TYPE_FROM_CLASS*(g_class: Pointer): GType =
-  result = (cast[PGTypeClass](g_class)) . g_type
-
-proc G_TYPE_FROM_INTERFACE*(g_iface: Pointer): GType =
-  result = (cast[PGTypeInterface](g_iface)) . g_type
-
-proc G_TYPE_IS_VALUE*(theType: GType): bool =
-  result = private_g_type_check_is_value_type(theType)
-
-proc G_IS_VALUE*(value: Pointer): bool =
-  result = G_TYPE_CHECK_VALUE(value)
-
-proc G_VALUE_TYPE*(value: Pointer): GType =
-  result = (cast[PGValue](value)) . g_type
-
-proc G_VALUE_TYPE_NAME*(value: Pointer): cstring =
-  result = g_type_name(G_VALUE_TYPE(value))
-
-proc G_VALUE_HOLDS*(value: pointer, g_type: GType): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, g_type)
-
-proc G_TYPE_IS_PARAM*(theType: GType): bool =
-  result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_PARAM
-
-proc G_PARAM_SPEC*(pspec: Pointer): PGParamSpec =
-  result = cast[PGParamSpec](G_TYPE_CHECK_INSTANCE_CAST(pspec, G_TYPE_PARAM))
-
-proc G_IS_PARAM_SPEC*(pspec: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(pspec, G_TYPE_PARAM)
-
-proc G_PARAM_SPEC_CLASS*(pclass: Pointer): PGParamSpecClass =
-  result = cast[PGParamSpecClass](
-             G_TYPE_CHECK_CLASS_CAST(pclass, G_TYPE_PARAM))
-
-proc G_IS_PARAM_SPEC_CLASS*(pclass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(pclass, G_TYPE_PARAM)
-
-proc G_PARAM_SPEC_GET_CLASS*(pspec: Pointer): PGParamSpecClass =
-  result = cast[PGParamSpecClass](G_TYPE_INSTANCE_GET_CLASS(pspec, G_TYPE_PARAM))
-
-proc G_PARAM_SPEC_TYPE*(pspec: Pointer): GType =
-  result = G_TYPE_FROM_INSTANCE(pspec)
-
-proc G_PARAM_SPEC_TYPE_NAME*(pspec: Pointer): cstring =
-  result = g_type_name(G_PARAM_SPEC_TYPE(pspec))
-
-proc G_PARAM_SPEC_VALUE_TYPE*(pspec: Pointer): GType =
-  result = (G_PARAM_SPEC(pspec)) . value_type
-
-proc G_VALUE_HOLDS_PARAM*(value: Pointer): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_PARAM)
-
-proc G_CLOSURE_NEEDS_MARSHAL*(closure: Pointer): bool =
-  result = cast[PGClosure](closure).marshal == nil
-
-proc G_CLOSURE_N_NOTIFIERS*(cl: PGClosure): int32 =
-  result = ((meta_marshal(cl) + ((n_guards(cl)) shl 1'i32)) + (n_fnotifiers(cl))) +
-      (n_inotifiers(cl))
-
-proc G_CCLOSURE_SWAP_DATA*(cclosure: PGClosure): int32 =
-  result = derivative_flag(cclosure)
-
-proc G_CALLBACK*(f: pointer): TGCallback =
-  result = cast[TGCallback](f)
-
-proc ref_count*(a: var TGClosure): guint =
-  result = (a.flag0 and bm_TGClosure_ref_count) shr bp_TGClosure_ref_count
-
-proc set_ref_count*(a: var TGClosure, `ref_count`: guint) =
-  a.flag0 = a.flag0 or
-      ((`ref_count` shl bp_TGClosure_ref_count) and bm_TGClosure_ref_count)
-
-proc meta_marshal*(a: PGClosure): guint =
-  result = (a . flag0 and bm_TGClosure_meta_marshal) shr
-      bp_TGClosure_meta_marshal
-
-proc set_meta_marshal*(a: var TGClosure, `meta_marshal`: guint) =
-  a.flag0 = a.flag0 or
-      ((`meta_marshal` shl bp_TGClosure_meta_marshal) and
-      bm_TGClosure_meta_marshal)
-
-proc n_guards*(a: PGClosure): guint =
-  result = (a . flag0 and bm_TGClosure_n_guards) shr bp_TGClosure_n_guards
-
-proc set_n_guards*(a: var TGClosure, `n_guards`: guint) =
-  a.flag0 = a.flag0 or
-      ((`n_guards` shl bp_TGClosure_n_guards) and bm_TGClosure_n_guards)
-
-proc n_fnotifiers*(a: PGClosure): guint =
-  result = (a . flag0 and bm_TGClosure_n_fnotifiers) shr
-      bp_TGClosure_n_fnotifiers
-
-proc set_n_fnotifiers*(a: var TGClosure, `n_fnotifiers`: guint) =
-  a.flag0 = a.flag0 or
-      ((`n_fnotifiers` shl bp_TGClosure_n_fnotifiers) and
-      bm_TGClosure_n_fnotifiers)
-
-proc n_inotifiers*(a: PGClosure): guint =
-  result = (a . flag0 and bm_TGClosure_n_inotifiers) shr
-      bp_TGClosure_n_inotifiers
-
-proc set_n_inotifiers*(a: var TGClosure, `n_inotifiers`: guint) =
-  a.flag0 = a.flag0 or
-      ((`n_inotifiers` shl bp_TGClosure_n_inotifiers) and
-      bm_TGClosure_n_inotifiers)
-
-proc in_inotify*(a: var TGClosure): guint =
-  result = (a.flag0 and bm_TGClosure_in_inotify) shr bp_TGClosure_in_inotify
-
-proc set_in_inotify*(a: var TGClosure, `in_inotify`: guint) =
-  a.flag0 = a.flag0 or
-      ((`in_inotify` shl bp_TGClosure_in_inotify) and bm_TGClosure_in_inotify)
-
-proc floating*(a: var TGClosure): guint =
-  result = (a.flag0 and bm_TGClosure_floating) shr bp_TGClosure_floating
-
-proc set_floating*(a: var TGClosure, `floating`: guint) =
-  a.flag0 = a.flag0 or
-      ((`floating` shl bp_TGClosure_floating) and bm_TGClosure_floating)
-
-proc derivative_flag*(a: PGClosure): guint =
-  result = (a . flag0 and bm_TGClosure_derivative_flag) shr
-      bp_TGClosure_derivative_flag
-
-proc set_derivative_flag*(a: var TGClosure, `derivative_flag`: guint) =
-  a.flag0 = a.flag0 or
-      ((`derivative_flag` shl bp_TGClosure_derivative_flag) and
-      bm_TGClosure_derivative_flag)
-
-proc in_marshal*(a: var TGClosure): guint =
-  result = (a.flag0 and bm_TGClosure_in_marshal) shr bp_TGClosure_in_marshal
-
-proc set_in_marshal*(a: var TGClosure, in_marshal: guint) =
-  a.flag0 = a.flag0 or
-      ((in_marshal shl bp_TGClosure_in_marshal) and bm_TGClosure_in_marshal)
-
-proc is_invalid*(a: var TGClosure): guint =
-  result = (a.flag0 and bm_TGClosure_is_invalid) shr bp_TGClosure_is_invalid
-
-proc set_is_invalid*(a: var TGClosure, is_invalid: guint) =
-  a.flag0 = a.flag0 or
-      ((is_invalid shl bp_TGClosure_is_invalid) and bm_TGClosure_is_invalid)
-
-proc g_signal_connect*(instance: gpointer, detailed_signal: cstring,
-                       c_handler: TGCallback, data: gpointer): gulong =
-  result = g_signal_connect_data(instance, detailed_signal, c_handler, data,
-                                 nil, TGConnectFlags(0))
-
-proc g_signal_connect_after*(instance: gpointer, detailed_signal: cstring,
-                             c_handler: TGCallback, data: gpointer): gulong =
-  result = g_signal_connect_data(instance, detailed_signal, c_handler, data,
-                                 nil, G_CONNECT_AFTER)
-
-proc g_signal_connect_swapped*(instance: gpointer, detailed_signal: cstring,
-                               c_handler: TGCallback, data: gpointer): gulong =
-  result = g_signal_connect_data(instance, detailed_signal, c_handler, data,
-                                 nil, G_CONNECT_SWAPPED)
-
-proc g_signal_handlers_disconnect_by_func*(instance: gpointer,
-    func, data: gpointer): guint =
-  result = g_signal_handlers_disconnect_matched(instance,
-      TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil,
-      func, data)
-
-proc g_signal_handlers_block_by_func*(instance: gpointer, func, data: gpointer) =
-  discard g_signal_handlers_block_matched(instance, TGSignalMatchType(
-      G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil, func, data)
-
-proc g_signal_handlers_unblock_by_func*(instance: gpointer, func, data: gpointer) =
-  discard g_signal_handlers_unblock_matched(instance, TGSignalMatchType(
-      G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil, func, data)
-
-proc G_TYPE_IS_OBJECT*(theType: GType): bool =
-  result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_OBJECT
-
-proc G_OBJECT*(anObject: pointer): PGObject =
-  result = cast[PGObject](G_TYPE_CHECK_INSTANCE_CAST(anObject, G_TYPE_OBJECT))
-
-proc G_OBJECT_CLASS*(class: Pointer): PGObjectClass =
-  result = cast[PGObjectClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_OBJECT))
-
-proc G_IS_OBJECT*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, G_TYPE_OBJECT)
-
-proc G_IS_OBJECT_CLASS*(class: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_OBJECT)
-
-proc G_OBJECT_GET_CLASS*(anObject: pointer): PGObjectClass =
-  result = cast[PGObjectClass](G_TYPE_INSTANCE_GET_CLASS(anObject, G_TYPE_OBJECT))
-
-proc G_OBJECT_TYPE*(anObject: pointer): GType =
-  result = G_TYPE_FROM_INSTANCE(anObject)
-
-proc G_OBJECT_TYPE_NAME*(anObject: pointer): cstring =
-  result = g_type_name(G_OBJECT_TYPE(anObject))
-
-proc G_OBJECT_CLASS_TYPE*(class: Pointer): GType =
-  result = G_TYPE_FROM_CLASS(class)
-
-proc G_OBJECT_CLASS_NAME*(class: Pointer): cstring =
-  result = g_type_name(G_OBJECT_CLASS_TYPE(class))
-
-proc G_VALUE_HOLDS_OBJECT*(value: Pointer): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_OBJECT)
-
-proc G_OBJECT_WARN_INVALID_PROPERTY_ID*(anObject: gpointer, property_id: gint,
-                                        pspec: gpointer) =
-  G_OBJECT_WARN_INVALID_PSPEC(anObject, "property", property_id, pspec)
-
-proc G_OBJECT_WARN_INVALID_PSPEC*(anObject: gpointer, pname: cstring,
-                                  property_id: gint, pspec: gpointer) =
-  var
-    theObject: PGObject
-    pspec2: PGParamSpec
-    property_id: guint
-  theObject = cast[PGObject](anObject)
-  pspec2 = cast[PGParamSpec](pspec)
-  property_id = (property_id)
-  write(stdout, "invalid thingy\n")
-  #g_warning("%s: invalid %s id %u for \"%s\" of type `%s\' in `%s\'", "", pname,
-  #          `property_id`, `pspec` . name,
-  #          g_type_name(G_PARAM_SPEC_TYPE(`pspec`)),
-  #          G_OBJECT_TYPE_NAME(theobject))
-
-proc G_TYPE_TYPE_PLUGIN*(): GType =
-  result = g_type_plugin_get_type()
-
-proc G_TYPE_PLUGIN*(inst: Pointer): PGTypePlugin =
-  result = PGTypePlugin(G_TYPE_CHECK_INSTANCE_CAST(inst, G_TYPE_TYPE_PLUGIN()))
-
-proc G_TYPE_PLUGIN_CLASS*(vtable: Pointer): PGTypePluginClass =
-  result = cast[PGTypePluginClass](G_TYPE_CHECK_CLASS_CAST(vtable,
-    G_TYPE_TYPE_PLUGIN()))
-
-proc G_IS_TYPE_PLUGIN*(inst: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(inst, G_TYPE_TYPE_PLUGIN())
-
-proc G_IS_TYPE_PLUGIN_CLASS*(vtable: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(vtable, G_TYPE_TYPE_PLUGIN())
-
-proc G_TYPE_PLUGIN_GET_CLASS*(inst: Pointer): PGTypePluginClass =
-  result = cast[PGTypePluginClass](G_TYPE_INSTANCE_GET_INTERFACE(inst,
-      G_TYPE_TYPE_PLUGIN()))
-
-proc G_TYPE_IS_ENUM*(theType: GType): gboolean =
-  result = (G_TYPE_FUNDAMENTAL(theType) == G_TYPE_ENUM)
-
-proc G_ENUM_CLASS*(class: pointer): PGEnumClass =
-  result = cast[PGEnumClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_ENUM))
-
-proc G_IS_ENUM_CLASS*(class: pointer): gboolean =
-  result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_ENUM)
-
-proc G_ENUM_CLASS_TYPE*(class: pointer): GType =
-  result = G_TYPE_FROM_CLASS(class)
-
-proc G_ENUM_CLASS_TYPE_NAME*(class: pointer): cstring =
-  result = g_type_name(G_ENUM_CLASS_TYPE(class))
-
-proc G_TYPE_IS_FLAGS*(theType: GType): gboolean =
-  result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_FLAGS
-
-proc G_FLAGS_CLASS*(class: pointer): PGFlagsClass =
-  result = cast[PGFlagsClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_FLAGS))
-
-proc G_IS_FLAGS_CLASS*(class: pointer): gboolean =
-  result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_FLAGS)
-
-proc G_FLAGS_CLASS_TYPE*(class: pointer): GType =
-  result = G_TYPE_FROM_CLASS(class)
-
-proc G_FLAGS_CLASS_TYPE_NAME*(class: pointer): cstring =
-  result = g_type_name(G_FLAGS_TYPE(cast[TAddress](class)))
-
-proc G_VALUE_HOLDS_ENUM*(value: pointer): gboolean =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_ENUM)
-
-proc G_VALUE_HOLDS_FLAGS*(value: pointer): gboolean =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_FLAGS)
-
-proc CLAMP*(x, MinX, MaxX: int): int =
-  if x < MinX:
-    result = MinX
-  elif x > MaxX:
-    result = MaxX
-  else:
-    result = x
-
-proc GPOINTER_TO_SIZE*(p: GPointer): GSize =
-  result = GSize(cast[TAddress](p))
-
-proc GSIZE_TO_POINTER*(s: GSize): GPointer =
-  result = cast[GPointer](s)
-
-proc G_VALUE_HOLDS_CHAR*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_CHAR)
-
-proc G_VALUE_HOLDS_UCHAR*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UCHAR)
-
-proc G_VALUE_HOLDS_BOOLEAN*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_BOOLEAN)
-
-proc G_VALUE_HOLDS_INT*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_INT)
-
-proc G_VALUE_HOLDS_UINT*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UINT)
-
-proc G_VALUE_HOLDS_LONG*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_LONG)
-
-proc G_VALUE_HOLDS_ULONG*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_ULONG)
-
-proc G_VALUE_HOLDS_INT64*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_INT64)
-
-proc G_VALUE_HOLDS_UINT64*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UINT64)
-
-proc G_VALUE_HOLDS_FLOAT*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_FLOAT)
-
-proc G_VALUE_HOLDS_DOUBLE*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_DOUBLE)
-
-proc G_VALUE_HOLDS_STRING*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_STRING)
-
-proc G_VALUE_HOLDS_POINTER*(value: PGValue): bool =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_POINTER)
-
-proc G_TYPE_IS_BOXED*(theType: GType): gboolean =
-  result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_BOXED
-
-proc G_VALUE_HOLDS_BOXED*(value: PGValue): gboolean =
-  result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_BOXED)
-
-proc G_TYPE_CLOSURE*(): GType =
-  result = g_closure_get_type()
-
-proc G_TYPE_VALUE*(): GType =
-  result = g_value_get_type()
-
-proc G_TYPE_VALUE_ARRAY*(): GType =
-  result = g_value_array_get_type()
-
-proc G_TYPE_GSTRING*(): GType =
-  result = g_gstring_get_type()
diff --git a/lib/oldwrappers/gtk/gtk2.nim b/lib/oldwrappers/gtk/gtk2.nim
deleted file mode 100755
index e7c5be7be..000000000
--- a/lib/oldwrappers/gtk/gtk2.nim
+++ /dev/null
@@ -1,17271 +0,0 @@
-{.deadCodeElim: on.}
-
-import
-  glib2, atk, pango, gdk2pixbuf, gdk2
-
-when defined(win32):
-  const
-    gtklib = "libgtk-win32-2.0-0.dll"
-elif defined(darwin):
-  const
-    gtklib = "gtk-x11-2.0"
-  # linklib gtk-x11-2.0
-  # linklib gdk-x11-2.0
-  # linklib pango-1.0.0
-  # linklib glib-2.0.0
-  # linklib gobject-2.0.0
-  # linklib gdk_pixbuf-2.0.0
-  # linklib atk-1.0.0
-else:
-  const
-    gtklib = "libgtk-x11-2.0.so"
-type
-  PPPchar* = PPPgchar
-
-const
-  GTK_MAX_COMPOSE_LEN* = 7
-
-type
-  PGtkObject* = ptr TGtkObject
-  PPGtkObject* = ptr PGtkObject
-  PGtkArg* = ptr TGtkArg
-  PGtkType* = ptr TGtkType
-  TGtkType* = GType
-  PGtkWidget* = ptr TGtkWidget
-  PGtkMisc* = ptr TGtkMisc
-  PGtkLabel* = ptr TGtkLabel
-  PGtkMenu* = ptr TGtkMenu
-  PGtkAnchorType* = ptr TGtkAnchorType
-  TGtkAnchorType* = int32
-  PGtkArrowType* = ptr TGtkArrowType
-  TGtkArrowType* = int32
-  PGtkAttachOptions* = ptr TGtkAttachOptions
-  TGtkAttachOptions* = int32
-  PGtkButtonBoxStyle* = ptr TGtkButtonBoxStyle
-  TGtkButtonBoxStyle* = int32
-  PGtkCurveType* = ptr TGtkCurveType
-  TGtkCurveType* = int32
-  PGtkDeleteType* = ptr TGtkDeleteType
-  TGtkDeleteType* = int32
-  PGtkDirectionType* = ptr TGtkDirectionType
-  TGtkDirectionType* = int32
-  PGtkExpanderStyle* = ptr TGtkExpanderStyle
-  TGtkExpanderStyle* = int32
-  PPGtkIconSize* = ptr PGtkIconSize
-  PGtkIconSize* = ptr TGtkIconSize
-  TGtkIconSize* = int32
-  PGtkTextDirection* = ptr TGtkTextDirection
-  TGtkTextDirection* = int32
-  PGtkJustification* = ptr TGtkJustification
-  TGtkJustification* = int32
-  PGtkMenuDirectionType* = ptr TGtkMenuDirectionType
-  TGtkMenuDirectionType* = int32
-  PGtkMetricType* = ptr TGtkMetricType
-  TGtkMetricType* = int32
-  PGtkMovementStep* = ptr TGtkMovementStep
-  TGtkMovementStep* = int32
-  PGtkOrientation* = ptr TGtkOrientation
-  TGtkOrientation* = int32
-  PGtkCornerType* = ptr TGtkCornerType
-  TGtkCornerType* = int32
-  PGtkPackType* = ptr TGtkPackType
-  TGtkPackType* = int32
-  PGtkPathPriorityType* = ptr TGtkPathPriorityType
-  TGtkPathPriorityType* = int32
-  PGtkPathType* = ptr TGtkPathType
-  TGtkPathType* = int32
-  PGtkPolicyType* = ptr TGtkPolicyType
-  TGtkPolicyType* = int32
-  PGtkPositionType* = ptr TGtkPositionType
-  TGtkPositionType* = int32
-  PGtkReliefStyle* = ptr TGtkReliefStyle
-  TGtkReliefStyle* = int32
-  PGtkResizeMode* = ptr TGtkResizeMode
-  TGtkResizeMode* = int32
-  PGtkScrollType* = ptr TGtkScrollType
-  TGtkScrollType* = int32
-  PGtkSelectionMode* = ptr TGtkSelectionMode
-  TGtkSelectionMode* = int32
-  PGtkShadowType* = ptr TGtkShadowType
-  TGtkShadowType* = int32
-  PGtkStateType* = ptr TGtkStateType
-  TGtkStateType* = int32
-  PGtkSubmenuDirection* = ptr TGtkSubmenuDirection
-  TGtkSubmenuDirection* = int32
-  PGtkSubmenuPlacement* = ptr TGtkSubmenuPlacement
-  TGtkSubmenuPlacement* = int32
-  PGtkToolbarStyle* = ptr TGtkToolbarStyle
-  TGtkToolbarStyle* = int32
-  PGtkUpdateType* = ptr TGtkUpdateType
-  TGtkUpdateType* = int32
-  PGtkVisibility* = ptr TGtkVisibility
-  TGtkVisibility* = int32
-  PGtkWindowPosition* = ptr TGtkWindowPosition
-  TGtkWindowPosition* = int32
-  PGtkWindowType* = ptr TGtkWindowType
-  TGtkWindowType* = int32
-  PGtkWrapMode* = ptr TGtkWrapMode
-  TGtkWrapMode* = int32
-  PGtkSortType* = ptr TGtkSortType
-  TGtkSortType* = int32
-  PGtkStyle* = ptr TGtkStyle
-  PPGtkTreeModel* = ptr PGtkTreeModel
-  PGtkTreeModel* = pointer
-  PGtkTreePath* = pointer
-  PGtkTreeIter* = ptr TGtkTreeIter
-  PGtkSelectionData* = ptr TGtkSelectionData
-  PGtkTextTagTable* = ptr TGtkTextTagTable
-  PGtkTextBTreeNode* = pointer
-  PGtkTextBTree* = pointer
-  PGtkTextLine* = ptr TGtkTextLine
-  PGtkTreeViewColumn* = ptr TGtkTreeViewColumn
-  PGtkTreeView* = ptr TGtkTreeView
-  TGtkTreeViewColumnDropFunc* = proc (tree_view: PGtkTreeView,
-                                      column: PGtkTreeViewColumn,
-                                      prev_column: PGtkTreeViewColumn,
-                                      next_column: PGtkTreeViewColumn,
-                                      data: gpointer): gboolean{.cdecl.}
-  TGtkTreeViewMappingFunc* = proc (tree_view: PGtkTreeView, path: PGtkTreePath,
-                                   user_data: gpointer){.cdecl.}
-  TGtkTreeViewSearchEqualFunc* = proc (model: PGtkTreeModel, column: gint,
-                                       key: cstring, iter: PGtkTreeIter,
-                                       search_data: gpointer): gboolean{.cdecl.}
-  TGtkTreeDestroyCountFunc* = proc (tree_view: PGtkTreeView, path: PGtkTreePath,
-                                    children: gint, user_data: gpointer){.cdecl.}
-  PGtkTreeViewDropPosition* = ptr TGtkTreeViewDropPosition
-  TGtkTreeViewDropPosition* = enum
-    GTK_TREE_VIEW_DROP_BEFORE, GTK_TREE_VIEW_DROP_AFTER,
-    GTK_TREE_VIEW_DROP_INTO_OR_BEFORE, GTK_TREE_VIEW_DROP_INTO_OR_AFTER
-  PGtkObjectFlags* = ptr TGtkObjectFlags
-  TGtkObjectFlags* = int32
-  TGtkObject* = object of TGObject
-    flags*: guint32
-
-  PGtkObjectClass* = ptr TGtkObjectClass
-  TGtkObjectClass* = object of TGObjectClass
-    set_arg*: proc (anObject: PGtkObject, arg: PGtkArg, arg_id: guint){.cdecl.}
-    get_arg*: proc (anObject: PGtkObject, arg: PGtkArg, arg_id: guint){.cdecl.}
-    destroy*: proc (anObject: PGtkObject){.cdecl.}
-
-  PGtkFundamentalType* = ptr TGtkFundamentalType
-  TGtkFundamentalType* = GType
-  TGtkFunction* = proc (data: gpointer): gboolean{.cdecl.}
-  TGtkDestroyNotify* = proc (data: gpointer){.cdecl.}
-  TGtkCallbackMarshal* = proc (anObject: PGtkObject, data: gpointer,
-                               n_args: guint, args: PGtkArg){.cdecl.}
-  TGtkSignalFuncProc* = proc ()
-  TGtkSignalFunc* = proc (para1: TGtkSignalFuncProc){.cdecl.}
-  PGtkSignalMarshaller* = ptr TGtkSignalMarshaller
-  TGtkSignalMarshaller* = TGSignalCMarshaller
-  TGtkArgSignalData* {.final, pure.} = object
-    f*: TGtkSignalFunc
-    d*: gpointer
-
-  TGtkArg* {.final, pure.} = object
-    `type`*: TGtkType
-    name*: cstring
-    d*: gdouble               # was a union type
-
-  PGtkTypeInfo* = ptr TGtkTypeInfo
-  TGtkTypeInfo* {.final, pure.} = object
-    type_name*: cstring
-    object_size*: guint
-    class_size*: guint
-    class_init_func*: pointer #TGtkClassInitFunc
-    object_init_func*: pointer #TGtkObjectInitFunc
-    reserved_1*: gpointer
-    reserved_2*: gpointer
-    base_class_init_func*: pointer #TGtkClassInitFunc
-
-  PGtkEnumValue* = ptr TGtkEnumValue
-  TGtkEnumValue* = TGEnumValue
-  PGtkFlagValue* = ptr TGtkFlagValue
-  TGtkFlagValue* = TGFlagsValue
-  PGtkWidgetFlags* = ptr TGtkWidgetFlags
-  TGtkWidgetFlags* = int32
-  PGtkWidgetHelpType* = ptr TGtkWidgetHelpType
-  TGtkWidgetHelpType* = enum
-    GTK_WIDGET_HELP_TOOLTIP, GTK_WIDGET_HELP_WHATS_THIS
-  PGtkAllocation* = ptr TGtkAllocation
-  TGtkAllocation* = TGdkRectangle
-  TGtkCallback* = proc (widget: PGtkWidget, data: gpointer){.cdecl.}
-  PGtkRequisition* = ptr TGtkRequisition
-  TGtkRequisition* {.final, pure.} = object
-    width*: gint
-    height*: gint
-
-  TGtkWidget* = object of TGtkObject
-    private_flags*: guint16
-    state*: guint8
-    saved_state*: guint8
-    name*: cstring
-    style*: PGtkStyle
-    requisition*: TGtkRequisition
-    allocation*: TGtkAllocation
-    window*: PGdkWindow
-    parent*: PGtkWidget
-
-  PGtkWidgetClass* = ptr TGtkWidgetClass
-  TGtkWidgetClass* = object of TGtkObjectClass
-    activate_signal*: guint
-    set_scroll_adjustments_signal*: guint
-    dispatch_child_properties_changed*: proc (widget: PGtkWidget,
-        n_pspecs: guint, pspecs: PPGParamSpec){.cdecl.}
-    show*: proc (widget: PGtkWidget){.cdecl.}
-    show_all*: proc (widget: PGtkWidget){.cdecl.}
-    hide*: proc (widget: PGtkWidget){.cdecl.}
-    hide_all*: proc (widget: PGtkWidget){.cdecl.}
-    map*: proc (widget: PGtkWidget){.cdecl.}
-    unmap*: proc (widget: PGtkWidget){.cdecl.}
-    realize*: proc (widget: PGtkWidget){.cdecl.}
-    unrealize*: proc (widget: PGtkWidget){.cdecl.}
-    size_request*: proc (widget: PGtkWidget, requisition: PGtkRequisition){.
-        cdecl.}
-    size_allocate*: proc (widget: PGtkWidget, allocation: PGtkAllocation){.cdecl.}
-    state_changed*: proc (widget: PGtkWidget, previous_state: TGtkStateType){.
-        cdecl.}
-    parent_set*: proc (widget: PGtkWidget, previous_parent: PGtkWidget){.cdecl.}
-    hierarchy_changed*: proc (widget: PGtkWidget, previous_toplevel: PGtkWidget){.
-        cdecl.}
-    style_set*: proc (widget: PGtkWidget, previous_style: PGtkStyle){.cdecl.}
-    direction_changed*: proc (widget: PGtkWidget,
-                              previous_direction: TGtkTextDirection){.cdecl.}
-    grab_notify*: proc (widget: PGtkWidget, was_grabbed: gboolean){.cdecl.}
-    child_notify*: proc (widget: PGtkWidget, pspec: PGParamSpec){.cdecl.}
-    mnemonic_activate*: proc (widget: PGtkWidget, group_cycling: gboolean): gboolean{.
-        cdecl.}
-    grab_focus*: proc (widget: PGtkWidget){.cdecl.}
-    focus*: proc (widget: PGtkWidget, direction: TGtkDirectionType): gboolean{.
-        cdecl.}
-    event*: proc (widget: PGtkWidget, event: PGdkEvent): gboolean{.cdecl.}
-    button_press_event*: proc (widget: PGtkWidget, event: PGdkEventButton): gboolean{.
-        cdecl.}
-    button_release_event*: proc (widget: PGtkWidget, event: PGdkEventButton): gboolean{.
-        cdecl.}
-    scroll_event*: proc (widget: PGtkWidget, event: PGdkEventScroll): gboolean{.
-        cdecl.}
-    motion_notify_event*: proc (widget: PGtkWidget, event: PGdkEventMotion): gboolean{.
-        cdecl.}
-    delete_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.
-        cdecl.}
-    destroy_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.
-        cdecl.}
-    expose_event*: proc (widget: PGtkWidget, event: PGdkEventExpose): gboolean{.
-        cdecl.}
-    key_press_event*: proc (widget: PGtkWidget, event: PGdkEventKey): gboolean{.
-        cdecl.}
-    key_release_event*: proc (widget: PGtkWidget, event: PGdkEventKey): gboolean{.
-        cdecl.}
-    enter_notify_event*: proc (widget: PGtkWidget, event: PGdkEventCrossing): gboolean{.
-        cdecl.}
-    leave_notify_event*: proc (widget: PGtkWidget, event: PGdkEventCrossing): gboolean{.
-        cdecl.}
-    configure_event*: proc (widget: PGtkWidget, event: PGdkEventConfigure): gboolean{.
-        cdecl.}
-    focus_in_event*: proc (widget: PGtkWidget, event: PGdkEventFocus): gboolean{.
-        cdecl.}
-    focus_out_event*: proc (widget: PGtkWidget, event: PGdkEventFocus): gboolean{.
-        cdecl.}
-    map_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.cdecl.}
-    unmap_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.
-        cdecl.}
-    property_notify_event*: proc (widget: PGtkWidget, event: PGdkEventProperty): gboolean{.
-        cdecl.}
-    selection_clear_event*: proc (widget: PGtkWidget, event: PGdkEventSelection): gboolean{.
-        cdecl.}
-    selection_request_event*: proc (widget: PGtkWidget,
-                                    event: PGdkEventSelection): gboolean{.cdecl.}
-    selection_notify_event*: proc (widget: PGtkWidget, event: PGdkEventSelection): gboolean{.
-        cdecl.}
-    proximity_in_event*: proc (widget: PGtkWidget, event: PGdkEventProximity): gboolean{.
-        cdecl.}
-    proximity_out_event*: proc (widget: PGtkWidget, event: PGdkEventProximity): gboolean{.
-        cdecl.}
-    visibility_notify_event*: proc (widget: PGtkWidget,
-                                    event: PGdkEventVisibility): gboolean{.cdecl.}
-    client_event*: proc (widget: PGtkWidget, event: PGdkEventClient): gboolean{.
-        cdecl.}
-    no_expose_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.
-        cdecl.}
-    window_state_event*: proc (widget: PGtkWidget, event: PGdkEventWindowState): gboolean{.
-        cdecl.}
-    selection_get*: proc (widget: PGtkWidget, selection_data: PGtkSelectionData,
-                          info: guint, time: guint){.cdecl.}
-    selection_received*: proc (widget: PGtkWidget,
-                               selection_data: PGtkSelectionData, time: guint){.
-        cdecl.}
-    drag_begin*: proc (widget: PGtkWidget, context: PGdkDragContext){.cdecl.}
-    drag_end*: proc (widget: PGtkWidget, context: PGdkDragContext){.cdecl.}
-    drag_data_get*: proc (widget: PGtkWidget, context: PGdkDragContext,
-                          selection_data: PGtkSelectionData, info: guint,
-                          time: guint){.cdecl.}
-    drag_data_delete*: proc (widget: PGtkWidget, context: PGdkDragContext){.
-        cdecl.}
-    drag_leave*: proc (widget: PGtkWidget, context: PGdkDragContext, time: guint){.
-        cdecl.}
-    drag_motion*: proc (widget: PGtkWidget, context: PGdkDragContext, x: gint,
-                        y: gint, time: guint): gboolean{.cdecl.}
-    drag_drop*: proc (widget: PGtkWidget, context: PGdkDragContext, x: gint,
-                      y: gint, time: guint): gboolean{.cdecl.}
-    drag_data_received*: proc (widget: PGtkWidget, context: PGdkDragContext,
-                               x: gint, y: gint,
-                               selection_data: PGtkSelectionData, info: guint,
-                               time: guint){.cdecl.}
-    popup_menu*: proc (widget: PGtkWidget): gboolean{.cdecl.}
-    show_help*: proc (widget: PGtkWidget, help_type: TGtkWidgetHelpType): gboolean{.
-        cdecl.}
-    get_accessible*: proc (widget: PGtkWidget): PAtkObject{.cdecl.}
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
-    gtk_reserved5*: proc (){.cdecl.}
-    gtk_reserved6*: proc (){.cdecl.}
-    gtk_reserved7*: proc (){.cdecl.}
-    gtk_reserved8*: proc (){.cdecl.}
-
-  PGtkWidgetAuxInfo* = ptr TGtkWidgetAuxInfo
-  TGtkWidgetAuxInfo* {.final, pure.} = object
-    x*: gint
-    y*: gint
-    width*: gint
-    height*: gint
-    flag0*: guint16
-
-  PGtkWidgetShapeInfo* = ptr TGtkWidgetShapeInfo
-  TGtkWidgetShapeInfo* {.final, pure.} = object
-    offset_x*: gint16
-    offset_y*: gint16
-    shape_mask*: PGdkBitmap
-
-  TGtkMisc* = object of TGtkWidget
-    xalign*: gfloat
-    yalign*: gfloat
-    xpad*: guint16
-    ypad*: guint16
-
-  PGtkMiscClass* = ptr TGtkMiscClass
-  TGtkMiscClass* = object of TGtkWidgetClass
-
-  PGtkAccelFlags* = ptr TGtkAccelFlags
-  TGtkAccelFlags* = int32
-  PGtkAccelGroup* = ptr TGtkAccelGroup
-  PGtkAccelGroupEntry* = ptr TGtkAccelGroupEntry
-  TGtkAccelGroupActivate* = proc (accel_group: PGtkAccelGroup,
-                                  acceleratable: PGObject, keyval: guint,
-                                  modifier: TGdkModifierType): gboolean{.cdecl.}
-  TGtkAccelGroup* = object of TGObject
-    lock_count*: guint
-    modifier_mask*: TGdkModifierType
-    acceleratables*: PGSList
-    n_accels*: guint
-    priv_accels*: PGtkAccelGroupEntry
-
-  PGtkAccelGroupClass* = ptr TGtkAccelGroupClass
-  TGtkAccelGroupClass* = object of TGObjectClass
-    accel_changed*: proc (accel_group: PGtkAccelGroup, keyval: guint,
-                          modifier: TGdkModifierType, accel_closure: PGClosure){.
-        cdecl.}
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
-
-  PGtkAccelKey* = ptr TGtkAccelKey
-  TGtkAccelKey* {.final, pure.} = object
-    accel_key*: guint
-    accel_mods*: TGdkModifierType
-    flag0*: guint16
-
-  TGtkAccelGroupEntry* {.final, pure.} = object
-    key*: TGtkAccelKey
-    closure*: PGClosure
-    accel_path_quark*: TGQuark
-
-  Tgtk_accel_group_find_func* = proc (key: PGtkAccelKey, closure: PGClosure,
-                                      data: gpointer): gboolean{.cdecl.}
-  PGtkContainer* = ptr TGtkContainer
-  TGtkContainer* = object of TGtkWidget
-    focus_child*: PGtkWidget
-    GtkContainer_flag0*: int32
-
-  PGtkContainerClass* = ptr TGtkContainerClass
-  TGtkContainerClass* = object of TGtkWidgetClass
-    add*: proc (container: PGtkContainer, widget: PGtkWidget){.cdecl.}
-    remove*: proc (container: PGtkContainer, widget: PGtkWidget){.cdecl.}
-    check_resize*: proc (container: PGtkContainer){.cdecl.}
-    forall*: proc (container: PGtkContainer, include_internals: gboolean,
-                   callback: TGtkCallback, callback_data: gpointer){.cdecl.}
-    set_focus_child*: proc (container: PGtkContainer, widget: PGtkWidget){.cdecl.}
-    child_type*: proc (container: PGtkContainer): TGtkType{.cdecl.}
-    composite_name*: proc (container: PGtkContainer, child: PGtkWidget): cstring{.
-        cdecl.}
-    set_child_property*: proc (container: PGtkContainer, child: PGtkWidget,
-                               property_id: guint, value: PGValue,
-                               pspec: PGParamSpec){.cdecl.}
-    get_child_property*: proc (container: PGtkContainer, child: PGtkWidget,
-                               property_id: guint, value: PGValue,
-                               pspec: PGParamSpec){.cdecl.}
-    gtk_reserved20: proc (){.cdecl.}
-    gtk_reserved21: proc (){.cdecl.}
-    gtk_reserved23: proc (){.cdecl.}
-    gtk_reserved24: proc (){.cdecl.}
-
-  PGtkBin* = ptr TGtkBin
-  TGtkBin* = object of TGtkContainer
-    child*: PGtkWidget
-
-  PGtkBinClass* = ptr TGtkBinClass
-  TGtkBinClass* = object of TGtkContainerClass
-
-  PGtkWindowGeometryInfo* = pointer
-  PGtkWindowGroup* = ptr TGtkWindowGroup
-  PGtkWindow* = ptr TGtkWindow
-  TGtkWindow* = object of TGtkBin
-    title*: cstring
-    wmclass_name*: cstring
-    wmclass_class*: cstring
-    wm_role*: cstring
-    focus_widget*: PGtkWidget
-    default_widget*: PGtkWidget
-    transient_parent*: PGtkWindow
-    geometry_info*: PGtkWindowGeometryInfo
-    frame*: PGdkWindow
-    group*: PGtkWindowGroup
-    configure_request_count*: guint16
-    gtkwindow_flag0*: int32
-    frame_left*: guint
-    frame_top*: guint
-    frame_right*: guint
-    frame_bottom*: guint
-    keys_changed_handler*: guint
-    mnemonic_modifier*: TGdkModifierType
-    screen*: PGdkScreen
-
-  PGtkWindowClass* = ptr TGtkWindowClass
-  TGtkWindowClass* = object of TGtkBinClass
-    set_focus*: proc (window: PGtkWindow, focus: PGtkWidget){.cdecl.}
-    frame_event*: proc (window: PGtkWindow, event: PGdkEvent): gboolean{.cdecl.}
-    activate_focus*: proc (window: PGtkWindow){.cdecl.}
-    activate_default*: proc (window: PGtkWindow){.cdecl.}
-    move_focus*: proc (window: PGtkWindow, direction: TGtkDirectionType){.cdecl.}
-    keys_changed*: proc (window: PGtkWindow){.cdecl.}
-    gtk_reserved30: proc (){.cdecl.}
-    gtk_reserved31: proc (){.cdecl.}
-    gtk_reserved32: proc (){.cdecl.}
-    gtk_reserved33: proc (){.cdecl.}
-
-  TGtkWindowGroup* = object of TGObject
-    grabs*: PGSList
-
-  PGtkWindowGroupClass* = ptr TGtkWindowGroupClass
-  TGtkWindowGroupClass* = object of TGObjectClass
-    gtk_reserved40: proc (){.cdecl.}
-    gtk_reserved41: proc (){.cdecl.}
-    gtk_reserved42: proc (){.cdecl.}
-    gtk_reserved43: proc (){.cdecl.}
-
-  TGtkWindowKeysForeachFunc* = proc (window: PGtkWindow, keyval: guint,
-                                     modifiers: TGdkModifierType,
-                                     is_mnemonic: gboolean, data: gpointer){.
-      cdecl.}
-  PGtkLabelSelectionInfo* = pointer
-  TGtkLabel* = object of TGtkMisc
-    `label`*: cstring
-    GtkLabel_flag0*: guint16
-    mnemonic_keyval*: guint
-    text*: cstring
-    attrs*: PPangoAttrList
-    effective_attrs*: PPangoAttrList
-    layout*: PPangoLayout
-    mnemonic_widget*: PGtkWidget
-    mnemonic_window*: PGtkWindow
-    select_info*: PGtkLabelSelectionInfo
-
-  PGtkLabelClass* = ptr TGtkLabelClass
-  TGtkLabelClass* = object of TGtkMiscClass
-    move_cursor*: proc (`label`: PGtkLabel, step: TGtkMovementStep, count: gint,
-                        extend_selection: gboolean){.cdecl.}
-    copy_clipboard*: proc (`label`: PGtkLabel){.cdecl.}
-    populate_popup*: proc (`label`: PGtkLabel, menu: PGtkMenu){.cdecl.}
-    gtk_reserved50: proc (){.cdecl.}
-    gtk_reserved51: proc (){.cdecl.}
-    gtk_reserved52: proc (){.cdecl.}
-    gtk_reserved53: proc (){.cdecl.}
-
-  PGtkAccelLabel* = ptr TGtkAccelLabel
-  TGtkAccelLabel* = object of TGtkLabel
-    queue_id*: guint
-    accel_padding*: guint
-    accel_widget*: PGtkWidget
-    accel_closure*: PGClosure
-    accel_group*: PGtkAccelGroup
-    accel_string*: cstring
-    accel_string_width*: guint16
-
-  PGtkAccelLabelClass* = ptr TGtkAccelLabelClass
-  TGtkAccelLabelClass* = object of TGtkLabelClass
-    signal_quote1*: cstring
-    signal_quote2*: cstring
-    mod_name_shift*: cstring
-    mod_name_control*: cstring
-    mod_name_alt*: cstring
-    mod_separator*: cstring
-    accel_seperator*: cstring
-    GtkAccelLabelClass_flag0*: guint16
-    gtk_reserved61: proc (){.cdecl.}
-    gtk_reserved62: proc (){.cdecl.}
-    gtk_reserved63: proc (){.cdecl.}
-    gtk_reserved64: proc (){.cdecl.}
-
-  TGtkAccelMapForeach* = proc (data: gpointer, accel_path: cstring,
-                               accel_key: guint, accel_mods: TGdkModifierType,
-                               changed: gboolean){.cdecl.}
-  PGtkAccessible* = ptr TGtkAccessible
-  TGtkAccessible* = object of TAtkObject
-    widget*: PGtkWidget
-
-  PGtkAccessibleClass* = ptr TGtkAccessibleClass
-  TGtkAccessibleClass* = object of TAtkObjectClass
-    connect_widget_destroyed*: proc (accessible: PGtkAccessible){.cdecl.}
-    gtk_reserved71: proc (){.cdecl.}
-    gtk_reserved72: proc (){.cdecl.}
-    gtk_reserved73: proc (){.cdecl.}
-    gtk_reserved74: proc (){.cdecl.}
-
-  PGtkAdjustment* = ptr TGtkAdjustment
-  TGtkAdjustment* = object of TGtkObject
-    lower*: gdouble
-    upper*: gdouble
-    value*: gdouble
-    step_increment*: gdouble
-    page_increment*: gdouble
-    page_size*: gdouble
-
-  PGtkAdjustmentClass* = ptr TGtkAdjustmentClass
-  TGtkAdjustmentClass* = object of TGtkObjectClass
-    changed*: proc (adjustment: PGtkAdjustment){.cdecl.}
-    value_changed*: proc (adjustment: PGtkAdjustment){.cdecl.}
-    gtk_reserved81: proc (){.cdecl.}
-    gtk_reserved82: proc (){.cdecl.}
-    gtk_reserved83: proc (){.cdecl.}
-    gtk_reserved84: proc (){.cdecl.}
-
-  PGtkAlignment* = ptr TGtkAlignment
-  TGtkAlignment* = object of TGtkBin
-    xalign*: gfloat
-    yalign*: gfloat
-    xscale*: gfloat
-    yscale*: gfloat
-
-  PGtkAlignmentClass* = ptr TGtkAlignmentClass
-  TGtkAlignmentClass* = object of TGtkBinClass
-
-  PGtkFrame* = ptr TGtkFrame
-  TGtkFrame* = object of TGtkBin
-    label_widget*: PGtkWidget
-    shadow_type*: gint16
-    label_xalign*: gfloat
-    label_yalign*: gfloat
-    child_allocation*: TGtkAllocation
-
-  PGtkFrameClass* = ptr TGtkFrameClass
-  TGtkFrameClass* = object of TGtkBinClass
-    compute_child_allocation*: proc (frame: PGtkFrame,
-                                     allocation: PGtkAllocation){.cdecl.}
-
-  PGtkAspectFrame* = ptr TGtkAspectFrame
-  TGtkAspectFrame* = object of TGtkFrame
-    xalign*: gfloat
-    yalign*: gfloat
-    ratio*: gfloat
-    obey_child*: gboolean
-    center_allocation*: TGtkAllocation
-
-  PGtkAspectFrameClass* = ptr TGtkAspectFrameClass
-  TGtkAspectFrameClass* = object of TGtkFrameClass
-
-  PGtkArrow* = ptr TGtkArrow
-  TGtkArrow* = object of TGtkMisc
-    arrow_type*: gint16
-    shadow_type*: gint16
-
-  PGtkArrowClass* = ptr TGtkArrowClass
-  TGtkArrowClass* = object of TGtkMiscClass
-
-  PGtkBindingEntry* = ptr TGtkBindingEntry
-  PGtkBindingSignal* = ptr TGtkBindingSignal
-  PGtkBindingArg* = ptr TGtkBindingArg
-  PGtkBindingSet* = ptr TGtkBindingSet
-  TGtkBindingSet* {.final, pure.} = object
-    set_name*: cstring
-    priority*: gint
-    widget_path_pspecs*: PGSList
-    widget_class_pspecs*: PGSList
-    class_branch_pspecs*: PGSList
-    entries*: PGtkBindingEntry
-    current*: PGtkBindingEntry
-    flag0*: guint16
-
-  TGtkBindingEntry* {.final, pure.} = object
-    keyval*: guint
-    modifiers*: TGdkModifierType
-    binding_set*: PGtkBindingSet
-    flag0*: guint16
-    set_next*: PGtkBindingEntry
-    hash_next*: PGtkBindingEntry
-    signals*: PGtkBindingSignal
-
-  TGtkBindingSignal* {.final, pure.} = object
-    next*: PGtkBindingSignal
-    signal_name*: cstring
-    n_args*: guint
-    args*: PGtkBindingArg
-
-  TGtkBindingArg* {.final, pure.} = object
-    arg_type*: TGtkType
-    d*: gdouble
-
-  PGtkBox* = ptr TGtkBox
-  TGtkBox* = object of TGtkContainer
-    children*: PGList
-    spacing*: gint16
-    gtkbox_flag0*: guint16
-
-  PGtkBoxClass* = ptr TGtkBoxClass
-  TGtkBoxClass* = object of TGtkContainerClass
-
-  PGtkBoxChild* = ptr TGtkBoxChild
-  TGtkBoxChild* {.final, pure.} = object
-    widget*: PGtkWidget
-    padding*: guint16
-    flag0*: guint16
-
-  PGtkButtonBox* = ptr TGtkButtonBox
-  TGtkButtonBox* = object of TGtkBox
-    child_min_width*: gint
-    child_min_height*: gint
-    child_ipad_x*: gint
-    child_ipad_y*: gint
-    layout_style*: TGtkButtonBoxStyle
-
-  PGtkButtonBoxClass* = ptr TGtkButtonBoxClass
-  TGtkButtonBoxClass* = object of TGtkBoxClass
-
-  PGtkButton* = ptr TGtkButton
-  TGtkButton* = object of TGtkBin
-    event_window*: PGdkWindow
-    label_text*: cstring
-    activate_timeout*: guint
-    gtkbutton_flag0*: guint16
-
-  PGtkButtonClass* = ptr TGtkButtonClass
-  TGtkButtonClass* = object of TGtkBinClass
-    pressed*: proc (button: PGtkButton){.cdecl.}
-    released*: proc (button: PGtkButton){.cdecl.}
-    clicked*: proc (button: PGtkButton){.cdecl.}
-    enter*: proc (button: PGtkButton){.cdecl.}
-    leave*: proc (button: PGtkButton){.cdecl.}
-    activate*: proc (button: PGtkButton){.cdecl.}
-    gtk_reserved101: proc (){.cdecl.}
-    gtk_reserved102: proc (){.cdecl.}
-    gtk_reserved103: proc (){.cdecl.}
-    gtk_reserved104: proc (){.cdecl.}
-
-  PGtkCalendarDisplayOptions* = ptr TGtkCalendarDisplayOptions
-  TGtkCalendarDisplayOptions* = int32
-  PGtkCalendar* = ptr TGtkCalendar
-  TGtkCalendar* = object of TGtkWidget
-    header_style*: PGtkStyle
-    label_style*: PGtkStyle
-    month*: gint
-    year*: gint
-    selected_day*: gint
-    day_month*: array[0..5, array[0..6, gint]]
-    day*: array[0..5, array[0..6, gint]]
-    num_marked_dates*: gint
-    marked_date*: array[0..30, gint]
-    display_flags*: TGtkCalendarDisplayOptions
-    marked_date_color*: array[0..30, TGdkColor]
-    gc*: PGdkGC
-    xor_gc*: PGdkGC
-    focus_row*: gint
-    focus_col*: gint
-    highlight_row*: gint
-    highlight_col*: gint
-    private_data*: gpointer
-    grow_space*: array[0..31, gchar]
-    gtk_reserved111: proc (){.cdecl.}
-    gtk_reserved112: proc (){.cdecl.}
-    gtk_reserved113: proc (){.cdecl.}
-    gtk_reserved114: proc (){.cdecl.}
-
-  PGtkCalendarClass* = ptr TGtkCalendarClass
-  TGtkCalendarClass* = object of TGtkWidgetClass
-    month_changed*: proc (calendar: PGtkCalendar){.cdecl.}
-    day_selected*: proc (calendar: PGtkCalendar){.cdecl.}
-    day_selected_double_click*: proc (calendar: PGtkCalendar){.cdecl.}
-    prev_month*: proc (calendar: PGtkCalendar){.cdecl.}
-    next_month*: proc (calendar: PGtkCalendar){.cdecl.}
-    prev_year*: proc (calendar: PGtkCalendar){.cdecl.}
-    next_year*: proc (calendar: PGtkCalendar){.cdecl.}
-
-  PGtkCellEditable* = pointer
-  PGtkCellEditableIface* = ptr TGtkCellEditableIface
-  TGtkCellEditableIface* = object of TGTypeInterface
-    editing_done*: proc (cell_editable: PGtkCellEditable){.cdecl.}
-    remove_widget*: proc (cell_editable: PGtkCellEditable){.cdecl.}
-    start_editing*: proc (cell_editable: PGtkCellEditable, event: PGdkEvent){.
-        cdecl.}
-
-  PGtkCellRendererState* = ptr TGtkCellRendererState
-  TGtkCellRendererState* = int32
-  PGtkCellRendererMode* = ptr TGtkCellRendererMode
-  TGtkCellRendererMode* = enum
-    GTK_CELL_RENDERER_MODE_INERT, GTK_CELL_RENDERER_MODE_ACTIVATABLE,
-    GTK_CELL_RENDERER_MODE_EDITABLE
-  PGtkCellRenderer* = ptr TGtkCellRenderer
-  TGtkCellRenderer* = object of  TGtkObject
-    xalign*: gfloat
-    yalign*: gfloat
-    width*: gint
-    height*: gint
-    xpad*: guint16
-    ypad*: guint16
-    GtkCellRenderer_flag0*: guint16
-
-  PGtkCellRendererClass* = ptr TGtkCellRendererClass
-  TGtkCellRendererClass* = object of TGtkObjectClass
-    get_size*: proc (cell: PGtkCellRenderer, widget: PGtkWidget,
-                     cell_area: PGdkRectangle, x_offset: Pgint, y_offset: Pgint,
-                     width: Pgint, height: Pgint){.cdecl.}
-    render*: proc (cell: PGtkCellRenderer, window: PGdkWindow,
-                   widget: PGtkWidget, background_area: PGdkRectangle,
-                   cell_area: PGdkRectangle, expose_area: PGdkRectangle,
-                   flags: TGtkCellRendererState){.cdecl.}
-    activate*: proc (cell: PGtkCellRenderer, event: PGdkEvent,
-                     widget: PGtkWidget, path: cstring,
-                     background_area: PGdkRectangle, cell_area: PGdkRectangle,
-                     flags: TGtkCellRendererState): gboolean{.cdecl.}
-    start_editing*: proc (cell: PGtkCellRenderer, event: PGdkEvent,
-                          widget: PGtkWidget, path: cstring,
-                          background_area: PGdkRectangle,
-                          cell_area: PGdkRectangle, flags: TGtkCellRendererState): PGtkCellEditable{.
-        cdecl.}
-    gtk_reserved121: proc (){.cdecl.}
-    gtk_reserved122: proc (){.cdecl.}
-    gtk_reserved123: proc (){.cdecl.}
-    gtk_reserved124: proc (){.cdecl.}
-
-  PGtkCellRendererText* = ptr TGtkCellRendererText
-  TGtkCellRendererText* = object of TGtkCellRenderer
-    text*: cstring
-    font*: PPangoFontDescription
-    font_scale*: gdouble
-    foreground*: TPangoColor
-    background*: TPangoColor
-    extra_attrs*: PPangoAttrList
-    underline_style*: TPangoUnderline
-    rise*: gint
-    fixed_height_rows*: gint
-    GtkCellRendererText_flag0*: guint16
-
-  PGtkCellRendererTextClass* = ptr TGtkCellRendererTextClass
-  TGtkCellRendererTextClass* = object of TGtkCellRendererClass
-    edited*: proc (cell_renderer_text: PGtkCellRendererText, path: cstring,
-                   new_text: cstring){.cdecl.}
-    gtk_reserved131: proc (){.cdecl.}
-    gtk_reserved132: proc (){.cdecl.}
-    gtk_reserved133: proc (){.cdecl.}
-    gtk_reserved134: proc (){.cdecl.}
-
-  PGtkCellRendererToggle* = ptr TGtkCellRendererToggle
-  TGtkCellRendererToggle* = object of TGtkCellRenderer
-    GtkCellRendererToggle_flag0*: guint16
-
-  PGtkCellRendererToggleClass* = ptr TGtkCellRendererToggleClass
-  TGtkCellRendererToggleClass* = object of TGtkCellRendererClass
-    toggled*: proc (cell_renderer_toggle: PGtkCellRendererToggle, path: cstring){.
-        cdecl.}
-    gtk_reserved141: proc (){.cdecl.}
-    gtk_reserved142: proc (){.cdecl.}
-    gtk_reserved143: proc (){.cdecl.}
-    gtk_reserved144: proc (){.cdecl.}
-
-  PGtkCellRendererPixbuf* = ptr TGtkCellRendererPixbuf
-  TGtkCellRendererPixbuf* = object of TGtkCellRenderer
-    pixbuf*: PGdkPixbuf
-    pixbuf_expander_open*: PGdkPixbuf
-    pixbuf_expander_closed*: PGdkPixbuf
-
-  PGtkCellRendererPixbufClass* = ptr TGtkCellRendererPixbufClass
-  TGtkCellRendererPixbufClass* = object of TGtkCellRendererClass
-    gtk_reserved151: proc (){.cdecl.}
-    gtk_reserved152: proc (){.cdecl.}
-    gtk_reserved153: proc (){.cdecl.}
-    gtk_reserved154: proc (){.cdecl.}
-
-  PGtkItem* = ptr TGtkItem
-  TGtkItem* = object of TGtkBin
-
-  PGtkItemClass* = ptr TGtkItemClass
-  TGtkItemClass* = object of TGtkBinClass
-    select*: proc (item: PGtkItem){.cdecl.}
-    deselect*: proc (item: PGtkItem){.cdecl.}
-    toggle*: proc (item: PGtkItem){.cdecl.}
-    gtk_reserved161: proc (){.cdecl.}
-    gtk_reserved162: proc (){.cdecl.}
-    gtk_reserved163: proc (){.cdecl.}
-    gtk_reserved164: proc (){.cdecl.}
-
-  PGtkMenuItem* = ptr TGtkMenuItem
-  TGtkMenuItem* = object of TGtkItem
-    submenu*: PGtkWidget
-    event_window*: PGdkWindow
-    toggle_size*: guint16
-    accelerator_width*: guint16
-    accel_path*: cstring
-    GtkMenuItem_flag0*: guint16
-    timer*: guint
-
-  PGtkMenuItemClass* = ptr TGtkMenuItemClass
-  TGtkMenuItemClass* = object of TGtkItemClass
-    GtkMenuItemClass_flag0*: guint16
-    activate*: proc (menu_item: PGtkMenuItem){.cdecl.}
-    activate_item*: proc (menu_item: PGtkMenuItem){.cdecl.}
-    toggle_size_request*: proc (menu_item: PGtkMenuItem, requisition: Pgint){.
-        cdecl.}
-    toggle_size_allocate*: proc (menu_item: PGtkMenuItem, allocation: gint){.
-        cdecl.}
-    gtk_reserved171: proc (){.cdecl.}
-    gtk_reserved172: proc (){.cdecl.}
-    gtk_reserved173: proc (){.cdecl.}
-    gtk_reserved174: proc (){.cdecl.}
-
-  PGtkToggleButton* = ptr TGtkToggleButton
-  TGtkToggleButton* = object of TGtkButton
-    GtkToggleButton_flag0*: guint16
-
-  PGtkToggleButtonClass* = ptr TGtkToggleButtonClass
-  TGtkToggleButtonClass* = object of TGtkButtonClass
-    toggled*: proc (toggle_button: PGtkToggleButton){.cdecl.}
-    gtk_reserved171: proc (){.cdecl.}
-    gtk_reserved172: proc (){.cdecl.}
-    gtk_reserved173: proc (){.cdecl.}
-    gtk_reserved174: proc (){.cdecl.}
-
-  PGtkCheckButton* = ptr TGtkCheckButton
-  TGtkCheckButton* = object of TGtkToggleButton
-
-  PGtkCheckButtonClass* = ptr TGtkCheckButtonClass
-  TGtkCheckButtonClass* = object of TGtkToggleButtonClass
-    draw_indicator*: proc (check_button: PGtkCheckButton, area: PGdkRectangle){.
-        cdecl.}
-    gtk_reserved181: proc (){.cdecl.}
-    gtk_reserved182: proc (){.cdecl.}
-    gtk_reserved183: proc (){.cdecl.}
-    gtk_reserved184: proc (){.cdecl.}
-
-  PGtkCheckMenuItem* = ptr TGtkCheckMenuItem
-  TGtkCheckMenuItem* = object of TGtkMenuItem
-    GtkCheckMenuItem_flag0*: guint16
-
-  PGtkCheckMenuItemClass* = ptr TGtkCheckMenuItemClass
-  TGtkCheckMenuItemClass* = object of TGtkMenuItemClass
-    toggled*: proc (check_menu_item: PGtkCheckMenuItem){.cdecl.}
-    draw_indicator*: proc (check_menu_item: PGtkCheckMenuItem,
-                           area: PGdkRectangle){.cdecl.}
-    gtk_reserved191: proc (){.cdecl.}
-    gtk_reserved192: proc (){.cdecl.}
-    gtk_reserved193: proc (){.cdecl.}
-    gtk_reserved194: proc (){.cdecl.}
-
-  PGtkClipboard* = pointer
-  TGtkClipboardReceivedFunc* = proc (clipboard: PGtkClipboard,
-                                     selection_data: PGtkSelectionData,
-                                     data: gpointer){.cdecl.}
-  TGtkClipboardTextReceivedFunc* = proc (clipboard: PGtkClipboard, text: cstring,
-      data: gpointer){.cdecl.}
-  TGtkClipboardGetFunc* = proc (clipboard: PGtkClipboard,
-                                selection_data: PGtkSelectionData, info: guint,
-                                user_data_or_owner: gpointer){.cdecl.}
-  TGtkClipboardClearFunc* = proc (clipboard: PGtkClipboard,
-                                  user_data_or_owner: gpointer){.cdecl.}
-  PGtkCList* = ptr TGtkCList
-  PGtkCListColumn* = ptr TGtkCListColumn
-  PGtkCListRow* = ptr TGtkCListRow
-  PGtkCell* = ptr TGtkCell
-  PGtkCellType* = ptr TGtkCellType
-  TGtkCellType* = enum
-    GTK_CELL_EMPTY, GTK_CELL_TEXT, GTK_CELL_PIXMAP, GTK_CELL_PIXTEXT,
-    GTK_CELL_WIDGET
-  PGtkCListDragPos* = ptr TGtkCListDragPos
-  TGtkCListDragPos* = enum
-    GTK_CLIST_DRAG_NONE, GTK_CLIST_DRAG_BEFORE, GTK_CLIST_DRAG_INTO,
-    GTK_CLIST_DRAG_AFTER
-  PGtkButtonAction* = ptr TGtkButtonAction
-  TGtkButtonAction* = int32
-  TGtkCListCompareFunc* = proc (clist: PGtkCList, ptr1: gconstpointer,
-                                ptr2: gconstpointer): gint{.cdecl.}
-  PGtkCListCellInfo* = ptr TGtkCListCellInfo
-  TGtkCListCellInfo* {.final, pure.} = object
-    row*: gint
-    column*: gint
-
-  PGtkCListDestInfo* = ptr TGtkCListDestInfo
-  TGtkCListDestInfo* {.final, pure.} = object
-    cell*: TGtkCListCellInfo
-    insert_pos*: TGtkCListDragPos
-
-  TGtkCList* = object of TGtkContainer
-    GtkCList_flags*: guint16
-    row_mem_chunk*: PGMemChunk
-    cell_mem_chunk*: PGMemChunk
-    freeze_count*: guint
-    internal_allocation*: TGdkRectangle
-    rows*: gint
-    row_height*: gint
-    row_list*: PGList
-    row_list_end*: PGList
-    columns*: gint
-    column_title_area*: TGdkRectangle
-    title_window*: PGdkWindow
-    column*: PGtkCListColumn
-    clist_window*: PGdkWindow
-    clist_window_width*: gint
-    clist_window_height*: gint
-    hoffset*: gint
-    voffset*: gint
-    shadow_type*: TGtkShadowType
-    selection_mode*: TGtkSelectionMode
-    selection*: PGList
-    selection_end*: PGList
-    undo_selection*: PGList
-    undo_unselection*: PGList
-    undo_anchor*: gint
-    button_actions*: array[0..4, guint8]
-    drag_button*: guint8
-    click_cell*: TGtkCListCellInfo
-    hadjustment*: PGtkAdjustment
-    vadjustment*: PGtkAdjustment
-    xor_gc*: PGdkGC
-    fg_gc*: PGdkGC
-    bg_gc*: PGdkGC
-    cursor_drag*: PGdkCursor
-    x_drag*: gint
-    focus_row*: gint
-    focus_header_column*: gint
-    anchor*: gint
-    anchor_state*: TGtkStateType
-    drag_pos*: gint
-    htimer*: gint
-    vtimer*: gint
-    sort_type*: TGtkSortType
-    compare*: TGtkCListCompareFunc
-    sort_column*: gint
-    drag_highlight_row*: gint
-    drag_highlight_pos*: TGtkCListDragPos
-
-  PGtkCListClass* = ptr TGtkCListClass
-  TGtkCListClass* = object of TGtkContainerClass
-    set_scroll_adjustments*: proc (clist: PGtkCList,
-                                   hadjustment: PGtkAdjustment,
-                                   vadjustment: PGtkAdjustment){.cdecl.}
-    refresh*: proc (clist: PGtkCList){.cdecl.}
-    select_row*: proc (clist: PGtkCList, row: gint, column: gint,
-                       event: PGdkEvent){.cdecl.}
-    unselect_row*: proc (clist: PGtkCList, row: gint, column: gint,
-                         event: PGdkEvent){.cdecl.}
-    row_move*: proc (clist: PGtkCList, source_row: gint, dest_row: gint){.cdecl.}
-    click_column*: proc (clist: PGtkCList, column: gint){.cdecl.}
-    resize_column*: proc (clist: PGtkCList, column: gint, width: gint){.cdecl.}
-    toggle_focus_row*: proc (clist: PGtkCList){.cdecl.}
-    select_all*: proc (clist: PGtkCList){.cdecl.}
-    unselect_all*: proc (clist: PGtkCList){.cdecl.}
-    undo_selection*: proc (clist: PGtkCList){.cdecl.}
-    start_selection*: proc (clist: PGtkCList){.cdecl.}
-    end_selection*: proc (clist: PGtkCList){.cdecl.}
-    extend_selection*: proc (clist: PGtkCList, scroll_type: TGtkScrollType,
-                             position: gfloat, auto_start_selection: gboolean){.
-        cdecl.}
-    scroll_horizontal*: proc (clist: PGtkCList, scroll_type: TGtkScrollType,
-                              position: gfloat){.cdecl.}
-    scroll_vertical*: proc (clist: PGtkCList, scroll_type: TGtkScrollType,
-                            position: gfloat){.cdecl.}
-    toggle_add_mode*: proc (clist: PGtkCList){.cdecl.}
-    abort_column_resize*: proc (clist: PGtkCList){.cdecl.}
-    resync_selection*: proc (clist: PGtkCList, event: PGdkEvent){.cdecl.}
-    selection_find*: proc (clist: PGtkCList, row_number: gint,
-                           row_list_element: PGList): PGList{.cdecl.}
-    draw_row*: proc (clist: PGtkCList, area: PGdkRectangle, row: gint,
-                     clist_row: PGtkCListRow){.cdecl.}
-    draw_drag_highlight*: proc (clist: PGtkCList, target_row: PGtkCListRow,
-                                target_row_number: gint,
-                                drag_pos: TGtkCListDragPos){.cdecl.}
-    clear*: proc (clist: PGtkCList){.cdecl.}
-    fake_unselect_all*: proc (clist: PGtkCList, row: gint){.cdecl.}
-    sort_list*: proc (clist: PGtkCList){.cdecl.}
-    insert_row*: proc (clist: PGtkCList, row: gint): gint{.cdecl, varargs.}
-    remove_row*: proc (clist: PGtkCList, row: gint){.cdecl.}
-    set_cell_contents*: proc (clist: PGtkCList, clist_row: PGtkCListRow,
-                              column: gint, thetype: TGtkCellType, text: cstring,
-                              spacing: guint8, pixmap: PGdkPixmap,
-                              mask: PGdkBitmap){.cdecl.}
-    cell_size_request*: proc (clist: PGtkCList, clist_row: PGtkCListRow,
-                              column: gint, requisition: PGtkRequisition){.cdecl.}
-
-  PGPtrArray = pointer
-  PGArray = pointer
-  TGtkCListColumn* {.final, pure.} = object
-    title*: cstring
-    area*: TGdkRectangle
-    button*: PGtkWidget
-    window*: PGdkWindow
-    width*: gint
-    min_width*: gint
-    max_width*: gint
-    justification*: TGtkJustification
-    flag0*: guint16
-
-  TGtkCListRow* {.final, pure.} = object
-    cell*: PGtkCell
-    state*: TGtkStateType
-    foreground*: TGdkColor
-    background*: TGdkColor
-    style*: PGtkStyle
-    data*: gpointer
-    destroy*: TGtkDestroyNotify
-    flag0*: guint16
-
-  PGtkCellText* = ptr TGtkCellText
-  TGtkCellText* {.final, pure.} = object
-    `type`*: TGtkCellType
-    vertical*: gint16
-    horizontal*: gint16
-    style*: PGtkStyle
-    text*: cstring
-
-  PGtkCellPixmap* = ptr TGtkCellPixmap
-  TGtkCellPixmap* {.final, pure.} = object
-    `type`*: TGtkCellType
-    vertical*: gint16
-    horizontal*: gint16
-    style*: PGtkStyle
-    pixmap*: PGdkPixmap
-    mask*: PGdkBitmap
-
-  PGtkCellPixText* = ptr TGtkCellPixText
-  TGtkCellPixText* {.final, pure.} = object
-    `type`*: TGtkCellType
-    vertical*: gint16
-    horizontal*: gint16
-    style*: PGtkStyle
-    text*: cstring
-    spacing*: guint8
-    pixmap*: PGdkPixmap
-    mask*: PGdkBitmap
-
-  PGtkCellWidget* = ptr TGtkCellWidget
-  TGtkCellWidget* {.final, pure.} = object
-    `type`*: TGtkCellType
-    vertical*: gint16
-    horizontal*: gint16
-    style*: PGtkStyle
-    widget*: PGtkWidget
-
-  TGtkCell* {.final, pure.} = object
-    `type`*: TGtkCellType
-    vertical*: gint16
-    horizontal*: gint16
-    style*: PGtkStyle
-    text*: cstring
-    spacing*: guint8
-    pixmap*: PGdkPixmap
-    mask*: PGdkBitmap
-
-  PGtkDialogFlags* = ptr TGtkDialogFlags
-  TGtkDialogFlags* = int32
-  PGtkResponseType* = ptr TGtkResponseType
-  TGtkResponseType* = int32
-  PGtkDialog* = ptr TGtkDialog
-  TGtkDialog* = object of TGtkWindow
-    vbox*: PGtkWidget
-    action_area*: PGtkWidget
-    separator*: PGtkWidget
-
-  PGtkDialogClass* = ptr TGtkDialogClass
-  TGtkDialogClass* = object of TGtkWindowClass
-    response*: proc (dialog: PGtkDialog, response_id: gint){.cdecl.}
-    closeFile*: proc (dialog: PGtkDialog){.cdecl.}
-    gtk_reserved201: proc (){.cdecl.}
-    gtk_reserved202: proc (){.cdecl.}
-    gtk_reserved203: proc (){.cdecl.}
-    gtk_reserved204: proc (){.cdecl.}
-
-  PGtkVBox* = ptr TGtkVBox
-  TGtkVBox* = object of TGtkBox
-
-  PGtkVBoxClass* = ptr TGtkVBoxClass
-  TGtkVBoxClass* = object of TGtkBoxClass
-
-  TGtkColorSelectionChangePaletteFunc* = proc (colors: PGdkColor, n_colors: gint){.
-      cdecl.}
-  TGtkColorSelectionChangePaletteWithScreenFunc* = proc (screen: PGdkScreen,
-      colors: PGdkColor, n_colors: gint){.cdecl.}
-  PGtkColorSelection* = ptr TGtkColorSelection
-  TGtkColorSelection* = object of TGtkVBox
-    private_data*: gpointer
-
-  PGtkColorSelectionClass* = ptr TGtkColorSelectionClass
-  TGtkColorSelectionClass* = object of TGtkVBoxClass
-    color_changed*: proc (color_selection: PGtkColorSelection){.cdecl.}
-    gtk_reserved211: proc (){.cdecl.}
-    gtk_reserved212: proc (){.cdecl.}
-    gtk_reserved213: proc (){.cdecl.}
-    gtk_reserved214: proc (){.cdecl.}
-
-  PGtkColorSelectionDialog* = ptr TGtkColorSelectionDialog
-  TGtkColorSelectionDialog* = object of TGtkDialog
-    colorsel*: PGtkWidget
-    ok_button*: PGtkWidget
-    cancel_button*: PGtkWidget
-    help_button*: PGtkWidget
-
-  PGtkColorSelectionDialogClass* = ptr TGtkColorSelectionDialogClass
-  TGtkColorSelectionDialogClass* = object of TGtkDialogClass
-    gtk_reserved221: proc (){.cdecl.}
-    gtk_reserved222: proc (){.cdecl.}
-    gtk_reserved223: proc (){.cdecl.}
-    gtk_reserved224: proc (){.cdecl.}
-
-  PGtkHBox* = ptr TGtkHBox
-  TGtkHBox* = object of TGtkBox
-
-  PGtkHBoxClass* = ptr TGtkHBoxClass
-  TGtkHBoxClass* = object of TGtkBoxClass
-
-  PGtkCombo* = ptr TGtkCombo
-  TGtkCombo* = object of TGtkHBox
-    entry*: PGtkWidget
-    button*: PGtkWidget
-    popup*: PGtkWidget
-    popwin*: PGtkWidget
-    list*: PGtkWidget
-    entry_change_id*: guint
-    list_change_id*: guint
-    GtkCombo_flag0*: guint16
-    current_button*: guint16
-    activate_id*: guint
-
-  PGtkComboClass* = ptr TGtkComboClass
-  TGtkComboClass* = object of TGtkHBoxClass
-    gtk_reserved231: proc (){.cdecl.}
-    gtk_reserved232: proc (){.cdecl.}
-    gtk_reserved233: proc (){.cdecl.}
-    gtk_reserved234: proc (){.cdecl.}
-
-  PGtkCTreePos* = ptr TGtkCTreePos
-  TGtkCTreePos* = enum
-    GTK_CTREE_POS_BEFORE, GTK_CTREE_POS_AS_CHILD, GTK_CTREE_POS_AFTER
-  PGtkCTreeLineStyle* = ptr TGtkCTreeLineStyle
-  TGtkCTreeLineStyle* = enum
-    GTK_CTREE_LINES_NONE, GTK_CTREE_LINES_SOLID, GTK_CTREE_LINES_DOTTED,
-    GTK_CTREE_LINES_TABBED
-  PGtkCTreeExpanderStyle* = ptr TGtkCTreeExpanderStyle
-  TGtkCTreeExpanderStyle* = enum
-    GTK_CTREE_EXPANDER_NONE, GTK_CTREE_EXPANDER_SQUARE,
-    GTK_CTREE_EXPANDER_TRIANGLE, GTK_CTREE_EXPANDER_CIRCULAR
-  PGtkCTreeExpansionType* = ptr TGtkCTreeExpansionType
-  TGtkCTreeExpansionType* = enum
-    GTK_CTREE_EXPANSION_EXPAND, GTK_CTREE_EXPANSION_EXPAND_RECURSIVE,
-    GTK_CTREE_EXPANSION_COLLAPSE, GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE,
-    GTK_CTREE_EXPANSION_TOGGLE, GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE
-  PGtkCTree* = ptr TGtkCTree
-  PGtkCTreeNode* = ptr TGtkCTreeNode
-  TGtkCTreeFunc* = proc (ctree: PGtkCTree, node: PGtkCTreeNode, data: gpointer){.
-      cdecl.}
-  TGtkCTreeGNodeFunc* = proc (ctree: PGtkCTree, depth: guint, gnode: PGNode,
-                              cnode: PGtkCTreeNode, data: gpointer): gboolean{.
-      cdecl.}
-  TGtkCTreeCompareDragFunc* = proc (ctree: PGtkCTree,
-                                    source_node: PGtkCTreeNode,
-                                    new_parent: PGtkCTreeNode,
-                                    new_sibling: PGtkCTreeNode): gboolean{.cdecl.}
-  TGtkCTree* = object of TGtkCList
-    lines_gc*: PGdkGC
-    tree_indent*: gint
-    tree_spacing*: gint
-    tree_column*: gint
-    GtkCTree_flag0*: guint16
-    drag_compare*: TGtkCTreeCompareDragFunc
-
-  PGtkCTreeClass* = ptr TGtkCTreeClass
-  TGtkCTreeClass* = object of TGtkCListClass
-    tree_select_row*: proc (ctree: PGtkCTree, row: PGtkCTreeNode, column: gint){.
-        cdecl.}
-    tree_unselect_row*: proc (ctree: PGtkCTree, row: PGtkCTreeNode, column: gint){.
-        cdecl.}
-    tree_expand*: proc (ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl.}
-    tree_collapse*: proc (ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl.}
-    tree_move*: proc (ctree: PGtkCTree, node: PGtkCTreeNode,
-                      new_parent: PGtkCTreeNode, new_sibling: PGtkCTreeNode){.
-        cdecl.}
-    change_focus_row_expansion*: proc (ctree: PGtkCTree,
-                                       action: TGtkCTreeExpansionType){.cdecl.}
-
-  PGtkCTreeRow* = ptr TGtkCTreeRow
-  TGtkCTreeRow* {.final, pure.} = object
-    row*: TGtkCListRow
-    parent*: PGtkCTreeNode
-    sibling*: PGtkCTreeNode
-    children*: PGtkCTreeNode
-    pixmap_closed*: PGdkPixmap
-    mask_closed*: PGdkBitmap
-    pixmap_opened*: PGdkPixmap
-    mask_opened*: PGdkBitmap
-    level*: guint16
-    GtkCTreeRow_flag0*: guint16
-
-  TGtkCTreeNode* {.final, pure.} = object
-    list*: TGList
-
-  PGtkDrawingArea* = ptr TGtkDrawingArea
-  TGtkDrawingArea* = object of TGtkWidget
-    draw_data*: gpointer
-
-  PGtkDrawingAreaClass* = ptr TGtkDrawingAreaClass
-  TGtkDrawingAreaClass* = object of TGtkWidgetClass
-    gtk_reserved241: proc (){.cdecl.}
-    gtk_reserved242: proc (){.cdecl.}
-    gtk_reserved243: proc (){.cdecl.}
-    gtk_reserved244: proc (){.cdecl.}
-
-  Tctlpoint* = array[0..1, gfloat]
-  Pctlpoint* = ptr Tctlpoint
-  PGtkCurve* = ptr TGtkCurve
-  TGtkCurve* = object of TGtkDrawingArea
-    cursor_type*: gint
-    min_x*: gfloat
-    max_x*: gfloat
-    min_y*: gfloat
-    max_y*: gfloat
-    pixmap*: PGdkPixmap
-    curve_type*: TGtkCurveType
-    height*: gint
-    grab_point*: gint
-    last*: gint
-    num_points*: gint
-    point*: PGdkPoint
-    num_ctlpoints*: gint
-    ctlpoint*: Pctlpoint
-
-  PGtkCurveClass* = ptr TGtkCurveClass
-  TGtkCurveClass* = object of TGtkDrawingAreaClass
-    curve_type_changed*: proc (curve: PGtkCurve){.cdecl.}
-    gtk_reserved251: proc (){.cdecl.}
-    gtk_reserved252: proc (){.cdecl.}
-    gtk_reserved253: proc (){.cdecl.}
-    gtk_reserved254: proc (){.cdecl.}
-
-  PGtkDestDefaults* = ptr TGtkDestDefaults
-  TGtkDestDefaults* = int32
-  PGtkTargetFlags* = ptr TGtkTargetFlags
-  TGtkTargetFlags* = int32
-  PGtkEditable* = pointer
-  PGtkEditableClass* = ptr TGtkEditableClass
-  TGtkEditableClass* = object of TGTypeInterface
-    insert_text*: proc (editable: PGtkEditable, text: cstring, length: gint,
-                        position: Pgint){.cdecl.}
-    delete_text*: proc (editable: PGtkEditable, start_pos: gint, end_pos: gint){.
-        cdecl.}
-    changed*: proc (editable: PGtkEditable){.cdecl.}
-    do_insert_text*: proc (editable: PGtkEditable, text: cstring, length: gint,
-                           position: Pgint){.cdecl.}
-    do_delete_text*: proc (editable: PGtkEditable, start_pos: gint,
-                           end_pos: gint){.cdecl.}
-    get_chars*: proc (editable: PGtkEditable, start_pos: gint, end_pos: gint): cstring{.
-        cdecl.}
-    set_selection_bounds*: proc (editable: PGtkEditable, start_pos: gint,
-                                 end_pos: gint){.cdecl.}
-    get_selection_bounds*: proc (editable: PGtkEditable, start_pos: Pgint,
-                                 end_pos: Pgint): gboolean{.cdecl.}
-    set_position*: proc (editable: PGtkEditable, position: gint){.cdecl.}
-    get_position*: proc (editable: PGtkEditable): gint{.cdecl.}
-
-  PGtkIMContext* = ptr TGtkIMContext
-  TGtkIMContext* = object of TGObject
-
-  PGtkIMContextClass* = ptr TGtkIMContextClass
-  TGtkIMContextClass* = object of TGtkObjectClass
-    preedit_start*: proc (context: PGtkIMContext){.cdecl.}
-    preedit_end*: proc (context: PGtkIMContext){.cdecl.}
-    preedit_changed*: proc (context: PGtkIMContext){.cdecl.}
-    commit*: proc (context: PGtkIMContext, str: cstring){.cdecl.}
-    retrieve_surrounding*: proc (context: PGtkIMContext): gboolean{.cdecl.}
-    delete_surrounding*: proc (context: PGtkIMContext, offset: gint,
-                               n_chars: gint): gboolean{.cdecl.}
-    set_client_window*: proc (context: PGtkIMContext, window: PGdkWindow){.cdecl.}
-    get_preedit_string*: proc (context: PGtkIMContext, str: PPgchar,
-                               attrs: var PPangoAttrList, cursor_pos: Pgint){.
-        cdecl.}
-    filter_keypress*: proc (context: PGtkIMContext, event: PGdkEventKey): gboolean{.
-        cdecl.}
-    focus_in*: proc (context: PGtkIMContext){.cdecl.}
-    focus_out*: proc (context: PGtkIMContext){.cdecl.}
-    reset*: proc (context: PGtkIMContext){.cdecl.}
-    set_cursor_location*: proc (context: PGtkIMContext, area: PGdkRectangle){.
-        cdecl.}
-    set_use_preedit*: proc (context: PGtkIMContext, use_preedit: gboolean){.
-        cdecl.}
-    set_surrounding*: proc (context: PGtkIMContext, text: cstring, len: gint,
-                            cursor_index: gint){.cdecl.}
-    get_surrounding*: proc (context: PGtkIMContext, text: PPgchar,
-                            cursor_index: Pgint): gboolean{.cdecl.}
-    gtk_reserved261: proc (){.cdecl.}
-    gtk_reserved262: proc (){.cdecl.}
-    gtk_reserved263: proc (){.cdecl.}
-    gtk_reserved264: proc (){.cdecl.}
-    gtk_reserved265: proc (){.cdecl.}
-    gtk_reserved266: proc (){.cdecl.}
-
-  PGtkMenuShell* = ptr TGtkMenuShell
-  TGtkMenuShell* = object of TGtkContainer
-    children*: PGList
-    active_menu_item*: PGtkWidget
-    parent_menu_shell*: PGtkWidget
-    button*: guint
-    activate_time*: guint32
-    GtkMenuShell_flag0*: guint16
-
-  PGtkMenuShellClass* = ptr TGtkMenuShellClass
-  TGtkMenuShellClass* = object of TGtkContainerClass
-    GtkMenuShellClass_flag0*: guint16
-    deactivate*: proc (menu_shell: PGtkMenuShell){.cdecl.}
-    selection_done*: proc (menu_shell: PGtkMenuShell){.cdecl.}
-    move_current*: proc (menu_shell: PGtkMenuShell,
-                         direction: TGtkMenuDirectionType){.cdecl.}
-    activate_current*: proc (menu_shell: PGtkMenuShell, force_hide: gboolean){.
-        cdecl.}
-    cancel*: proc (menu_shell: PGtkMenuShell){.cdecl.}
-    select_item*: proc (menu_shell: PGtkMenuShell, menu_item: PGtkWidget){.cdecl.}
-    insert*: proc (menu_shell: PGtkMenuShell, child: PGtkWidget, position: gint){.
-        cdecl.}
-    gtk_reserved271: proc (){.cdecl.}
-    gtk_reserved272: proc (){.cdecl.}
-    gtk_reserved273: proc (){.cdecl.}
-    gtk_reserved274: proc (){.cdecl.}
-
-  TGtkMenuPositionFunc* = proc (menu: PGtkMenu, x: Pgint, y: Pgint,
-                                push_in: Pgboolean, user_data: gpointer){.cdecl.}
-  TGtkMenuDetachFunc* = proc (attach_widget: PGtkWidget, menu: PGtkMenu){.cdecl.}
-  TGtkMenu* = object of TGtkMenuShell
-    parent_menu_item*: PGtkWidget
-    old_active_menu_item*: PGtkWidget
-    accel_group*: PGtkAccelGroup
-    accel_path*: cstring
-    position_func*: TGtkMenuPositionFunc
-    position_func_data*: gpointer
-    toggle_size*: guint
-    toplevel*: PGtkWidget
-    tearoff_window*: PGtkWidget
-    tearoff_hbox*: PGtkWidget
-    tearoff_scrollbar*: PGtkWidget
-    tearoff_adjustment*: PGtkAdjustment
-    view_window*: PGdkWindow
-    bin_window*: PGdkWindow
-    scroll_offset*: gint
-    saved_scroll_offset*: gint
-    scroll_step*: gint
-    timeout_id*: guint
-    navigation_region*: PGdkRegion
-    navigation_timeout*: guint
-    GtkMenu_flag0*: guint16
-
-  PGtkMenuClass* = ptr TGtkMenuClass
-  TGtkMenuClass* = object of TGtkMenuShellClass
-    gtk_reserved281: proc (){.cdecl.}
-    gtk_reserved282: proc (){.cdecl.}
-    gtk_reserved283: proc (){.cdecl.}
-    gtk_reserved284: proc (){.cdecl.}
-
-  PGtkEntry* = ptr TGtkEntry
-  TGtkEntry* = object of TGtkWidget
-    text*: cstring
-    GtkEntry_flag0*: guint16
-    text_length*: guint16
-    text_max_length*: guint16
-    text_area*: PGdkWindow
-    im_context*: PGtkIMContext
-    popup_menu*: PGtkWidget
-    current_pos*: gint
-    selection_bound*: gint
-    cached_layout*: PPangoLayout
-    flag1*: guint16
-    button*: guint
-    blink_timeout*: guint
-    recompute_idle*: guint
-    scroll_offset*: gint
-    ascent*: gint
-    descent*: gint
-    text_size*: guint16
-    n_bytes*: guint16
-    preedit_length*: guint16
-    preedit_cursor*: guint16
-    dnd_position*: gint
-    drag_start_x*: gint
-    drag_start_y*: gint
-    invisible_char*: gunichar
-    width_chars*: gint
-
-  PGtkEntryClass* = ptr TGtkEntryClass
-  TGtkEntryClass* = object of TGtkWidgetClass
-    populate_popup*: proc (entry: PGtkEntry, menu: PGtkMenu){.cdecl.}
-    activate*: proc (entry: PGtkEntry){.cdecl.}
-    move_cursor*: proc (entry: PGtkEntry, step: TGtkMovementStep, count: gint,
-                        extend_selection: gboolean){.cdecl.}
-    insert_at_cursor*: proc (entry: PGtkEntry, str: cstring){.cdecl.}
-    delete_from_cursor*: proc (entry: PGtkEntry, thetype: TGtkDeleteType,
-                               count: gint){.cdecl.}
-    cut_clipboard*: proc (entry: PGtkEntry){.cdecl.}
-    copy_clipboard*: proc (entry: PGtkEntry){.cdecl.}
-    paste_clipboard*: proc (entry: PGtkEntry){.cdecl.}
-    toggle_overwrite*: proc (entry: PGtkEntry){.cdecl.}
-    gtk_reserved291: proc (){.cdecl.}
-    gtk_reserved292: proc (){.cdecl.}
-    gtk_reserved293: proc (){.cdecl.}
-    gtk_reserved294: proc (){.cdecl.}
-
-  PGtkEventBox* = ptr TGtkEventBox
-  TGtkEventBox* = object of TGtkBin
-
-  PGtkEventBoxClass* = ptr TGtkEventBoxClass
-  TGtkEventBoxClass* = object of TGtkBinClass
-
-  PGtkFileSelection* = ptr TGtkFileSelection
-  TGtkFileSelection* = object of TGtkDialog
-    dir_list*: PGtkWidget
-    file_list*: PGtkWidget
-    selection_entry*: PGtkWidget
-    selection_text*: PGtkWidget
-    main_vbox*: PGtkWidget
-    ok_button*: PGtkWidget
-    cancel_button*: PGtkWidget
-    help_button*: PGtkWidget
-    history_pulldown*: PGtkWidget
-    history_menu*: PGtkWidget
-    history_list*: PGList
-    fileop_dialog*: PGtkWidget
-    fileop_entry*: PGtkWidget
-    fileop_file*: cstring
-    cmpl_state*: gpointer
-    fileop_c_dir*: PGtkWidget
-    fileop_del_file*: PGtkWidget
-    fileop_ren_file*: PGtkWidget
-    button_area*: PGtkWidget
-    gtkFileSelection_action_area*: PGtkWidget
-    selected_names*: PGPtrArray
-    last_selected*: cstring
-
-  PGtkFileSelectionClass* = ptr TGtkFileSelectionClass
-  TGtkFileSelectionClass* = object of TGtkDialogClass
-    gtk_reserved301: proc (){.cdecl.}
-    gtk_reserved302: proc (){.cdecl.}
-    gtk_reserved303: proc (){.cdecl.}
-    gtk_reserved304: proc (){.cdecl.}
-
-  PGtkFixed* = ptr TGtkFixed
-  TGtkFixed* = object of TGtkContainer
-    children*: PGList
-
-  PGtkFixedClass* = ptr TGtkFixedClass
-  TGtkFixedClass* = object of TGtkContainerClass
-
-  PGtkFixedChild* = ptr TGtkFixedChild
-  TGtkFixedChild* {.final, pure.} = object
-    widget*: PGtkWidget
-    x*: gint
-    y*: gint
-
-  PGtkFontSelection* = ptr TGtkFontSelection
-  TGtkFontSelection* = object of TGtkVBox
-    font_entry*: PGtkWidget
-    family_list*: PGtkWidget
-    font_style_entry*: PGtkWidget
-    face_list*: PGtkWidget
-    size_entry*: PGtkWidget
-    size_list*: PGtkWidget
-    pixels_button*: PGtkWidget
-    points_button*: PGtkWidget
-    filter_button*: PGtkWidget
-    preview_entry*: PGtkWidget
-    family*: PPangoFontFamily
-    face*: PPangoFontFace
-    size*: gint
-    font*: PGdkFont
-
-  PGtkFontSelectionClass* = ptr TGtkFontSelectionClass
-  TGtkFontSelectionClass* = object of TGtkVBoxClass
-    gtk_reserved311: proc (){.cdecl.}
-    gtk_reserved312: proc (){.cdecl.}
-    gtk_reserved313: proc (){.cdecl.}
-    gtk_reserved314: proc (){.cdecl.}
-
-  PGtkFontSelectionDialog* = ptr TGtkFontSelectionDialog
-  TGtkFontSelectionDialog* = object of TGtkDialog
-    fontsel*: PGtkWidget
-    main_vbox*: PGtkWidget
-    GtkFontSelectionDialog_action_area*: PGtkWidget
-    ok_button*: PGtkWidget
-    apply_button*: PGtkWidget
-    cancel_button*: PGtkWidget
-    dialog_width*: gint
-    auto_resize*: gboolean
-
-  PGtkFontSelectionDialogClass* = ptr TGtkFontSelectionDialogClass
-  TGtkFontSelectionDialogClass* = object of TGtkDialogClass
-    gtk_reserved321: proc (){.cdecl.}
-    gtk_reserved322: proc (){.cdecl.}
-    gtk_reserved323: proc (){.cdecl.}
-    gtk_reserved324: proc (){.cdecl.}
-
-  PGtkGammaCurve* = ptr TGtkGammaCurve
-  TGtkGammaCurve* = object of TGtkVBox
-    table*: PGtkWidget
-    curve*: PGtkWidget
-    button*: array[0..4, PGtkWidget]
-    gamma*: gfloat
-    gamma_dialog*: PGtkWidget
-    gamma_text*: PGtkWidget
-
-  PGtkGammaCurveClass* = ptr TGtkGammaCurveClass
-  TGtkGammaCurveClass* = object of TGtkVBoxClass
-    gtk_reserved331: proc (){.cdecl.}
-    gtk_reserved332: proc (){.cdecl.}
-    gtk_reserved333: proc (){.cdecl.}
-    gtk_reserved334: proc (){.cdecl.}
-
-  PGtkHandleBox* = ptr TGtkHandleBox
-  TGtkHandleBox* = object of TGtkBin
-    bin_window*: PGdkWindow
-    float_window*: PGdkWindow
-    shadow_type*: TGtkShadowType
-    GtkHandleBox_flag0*: guint16
-    deskoff_x*: gint
-    deskoff_y*: gint
-    attach_allocation*: TGtkAllocation
-    float_allocation*: TGtkAllocation
-
-  PGtkHandleBoxClass* = ptr TGtkHandleBoxClass
-  TGtkHandleBoxClass* = object of TGtkBinClass
-    child_attached*: proc (handle_box: PGtkHandleBox, child: PGtkWidget){.cdecl.}
-    child_detached*: proc (handle_box: PGtkHandleBox, child: PGtkWidget){.cdecl.}
-    gtk_reserved341: proc (){.cdecl.}
-    gtk_reserved342: proc (){.cdecl.}
-    gtk_reserved343: proc (){.cdecl.}
-    gtk_reserved344: proc (){.cdecl.}
-
-  PGtkPaned* = ptr TGtkPaned
-  TGtkPaned* = object of TGtkContainer
-    child1*: PGtkWidget
-    child2*: PGtkWidget
-    handle*: PGdkWindow
-    xor_gc*: PGdkGC
-    cursor_type*: TGdkCursorType
-    handle_pos*: TGdkRectangle
-    child1_size*: gint
-    last_allocation*: gint
-    min_position*: gint
-    max_position*: gint
-    GtkPaned_flag0*: guint16
-    last_child1_focus*: PGtkWidget
-    last_child2_focus*: PGtkWidget
-    saved_focus*: PGtkWidget
-    drag_pos*: gint
-    original_position*: gint
-
-  PGtkPanedClass* = ptr TGtkPanedClass
-  TGtkPanedClass* = object of TGtkContainerClass
-    cycle_child_focus*: proc (paned: PGtkPaned, reverse: gboolean): gboolean{.
-        cdecl.}
-    toggle_handle_focus*: proc (paned: PGtkPaned): gboolean{.cdecl.}
-    move_handle*: proc (paned: PGtkPaned, scroll: TGtkScrollType): gboolean{.
-        cdecl.}
-    cycle_handle_focus*: proc (paned: PGtkPaned, reverse: gboolean): gboolean{.
-        cdecl.}
-    accept_position*: proc (paned: PGtkPaned): gboolean{.cdecl.}
-    cancel_position*: proc (paned: PGtkPaned): gboolean{.cdecl.}
-    gtk_reserved351: proc (){.cdecl.}
-    gtk_reserved352: proc (){.cdecl.}
-    gtk_reserved353: proc (){.cdecl.}
-    gtk_reserved354: proc (){.cdecl.}
-
-  PGtkHButtonBox* = ptr TGtkHButtonBox
-  TGtkHButtonBox* = object of TGtkButtonBox
-
-  PGtkHButtonBoxClass* = ptr TGtkHButtonBoxClass
-  TGtkHButtonBoxClass* = object of TGtkButtonBoxClass
-
-  PGtkHPaned* = ptr TGtkHPaned
-  TGtkHPaned* = object of TGtkPaned
-
-  PGtkHPanedClass* = ptr TGtkHPanedClass
-  TGtkHPanedClass* = object of TGtkPanedClass
-
-  PGtkRulerMetric* = ptr TGtkRulerMetric
-  PGtkRuler* = ptr TGtkRuler
-  TGtkRuler* = object of TGtkWidget
-    backing_store*: PGdkPixmap
-    non_gr_exp_gc*: PGdkGC
-    metric*: PGtkRulerMetric
-    xsrc*: gint
-    ysrc*: gint
-    slider_size*: gint
-    lower*: gdouble
-    upper*: gdouble
-    position*: gdouble
-    max_size*: gdouble
-
-  PGtkRulerClass* = ptr TGtkRulerClass
-  TGtkRulerClass* = object of TGtkWidgetClass
-    draw_ticks*: proc (ruler: PGtkRuler){.cdecl.}
-    draw_pos*: proc (ruler: PGtkRuler){.cdecl.}
-    gtk_reserved361: proc (){.cdecl.}
-    gtk_reserved362: proc (){.cdecl.}
-    gtk_reserved363: proc (){.cdecl.}
-    gtk_reserved364: proc (){.cdecl.}
-
-  TGtkRulerMetric* {.final, pure.} = object
-    metric_name*: cstring
-    abbrev*: cstring
-    pixels_per_unit*: gdouble
-    ruler_scale*: array[0..9, gdouble]
-    subdivide*: array[0..4, gint]
-
-  PGtkHRuler* = ptr TGtkHRuler
-  TGtkHRuler* = object of TGtkRuler
-
-  PGtkHRulerClass* = ptr TGtkHRulerClass
-  TGtkHRulerClass* = object of TGtkRulerClass
-
-  PGtkRcContext* = pointer
-  PGtkSettings* = ptr TGtkSettings
-  TGtkSettings* = object of TGObject
-    queued_settings*: PGData
-    property_values*: PGValue
-    rc_context*: PGtkRcContext
-    screen*: PGdkScreen
-
-  PGtkSettingsClass* = ptr TGtkSettingsClass
-  TGtkSettingsClass* = object of TGObjectClass
-
-  PGtkSettingsValue* = ptr TGtkSettingsValue
-  TGtkSettingsValue* {.final, pure.} = object
-    origin*: cstring
-    value*: TGValue
-
-  PGtkRcFlags* = ptr TGtkRcFlags
-  TGtkRcFlags* = int32
-  PGtkRcStyle* = ptr TGtkRcStyle
-  TGtkRcStyle* = object of TGObject
-    name*: cstring
-    bg_pixmap_name*: array[0..4, cstring]
-    font_desc*: PPangoFontDescription
-    color_flags*: array[0..4, TGtkRcFlags]
-    fg*: array[0..4, TGdkColor]
-    bg*: array[0..4, TGdkColor]
-    text*: array[0..4, TGdkColor]
-    base*: array[0..4, TGdkColor]
-    xthickness*: gint
-    ythickness*: gint
-    rc_properties*: PGArray
-    rc_style_lists*: PGSList
-    icon_factories*: PGSList
-    GtkRcStyle_flag0*: guint16
-
-  PGtkRcStyleClass* = ptr TGtkRcStyleClass
-  TGtkRcStyleClass* = object of TGObjectClass
-    create_rc_style*: proc (rc_style: PGtkRcStyle): PGtkRcStyle{.cdecl.}
-    parse*: proc (rc_style: PGtkRcStyle, settings: PGtkSettings,
-                  scanner: PGScanner): guint{.cdecl.}
-    merge*: proc (dest: PGtkRcStyle, src: PGtkRcStyle){.cdecl.}
-    create_style*: proc (rc_style: PGtkRcStyle): PGtkStyle{.cdecl.}
-    gtk_reserved371: proc (){.cdecl.}
-    gtk_reserved372: proc (){.cdecl.}
-    gtk_reserved373: proc (){.cdecl.}
-    gtk_reserved374: proc (){.cdecl.}
-
-  PGtkRcTokenType* = ptr TGtkRcTokenType
-  TGtkRcTokenType* = enum
-    GTK_RC_TOKEN_INVALID, GTK_RC_TOKEN_INCLUDE, GTK_RC_TOKEN_NORMAL,
-    GTK_RC_TOKEN_ACTIVE, GTK_RC_TOKEN_PRELIGHT, GTK_RC_TOKEN_SELECTED,
-    GTK_RC_TOKEN_INSENSITIVE, GTK_RC_TOKEN_FG, GTK_RC_TOKEN_BG,
-    GTK_RC_TOKEN_TEXT, GTK_RC_TOKEN_BASE, GTK_RC_TOKEN_XTHICKNESS,
-    GTK_RC_TOKEN_YTHICKNESS, GTK_RC_TOKEN_FONT, GTK_RC_TOKEN_FONTSET,
-    GTK_RC_TOKEN_FONT_NAME, GTK_RC_TOKEN_BG_PIXMAP, GTK_RC_TOKEN_PIXMAP_PATH,
-    GTK_RC_TOKEN_STYLE, GTK_RC_TOKEN_BINDING, GTK_RC_TOKEN_BIND,
-    GTK_RC_TOKEN_WIDGET, GTK_RC_TOKEN_WIDGET_CLASS, GTK_RC_TOKEN_CLASS,
-    GTK_RC_TOKEN_LOWEST, GTK_RC_TOKEN_GTK, GTK_RC_TOKEN_APPLICATION,
-    GTK_RC_TOKEN_THEME, GTK_RC_TOKEN_RC, GTK_RC_TOKEN_HIGHEST,
-    GTK_RC_TOKEN_ENGINE, GTK_RC_TOKEN_MODULE_PATH, GTK_RC_TOKEN_IM_MODULE_PATH,
-    GTK_RC_TOKEN_IM_MODULE_FILE, GTK_RC_TOKEN_STOCK, GTK_RC_TOKEN_LTR,
-    GTK_RC_TOKEN_RTL, GTK_RC_TOKEN_LAST
-  PGtkRcProperty* = ptr TGtkRcProperty
-  TGtkRcProperty* {.final, pure.} = object
-    type_name*: TGQuark
-    property_name*: TGQuark
-    origin*: cstring
-    value*: TGValue
-
-  PGtkIconSource* = pointer
-  TGtkRcPropertyParser* = proc (pspec: PGParamSpec, rc_string: PGString,
-                                property_value: PGValue): gboolean{.cdecl.}
-  TGtkStyle* = object of TGObject
-    fg*: array[0..4, TGdkColor]
-    bg*: array[0..4, TGdkColor]
-    light*: array[0..4, TGdkColor]
-    dark*: array[0..4, TGdkColor]
-    mid*: array[0..4, TGdkColor]
-    text*: array[0..4, TGdkColor]
-    base*: array[0..4, TGdkColor]
-    text_aa*: array[0..4, TGdkColor]
-    black*: TGdkColor
-    white*: TGdkColor
-    font_desc*: PPangoFontDescription
-    xthickness*: gint
-    ythickness*: gint
-    fg_gc*: array[0..4, PGdkGC]
-    bg_gc*: array[0..4, PGdkGC]
-    light_gc*: array[0..4, PGdkGC]
-    dark_gc*: array[0..4, PGdkGC]
-    mid_gc*: array[0..4, PGdkGC]
-    text_gc*: array[0..4, PGdkGC]
-    base_gc*: array[0..4, PGdkGC]
-    text_aa_gc*: array[0..4, PGdkGC]
-    black_gc*: PGdkGC
-    white_gc*: PGdkGC
-    bg_pixmap*: array[0..4, PGdkPixmap]
-    attach_count*: gint
-    depth*: gint
-    colormap*: PGdkColormap
-    private_font*: PGdkFont
-    private_font_desc*: PPangoFontDescription
-    rc_style*: PGtkRcStyle
-    styles*: PGSList
-    property_cache*: PGArray
-    icon_factories*: PGSList
-
-  PGtkStyleClass* = ptr TGtkStyleClass
-  TGtkStyleClass* = object of TGObjectClass
-    realize*: proc (style: PGtkStyle){.cdecl.}
-    unrealize*: proc (style: PGtkStyle){.cdecl.}
-    copy*: proc (style: PGtkStyle, src: PGtkStyle){.cdecl.}
-    clone*: proc (style: PGtkStyle): PGtkStyle{.cdecl.}
-    init_from_rc*: proc (style: PGtkStyle, rc_style: PGtkRcStyle){.cdecl.}
-    set_background*: proc (style: PGtkStyle, window: PGdkWindow,
-                           state_type: TGtkStateType){.cdecl.}
-    render_icon*: proc (style: PGtkStyle, source: PGtkIconSource,
-                        direction: TGtkTextDirection, state: TGtkStateType,
-                        size: TGtkIconSize, widget: PGtkWidget, detail: cstring): PGdkPixbuf{.
-        cdecl.}
-    draw_hline*: proc (style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, area: PGdkRectangle,
-                       widget: PGtkWidget, detail: cstring, x1: gint, x2: gint,
-                       y: gint){.cdecl.}
-    draw_vline*: proc (style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, area: PGdkRectangle,
-                       widget: PGtkWidget, detail: cstring, y1: gint, y2: gint,
-                       x: gint){.cdecl.}
-    draw_shadow*: proc (style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                        area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                        x: gint, y: gint, width: gint, height: gint){.cdecl.}
-    draw_polygon*: proc (style: PGtkStyle, window: PGdkWindow,
-                         state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                         area: PGdkRectangle, widget: PGtkWidget,
-                         detail: cstring, point: PGdkPoint, npoints: gint,
-                         fill: gboolean){.cdecl.}
-    draw_arrow*: proc (style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                       area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                       arrow_type: TGtkArrowType, fill: gboolean, x: gint,
-                       y: gint, width: gint, height: gint){.cdecl.}
-    draw_diamond*: proc (style: PGtkStyle, window: PGdkWindow,
-                         state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                         area: PGdkRectangle, widget: PGtkWidget,
-                         detail: cstring, x: gint, y: gint, width: gint,
-                         height: gint){.cdecl.}
-    draw_string*: proc (style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, area: PGdkRectangle,
-                        widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                        `string`: cstring){.cdecl.}
-    draw_box*: proc (style: PGtkStyle, window: PGdkWindow,
-                     state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                     area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                     x: gint, y: gint, width: gint, height: gint){.cdecl.}
-    draw_flat_box*: proc (style: PGtkStyle, window: PGdkWindow,
-                          state_type: TGtkStateType,
-                          shadow_type: TGtkShadowType, area: PGdkRectangle,
-                          widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                          width: gint, height: gint){.cdecl.}
-    draw_check*: proc (style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                       area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                       x: gint, y: gint, width: gint, height: gint){.cdecl.}
-    draw_option*: proc (style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                        area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                        x: gint, y: gint, width: gint, height: gint){.cdecl.}
-    draw_tab*: proc (style: PGtkStyle, window: PGdkWindow,
-                     state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                     area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                     x: gint, y: gint, width: gint, height: gint){.cdecl.}
-    draw_shadow_gap*: proc (style: PGtkStyle, window: PGdkWindow,
-                            state_type: TGtkStateType,
-                            shadow_type: TGtkShadowType, area: PGdkRectangle,
-                            widget: PGtkWidget, detail: cstring, x: gint,
-                            y: gint, width: gint, height: gint,
-                            gap_side: TGtkPositionType, gap_x: gint,
-                            gap_width: gint){.cdecl.}
-    draw_box_gap*: proc (style: PGtkStyle, window: PGdkWindow,
-                         state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                         area: PGdkRectangle, widget: PGtkWidget,
-                         detail: cstring, x: gint, y: gint, width: gint,
-                         height: gint, gap_side: TGtkPositionType, gap_x: gint,
-                         gap_width: gint){.cdecl.}
-    draw_extension*: proc (style: PGtkStyle, window: PGdkWindow,
-                           state_type: TGtkStateType,
-                           shadow_type: TGtkShadowType, area: PGdkRectangle,
-                           widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                           width: gint, height: gint, gap_side: TGtkPositionType){.
-        cdecl.}
-    draw_focus*: proc (style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, area: PGdkRectangle,
-                       widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                       width: gint, height: gint){.cdecl.}
-    draw_slider*: proc (style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                        area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                        x: gint, y: gint, width: gint, height: gint,
-                        orientation: TGtkOrientation){.cdecl.}
-    draw_handle*: proc (style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                        area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                        x: gint, y: gint, width: gint, height: gint,
-                        orientation: TGtkOrientation){.cdecl.}
-    draw_expander*: proc (style: PGtkStyle, window: PGdkWindow,
-                          state_type: TGtkStateType, area: PGdkRectangle,
-                          widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                          expander_style: TGtkExpanderStyle){.cdecl.}
-    draw_layout*: proc (style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, use_text: gboolean,
-                        area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                        x: gint, y: gint, layout: PPangoLayout){.cdecl.}
-    draw_resize_grip*: proc (style: PGtkStyle, window: PGdkWindow,
-                             state_type: TGtkStateType, area: PGdkRectangle,
-                             widget: PGtkWidget, detail: cstring,
-                             edge: TGdkWindowEdge, x: gint, y: gint,
-                             width: gint, height: gint){.cdecl.}
-    gtk_reserved381: proc (){.cdecl.}
-    gtk_reserved382: proc (){.cdecl.}
-    gtk_reserved383: proc (){.cdecl.}
-    gtk_reserved384: proc (){.cdecl.}
-    gtk_reserved385: proc (){.cdecl.}
-    gtk_reserved386: proc (){.cdecl.}
-    gtk_reserved387: proc (){.cdecl.}
-    gtk_reserved388: proc (){.cdecl.}
-    gtk_reserved389: proc (){.cdecl.}
-    gtk_reserved3810: proc (){.cdecl.}
-    gtk_reserved3811: proc (){.cdecl.}
-    gtk_reserved3812: proc (){.cdecl.}
-
-  PGtkBorder* = ptr TGtkBorder
-  TGtkBorder* {.final, pure.} = object
-    left*: gint
-    right*: gint
-    top*: gint
-    bottom*: gint
-
-  PGtkRangeLayout* = pointer
-  PGtkRangeStepTimer* = pointer
-  PGtkRange* = ptr TGtkRange
-  TGtkRange* = object of TGtkWidget
-    adjustment*: PGtkAdjustment
-    update_policy*: TGtkUpdateType
-    GtkRange_flag0*: guint16
-    min_slider_size*: gint
-    orientation*: TGtkOrientation
-    range_rect*: TGdkRectangle
-    slider_start*: gint
-    slider_end*: gint
-    round_digits*: gint
-    flag1*: guint16
-    layout*: PGtkRangeLayout
-    timer*: PGtkRangeStepTimer
-    slide_initial_slider_position*: gint
-    slide_initial_coordinate*: gint
-    update_timeout_id*: guint
-    event_window*: PGdkWindow
-
-  PGtkRangeClass* = ptr TGtkRangeClass
-  TGtkRangeClass* = object of TGtkWidgetClass
-    slider_detail*: cstring
-    stepper_detail*: cstring
-    value_changed*: proc (range: PGtkRange){.cdecl.}
-    adjust_bounds*: proc (range: PGtkRange, new_value: gdouble){.cdecl.}
-    move_slider*: proc (range: PGtkRange, scroll: TGtkScrollType){.cdecl.}
-    get_range_border*: proc (range: PGtkRange, border: PGtkBorder){.cdecl.}
-    gtk_reserved401: proc (){.cdecl.}
-    gtk_reserved402: proc (){.cdecl.}
-    gtk_reserved403: proc (){.cdecl.}
-    gtk_reserved404: proc (){.cdecl.}
-
-  PGtkScale* = ptr TGtkScale
-  TGtkScale* = object of TGtkRange
-    digits*: gint
-    GtkScale_flag0*: guint16
-
-  PGtkScaleClass* = ptr TGtkScaleClass
-  TGtkScaleClass* = object of TGtkRangeClass
-    format_value*: proc (scale: PGtkScale, value: gdouble): cstring{.cdecl.}
-    draw_value*: proc (scale: PGtkScale){.cdecl.}
-    gtk_reserved411: proc (){.cdecl.}
-    gtk_reserved412: proc (){.cdecl.}
-    gtk_reserved413: proc (){.cdecl.}
-    gtk_reserved414: proc (){.cdecl.}
-
-  PGtkHScale* = ptr TGtkHScale
-  TGtkHScale* = object of TGtkScale
-
-  PGtkHScaleClass* = ptr TGtkHScaleClass
-  TGtkHScaleClass* = object of TGtkScaleClass
-
-  PGtkScrollbar* = ptr TGtkScrollbar
-  TGtkScrollbar* = object of TGtkRange
-
-  PGtkScrollbarClass* = ptr TGtkScrollbarClass
-  TGtkScrollbarClass* = object of TGtkRangeClass
-    gtk_reserved421: proc (){.cdecl.}
-    gtk_reserved422: proc (){.cdecl.}
-    gtk_reserved423: proc (){.cdecl.}
-    gtk_reserved424: proc (){.cdecl.}
-
-  PGtkHScrollbar* = ptr TGtkHScrollbar
-  TGtkHScrollbar* = object of TGtkScrollbar
-
-  PGtkHScrollbarClass* = ptr TGtkHScrollbarClass
-  TGtkHScrollbarClass* = object of TGtkScrollbarClass
-
-  PGtkSeparator* = ptr TGtkSeparator
-  TGtkSeparator* = object of TGtkWidget
-
-  PGtkSeparatorClass* = ptr TGtkSeparatorClass
-  TGtkSeparatorClass* = object of TGtkWidgetClass
-
-  PGtkHSeparator* = ptr TGtkHSeparator
-  TGtkHSeparator* = object of TGtkSeparator
-
-  PGtkHSeparatorClass* = ptr TGtkHSeparatorClass
-  TGtkHSeparatorClass* = object of TGtkSeparatorClass
-
-  PGtkIconFactory* = ptr TGtkIconFactory
-  TGtkIconFactory* = object of TGObject
-    icons*: PGHashTable
-
-  PGtkIconFactoryClass* = ptr TGtkIconFactoryClass
-  TGtkIconFactoryClass* = object of TGObjectClass
-    gtk_reserved431: proc (){.cdecl.}
-    gtk_reserved432: proc (){.cdecl.}
-    gtk_reserved433: proc (){.cdecl.}
-    gtk_reserved434: proc (){.cdecl.}
-
-  PGtkIconSet* = pointer
-  PGtkImagePixmapData* = ptr TGtkImagePixmapData
-  TGtkImagePixmapData* {.final, pure.} = object
-    pixmap*: PGdkPixmap
-
-  PGtkImageImageData* = ptr TGtkImageImageData
-  TGtkImageImageData* {.final, pure.} = object
-    image*: PGdkImage
-
-  PGtkImagePixbufData* = ptr TGtkImagePixbufData
-  TGtkImagePixbufData* {.final, pure.} = object
-    pixbuf*: PGdkPixbuf
-
-  PGtkImageStockData* = ptr TGtkImageStockData
-  TGtkImageStockData* {.final, pure.} = object
-    stock_id*: cstring
-
-  PGtkImageIconSetData* = ptr TGtkImageIconSetData
-  TGtkImageIconSetData* {.final, pure.} = object
-    icon_set*: PGtkIconSet
-
-  PGtkImageAnimationData* = ptr TGtkImageAnimationData
-  TGtkImageAnimationData* {.final, pure.} = object
-    anim*: PGdkPixbufAnimation
-    iter*: PGdkPixbufAnimationIter
-    frame_timeout*: guint
-
-  PGtkImageType* = ptr TGtkImageType
-  TGtkImageType* = enum
-    GTK_IMAGE_EMPTY, GTK_IMAGE_PIXMAP, GTK_IMAGE_IMAGE, GTK_IMAGE_PIXBUF,
-    GTK_IMAGE_STOCK, GTK_IMAGE_ICON_SET, GTK_IMAGE_ANIMATION
-  PGtkImage* = ptr TGtkImage
-  TGtkImage* = object of TGtkMisc
-    storage_type*: TGtkImageType
-    pixmap*: TGtkImagePixmapData
-    mask*: PGdkBitmap
-    icon_size*: TGtkIconSize
-
-  PGtkImageClass* = ptr TGtkImageClass
-  TGtkImageClass* = object of TGtkMiscClass
-    gtk_reserved441: proc (){.cdecl.}
-    gtk_reserved442: proc (){.cdecl.}
-    gtk_reserved443: proc (){.cdecl.}
-    gtk_reserved444: proc (){.cdecl.}
-
-  PGtkImageMenuItem* = ptr TGtkImageMenuItem
-  TGtkImageMenuItem* = object of TGtkMenuItem
-    image*: PGtkWidget
-
-  PGtkImageMenuItemClass* = ptr TGtkImageMenuItemClass
-  TGtkImageMenuItemClass* = object of TGtkMenuItemClass
-
-  PGtkIMContextSimple* = ptr TGtkIMContextSimple
-  TGtkIMContextSimple* = object of TGtkIMContext
-    tables*: PGSList
-    compose_buffer*: array[0..(GTK_MAX_COMPOSE_LEN + 1) - 1, guint]
-    tentative_match*: gunichar
-    tentative_match_len*: gint
-    GtkIMContextSimple_flag0*: guint16
-
-  PGtkIMContextSimpleClass* = ptr TGtkIMContextSimpleClass
-  TGtkIMContextSimpleClass* = object of TGtkIMContextClass
-
-  PGtkIMMulticontext* = ptr TGtkIMMulticontext
-  TGtkIMMulticontext* = object of TGtkIMContext
-    slave*: PGtkIMContext
-    client_window*: PGdkWindow
-    context_id*: cstring
-
-  PGtkIMMulticontextClass* = ptr TGtkIMMulticontextClass
-  TGtkIMMulticontextClass* = object of TGtkIMContextClass
-    gtk_reserved451: proc (){.cdecl.}
-    gtk_reserved452: proc (){.cdecl.}
-    gtk_reserved453: proc (){.cdecl.}
-    gtk_reserved454: proc (){.cdecl.}
-
-  PGtkInputDialog* = ptr TGtkInputDialog
-  TGtkInputDialog* = object of TGtkDialog
-    axis_list*: PGtkWidget
-    axis_listbox*: PGtkWidget
-    mode_optionmenu*: PGtkWidget
-    close_button*: PGtkWidget
-    save_button*: PGtkWidget
-    axis_items*: array[0..(GDK_AXIS_LAST) - 1, PGtkWidget]
-    current_device*: PGdkDevice
-    keys_list*: PGtkWidget
-    keys_listbox*: PGtkWidget
-
-  PGtkInputDialogClass* = ptr TGtkInputDialogClass
-  TGtkInputDialogClass* = object of TGtkDialogClass
-    enable_device*: proc (inputd: PGtkInputDialog, device: PGdkDevice){.cdecl.}
-    disable_device*: proc (inputd: PGtkInputDialog, device: PGdkDevice){.cdecl.}
-    gtk_reserved461: proc (){.cdecl.}
-    gtk_reserved462: proc (){.cdecl.}
-    gtk_reserved463: proc (){.cdecl.}
-    gtk_reserved464: proc (){.cdecl.}
-
-  PGtkInvisible* = ptr TGtkInvisible
-  TGtkInvisible* = object of TGtkWidget
-    has_user_ref_count*: gboolean
-    screen*: PGdkScreen
-
-  PGtkInvisibleClass* = ptr TGtkInvisibleClass
-  TGtkInvisibleClass* = object of TGtkWidgetClass
-    gtk_reserved701: proc (){.cdecl.}
-    gtk_reserved702: proc (){.cdecl.}
-    gtk_reserved703: proc (){.cdecl.}
-    gtk_reserved704: proc (){.cdecl.}
-
-  TGtkPrintFunc* = proc (func_data: gpointer, str: cstring){.cdecl.}
-  PGtkTranslateFunc* = ptr TGtkTranslateFunc
-  TGtkTranslateFunc* = gchar
-  TGtkItemFactoryCallback* = proc (){.cdecl.}
-  TGtkItemFactoryCallback1* = proc (callback_data: gpointer,
-                                    callback_action: guint, widget: PGtkWidget){.
-      cdecl.}
-  PGtkItemFactory* = ptr TGtkItemFactory
-  TGtkItemFactory* = object of TGtkObject
-    path*: cstring
-    accel_group*: PGtkAccelGroup
-    widget*: PGtkWidget
-    items*: PGSList
-    translate_func*: TGtkTranslateFunc
-    translate_data*: gpointer
-    translate_notify*: TGtkDestroyNotify
-
-  PGtkItemFactoryClass* = ptr TGtkItemFactoryClass
-  TGtkItemFactoryClass* = object of TGtkObjectClass
-    item_ht*: PGHashTable
-    gtk_reserved471: proc (){.cdecl.}
-    gtk_reserved472: proc (){.cdecl.}
-    gtk_reserved473: proc (){.cdecl.}
-    gtk_reserved474: proc (){.cdecl.}
-
-  PGtkItemFactoryEntry* = ptr TGtkItemFactoryEntry
-  TGtkItemFactoryEntry* {.final, pure.} = object
-    path*: cstring
-    accelerator*: cstring
-    callback*: TGtkItemFactoryCallback
-    callback_action*: guint
-    item_type*: cstring
-    extra_data*: gconstpointer
-
-  PGtkItemFactoryItem* = ptr TGtkItemFactoryItem
-  TGtkItemFactoryItem* {.final, pure.} = object
-    path*: cstring
-    widgets*: PGSList
-
-  PGtkLayout* = ptr TGtkLayout
-  TGtkLayout* = object of TGtkContainer
-    children*: PGList
-    width*: guint
-    height*: guint
-    hadjustment*: PGtkAdjustment
-    vadjustment*: PGtkAdjustment
-    bin_window*: PGdkWindow
-    visibility*: TGdkVisibilityState
-    scroll_x*: gint
-    scroll_y*: gint
-    freeze_count*: guint
-
-  PGtkLayoutClass* = ptr TGtkLayoutClass
-  TGtkLayoutClass* = object of TGtkContainerClass
-    set_scroll_adjustments*: proc (layout: PGtkLayout,
-                                   hadjustment: PGtkAdjustment,
-                                   vadjustment: PGtkAdjustment){.cdecl.}
-    gtk_reserved481: proc (){.cdecl.}
-    gtk_reserved482: proc (){.cdecl.}
-    gtk_reserved483: proc (){.cdecl.}
-    gtk_reserved484: proc (){.cdecl.}
-
-  PGtkList* = ptr TGtkList
-  TGtkList* = object of TGtkContainer
-    children*: PGList
-    selection*: PGList
-    undo_selection*: PGList
-    undo_unselection*: PGList
-    last_focus_child*: PGtkWidget
-    undo_focus_child*: PGtkWidget
-    htimer*: guint
-    vtimer*: guint
-    anchor*: gint
-    drag_pos*: gint
-    anchor_state*: TGtkStateType
-    GtkList_flag0*: guint16
-
-  PGtkListClass* = ptr TGtkListClass
-  TGtkListClass* = object of TGtkContainerClass
-    selection_changed*: proc (list: PGtkList){.cdecl.}
-    select_child*: proc (list: PGtkList, child: PGtkWidget){.cdecl.}
-    unselect_child*: proc (list: PGtkList, child: PGtkWidget){.cdecl.}
-
-  TGtkTreeModelForeachFunc* = proc (model: PGtkTreeModel, path: PGtkTreePath,
-                                    iter: PGtkTreeIter, data: gpointer): gboolean{.
-      cdecl.}
-  PGtkTreeModelFlags* = ptr TGtkTreeModelFlags
-  TGtkTreeModelFlags* = int32
-  TGtkTreeIter* {.final, pure.} = object
-    stamp*: gint
-    user_data*: gpointer
-    user_data2*: gpointer
-    user_data3*: gpointer
-
-  PGtkTreeModelIface* = ptr TGtkTreeModelIface
-  TGtkTreeModelIface* = object of TGTypeInterface
-    row_changed*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath,
-                        iter: PGtkTreeIter){.cdecl.}
-    row_inserted*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath,
-                         iter: PGtkTreeIter){.cdecl.}
-    row_has_child_toggled*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath,
-                                  iter: PGtkTreeIter){.cdecl.}
-    row_deleted*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath){.cdecl.}
-    rows_reordered*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath,
-                           iter: PGtkTreeIter, new_order: Pgint){.cdecl.}
-    get_flags*: proc (tree_model: PGtkTreeModel): TGtkTreeModelFlags{.cdecl.}
-    get_n_columns*: proc (tree_model: PGtkTreeModel): gint{.cdecl.}
-    get_column_type*: proc (tree_model: PGtkTreeModel, index: gint): GType{.
-        cdecl.}
-    get_iter*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                     path: PGtkTreePath): gboolean{.cdecl.}
-    get_path*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): PGtkTreePath{.
-        cdecl.}
-    get_value*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                      column: gint, value: PGValue){.cdecl.}
-    iter_next*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean{.
-        cdecl.}
-    iter_children*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                          parent: PGtkTreeIter): gboolean{.cdecl.}
-    iter_has_child*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean{.
-        cdecl.}
-    iter_n_children*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): gint{.
-        cdecl.}
-    iter_nth_child*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                           parent: PGtkTreeIter, n: gint): gboolean{.cdecl.}
-    iter_parent*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                        child: PGtkTreeIter): gboolean{.cdecl.}
-    ref_node*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter){.cdecl.}
-    unref_node*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter){.cdecl.}
-
-  PGtkTreeSortable* = pointer
-  TGtkTreeIterCompareFunc* = proc (model: PGtkTreeModel, a: PGtkTreeIter,
-                                   b: PGtkTreeIter, user_data: gpointer): gint{.
-      cdecl.}
-  PGtkTreeSortableIface* = ptr TGtkTreeSortableIface
-  TGtkTreeSortableIface* = object of TGTypeInterface
-    sort_column_changed*: proc (sortable: PGtkTreeSortable){.cdecl.}
-    get_sort_column_id*: proc (sortable: PGtkTreeSortable,
-                               sort_column_id: Pgint, order: PGtkSortType): gboolean{.
-        cdecl.}
-    set_sort_column_id*: proc (sortable: PGtkTreeSortable, sort_column_id: gint,
-                               order: TGtkSortType){.cdecl.}
-    set_sort_func*: proc (sortable: PGtkTreeSortable, sort_column_id: gint,
-                          func: TGtkTreeIterCompareFunc, data: gpointer,
-                          destroy: TGtkDestroyNotify){.cdecl.}
-    set_default_sort_func*: proc (sortable: PGtkTreeSortable,
-                                  func: TGtkTreeIterCompareFunc, data: gpointer,
-                                  destroy: TGtkDestroyNotify){.cdecl.}
-    has_default_sort_func*: proc (sortable: PGtkTreeSortable): gboolean{.cdecl.}
-
-  PGtkTreeModelSort* = ptr TGtkTreeModelSort
-  TGtkTreeModelSort* = object of TGObject
-    root*: gpointer
-    stamp*: gint
-    child_flags*: guint
-    child_model*: PGtkTreeModel
-    zero_ref_count*: gint
-    sort_list*: PGList
-    sort_column_id*: gint
-    order*: TGtkSortType
-    default_sort_func*: TGtkTreeIterCompareFunc
-    default_sort_data*: gpointer
-    default_sort_destroy*: TGtkDestroyNotify
-    changed_id*: guint
-    inserted_id*: guint
-    has_child_toggled_id*: guint
-    deleted_id*: guint
-    reordered_id*: guint
-
-  PGtkTreeModelSortClass* = ptr TGtkTreeModelSortClass
-  TGtkTreeModelSortClass* = object of TGObjectClass
-    gtk_reserved491: proc (){.cdecl.}
-    gtk_reserved492: proc (){.cdecl.}
-    gtk_reserved493: proc (){.cdecl.}
-    gtk_reserved494: proc (){.cdecl.}
-
-  PGtkListStore* = ptr TGtkListStore
-  TGtkListStore* = object of TGObject
-    stamp*: gint
-    root*: gpointer
-    tail*: gpointer
-    sort_list*: PGList
-    n_columns*: gint
-    sort_column_id*: gint
-    order*: TGtkSortType
-    column_headers*: PGType
-    length*: gint
-    default_sort_func*: TGtkTreeIterCompareFunc
-    default_sort_data*: gpointer
-    default_sort_destroy*: TGtkDestroyNotify
-    GtkListStore_flag0*: guint16
-
-  PGtkListStoreClass* = ptr TGtkListStoreClass
-  TGtkListStoreClass* = object of TGObjectClass
-    gtk_reserved501: proc (){.cdecl.}
-    gtk_reserved502: proc (){.cdecl.}
-    gtk_reserved503: proc (){.cdecl.}
-    gtk_reserved504: proc (){.cdecl.}
-
-  TGtkModuleInitFunc* = proc (argc: Pgint, argv: PPPgchar){.cdecl.}
-  TGtkKeySnoopFunc* = proc (grab_widget: PGtkWidget, event: PGdkEventKey,
-                            func_data: gpointer): gint{.cdecl.}
-  PGtkMenuBar* = ptr TGtkMenuBar
-  TGtkMenuBar* = object of TGtkMenuShell
-
-  PGtkMenuBarClass* = ptr TGtkMenuBarClass
-  TGtkMenuBarClass* = object of TGtkMenuShellClass
-    gtk_reserved511: proc (){.cdecl.}
-    gtk_reserved512: proc (){.cdecl.}
-    gtk_reserved513: proc (){.cdecl.}
-    gtk_reserved514: proc (){.cdecl.}
-
-  PGtkMessageType* = ptr TGtkMessageType
-  TGtkMessageType* = enum
-    GTK_MESSAGE_INFO, GTK_MESSAGE_WARNING, GTK_MESSAGE_QUESTION,
-    GTK_MESSAGE_ERROR
-  PGtkButtonsType* = ptr TGtkButtonsType
-  TGtkButtonsType* = enum
-    GTK_BUTTONS_NONE, GTK_BUTTONS_OK, GTK_BUTTONS_CLOSE, GTK_BUTTONS_CANCEL,
-    GTK_BUTTONS_YES_NO, GTK_BUTTONS_OK_CANCEL
-  PGtkMessageDialog* = ptr TGtkMessageDialog
-  TGtkMessageDialog* = object of TGtkDialog
-    image*: PGtkWidget
-    label*: PGtkWidget
-
-  PGtkMessageDialogClass* = ptr TGtkMessageDialogClass
-  TGtkMessageDialogClass* = object of TGtkDialogClass
-    gtk_reserved521: proc (){.cdecl.}
-    gtk_reserved522: proc (){.cdecl.}
-    gtk_reserved523: proc (){.cdecl.}
-    gtk_reserved524: proc (){.cdecl.}
-
-  PGtkNotebookPage* = pointer
-  PGtkNotebookTab* = ptr TGtkNotebookTab
-  TGtkNotebookTab* = enum
-    GTK_NOTEBOOK_TAB_FIRST, GTK_NOTEBOOK_TAB_LAST
-  PGtkNotebook* = ptr TGtkNotebook
-  TGtkNotebook* = object of TGtkContainer
-    cur_page*: PGtkNotebookPage
-    children*: PGList
-    first_tab*: PGList
-    focus_tab*: PGList
-    menu*: PGtkWidget
-    event_window*: PGdkWindow
-    timer*: guint32
-    tab_hborder*: guint16
-    tab_vborder*: guint16
-    GtkNotebook_flag0*: guint16
-
-  PGtkNotebookClass* = ptr TGtkNotebookClass
-  TGtkNotebookClass* = object of TGtkContainerClass
-    switch_page*: proc (notebook: PGtkNotebook, page: PGtkNotebookPage,
-                        page_num: guint){.cdecl.}
-    select_page*: proc (notebook: PGtkNotebook, move_focus: gboolean): gboolean{.
-        cdecl.}
-    focus_tab*: proc (notebook: PGtkNotebook, thetype: TGtkNotebookTab): gboolean{.
-        cdecl.}
-    change_current_page*: proc (notebook: PGtkNotebook, offset: gint){.cdecl.}
-    move_focus_out*: proc (notebook: PGtkNotebook, direction: TGtkDirectionType){.
-        cdecl.}
-    gtk_reserved531: proc (){.cdecl.}
-    gtk_reserved532: proc (){.cdecl.}
-    gtk_reserved533: proc (){.cdecl.}
-    gtk_reserved534: proc (){.cdecl.}
-
-  PGtkOldEditable* = ptr TGtkOldEditable
-  TGtkOldEditable* = object of TGtkWidget
-    current_pos*: guint
-    selection_start_pos*: guint
-    selection_end_pos*: guint
-    GtkOldEditable_flag0*: guint16
-    clipboard_text*: cstring
-
-  TGtkTextFunction* = proc (editable: PGtkOldEditable, time: guint32){.cdecl.}
-  PGtkOldEditableClass* = ptr TGtkOldEditableClass
-  TGtkOldEditableClass* = object of TGtkWidgetClass
-    activate*: proc (editable: PGtkOldEditable){.cdecl.}
-    set_editable*: proc (editable: PGtkOldEditable, is_editable: gboolean){.
-        cdecl.}
-    move_cursor*: proc (editable: PGtkOldEditable, x: gint, y: gint){.cdecl.}
-    move_word*: proc (editable: PGtkOldEditable, n: gint){.cdecl.}
-    move_page*: proc (editable: PGtkOldEditable, x: gint, y: gint){.cdecl.}
-    move_to_row*: proc (editable: PGtkOldEditable, row: gint){.cdecl.}
-    move_to_column*: proc (editable: PGtkOldEditable, row: gint){.cdecl.}
-    kill_char*: proc (editable: PGtkOldEditable, direction: gint){.cdecl.}
-    kill_word*: proc (editable: PGtkOldEditable, direction: gint){.cdecl.}
-    kill_line*: proc (editable: PGtkOldEditable, direction: gint){.cdecl.}
-    cut_clipboard*: proc (editable: PGtkOldEditable){.cdecl.}
-    copy_clipboard*: proc (editable: PGtkOldEditable){.cdecl.}
-    paste_clipboard*: proc (editable: PGtkOldEditable){.cdecl.}
-    update_text*: proc (editable: PGtkOldEditable, start_pos: gint,
-                        end_pos: gint){.cdecl.}
-    get_chars*: proc (editable: PGtkOldEditable, start_pos: gint, end_pos: gint): cstring{.
-        cdecl.}
-    set_selection*: proc (editable: PGtkOldEditable, start_pos: gint,
-                          end_pos: gint){.cdecl.}
-    set_position*: proc (editable: PGtkOldEditable, position: gint){.cdecl.}
-
-  PGtkOptionMenu* = ptr TGtkOptionMenu
-  TGtkOptionMenu* = object of TGtkButton
-    menu*: PGtkWidget
-    menu_item*: PGtkWidget
-    width*: guint16
-    height*: guint16
-
-  PGtkOptionMenuClass* = ptr TGtkOptionMenuClass
-  TGtkOptionMenuClass* = object of TGtkButtonClass
-    changed*: proc (option_menu: PGtkOptionMenu){.cdecl.}
-    gtk_reserved541: proc (){.cdecl.}
-    gtk_reserved542: proc (){.cdecl.}
-    gtk_reserved543: proc (){.cdecl.}
-    gtk_reserved544: proc (){.cdecl.}
-
-  PGtkPixmap* = ptr TGtkPixmap
-  TGtkPixmap* = object of TGtkMisc
-    pixmap*: PGdkPixmap
-    mask*: PGdkBitmap
-    pixmap_insensitive*: PGdkPixmap
-    GtkPixmap_flag0*: guint16
-
-  PGtkPixmapClass* = ptr TGtkPixmapClass
-  TGtkPixmapClass* = object of TGtkMiscClass
-
-  PGtkPlug* = ptr TGtkPlug
-  TGtkPlug* = object of TGtkWindow
-    socket_window*: PGdkWindow
-    modality_window*: PGtkWidget
-    modality_group*: PGtkWindowGroup
-    grabbed_keys*: PGHashTable
-    GtkPlug_flag0*: guint16
-
-  PGtkPlugClass* = ptr TGtkPlugClass
-  TGtkPlugClass* = object of TGtkWindowClass
-    embedded*: proc (plug: PGtkPlug){.cdecl.}
-    gtk_reserved551: proc (){.cdecl.}
-    gtk_reserved552: proc (){.cdecl.}
-    gtk_reserved553: proc (){.cdecl.}
-    gtk_reserved554: proc (){.cdecl.}
-
-  PGtkPreview* = ptr TGtkPreview
-  TGtkPreview* = object of TGtkWidget
-    buffer*: Pguchar
-    buffer_width*: guint16
-    buffer_height*: guint16
-    bpp*: guint16
-    rowstride*: guint16
-    dither*: TGdkRgbDither
-    GtkPreview_flag0*: guint16
-
-  PGtkPreviewInfo* = ptr TGtkPreviewInfo
-  TGtkPreviewInfo* {.final, pure.} = object
-    lookup*: Pguchar
-    gamma*: gdouble
-
-  PGtkDitherInfo* = ptr TGtkDitherInfo
-  TGtkDitherInfo* {.final, pure.} = object
-    c*: array[0..3, guchar]
-
-  PGtkPreviewClass* = ptr TGtkPreviewClass
-  TGtkPreviewClass* = object of TGtkWidgetClass
-    info*: TGtkPreviewInfo
-
-  PGtkProgress* = ptr TGtkProgress
-  TGtkProgress* = object of TGtkWidget
-    adjustment*: PGtkAdjustment
-    offscreen_pixmap*: PGdkPixmap
-    format*: cstring
-    x_align*: gfloat
-    y_align*: gfloat
-    GtkProgress_flag0*: guint16
-
-  PGtkProgressClass* = ptr TGtkProgressClass
-  TGtkProgressClass* = object of TGtkWidgetClass
-    paint*: proc (progress: PGtkProgress){.cdecl.}
-    update*: proc (progress: PGtkProgress){.cdecl.}
-    act_mode_enter*: proc (progress: PGtkProgress){.cdecl.}
-    gtk_reserved561: proc (){.cdecl.}
-    gtk_reserved562: proc (){.cdecl.}
-    gtk_reserved563: proc (){.cdecl.}
-    gtk_reserved564: proc (){.cdecl.}
-
-  PGtkProgressBarStyle* = ptr TGtkProgressBarStyle
-  TGtkProgressBarStyle* = enum
-    GTK_PROGRESS_CONTINUOUS, GTK_PROGRESS_DISCRETE
-  PGtkProgressBarOrientation* = ptr TGtkProgressBarOrientation
-  TGtkProgressBarOrientation* = enum
-    GTK_PROGRESS_LEFT_TO_RIGHT, GTK_PROGRESS_RIGHT_TO_LEFT,
-    GTK_PROGRESS_BOTTOM_TO_TOP, GTK_PROGRESS_TOP_TO_BOTTOM
-  PGtkProgressBar* = ptr TGtkProgressBar
-  TGtkProgressBar* = object of TGtkProgress
-    bar_style*: TGtkProgressBarStyle
-    orientation*: TGtkProgressBarOrientation
-    blocks*: guint
-    in_block*: gint
-    activity_pos*: gint
-    activity_step*: guint
-    activity_blocks*: guint
-    pulse_fraction*: gdouble
-    GtkProgressBar_flag0*: guint16
-
-  PGtkProgressBarClass* = ptr TGtkProgressBarClass
-  TGtkProgressBarClass* = object of TGtkProgressClass
-    gtk_reserved571: proc (){.cdecl.}
-    gtk_reserved572: proc (){.cdecl.}
-    gtk_reserved573: proc (){.cdecl.}
-    gtk_reserved574: proc (){.cdecl.}
-
-  PGtkRadioButton* = ptr TGtkRadioButton
-  TGtkRadioButton* = object of TGtkCheckButton
-    group*: PGSList
-
-  PGtkRadioButtonClass* = ptr TGtkRadioButtonClass
-  TGtkRadioButtonClass* = object of TGtkCheckButtonClass
-    gtk_reserved581: proc (){.cdecl.}
-    gtk_reserved582: proc (){.cdecl.}
-    gtk_reserved583: proc (){.cdecl.}
-    gtk_reserved584: proc (){.cdecl.}
-
-  PGtkRadioMenuItem* = ptr TGtkRadioMenuItem
-  TGtkRadioMenuItem* = object of TGtkCheckMenuItem
-    group*: PGSList
-
-  PGtkRadioMenuItemClass* = ptr TGtkRadioMenuItemClass
-  TGtkRadioMenuItemClass* = object of TGtkCheckMenuItemClass
-    gtk_reserved591: proc (){.cdecl.}
-    gtk_reserved592: proc (){.cdecl.}
-    gtk_reserved593: proc (){.cdecl.}
-    gtk_reserved594: proc (){.cdecl.}
-
-  PGtkScrolledWindow* = ptr TGtkScrolledWindow
-  TGtkScrolledWindow* = object of TGtkBin
-    hscrollbar*: PGtkWidget
-    vscrollbar*: PGtkWidget
-    GtkScrolledWindow_flag0*: guint16
-    shadow_type*: guint16
-
-  PGtkScrolledWindowClass* = ptr TGtkScrolledWindowClass
-  TGtkScrolledWindowClass* = object of TGtkBinClass
-    scrollbar_spacing*: gint
-    scroll_child*: proc (scrolled_window: PGtkScrolledWindow,
-                         scroll: TGtkScrollType, horizontal: gboolean){.cdecl.}
-    move_focus_out*: proc (scrolled_window: PGtkScrolledWindow,
-                           direction: TGtkDirectionType){.cdecl.}
-    gtk_reserved601: proc (){.cdecl.}
-    gtk_reserved602: proc (){.cdecl.}
-    gtk_reserved603: proc (){.cdecl.}
-    gtk_reserved604: proc (){.cdecl.}
-
-  TGtkSelectionData* {.final, pure.} = object
-    selection*: TGdkAtom
-    target*: TGdkAtom
-    thetype*: TGdkAtom
-    format*: gint
-    data*: Pguchar
-    length*: gint
-    display*: PGdkDisplay
-
-  PGtkTargetEntry* = ptr TGtkTargetEntry
-  TGtkTargetEntry* {.final, pure.} = object
-    target*: cstring
-    flags*: guint
-    info*: guint
-
-  PGtkTargetList* = ptr TGtkTargetList
-  TGtkTargetList* {.final, pure.} = object
-    list*: PGList
-    ref_count*: guint
-
-  PGtkTargetPair* = ptr TGtkTargetPair
-  TGtkTargetPair* {.final, pure.} = object
-    target*: TGdkAtom
-    flags*: guint
-    info*: guint
-
-  PGtkSeparatorMenuItem* = ptr TGtkSeparatorMenuItem
-  TGtkSeparatorMenuItem* = object of TGtkMenuItem
-
-  PGtkSeparatorMenuItemClass* = ptr TGtkSeparatorMenuItemClass
-  TGtkSeparatorMenuItemClass* = object of TGtkMenuItemClass
-
-  PGtkSizeGroup* = ptr TGtkSizeGroup
-  TGtkSizeGroup* = object of TGObject
-    widgets*: PGSList
-    mode*: guint8
-    GtkSizeGroup_flag0*: guint16
-    requisition*: TGtkRequisition
-
-  PGtkSizeGroupClass* = ptr TGtkSizeGroupClass
-  TGtkSizeGroupClass* = object of TGObjectClass
-    gtk_reserved611: proc (){.cdecl.}
-    gtk_reserved612: proc (){.cdecl.}
-    gtk_reserved613: proc (){.cdecl.}
-    gtk_reserved614: proc (){.cdecl.}
-
-  PGtkSizeGroupMode* = ptr TGtkSizeGroupMode
-  TGtkSizeGroupMode* = enum
-    GTK_SIZE_GROUP_NONE, GTK_SIZE_GROUP_HORIZONTAL, GTK_SIZE_GROUP_VERTICAL,
-    GTK_SIZE_GROUP_BOTH
-  PGtkSocket* = ptr TGtkSocket
-  TGtkSocket* = object of TGtkContainer
-    request_width*: guint16
-    request_height*: guint16
-    current_width*: guint16
-    current_height*: guint16
-    plug_window*: PGdkWindow
-    plug_widget*: PGtkWidget
-    xembed_version*: gshort
-    GtkSocket_flag0*: guint16
-    accel_group*: PGtkAccelGroup
-    toplevel*: PGtkWidget
-
-  PGtkSocketClass* = ptr TGtkSocketClass
-  TGtkSocketClass* = object of TGtkContainerClass
-    plug_added*: proc (socket: PGtkSocket){.cdecl.}
-    plug_removed*: proc (socket: PGtkSocket): gboolean{.cdecl.}
-    gtk_reserved621: proc (){.cdecl.}
-    gtk_reserved622: proc (){.cdecl.}
-    gtk_reserved623: proc (){.cdecl.}
-    gtk_reserved624: proc (){.cdecl.}
-
-  PGtkSpinButtonUpdatePolicy* = ptr TGtkSpinButtonUpdatePolicy
-  TGtkSpinButtonUpdatePolicy* = enum
-    GTK_UPDATE_ALWAYS, GTK_UPDATE_IF_VALID
-  PGtkSpinType* = ptr TGtkSpinType
-  TGtkSpinType* = enum
-    GTK_SPIN_STEP_FORWARD, GTK_SPIN_STEP_BACKWARD, GTK_SPIN_PAGE_FORWARD,
-    GTK_SPIN_PAGE_BACKWARD, GTK_SPIN_HOME, GTK_SPIN_END, GTK_SPIN_USER_DEFINED
-  PGtkSpinButton* = ptr TGtkSpinButton
-  TGtkSpinButton* = object of TGtkEntry
-    adjustment*: PGtkAdjustment
-    panel*: PGdkWindow
-    timer*: guint32
-    climb_rate*: gdouble
-    timer_step*: gdouble
-    update_policy*: TGtkSpinButtonUpdatePolicy
-    GtkSpinButton_flag0*: int32
-
-  PGtkSpinButtonClass* = ptr TGtkSpinButtonClass
-  TGtkSpinButtonClass* = object of TGtkEntryClass
-    input*: proc (spin_button: PGtkSpinButton, new_value: Pgdouble): gint{.cdecl.}
-    output*: proc (spin_button: PGtkSpinButton): gint{.cdecl.}
-    value_changed*: proc (spin_button: PGtkSpinButton){.cdecl.}
-    change_value*: proc (spin_button: PGtkSpinButton, scroll: TGtkScrollType){.
-        cdecl.}
-    gtk_reserved631: proc (){.cdecl.}
-    gtk_reserved632: proc (){.cdecl.}
-    gtk_reserved633: proc (){.cdecl.}
-    gtk_reserved634: proc (){.cdecl.}
-
-  PGtkStockItem* = ptr TGtkStockItem
-  TGtkStockItem* {.final, pure.} = object
-    stock_id*: cstring
-    label*: cstring
-    modifier*: TGdkModifierType
-    keyval*: guint
-    translation_domain*: cstring
-
-  PGtkStatusbar* = ptr TGtkStatusbar
-  TGtkStatusbar* = object of TGtkHBox
-    frame*: PGtkWidget
-    `label`*: PGtkWidget
-    messages*: PGSList
-    keys*: PGSList
-    seq_context_id*: guint
-    seq_message_id*: guint
-    grip_window*: PGdkWindow
-    GtkStatusbar_flag0*: guint16
-
-  PGtkStatusbarClass* = ptr TGtkStatusbarClass
-  TGtkStatusbarClass* = object of TGtkHBoxClass
-    messages_mem_chunk*: PGMemChunk
-    text_pushed*: proc (statusbar: PGtkStatusbar, context_id: guint,
-                        text: cstring){.cdecl.}
-    text_popped*: proc (statusbar: PGtkStatusbar, context_id: guint,
-                        text: cstring){.cdecl.}
-    gtk_reserved641: proc (){.cdecl.}
-    gtk_reserved642: proc (){.cdecl.}
-    gtk_reserved643: proc (){.cdecl.}
-    gtk_reserved644: proc (){.cdecl.}
-
-  PGtkTableRowCol* = ptr TGtkTableRowCol
-  PGtkTable* = ptr TGtkTable
-  TGtkTable* = object of TGtkContainer
-    children*: PGList
-    rows*: PGtkTableRowCol
-    cols*: PGtkTableRowCol
-    nrows*: guint16
-    ncols*: guint16
-    column_spacing*: guint16
-    row_spacing*: guint16
-    GtkTable_flag0*: guint16
-
-  PGtkTableClass* = ptr TGtkTableClass
-  TGtkTableClass* = object of TGtkContainerClass
-
-  PGtkTableChild* = ptr TGtkTableChild
-  TGtkTableChild* {.final, pure.} = object
-    widget*: PGtkWidget
-    left_attach*: guint16
-    right_attach*: guint16
-    top_attach*: guint16
-    bottom_attach*: guint16
-    xpadding*: guint16
-    ypadding*: guint16
-    GtkTableChild_flag0*: guint16
-
-  TGtkTableRowCol* {.final, pure.} = object
-    requisition*: guint16
-    allocation*: guint16
-    spacing*: guint16
-    flag0*: guint16
-
-  PGtkTearoffMenuItem* = ptr TGtkTearoffMenuItem
-  TGtkTearoffMenuItem* = object of TGtkMenuItem
-    GtkTearoffMenuItem_flag0*: guint16
-
-  PGtkTearoffMenuItemClass* = ptr TGtkTearoffMenuItemClass
-  TGtkTearoffMenuItemClass* = object of TGtkMenuItemClass
-    gtk_reserved651: proc (){.cdecl.}
-    gtk_reserved652: proc (){.cdecl.}
-    gtk_reserved653: proc (){.cdecl.}
-    gtk_reserved654: proc (){.cdecl.}
-
-  PGtkTextFont* = pointer
-  PGtkPropertyMark* = ptr TGtkPropertyMark
-  TGtkPropertyMark* {.final, pure.} = object
-    `property`*: PGList
-    offset*: guint
-    index*: guint
-
-  PGtkText* = ptr TGtkText
-  TGtkText* = object of TGtkOldEditable
-    text_area*: PGdkWindow
-    hadj*: PGtkAdjustment
-    vadj*: PGtkAdjustment
-    gc*: PGdkGC
-    line_wrap_bitmap*: PGdkPixmap
-    line_arrow_bitmap*: PGdkPixmap
-    text*: Pguchar
-    text_len*: guint
-    gap_position*: guint
-    gap_size*: guint
-    text_end*: guint
-    line_start_cache*: PGList
-    first_line_start_index*: guint
-    first_cut_pixels*: guint
-    first_onscreen_hor_pixel*: guint
-    first_onscreen_ver_pixel*: guint
-    GtkText_flag0*: guint16
-    freeze_count*: guint
-    text_properties*: PGList
-    text_properties_end*: PGList
-    point*: TGtkPropertyMark
-    scratch_buffer*: Pguchar
-    scratch_buffer_len*: guint
-    last_ver_value*: gint
-    cursor_pos_x*: gint
-    cursor_pos_y*: gint
-    cursor_mark*: TGtkPropertyMark
-    cursor_char*: TGdkWChar
-    cursor_char_offset*: gchar
-    cursor_virtual_x*: gint
-    cursor_drawn_level*: gint
-    current_line*: PGList
-    tab_stops*: PGList
-    default_tab_width*: gint
-    current_font*: PGtkTextFont
-    timer*: gint
-    button*: guint
-    bg_gc*: PGdkGC
-
-  PGtkTextClass* = ptr TGtkTextClass
-  TGtkTextClass* = object of TGtkOldEditableClass
-    set_scroll_adjustments*: proc (text: PGtkText, hadjustment: PGtkAdjustment,
-                                   vadjustment: PGtkAdjustment){.cdecl.}
-
-  PGtkTextSearchFlags* = ptr TGtkTextSearchFlags
-  TGtkTextSearchFlags* = int32
-  PGtkTextIter* = ptr TGtkTextIter
-  TGtkTextIter* {.final, pure.} = object
-    dummy1*: gpointer
-    dummy2*: gpointer
-    dummy3*: gint
-    dummy4*: gint
-    dummy5*: gint
-    dummy6*: gint
-    dummy7*: gint
-    dummy8*: gint
-    dummy9*: gpointer
-    dummy10*: gpointer
-    dummy11*: gint
-    dummy12*: gint
-    dummy13*: gint
-    dummy14*: gpointer
-
-  TGtkTextCharPredicate* = proc (ch: gunichar, user_data: gpointer): gboolean{.
-      cdecl.}
-  PGtkTextTagClass* = ptr TGtkTextTagClass
-  PGtkTextAttributes* = ptr TGtkTextAttributes
-  PGtkTextTag* = ptr TGtkTextTag
-  PPGtkTextTag* = ptr PGtkTextTag
-  TGtkTextTag* = object of TGObject
-    table*: PGtkTextTagTable
-    name*: cstring
-    priority*: int32
-    values*: PGtkTextAttributes
-    GtkTextTag_flag0*: int32
-
-  TGtkTextTagClass* = object of TGObjectClass
-    event*: proc (tag: PGtkTextTag, event_object: PGObject, event: PGdkEvent,
-                  iter: PGtkTextIter): gboolean{.cdecl.}
-    gtk_reserved661: proc (){.cdecl.}
-    gtk_reserved662: proc (){.cdecl.}
-    gtk_reserved663: proc (){.cdecl.}
-    gtk_reserved664: proc (){.cdecl.}
-
-  PGtkTextAppearance* = ptr TGtkTextAppearance
-  TGtkTextAppearance* {.final, pure.} = object
-    bg_color*: TGdkColor
-    fg_color*: TGdkColor
-    bg_stipple*: PGdkBitmap
-    fg_stipple*: PGdkBitmap
-    rise*: gint
-    padding1*: gpointer
-    flag0*: guint16
-
-  TGtkTextAttributes* {.final, pure.} = object
-    refcount*: guint
-    appearance*: TGtkTextAppearance
-    justification*: TGtkJustification
-    direction*: TGtkTextDirection
-    font*: PPangoFontDescription
-    font_scale*: gdouble
-    left_margin*: gint
-    indent*: gint
-    right_margin*: gint
-    pixels_above_lines*: gint
-    pixels_below_lines*: gint
-    pixels_inside_wrap*: gint
-    tabs*: PPangoTabArray
-    wrap_mode*: TGtkWrapMode
-    language*: PPangoLanguage
-    padding1*: gpointer
-    flag0*: guint16
-
-  TGtkTextTagTableForeach* = proc (tag: PGtkTextTag, data: gpointer){.cdecl.}
-  TGtkTextTagTable* = object of TGObject
-    hash*: PGHashTable
-    anonymous*: PGSList
-    anon_count*: gint
-    buffers*: PGSList
-
-  PGtkTextTagTableClass* = ptr TGtkTextTagTableClass
-  TGtkTextTagTableClass* = object of TGObjectClass
-    tag_changed*: proc (table: PGtkTextTagTable, tag: PGtkTextTag,
-                        size_changed: gboolean){.cdecl.}
-    tag_added*: proc (table: PGtkTextTagTable, tag: PGtkTextTag){.cdecl.}
-    tag_removed*: proc (table: PGtkTextTagTable, tag: PGtkTextTag){.cdecl.}
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
-
-  PGtkTextMark* = ptr TGtkTextMark
-  TGtkTextMark* = object of TGObject
-    segment*: gpointer
-
-  PGtkTextMarkClass* = ptr TGtkTextMarkClass
-  TGtkTextMarkClass* = object of TGObjectClass
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
-
-  PGtkTextMarkBody* = ptr TGtkTextMarkBody
-  TGtkTextMarkBody* {.final, pure.} = object
-    obj*: PGtkTextMark
-    name*: cstring
-    tree*: PGtkTextBTree
-    line*: PGtkTextLine
-    flag0*: guint16
-
-  PGtkTextChildAnchor* = ptr TGtkTextChildAnchor
-  TGtkTextChildAnchor* = object of TGObject
-    segment*: gpointer
-
-  PGtkTextChildAnchorClass* = ptr TGtkTextChildAnchorClass
-  TGtkTextChildAnchorClass* = object of TGObjectClass
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
-
-  PGtkTextPixbuf* = ptr TGtkTextPixbuf
-  TGtkTextPixbuf* {.final, pure.} = object
-    pixbuf*: PGdkPixbuf
-
-  PGtkTextChildBody* = ptr TGtkTextChildBody
-  TGtkTextChildBody* {.final, pure.} = object
-    obj*: PGtkTextChildAnchor
-    widgets*: PGSList
-    tree*: PGtkTextBTree
-    line*: PGtkTextLine
-
-  PGtkTextLineSegment* = ptr TGtkTextLineSegment
-  PGtkTextLineSegmentClass* = ptr TGtkTextLineSegmentClass
-  PGtkTextTagInfo* = ptr TGtkTextTagInfo
-  TGtkTextTagInfo* {.final, pure.} = object
-    tag*: PGtkTextTag
-    tag_root*: PGtkTextBTreeNode
-    toggle_count*: gint
-
-  PGtkTextToggleBody* = ptr TGtkTextToggleBody
-  TGtkTextToggleBody* {.final, pure.} = object
-    info*: PGtkTextTagInfo
-    inNodeCounts*: gboolean
-
-  TGtkTextLineSegment* {.final, pure.} = object
-    `type`*: PGtkTextLineSegmentClass
-    next*: PGtkTextLineSegment
-    char_count*: int32
-    byte_count*: int32
-    body*: TGtkTextChildBody
-
-  PGtkTextSegSplitFunc* = ptr TGtkTextSegSplitFunc
-  TGtkTextSegSplitFunc* = TGtkTextLineSegment
-  TGtkTextSegDeleteFunc* = proc (seg: PGtkTextLineSegment, line: PGtkTextLine,
-                                 tree_gone: gboolean): gboolean{.cdecl.}
-  PGtkTextSegCleanupFunc* = ptr TGtkTextSegCleanupFunc
-  TGtkTextSegCleanupFunc* = TGtkTextLineSegment
-  TGtkTextSegLineChangeFunc* = proc (seg: PGtkTextLineSegment,
-                                     line: PGtkTextLine){.cdecl.}
-  TGtkTextSegCheckFunc* = proc (seg: PGtkTextLineSegment, line: PGtkTextLine){.
-      cdecl.}
-  TGtkTextLineSegmentClass* {.final, pure.} = object
-    name*: cstring
-    leftGravity*: gboolean
-    splitFunc*: TGtkTextSegSplitFunc
-    deleteFunc*: TGtkTextSegDeleteFunc
-    cleanupFunc*: TGtkTextSegCleanupFunc
-    lineChangeFunc*: TGtkTextSegLineChangeFunc
-    checkFunc*: TGtkTextSegCheckFunc
-
-  PGtkTextLineData* = ptr TGtkTextLineData
-  TGtkTextLineData* {.final, pure.} = object
-    view_id*: gpointer
-    next*: PGtkTextLineData
-    height*: gint
-    flag0*: int32
-
-  TGtkTextLine* {.final, pure.} = object
-    parent*: PGtkTextBTreeNode
-    next*: PGtkTextLine
-    segments*: PGtkTextLineSegment
-    views*: PGtkTextLineData
-
-  PGtkTextLogAttrCache* = pointer
-  PGtkTextBuffer* = ptr TGtkTextBuffer
-  TGtkTextBuffer* = object of TGObject
-    tag_table*: PGtkTextTagTable
-    btree*: PGtkTextBTree
-    clipboard_contents_buffers*: PGSList
-    selection_clipboards*: PGSList
-    log_attr_cache*: PGtkTextLogAttrCache
-    user_action_count*: guint
-    GtkTextBuffer_flag0*: guint16
-
-  PGtkTextBufferClass* = ptr TGtkTextBufferClass
-  TGtkTextBufferClass* = object of TGObjectClass
-    insert_text*: proc (buffer: PGtkTextBuffer, pos: PGtkTextIter, text: cstring,
-                        length: gint){.cdecl.}
-    insert_pixbuf*: proc (buffer: PGtkTextBuffer, pos: PGtkTextIter,
-                          pixbuf: PGdkPixbuf){.cdecl.}
-    insert_child_anchor*: proc (buffer: PGtkTextBuffer, pos: PGtkTextIter,
-                                anchor: PGtkTextChildAnchor){.cdecl.}
-    delete_range*: proc (buffer: PGtkTextBuffer, start: PGtkTextIter,
-                         theEnd: PGtkTextIter){.cdecl.}
-    changed*: proc (buffer: PGtkTextBuffer){.cdecl.}
-    modified_changed*: proc (buffer: PGtkTextBuffer){.cdecl.}
-    mark_set*: proc (buffer: PGtkTextBuffer, location: PGtkTextIter,
-                     mark: PGtkTextMark){.cdecl.}
-    mark_deleted*: proc (buffer: PGtkTextBuffer, mark: PGtkTextMark){.cdecl.}
-    apply_tag*: proc (buffer: PGtkTextBuffer, tag: PGtkTextTag,
-                      start_char: PGtkTextIter, end_char: PGtkTextIter){.cdecl.}
-    remove_tag*: proc (buffer: PGtkTextBuffer, tag: PGtkTextTag,
-                       start_char: PGtkTextIter, end_char: PGtkTextIter){.cdecl.}
-    begin_user_action*: proc (buffer: PGtkTextBuffer){.cdecl.}
-    end_user_action*: proc (buffer: PGtkTextBuffer){.cdecl.}
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
-    gtk_reserved5: proc (){.cdecl.}
-    gtk_reserved6: proc (){.cdecl.}
-
-  PGtkTextLineDisplay* = ptr TGtkTextLineDisplay
-  PGtkTextLayout* = ptr TGtkTextLayout
-  TGtkTextLayout* = object of TGObject
-    screen_width*: gint
-    width*: gint
-    height*: gint
-    buffer*: PGtkTextBuffer
-    default_style*: PGtkTextAttributes
-    ltr_context*: PPangoContext
-    rtl_context*: PPangoContext
-    one_style_cache*: PGtkTextAttributes
-    one_display_cache*: PGtkTextLineDisplay
-    wrap_loop_count*: gint
-    GtkTextLayout_flag0*: guint16
-    preedit_string*: cstring
-    preedit_attrs*: PPangoAttrList
-    preedit_len*: gint
-    preedit_cursor*: gint
-
-  PGtkTextLayoutClass* = ptr TGtkTextLayoutClass
-  TGtkTextLayoutClass* = object of TGObjectClass
-    invalidated*: proc (layout: PGtkTextLayout){.cdecl.}
-    changed*: proc (layout: PGtkTextLayout, y: gint, old_height: gint,
-                    new_height: gint){.cdecl.}
-    wrap*: proc (layout: PGtkTextLayout, line: PGtkTextLine,
-                 line_data: PGtkTextLineData): PGtkTextLineData{.cdecl.}
-    get_log_attrs*: proc (layout: PGtkTextLayout, line: PGtkTextLine,
-                          attrs: var PPangoLogAttr, n_attrs: Pgint){.cdecl.}
-    invalidate*: proc (layout: PGtkTextLayout, start: PGtkTextIter,
-                       theEnd: PGtkTextIter){.cdecl.}
-    free_line_data*: proc (layout: PGtkTextLayout, line: PGtkTextLine,
-                           line_data: PGtkTextLineData){.cdecl.}
-    allocate_child*: proc (layout: PGtkTextLayout, child: PGtkWidget, x: gint,
-                           y: gint){.cdecl.}
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
-
-  PGtkTextAttrAppearance* = ptr TGtkTextAttrAppearance
-  TGtkTextAttrAppearance* {.final, pure.} = object
-    attr*: TPangoAttribute
-    appearance*: TGtkTextAppearance
-
-  PGtkTextCursorDisplay* = ptr TGtkTextCursorDisplay
-  TGtkTextCursorDisplay* {.final, pure.} = object
-    x*: gint
-    y*: gint
-    height*: gint
-    flag0*: guint16
-
-  TGtkTextLineDisplay* {.final, pure.} = object
-    layout*: PPangoLayout
-    cursors*: PGSList
-    shaped_objects*: PGSList
-    direction*: TGtkTextDirection
-    width*: gint
-    total_width*: gint
-    height*: gint
-    x_offset*: gint
-    left_margin*: gint
-    right_margin*: gint
-    top_margin*: gint
-    bottom_margin*: gint
-    insert_index*: gint
-    size_only*: gboolean
-    line*: PGtkTextLine
-
-  PGtkTextWindow* = pointer
-  PGtkTextPendingScroll* = pointer
-  PGtkTextWindowType* = ptr TGtkTextWindowType
-  TGtkTextWindowType* = enum
-    GTK_TEXT_WINDOW_PRIVATE, GTK_TEXT_WINDOW_WIDGET, GTK_TEXT_WINDOW_TEXT,
-    GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP,
-    GTK_TEXT_WINDOW_BOTTOM
-  PGtkTextView* = ptr TGtkTextView
-  TGtkTextView* = object of TGtkContainer
-    layout*: PGtkTextLayout
-    buffer*: PGtkTextBuffer
-    selection_drag_handler*: guint
-    scroll_timeout*: guint
-    pixels_above_lines*: gint
-    pixels_below_lines*: gint
-    pixels_inside_wrap*: gint
-    wrap_mode*: TGtkWrapMode
-    justify*: TGtkJustification
-    left_margin*: gint
-    right_margin*: gint
-    indent*: gint
-    tabs*: PPangoTabArray
-    GtkTextView_flag0*: guint16
-    text_window*: PGtkTextWindow
-    left_window*: PGtkTextWindow
-    right_window*: PGtkTextWindow
-    top_window*: PGtkTextWindow
-    bottom_window*: PGtkTextWindow
-    hadjustment*: PGtkAdjustment
-    vadjustment*: PGtkAdjustment
-    xoffset*: gint
-    yoffset*: gint
-    width*: gint
-    height*: gint
-    virtual_cursor_x*: gint
-    virtual_cursor_y*: gint
-    first_para_mark*: PGtkTextMark
-    first_para_pixels*: gint
-    dnd_mark*: PGtkTextMark
-    blink_timeout*: guint
-    first_validate_idle*: guint
-    incremental_validate_idle*: guint
-    im_context*: PGtkIMContext
-    popup_menu*: PGtkWidget
-    drag_start_x*: gint
-    drag_start_y*: gint
-    children*: PGSList
-    pending_scroll*: PGtkTextPendingScroll
-    pending_place_cursor_button*: gint
-
-  PGtkTextViewClass* = ptr TGtkTextViewClass
-  TGtkTextViewClass* = object of TGtkContainerClass
-    set_scroll_adjustments*: proc (text_view: PGtkTextView,
-                                   hadjustment: PGtkAdjustment,
-                                   vadjustment: PGtkAdjustment){.cdecl.}
-    populate_popup*: proc (text_view: PGtkTextView, menu: PGtkMenu){.cdecl.}
-    move_cursor*: proc (text_view: PGtkTextView, step: TGtkMovementStep,
-                        count: gint, extend_selection: gboolean){.cdecl.}
-    page_horizontally*: proc (text_view: PGtkTextView, count: gint,
-                              extend_selection: gboolean){.cdecl.}
-    set_anchor*: proc (text_view: PGtkTextView){.cdecl.}
-    insert_at_cursor*: proc (text_view: PGtkTextView, str: cstring){.cdecl.}
-    delete_from_cursor*: proc (text_view: PGtkTextView, thetype: TGtkDeleteType,
-                               count: gint){.cdecl.}
-    cut_clipboard*: proc (text_view: PGtkTextView){.cdecl.}
-    copy_clipboard*: proc (text_view: PGtkTextView){.cdecl.}
-    paste_clipboard*: proc (text_view: PGtkTextView){.cdecl.}
-    toggle_overwrite*: proc (text_view: PGtkTextView){.cdecl.}
-    move_focus*: proc (text_view: PGtkTextView, direction: TGtkDirectionType){.
-        cdecl.}
-    gtk_reserved711: proc (){.cdecl.}
-    gtk_reserved712: proc (){.cdecl.}
-    gtk_reserved713: proc (){.cdecl.}
-    gtk_reserved714: proc (){.cdecl.}
-    gtk_reserved715: proc (){.cdecl.}
-    gtk_reserved716: proc (){.cdecl.}
-    gtk_reserved717: proc (){.cdecl.}
-    gtk_reserved718: proc (){.cdecl.}
-
-  PGtkTipsQuery* = ptr TGtkTipsQuery
-  TGtkTipsQuery* = object of TGtkLabel
-    GtkTipsQuery_flag0*: guint16
-    label_inactive*: cstring
-    label_no_tip*: cstring
-    caller*: PGtkWidget
-    last_crossed*: PGtkWidget
-    query_cursor*: PGdkCursor
-
-  PGtkTipsQueryClass* = ptr TGtkTipsQueryClass
-  TGtkTipsQueryClass* = object of TGtkLabelClass
-    start_query*: proc (tips_query: PGtkTipsQuery){.cdecl.}
-    stop_query*: proc (tips_query: PGtkTipsQuery){.cdecl.}
-    widget_entered*: proc (tips_query: PGtkTipsQuery, widget: PGtkWidget,
-                           tip_text: cstring, tip_private: cstring){.cdecl.}
-    widget_selected*: proc (tips_query: PGtkTipsQuery, widget: PGtkWidget,
-                            tip_text: cstring, tip_private: cstring,
-                            event: PGdkEventButton): gint{.cdecl.}
-    gtk_reserved721: proc (){.cdecl.}
-    gtk_reserved722: proc (){.cdecl.}
-    gtk_reserved723: proc (){.cdecl.}
-    gtk_reserved724: proc (){.cdecl.}
-
-  PGtkTooltips* = ptr TGtkTooltips
-  PGtkTooltipsData* = ptr TGtkTooltipsData
-  TGtkTooltipsData* {.final, pure.} = object
-    tooltips*: PGtkTooltips
-    widget*: PGtkWidget
-    tip_text*: cstring
-    tip_private*: cstring
-
-  TGtkTooltips* = object of TGtkObject
-    tip_window*: PGtkWidget
-    tip_label*: PGtkWidget
-    active_tips_data*: PGtkTooltipsData
-    tips_data_list*: PGList
-    GtkTooltips_flag0*: int32
-    flag1*: guint16
-    timer_tag*: gint
-    last_popdown*: TGTimeVal
-
-  PGtkTooltipsClass* = ptr TGtkTooltipsClass
-  TGtkTooltipsClass* = object of TGtkObjectClass
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
-
-  PGtkToolbarChildType* = ptr TGtkToolbarChildType
-  TGtkToolbarChildType* = enum
-    GTK_TOOLBAR_CHILD_SPACE, GTK_TOOLBAR_CHILD_BUTTON,
-    GTK_TOOLBAR_CHILD_TOGGLEBUTTON, GTK_TOOLBAR_CHILD_RADIOBUTTON,
-    GTK_TOOLBAR_CHILD_WIDGET
-  PGtkToolbarSpaceStyle* = ptr TGtkToolbarSpaceStyle
-  TGtkToolbarSpaceStyle* = enum
-    GTK_TOOLBAR_SPACE_EMPTY, GTK_TOOLBAR_SPACE_LINE
-  PGtkToolbarChild* = ptr TGtkToolbarChild
-  TGtkToolbarChild* {.final, pure.} = object
-    `type`*: TGtkToolbarChildType
-    widget*: PGtkWidget
-    icon*: PGtkWidget
-    label*: PGtkWidget
-
-  PGtkToolbar* = ptr TGtkToolbar
-  TGtkToolbar* = object of TGtkContainer
-    num_children*: gint
-    children*: PGList
-    orientation*: TGtkOrientation
-    GtkToolbar_style*: TGtkToolbarStyle
-    icon_size*: TGtkIconSize
-    tooltips*: PGtkTooltips
-    button_maxw*: gint
-    button_maxh*: gint
-    style_set_connection*: guint
-    icon_size_connection*: guint
-    GtkToolbar_flag0*: guint16
-
-  PGtkToolbarClass* = ptr TGtkToolbarClass
-  TGtkToolbarClass* = object of TGtkContainerClass
-    orientation_changed*: proc (toolbar: PGtkToolbar,
-                                orientation: TGtkOrientation){.cdecl.}
-    style_changed*: proc (toolbar: PGtkToolbar, style: TGtkToolbarStyle){.cdecl.}
-    gtk_reserved731: proc (){.cdecl.}
-    gtk_reserved732: proc (){.cdecl.}
-    gtk_reserved733: proc (){.cdecl.}
-    gtk_reserved734: proc (){.cdecl.}
-
-  PGtkTreeViewMode* = ptr TGtkTreeViewMode
-  TGtkTreeViewMode* = enum
-    GTK_TREE_VIEW_LINE, GTK_TREE_VIEW_ITEM
-  PGtkTree* = ptr TGtkTree
-  TGtkTree* = object of TGtkContainer
-    children*: PGList
-    root_tree*: PGtkTree
-    tree_owner*: PGtkWidget
-    selection*: PGList
-    level*: guint
-    indent_value*: guint
-    current_indent*: guint
-    GtkTree_flag0*: guint16
-
-  PGtkTreeClass* = ptr TGtkTreeClass
-  TGtkTreeClass* = object of TGtkContainerClass
-    selection_changed*: proc (tree: PGtkTree){.cdecl.}
-    select_child*: proc (tree: PGtkTree, child: PGtkWidget){.cdecl.}
-    unselect_child*: proc (tree: PGtkTree, child: PGtkWidget){.cdecl.}
-
-  PGtkTreeDragSource* = pointer
-  PGtkTreeDragDest* = pointer
-  PGtkTreeDragSourceIface* = ptr TGtkTreeDragSourceIface
-  TGtkTreeDragSourceIface* = object of TGTypeInterface
-    row_draggable*: proc (drag_source: PGtkTreeDragSource, path: PGtkTreePath): gboolean{.
-        cdecl.}
-    drag_data_get*: proc (drag_source: PGtkTreeDragSource, path: PGtkTreePath,
-                          selection_data: PGtkSelectionData): gboolean{.cdecl.}
-    drag_data_delete*: proc (drag_source: PGtkTreeDragSource, path: PGtkTreePath): gboolean{.
-        cdecl.}
-
-  PGtkTreeDragDestIface* = ptr TGtkTreeDragDestIface
-  TGtkTreeDragDestIface* = object of TGTypeInterface
-    drag_data_received*: proc (drag_dest: PGtkTreeDragDest, dest: PGtkTreePath,
-                               selection_data: PGtkSelectionData): gboolean{.
-        cdecl.}
-    row_drop_possible*: proc (drag_dest: PGtkTreeDragDest,
-                              dest_path: PGtkTreePath,
-                              selection_data: PGtkSelectionData): gboolean{.
-        cdecl.}
-
-  PGtkTreeItem* = ptr TGtkTreeItem
-  TGtkTreeItem* = object of TGtkItem
-    subtree*: PGtkWidget
-    pixmaps_box*: PGtkWidget
-    plus_pix_widget*: PGtkWidget
-    minus_pix_widget*: PGtkWidget
-    pixmaps*: PGList
-    GtkTreeItem_flag0*: guint16
-
-  PGtkTreeItemClass* = ptr TGtkTreeItemClass
-  TGtkTreeItemClass* = object of TGtkItemClass
-    expand*: proc (tree_item: PGtkTreeItem){.cdecl.}
-    collapse*: proc (tree_item: PGtkTreeItem){.cdecl.}
-
-  PGtkTreeSelection* = ptr TGtkTreeSelection
-  TGtkTreeSelectionFunc* = proc (selection: PGtkTreeSelection,
-                                 model: PGtkTreeModel, path: PGtkTreePath,
-                                 path_currently_selected: gboolean,
-                                 data: gpointer): gboolean{.cdecl.}
-  TGtkTreeSelectionForeachFunc* = proc (model: PGtkTreeModel,
-                                        path: PGtkTreePath, iter: PGtkTreeIter,
-                                        data: gpointer){.cdecl.}
-  TGtkTreeSelection* = object of TGObject
-    tree_view*: PGtkTreeView
-    thetype*: TGtkSelectionMode
-    user_func*: TGtkTreeSelectionFunc
-    user_data*: gpointer
-    destroy*: TGtkDestroyNotify
-
-  PGtkTreeSelectionClass* = ptr TGtkTreeSelectionClass
-  TGtkTreeSelectionClass* = object of TGObjectClass
-    changed*: proc (selection: PGtkTreeSelection){.cdecl.}
-    gtk_reserved741: proc (){.cdecl.}
-    gtk_reserved742: proc (){.cdecl.}
-    gtk_reserved743: proc (){.cdecl.}
-    gtk_reserved744: proc (){.cdecl.}
-
-  PGtkTreeStore* = ptr TGtkTreeStore
-  TGtkTreeStore* = object of TGObject
-    stamp*: gint
-    root*: gpointer
-    last*: gpointer
-    n_columns*: gint
-    sort_column_id*: gint
-    sort_list*: PGList
-    order*: TGtkSortType
-    column_headers*: PGType
-    default_sort_func*: TGtkTreeIterCompareFunc
-    default_sort_data*: gpointer
-    default_sort_destroy*: TGtkDestroyNotify
-    GtkTreeStore_flag0*: guint16
-
-  PGtkTreeStoreClass* = ptr TGtkTreeStoreClass
-  TGtkTreeStoreClass* = object of TGObjectClass
-    gtk_reserved751: proc (){.cdecl.}
-    gtk_reserved752: proc (){.cdecl.}
-    gtk_reserved753: proc (){.cdecl.}
-    gtk_reserved754: proc (){.cdecl.}
-
-  PGtkTreeViewColumnSizing* = ptr TGtkTreeViewColumnSizing
-  TGtkTreeViewColumnSizing* = enum
-    GTK_TREE_VIEW_COLUMN_GROW_ONLY, GTK_TREE_VIEW_COLUMN_AUTOSIZE,
-    GTK_TREE_VIEW_COLUMN_FIXED
-  TGtkTreeCellDataFunc* = proc (tree_column: PGtkTreeViewColumn,
-                                cell: PGtkCellRenderer,
-                                tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                                data: gpointer){.cdecl.}
-  TGtkTreeViewColumn* = object of TGtkObject
-    tree_view*: PGtkWidget
-    button*: PGtkWidget
-    child*: PGtkWidget
-    arrow*: PGtkWidget
-    alignment*: PGtkWidget
-    window*: PGdkWindow
-    editable_widget*: PGtkCellEditable
-    xalign*: gfloat
-    property_changed_signal*: guint
-    spacing*: gint
-    column_type*: TGtkTreeViewColumnSizing
-    requested_width*: gint
-    button_request*: gint
-    resized_width*: gint
-    width*: gint
-    fixed_width*: gint
-    min_width*: gint
-    max_width*: gint
-    drag_x*: gint
-    drag_y*: gint
-    title*: cstring
-    cell_list*: PGList
-    sort_clicked_signal*: guint
-    sort_column_changed_signal*: guint
-    sort_column_id*: gint
-    sort_order*: TGtkSortType
-    GtkTreeViewColumn_flag0*: guint16
-
-  PGtkTreeViewColumnClass* = ptr TGtkTreeViewColumnClass
-  TGtkTreeViewColumnClass* = object of TGtkObjectClass
-    clicked*: proc (tree_column: PGtkTreeViewColumn){.cdecl.}
-    gtk_reserved751: proc (){.cdecl.}
-    gtk_reserved752: proc (){.cdecl.}
-    gtk_reserved753: proc (){.cdecl.}
-    gtk_reserved754: proc (){.cdecl.}
-
-  PGtkRBNodeColor* = ptr TGtkRBNodeColor
-  TGtkRBNodeColor* = int32
-  PGtkRBTree* = ptr TGtkRBTree
-  PGtkRBNode* = ptr TGtkRBNode
-  TGtkRBTreeTraverseFunc* = proc (tree: PGtkRBTree, node: PGtkRBNode,
-                                  data: gpointer){.cdecl.}
-  TGtkRBTree* {.final, pure.} = object
-    root*: PGtkRBNode
-    `nil`*: PGtkRBNode
-    parent_tree*: PGtkRBTree
-    parent_node*: PGtkRBNode
-
-  TGtkRBNode* {.final, pure.} = object
-    flag0*: guint16
-    left*: PGtkRBNode
-    right*: PGtkRBNode
-    parent*: PGtkRBNode
-    count*: gint
-    offset*: gint
-    children*: PGtkRBTree
-
-  PGtkTreeRowReference* = pointer
-  PGtkTreeViewFlags* = ptr TGtkTreeViewFlags
-  TGtkTreeViewFlags* = int32
-  TGtkTreeViewSearchDialogPositionFunc* = proc (tree_view: PGtkTreeView,
-      search_dialog: PGtkWidget){.cdecl.}
-  PGtkTreeViewColumnReorder* = ptr TGtkTreeViewColumnReorder
-  TGtkTreeViewColumnReorder* {.final, pure.} = object
-    left_align*: gint
-    right_align*: gint
-    left_column*: PGtkTreeViewColumn
-    right_column*: PGtkTreeViewColumn
-
-  PGtkTreeViewPrivate* = ptr TGtkTreeViewPrivate
-  TGtkTreeViewPrivate* {.final, pure.} = object
-    model*: PGtkTreeModel
-    flags*: guint
-    tree*: PGtkRBTree
-    button_pressed_node*: PGtkRBNode
-    button_pressed_tree*: PGtkRBTree
-    children*: PGList
-    width*: gint
-    height*: gint
-    expander_size*: gint
-    hadjustment*: PGtkAdjustment
-    vadjustment*: PGtkAdjustment
-    bin_window*: PGdkWindow
-    header_window*: PGdkWindow
-    drag_window*: PGdkWindow
-    drag_highlight_window*: PGdkWindow
-    drag_column*: PGtkTreeViewColumn
-    last_button_press*: PGtkTreeRowReference
-    last_button_press_2*: PGtkTreeRowReference
-    top_row*: PGtkTreeRowReference
-    top_row_dy*: gint
-    dy*: gint
-    drag_column_x*: gint
-    expander_column*: PGtkTreeViewColumn
-    edited_column*: PGtkTreeViewColumn
-    presize_handler_timer*: guint
-    validate_rows_timer*: guint
-    scroll_sync_timer*: guint
-    focus_column*: PGtkTreeViewColumn
-    anchor*: PGtkTreeRowReference
-    cursor*: PGtkTreeRowReference
-    drag_pos*: gint
-    x_drag*: gint
-    prelight_node*: PGtkRBNode
-    prelight_tree*: PGtkRBTree
-    expanded_collapsed_node*: PGtkRBNode
-    expanded_collapsed_tree*: PGtkRBTree
-    expand_collapse_timeout*: guint
-    selection*: PGtkTreeSelection
-    n_columns*: gint
-    columns*: PGList
-    header_height*: gint
-    column_drop_func*: TGtkTreeViewColumnDropFunc
-    column_drop_func_data*: gpointer
-    column_drop_func_data_destroy*: TGtkDestroyNotify
-    column_drag_info*: PGList
-    cur_reorder*: PGtkTreeViewColumnReorder
-    destroy_count_func*: TGtkTreeDestroyCountFunc
-    destroy_count_data*: gpointer
-    destroy_count_destroy*: TGtkDestroyNotify
-    scroll_timeout*: guint
-    drag_dest_row*: PGtkTreeRowReference
-    drag_dest_pos*: TGtkTreeViewDropPosition
-    open_dest_timeout*: guint
-    pressed_button*: gint
-    press_start_x*: gint
-    press_start_y*: gint
-    scroll_to_path*: PGtkTreeRowReference
-    scroll_to_column*: PGtkTreeViewColumn
-    scroll_to_row_align*: gfloat
-    scroll_to_col_align*: gfloat
-    flag0*: guint16
-    search_column*: gint
-    search_dialog_position_func*: TGtkTreeViewSearchDialogPositionFunc
-    search_equal_func*: TGtkTreeViewSearchEqualFunc
-    search_user_data*: gpointer
-    search_destroy*: TGtkDestroyNotify
-
-  TGtkTreeView* = object of TGtkContainer
-    priv*: PGtkTreeViewPrivate
-
-  PGtkTreeViewClass* = ptr TGtkTreeViewClass
-  TGtkTreeViewClass* = object of TGtkContainerClass
-    set_scroll_adjustments*: proc (tree_view: PGtkTreeView,
-                                   hadjustment: PGtkAdjustment,
-                                   vadjustment: PGtkAdjustment){.cdecl.}
-    row_activated*: proc (tree_view: PGtkTreeView, path: PGtkTreePath,
-                          column: PGtkTreeViewColumn){.cdecl.}
-    test_expand_row*: proc (tree_view: PGtkTreeView, iter: PGtkTreeIter,
-                            path: PGtkTreePath): gboolean{.cdecl.}
-    test_collapse_row*: proc (tree_view: PGtkTreeView, iter: PGtkTreeIter,
-                              path: PGtkTreePath): gboolean{.cdecl.}
-    row_expanded*: proc (tree_view: PGtkTreeView, iter: PGtkTreeIter,
-                         path: PGtkTreePath){.cdecl.}
-    row_collapsed*: proc (tree_view: PGtkTreeView, iter: PGtkTreeIter,
-                          path: PGtkTreePath){.cdecl.}
-    columns_changed*: proc (tree_view: PGtkTreeView){.cdecl.}
-    cursor_changed*: proc (tree_view: PGtkTreeView){.cdecl.}
-    move_cursor*: proc (tree_view: PGtkTreeView, step: TGtkMovementStep,
-                        count: gint): gboolean{.cdecl.}
-    select_all*: proc (tree_view: PGtkTreeView){.cdecl.}
-    unselect_all*: proc (tree_view: PGtkTreeView){.cdecl.}
-    select_cursor_row*: proc (tree_view: PGtkTreeView, start_editing: gboolean){.
-        cdecl.}
-    toggle_cursor_row*: proc (tree_view: PGtkTreeView){.cdecl.}
-    expand_collapse_cursor_row*: proc (tree_view: PGtkTreeView,
-                                       logical: gboolean, expand: gboolean,
-                                       open_all: gboolean){.cdecl.}
-    select_cursor_parent*: proc (tree_view: PGtkTreeView){.cdecl.}
-    start_interactive_search*: proc (tree_view: PGtkTreeView){.cdecl.}
-    gtk_reserved760: proc (){.cdecl.}
-    gtk_reserved761: proc (){.cdecl.}
-    gtk_reserved762: proc (){.cdecl.}
-    gtk_reserved763: proc (){.cdecl.}
-    gtk_reserved764: proc (){.cdecl.}
-
-  PGtkVButtonBox* = ptr TGtkVButtonBox
-  TGtkVButtonBox* = object of TGtkButtonBox
-
-  PGtkVButtonBoxClass* = ptr TGtkVButtonBoxClass
-  TGtkVButtonBoxClass* = object of TGtkButtonBoxClass
-
-  PGtkViewport* = ptr TGtkViewport
-  TGtkViewport* = object of TGtkBin
-    shadow_type*: TGtkShadowType
-    view_window*: PGdkWindow
-    bin_window*: PGdkWindow
-    hadjustment*: PGtkAdjustment
-    vadjustment*: PGtkAdjustment
-
-  PGtkViewportClass* = ptr TGtkViewportClass
-  TGtkViewportClass* = object of TGtkBinClass
-    set_scroll_adjustments*: proc (viewport: PGtkViewport,
-                                   hadjustment: PGtkAdjustment,
-                                   vadjustment: PGtkAdjustment){.cdecl.}
-
-  PGtkVPaned* = ptr TGtkVPaned
-  TGtkVPaned* = object of TGtkPaned
-
-  PGtkVPanedClass* = ptr TGtkVPanedClass
-  TGtkVPanedClass* = object of TGtkPanedClass
-
-  PGtkVRuler* = ptr TGtkVRuler
-  TGtkVRuler* = object of TGtkRuler
-
-  PGtkVRulerClass* = ptr TGtkVRulerClass
-  TGtkVRulerClass* = object of TGtkRulerClass
-
-  PGtkVScale* = ptr TGtkVScale
-  TGtkVScale* = object of TGtkScale
-
-  PGtkVScaleClass* = ptr TGtkVScaleClass
-  TGtkVScaleClass* = object of TGtkScaleClass
-
-  PGtkVScrollbar* = ptr TGtkVScrollbar
-  TGtkVScrollbar* = object of TGtkScrollbar
-
-  PGtkVScrollbarClass* = ptr TGtkVScrollbarClass
-  TGtkVScrollbarClass* = object of TGtkScrollbarClass
-
-  PGtkVSeparator* = ptr TGtkVSeparator
-  TGtkVSeparator* = object of TGtkSeparator
-
-  PGtkVSeparatorClass* = ptr TGtkVSeparatorClass
-  TGtkVSeparatorClass* = object of TGtkSeparatorClass
-
-
-const
-  GTK_IN_DESTRUCTION* = 1 shl 0
-  GTK_FLOATING* = 1 shl 1
-  GTK_RESERVED_1* = 1 shl 2
-  GTK_RESERVED_2* = 1 shl 3
-  GTK_ARG_READABLE* = G_PARAM_READABLE
-  GTK_ARG_WRITABLE* = G_PARAM_WRITABLE
-  GTK_ARG_CONSTRUCT* = G_PARAM_CONSTRUCT
-  GTK_ARG_CONSTRUCT_ONLY* = G_PARAM_CONSTRUCT_ONLY
-  GTK_ARG_CHILD_ARG* = 1 shl 4
-
-proc GTK_TYPE_OBJECT*(): GType
-proc GTK_OBJECT*(anObject: pointer): PGtkObject
-proc GTK_OBJECT_CLASS*(klass: pointer): PGtkObjectClass
-proc GTK_IS_OBJECT*(anObject: pointer): bool
-proc GTK_IS_OBJECT_CLASS*(klass: pointer): bool
-proc GTK_OBJECT_GET_CLASS*(anObject: pointer): PGtkObjectClass
-proc GTK_OBJECT_TYPE*(anObject: pointer): GType
-proc GTK_OBJECT_TYPE_NAME*(anObject: pointer): cstring
-proc GTK_OBJECT_FLAGS*(obj: pointer): guint32
-proc GTK_OBJECT_FLOATING*(obj: pointer): gboolean
-proc GTK_OBJECT_SET_FLAGS*(obj: pointer, flag: guint32)
-proc GTK_OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32)
-proc gtk_object_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_object_get_type".}
-proc gtk_object_new*(thetype: TGtkType, first_property_name: cstring): PGtkObject{.
-    cdecl, varargs, dynlib: gtklib, importc: "gtk_object_new".}
-proc gtk_object_sink*(anObject: PGtkObject){.cdecl, dynlib: gtklib,
-    importc: "gtk_object_sink".}
-proc gtk_object_destroy*(anObject: PGtkObject){.cdecl, dynlib: gtklib,
-    importc: "gtk_object_destroy".}
-const
-  GTK_TYPE_INVALID* = G_TYPE_INVALID
-  GTK_TYPE_NONE* = G_TYPE_NONE
-  GTK_TYPE_ENUM* = G_TYPE_ENUM
-  GTK_TYPE_FLAGS* = G_TYPE_FLAGS
-  GTK_TYPE_CHAR* = G_TYPE_CHAR
-  GTK_TYPE_UCHAR* = G_TYPE_UCHAR
-  GTK_TYPE_BOOL* = G_TYPE_BOOLEAN
-  GTK_TYPE_INT* = G_TYPE_INT
-  GTK_TYPE_UINT* = G_TYPE_UINT
-  GTK_TYPE_LONG* = G_TYPE_LONG
-  GTK_TYPE_ULONG* = G_TYPE_ULONG
-  GTK_TYPE_FLOAT* = G_TYPE_FLOAT
-  GTK_TYPE_DOUBLE* = G_TYPE_DOUBLE
-  GTK_TYPE_STRING* = G_TYPE_STRING
-  GTK_TYPE_BOXED* = G_TYPE_BOXED
-  GTK_TYPE_POINTER* = G_TYPE_POINTER
-
-proc GTK_TYPE_IDENTIFIER*(): GType
-proc gtk_identifier_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_identifier_get_type".}
-proc GTK_SIGNAL_FUNC*(f: pointer): TGtkSignalFunc
-proc gtk_type_class*(thetype: TGtkType): gpointer{.cdecl, dynlib: gtklib,
-    importc: "gtk_type_class".}
-const
-  GTK_TOPLEVEL* = 1 shl 4
-  GTK_NO_WINDOW* = 1 shl 5
-  GTK_REALIZED* = 1 shl 6
-  GTK_MAPPED* = 1 shl 7
-  GTK_VISIBLE* = 1 shl 8
-  GTK_SENSITIVE* = 1 shl 9
-  GTK_PARENT_SENSITIVE* = 1 shl 10
-  GTK_CAN_FOCUS* = 1 shl 11
-  GTK_HAS_FOCUS* = 1 shl 12
-  GTK_CAN_DEFAULT* = 1 shl 13
-  GTK_HAS_DEFAULT* = 1 shl 14
-  GTK_HAS_GRAB* = 1 shl 15
-  GTK_RC_STYLE* = 1 shl 16
-  GTK_COMPOSITE_CHILD* = 1 shl 17
-  GTK_NO_REPARENT* = 1 shl 18
-  GTK_APP_PAINTABLE* = 1 shl 19
-  GTK_RECEIVES_DEFAULT* = 1 shl 20
-  GTK_DOUBLE_BUFFERED* = 1 shl 21
-
-const
-  bm_TGtkWidgetAuxInfo_x_set* = 0x00000001'i16
-  bp_TGtkWidgetAuxInfo_x_set* = 0'i16
-  bm_TGtkWidgetAuxInfo_y_set* = 0x00000002'i16
-  bp_TGtkWidgetAuxInfo_y_set* = 1'i16
-
-proc GTK_TYPE_WIDGET*(): GType
-proc GTK_WIDGET*(widget: pointer): PGtkWidget
-proc GTK_WIDGET_CLASS*(klass: pointer): PGtkWidgetClass
-proc GTK_IS_WIDGET*(widget: pointer): bool
-proc GTK_IS_WIDGET_CLASS*(klass: pointer): bool
-proc GTK_WIDGET_GET_CLASS*(obj: pointer): PGtkWidgetClass
-proc GTK_WIDGET_TYPE*(wid: pointer): GType
-proc GTK_WIDGET_STATE*(wid: pointer): int32
-proc GTK_WIDGET_SAVED_STATE*(wid: pointer): int32
-proc GTK_WIDGET_FLAGS*(wid: pointer): guint32
-proc GTK_WIDGET_TOPLEVEL*(wid: pointer): gboolean
-proc GTK_WIDGET_NO_WINDOW*(wid: pointer): gboolean
-proc GTK_WIDGET_REALIZED*(wid: pointer): gboolean
-proc GTK_WIDGET_MAPPED*(wid: pointer): gboolean
-proc GTK_WIDGET_VISIBLE*(wid: pointer): gboolean
-proc GTK_WIDGET_DRAWABLE*(wid: pointer): gboolean
-proc GTK_WIDGET_SENSITIVE*(wid: pointer): gboolean
-proc GTK_WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean
-proc GTK_WIDGET_IS_SENSITIVE*(wid: pointer): gboolean
-proc GTK_WIDGET_CAN_FOCUS*(wid: pointer): gboolean
-proc GTK_WIDGET_HAS_FOCUS*(wid: pointer): gboolean
-proc GTK_WIDGET_CAN_DEFAULT*(wid: pointer): gboolean
-proc GTK_WIDGET_HAS_DEFAULT*(wid: pointer): gboolean
-proc GTK_WIDGET_HAS_GRAB*(wid: pointer): gboolean
-proc GTK_WIDGET_RC_STYLE*(wid: pointer): gboolean
-proc GTK_WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean
-proc GTK_WIDGET_APP_PAINTABLE*(wid: pointer): gboolean
-proc GTK_WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean
-proc GTK_WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean
-proc GTK_WIDGET_SET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags
-proc GTK_WIDGET_UNSET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags
-proc GTK_TYPE_REQUISITION*(): GType
-proc x_set*(a: var TGtkWidgetAuxInfo): guint
-proc set_x_set*(a: var TGtkWidgetAuxInfo, x_set: guint)
-proc y_set*(a: var TGtkWidgetAuxInfo): guint
-proc set_y_set*(a: var TGtkWidgetAuxInfo, y_set: guint)
-proc gtk_widget_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_widget_get_type".}
-proc gtk_widget_ref*(widget: PGtkWidget): PGtkWidget{.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_ref".}
-proc gtk_widget_unref*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_unref".}
-proc gtk_widget_destroy*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_destroy".}
-proc gtk_widget_destroyed*(widget: PGtkWidget, r: var PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_destroyed".}
-proc gtk_widget_unparent*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_unparent".}
-proc gtk_widget_show*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_show".}
-proc gtk_widget_show_now*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_show_now".}
-proc gtk_widget_hide*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_hide".}
-proc gtk_widget_show_all*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_show_all".}
-proc gtk_widget_hide_all*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_hide_all".}
-proc gtk_widget_map*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_map".}
-proc gtk_widget_unmap*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_unmap".}
-proc gtk_widget_realize*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_realize".}
-proc gtk_widget_unrealize*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_unrealize".}
-proc gtk_widget_queue_draw*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_queue_draw".}
-proc gtk_widget_queue_draw_area*(widget: PGtkWidget, x: gint, y: gint,
-                                 width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_queue_draw_area".}
-proc gtk_widget_queue_resize*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_queue_resize".}
-proc gtk_widget_size_request*(widget: PGtkWidget, requisition: PGtkRequisition){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_size_request".}
-proc gtk_widget_size_allocate*(widget: PGtkWidget, allocation: PGtkAllocation){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_size_allocate".}
-proc gtk_widget_get_child_requisition*(widget: PGtkWidget,
-                                       requisition: PGtkRequisition){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_child_requisition".}
-proc gtk_widget_add_accelerator*(widget: PGtkWidget, accel_signal: cstring,
-                                 accel_group: PGtkAccelGroup, accel_key: guint,
-                                 accel_mods: TGdkModifierType,
-                                 accel_flags: TGtkAccelFlags){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_add_accelerator".}
-proc gtk_widget_remove_accelerator*(widget: PGtkWidget,
-                                    accel_group: PGtkAccelGroup,
-                                    accel_key: guint,
-                                    accel_mods: TGdkModifierType): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_remove_accelerator".}
-proc gtk_widget_set_accel_path*(widget: PGtkWidget, accel_path: cstring,
-                                accel_group: PGtkAccelGroup){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_accel_path".}
-proc gtk_widget_get_accel_path*(widget: PGtkWidget, locked: Pgboolean): cstring{.
-    cdecl, dynlib: gtklib, importc: "_gtk_widget_get_accel_path".}
-proc gtk_widget_list_accel_closures*(widget: PGtkWidget): PGList{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_list_accel_closures".}
-proc gtk_widget_mnemonic_activate*(widget: PGtkWidget, group_cycling: gboolean): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_mnemonic_activate".}
-proc gtk_widget_event*(widget: PGtkWidget, event: PGdkEvent): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_event".}
-proc gtk_widget_send_expose*(widget: PGtkWidget, event: PGdkEvent): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_send_expose".}
-proc gtk_widget_activate*(widget: PGtkWidget): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_activate".}
-proc gtk_widget_set_scroll_adjustments*(widget: PGtkWidget,
-                                        hadjustment: PGtkAdjustment,
-                                        vadjustment: PGtkAdjustment): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_set_scroll_adjustments".}
-proc gtk_widget_reparent*(widget: PGtkWidget, new_parent: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_reparent".}
-proc gtk_widget_intersect*(widget: PGtkWidget, area: PGdkRectangle,
-                           intersection: PGdkRectangle): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_intersect".}
-proc gtk_widget_region_intersect*(widget: PGtkWidget, region: PGdkRegion): PGdkRegion{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_region_intersect".}
-proc gtk_widget_freeze_child_notify*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_freeze_child_notify".}
-proc gtk_widget_child_notify*(widget: PGtkWidget, child_property: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_child_notify".}
-proc gtk_widget_thaw_child_notify*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_thaw_child_notify".}
-proc gtk_widget_is_focus*(widget: PGtkWidget): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_is_focus".}
-proc gtk_widget_grab_focus*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_grab_focus".}
-proc gtk_widget_grab_default*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_grab_default".}
-proc gtk_widget_set_name*(widget: PGtkWidget, name: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_name".}
-proc gtk_widget_get_name*(widget: PGtkWidget): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_get_name".}
-proc gtk_widget_set_state*(widget: PGtkWidget, state: TGtkStateType){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_state".}
-proc gtk_widget_set_sensitive*(widget: PGtkWidget, sensitive: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_sensitive".}
-proc gtk_widget_set_app_paintable*(widget: PGtkWidget, app_paintable: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_set_app_paintable".}
-proc gtk_widget_set_double_buffered*(widget: PGtkWidget,
-                                     double_buffered: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_double_buffered".}
-proc gtk_widget_set_redraw_on_allocate*(widget: PGtkWidget,
-                                        redraw_on_allocate: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_redraw_on_allocate".}
-proc gtk_widget_set_parent*(widget: PGtkWidget, parent: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_parent".}
-proc gtk_widget_set_parent_window*(widget: PGtkWidget, parent_window: PGdkWindow){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_set_parent_window".}
-proc gtk_widget_set_child_visible*(widget: PGtkWidget, is_visible: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_set_child_visible".}
-proc gtk_widget_get_child_visible*(widget: PGtkWidget): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_child_visible".}
-proc gtk_widget_get_parent*(widget: PGtkWidget): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_parent".}
-proc gtk_widget_get_parent_window*(widget: PGtkWidget): PGdkWindow{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_parent_window".}
-proc gtk_widget_child_focus*(widget: PGtkWidget, direction: TGtkDirectionType): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_child_focus".}
-proc gtk_widget_set_size_request*(widget: PGtkWidget, width: gint, height: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_set_size_request".}
-proc gtk_widget_get_size_request*(widget: PGtkWidget, width: Pgint,
-                                  height: Pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_get_size_request".}
-proc gtk_widget_set_events*(widget: PGtkWidget, events: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_events".}
-proc gtk_widget_add_events*(widget: PGtkWidget, events: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_add_events".}
-proc gtk_widget_set_extension_events*(widget: PGtkWidget,
-                                      mode: TGdkExtensionMode){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_extension_events".}
-proc gtk_widget_get_extension_events*(widget: PGtkWidget): TGdkExtensionMode{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_get_extension_events".}
-proc gtk_widget_get_toplevel*(widget: PGtkWidget): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_toplevel".}
-proc gtk_widget_get_ancestor*(widget: PGtkWidget, widget_type: TGtkType): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_get_ancestor".}
-proc gtk_widget_get_colormap*(widget: PGtkWidget): PGdkColormap{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_colormap".}
-proc gtk_widget_get_visual*(widget: PGtkWidget): PGdkVisual{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_visual".}
-proc gtk_widget_get_screen*(widget: PGtkWidget): PGdkScreen{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_screen".}
-proc gtk_widget_has_screen*(widget: PGtkWidget): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_has_screen".}
-proc gtk_widget_get_display*(widget: PGtkWidget): PGdkDisplay{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_display".}
-proc gtk_widget_get_root_window*(widget: PGtkWidget): PGdkWindow{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_root_window".}
-proc gtk_widget_get_settings*(widget: PGtkWidget): PGtkSettings{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_settings".}
-proc gtk_widget_get_clipboard*(widget: PGtkWidget, selection: TGdkAtom): PGtkClipboard{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_get_clipboard".}
-proc gtk_widget_get_accessible*(widget: PGtkWidget): PAtkObject{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_accessible".}
-proc gtk_widget_set_colormap*(widget: PGtkWidget, colormap: PGdkColormap){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_set_colormap".}
-proc gtk_widget_get_events*(widget: PGtkWidget): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_get_events".}
-proc gtk_widget_get_pointer*(widget: PGtkWidget, x: Pgint, y: Pgint){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_pointer".}
-proc gtk_widget_is_ancestor*(widget: PGtkWidget, ancestor: PGtkWidget): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_is_ancestor".}
-proc gtk_widget_translate_coordinates*(src_widget: PGtkWidget,
-                                       dest_widget: PGtkWidget, src_x: gint,
-                                       src_y: gint, dest_x: Pgint, dest_y: Pgint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_translate_coordinates".}
-proc gtk_widget_hide_on_delete*(widget: PGtkWidget): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_hide_on_delete".}
-proc gtk_widget_set_style*(widget: PGtkWidget, style: PGtkStyle){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_style".}
-proc gtk_widget_ensure_style*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_ensure_style".}
-proc gtk_widget_get_style*(widget: PGtkWidget): PGtkStyle{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_style".}
-proc gtk_widget_modify_style*(widget: PGtkWidget, style: PGtkRcStyle){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_modify_style".}
-proc gtk_widget_get_modifier_style*(widget: PGtkWidget): PGtkRcStyle{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_modifier_style".}
-proc gtk_widget_modify_fg*(widget: PGtkWidget, state: TGtkStateType,
-                           color: PGdkColor){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_modify_fg".}
-proc gtk_widget_modify_bg*(widget: PGtkWidget, state: TGtkStateType,
-                           color: PGdkColor){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_modify_bg".}
-proc gtk_widget_modify_text*(widget: PGtkWidget, state: TGtkStateType,
-                             color: PGdkColor){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_modify_text".}
-proc gtk_widget_modify_base*(widget: PGtkWidget, state: TGtkStateType,
-                             color: PGdkColor){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_modify_base".}
-proc gtk_widget_modify_font*(widget: PGtkWidget,
-                             font_desc: PPangoFontDescription){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_modify_font".}
-proc gtk_widget_create_pango_context*(widget: PGtkWidget): PPangoContext{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_create_pango_context".}
-proc gtk_widget_get_pango_context*(widget: PGtkWidget): PPangoContext{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_pango_context".}
-proc gtk_widget_create_pango_layout*(widget: PGtkWidget, text: cstring): PPangoLayout{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_create_pango_layout".}
-proc gtk_widget_render_icon*(widget: PGtkWidget, stock_id: cstring,
-                             size: TGtkIconSize, detail: cstring): PGdkPixbuf{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_render_icon".}
-proc gtk_widget_set_composite_name*(widget: PGtkWidget, name: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_composite_name".}
-proc gtk_widget_get_composite_name*(widget: PGtkWidget): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_composite_name".}
-proc gtk_widget_reset_rc_styles*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_reset_rc_styles".}
-proc gtk_widget_push_colormap*(cmap: PGdkColormap){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_push_colormap".}
-proc gtk_widget_push_composite_child*(){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_push_composite_child".}
-proc gtk_widget_pop_composite_child*(){.cdecl, dynlib: gtklib, importc: "gtk_widget_pop_composite_child".}
-proc gtk_widget_pop_colormap*(){.cdecl, dynlib: gtklib,
-                                 importc: "gtk_widget_pop_colormap".}
-proc gtk_widget_class_install_style_property*(klass: PGtkWidgetClass,
-    pspec: PGParamSpec){.cdecl, dynlib: gtklib,
-                         importc: "gtk_widget_class_install_style_property".}
-proc gtk_widget_class_install_style_property_parser*(klass: PGtkWidgetClass,
-    pspec: PGParamSpec, parser: TGtkRcPropertyParser){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_class_install_style_property_parser".}
-proc gtk_widget_class_find_style_property*(klass: PGtkWidgetClass,
-    property_name: cstring): PGParamSpec{.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_class_find_style_property".}
-proc gtk_widget_class_list_style_properties*(klass: PGtkWidgetClass,
-    n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_class_list_style_properties".}
-proc gtk_widget_style_get_property*(widget: PGtkWidget, property_name: cstring,
-                                    value: PGValue){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_style_get_property".}
-proc gtk_widget_set_default_colormap*(colormap: PGdkColormap){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_default_colormap".}
-proc gtk_widget_get_default_style*(): PGtkStyle{.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_get_default_style".}
-proc gtk_widget_set_direction*(widget: PGtkWidget, dir: TGtkTextDirection){.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_set_direction".}
-proc gtk_widget_get_direction*(widget: PGtkWidget): TGtkTextDirection{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_direction".}
-proc gtk_widget_set_default_direction*(dir: TGtkTextDirection){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_set_default_direction".}
-proc gtk_widget_get_default_direction*(): TGtkTextDirection{.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_get_default_direction".}
-proc gtk_widget_shape_combine_mask*(widget: PGtkWidget, shape_mask: PGdkBitmap,
-                                    offset_x: gint, offset_y: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_shape_combine_mask".}
-proc gtk_widget_reset_shapes*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_reset_shapes".}
-proc gtk_widget_path*(widget: PGtkWidget, path_length: Pguint, path: PPgchar,
-                      path_reversed: PPgchar){.cdecl, dynlib: gtklib,
-    importc: "gtk_widget_path".}
-proc gtk_widget_class_path*(widget: PGtkWidget, path_length: Pguint,
-                            path: PPgchar, path_reversed: PPgchar){.cdecl,
-    dynlib: gtklib, importc: "gtk_widget_class_path".}
-proc gtk_requisition_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_requisition_get_type".}
-proc gtk_requisition_copy*(requisition: PGtkRequisition): PGtkRequisition{.
-    cdecl, dynlib: gtklib, importc: "gtk_requisition_copy".}
-proc gtk_requisition_free*(requisition: PGtkRequisition){.cdecl, dynlib: gtklib,
-    importc: "gtk_requisition_free".}
-proc gtk_widget_get_aux_info*(widget: PGtkWidget, create: gboolean): PGtkWidgetAuxInfo{.
-    cdecl, dynlib: gtklib, importc: "gtk_widget_get_aux_info".}
-proc gtk_widget_propagate_hierarchy_changed*(widget: PGtkWidget,
-    previous_toplevel: PGtkWidget){.cdecl, dynlib: gtklib, importc: "_gtk_widget_propagate_hierarchy_changed".}
-proc gtk_widget_peek_colormap*(): PGdkColormap{.cdecl, dynlib: gtklib,
-    importc: "_gtk_widget_peek_colormap".}
-proc GTK_TYPE_MISC*(): GType
-proc GTK_MISC*(obj: pointer): PGtkMisc
-proc GTK_MISC_CLASS*(klass: pointer): PGtkMiscClass
-proc GTK_IS_MISC*(obj: pointer): bool
-proc GTK_IS_MISC_CLASS*(klass: pointer): bool
-proc GTK_MISC_GET_CLASS*(obj: pointer): PGtkMiscClass
-proc gtk_misc_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_misc_get_type".}
-proc gtk_misc_set_alignment*(misc: PGtkMisc, xalign: gfloat, yalign: gfloat){.
-    cdecl, dynlib: gtklib, importc: "gtk_misc_set_alignment".}
-proc gtk_misc_get_alignment*(misc: PGtkMisc, xalign, yalign: var Pgfloat){.
-    cdecl, dynlib: gtklib, importc: "gtk_misc_get_alignment".}
-proc gtk_misc_set_padding*(misc: PGtkMisc, xpad: gint, ypad: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_misc_set_padding".}
-proc gtk_misc_get_padding*(misc: PGtkMisc, xpad, ypad: var Pgint){.cdecl,
-    dynlib: gtklib, importc: "gtk_misc_get_padding".}
-const
-  GTK_ACCEL_VISIBLE* = 1 shl 0
-  GTK_ACCEL_LOCKED* = 1 shl 1
-  GTK_ACCEL_MASK* = 0x00000007
-  bm_TGtkAccelKey_accel_flags* = 0x0000FFFF'i16
-  bp_TGtkAccelKey_accel_flags* = 0'i16
-
-proc GTK_TYPE_ACCEL_GROUP*(): GType
-proc GTK_ACCEL_GROUP*(anObject: pointer): PGtkAccelGroup
-proc GTK_ACCEL_GROUP_CLASS*(klass: pointer): PGtkAccelGroupClass
-proc GTK_IS_ACCEL_GROUP*(anObject: pointer): bool
-proc GTK_IS_ACCEL_GROUP_CLASS*(klass: pointer): bool
-proc GTK_ACCEL_GROUP_GET_CLASS*(obj: pointer): PGtkAccelGroupClass
-proc accel_flags*(a: var TGtkAccelKey): guint
-proc set_accel_flags*(a: var TGtkAccelKey, `accel_flags`: guint)
-proc gtk_accel_group_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_group_get_type".}
-proc gtk_accel_group_new*(): PGtkAccelGroup{.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_group_new".}
-proc gtk_accel_group_lock*(accel_group: PGtkAccelGroup){.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_group_lock".}
-proc gtk_accel_group_unlock*(accel_group: PGtkAccelGroup){.cdecl,
-    dynlib: gtklib, importc: "gtk_accel_group_unlock".}
-proc gtk_accel_group_connect*(accel_group: PGtkAccelGroup, accel_key: guint,
-                              accel_mods: TGdkModifierType,
-                              accel_flags: TGtkAccelFlags, closure: PGClosure){.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_group_connect".}
-proc gtk_accel_group_connect_by_path*(accel_group: PGtkAccelGroup,
-                                      accel_path: cstring, closure: PGClosure){.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_group_connect_by_path".}
-proc gtk_accel_group_disconnect*(accel_group: PGtkAccelGroup, closure: PGClosure): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_group_disconnect".}
-proc gtk_accel_group_disconnect_key*(accel_group: PGtkAccelGroup,
-                                     accel_key: guint,
-                                     accel_mods: TGdkModifierType): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_group_disconnect_key".}
-proc gtk_accel_group_attach*(accel_group: PGtkAccelGroup, anObject: PGObject){.
-    cdecl, dynlib: gtklib, importc: "_gtk_accel_group_attach".}
-proc gtk_accel_group_detach*(accel_group: PGtkAccelGroup, anObject: PGObject){.
-    cdecl, dynlib: gtklib, importc: "_gtk_accel_group_detach".}
-proc gtk_accel_groups_activate*(anObject: PGObject, accel_key: guint,
-                                accel_mods: TGdkModifierType): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_accel_groups_activate".}
-proc gtk_accel_groups_from_object*(anObject: PGObject): PGSList{.cdecl,
-    dynlib: gtklib, importc: "gtk_accel_groups_from_object".}
-proc gtk_accel_group_find*(accel_group: PGtkAccelGroup,
-                           find_func: Tgtk_accel_group_find_func, data: gpointer): PGtkAccelKey{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_group_find".}
-proc gtk_accel_group_from_accel_closure*(closure: PGClosure): PGtkAccelGroup{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_group_from_accel_closure".}
-proc gtk_accelerator_valid*(keyval: guint, modifiers: TGdkModifierType): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_accelerator_valid".}
-proc gtk_accelerator_parse*(accelerator: cstring, accelerator_key: Pguint,
-                            accelerator_mods: PGdkModifierType){.cdecl,
-    dynlib: gtklib, importc: "gtk_accelerator_parse".}
-proc gtk_accelerator_name*(accelerator_key: guint,
-                           accelerator_mods: TGdkModifierType): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_accelerator_name".}
-proc gtk_accelerator_set_default_mod_mask*(default_mod_mask: TGdkModifierType){.
-    cdecl, dynlib: gtklib, importc: "gtk_accelerator_set_default_mod_mask".}
-proc gtk_accelerator_get_default_mod_mask*(): guint{.cdecl, dynlib: gtklib,
-    importc: "gtk_accelerator_get_default_mod_mask".}
-proc gtk_accel_group_query*(accel_group: PGtkAccelGroup, accel_key: guint,
-                            accel_mods: TGdkModifierType, n_entries: Pguint): PGtkAccelGroupEntry{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_group_query".}
-proc gtk_accel_group_reconnect*(accel_group: PGtkAccelGroup,
-                                accel_path_quark: TGQuark){.cdecl,
-    dynlib: gtklib, importc: "_gtk_accel_group_reconnect".}
-const
-  bm_TGtkContainer_border_width* = 0x0000FFFF'i32
-  bp_TGtkContainer_border_width* = 0'i32
-  bm_TGtkContainer_need_resize* = 0x00010000'i32
-  bp_TGtkContainer_need_resize* = 16'i32
-  bm_TGtkContainer_resize_mode* = 0x00060000'i32
-  bp_TGtkContainer_resize_mode* = 17'i32
-  bm_TGtkContainer_reallocate_redraws* = 0x00080000'i32
-  bp_TGtkContainer_reallocate_redraws* = 19'i32
-  bm_TGtkContainer_has_focus_chain* = 0x00100000'i32
-  bp_TGtkContainer_has_focus_chain* = 20'i32
-
-proc GTK_TYPE_CONTAINER*(): GType
-proc GTK_CONTAINER*(obj: pointer): PGtkContainer
-proc GTK_CONTAINER_CLASS*(klass: pointer): PGtkContainerClass
-proc GTK_IS_CONTAINER*(obj: pointer): bool
-proc GTK_IS_CONTAINER_CLASS*(klass: pointer): bool
-proc GTK_CONTAINER_GET_CLASS*(obj: pointer): PGtkContainerClass
-proc GTK_IS_RESIZE_CONTAINER*(widget: pointer): bool
-proc border_width*(a: var TGtkContainer): guint
-proc set_border_width*(a: var TGtkContainer, `border_width`: guint)
-proc need_resize*(a: var TGtkContainer): guint
-proc set_need_resize*(a: var TGtkContainer, `need_resize`: guint)
-proc resize_mode*(a: PGtkContainer): guint
-proc set_resize_mode*(a: var TGtkContainer, `resize_mode`: guint)
-proc reallocate_redraws*(a: var TGtkContainer): guint
-proc set_reallocate_redraws*(a: var TGtkContainer, `reallocate_redraws`: guint)
-proc has_focus_chain*(a: var TGtkContainer): guint
-proc set_has_focus_chain*(a: var TGtkContainer, `has_focus_chain`: guint)
-proc gtk_container_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_container_get_type".}
-proc gtk_container_set_border_width*(container: PGtkContainer,
-                                     border_width: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_container_set_border_width".}
-proc gtk_container_get_border_width*(container: PGtkContainer): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_container_get_border_width".}
-proc gtk_container_add*(container: PGtkContainer, widget: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_container_add".}
-proc gtk_container_remove*(container: PGtkContainer, widget: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_container_remove".}
-proc gtk_container_set_resize_mode*(container: PGtkContainer,
-                                    resize_mode: TGtkResizeMode){.cdecl,
-    dynlib: gtklib, importc: "gtk_container_set_resize_mode".}
-proc gtk_container_get_resize_mode*(container: PGtkContainer): TGtkResizeMode{.
-    cdecl, dynlib: gtklib, importc: "gtk_container_get_resize_mode".}
-proc gtk_container_check_resize*(container: PGtkContainer){.cdecl,
-    dynlib: gtklib, importc: "gtk_container_check_resize".}
-proc gtk_container_foreach*(container: PGtkContainer, callback: TGtkCallback,
-                            callback_data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_container_foreach".}
-proc gtk_container_get_children*(container: PGtkContainer): PGList{.cdecl,
-    dynlib: gtklib, importc: "gtk_container_get_children".}
-proc gtk_container_propagate_expose*(container: PGtkContainer,
-                                     child: PGtkWidget, event: PGdkEventExpose){.
-    cdecl, dynlib: gtklib, importc: "gtk_container_propagate_expose".}
-proc gtk_container_set_focus_chain*(container: PGtkContainer,
-                                    focusable_widgets: PGList){.cdecl,
-    dynlib: gtklib, importc: "gtk_container_set_focus_chain".}
-proc gtk_container_get_focus_chain*(container: PGtkContainer, s: var PGList): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_container_get_focus_chain".}
-proc gtk_container_unset_focus_chain*(container: PGtkContainer){.cdecl,
-    dynlib: gtklib, importc: "gtk_container_unset_focus_chain".}
-proc gtk_container_set_reallocate_redraws*(container: PGtkContainer,
-    needs_redraws: gboolean){.cdecl, dynlib: gtklib,
-                              importc: "gtk_container_set_reallocate_redraws".}
-proc gtk_container_set_focus_child*(container: PGtkContainer, child: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_container_set_focus_child".}
-proc gtk_container_set_focus_vadjustment*(container: PGtkContainer,
-    adjustment: PGtkAdjustment){.cdecl, dynlib: gtklib,
-                                 importc: "gtk_container_set_focus_vadjustment".}
-proc gtk_container_get_focus_vadjustment*(container: PGtkContainer): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_container_get_focus_vadjustment".}
-proc gtk_container_set_focus_hadjustment*(container: PGtkContainer,
-    adjustment: PGtkAdjustment){.cdecl, dynlib: gtklib,
-                                 importc: "gtk_container_set_focus_hadjustment".}
-proc gtk_container_get_focus_hadjustment*(container: PGtkContainer): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_container_get_focus_hadjustment".}
-proc gtk_container_resize_children*(container: PGtkContainer){.cdecl,
-    dynlib: gtklib, importc: "gtk_container_resize_children".}
-proc gtk_container_child_type*(container: PGtkContainer): TGtkType{.cdecl,
-    dynlib: gtklib, importc: "gtk_container_child_type".}
-proc gtk_container_class_install_child_property*(cclass: PGtkContainerClass,
-    property_id: guint, pspec: PGParamSpec){.cdecl, dynlib: gtklib,
-    importc: "gtk_container_class_install_child_property".}
-proc gtk_container_class_find_child_property*(cclass: PGObjectClass,
-    property_name: cstring): PGParamSpec{.cdecl, dynlib: gtklib,
-    importc: "gtk_container_class_find_child_property".}
-proc gtk_container_class_list_child_properties*(cclass: PGObjectClass,
-    n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: gtklib,
-    importc: "gtk_container_class_list_child_properties".}
-proc gtk_container_child_set_property*(container: PGtkContainer,
-                                       child: PGtkWidget, property_name: cstring,
-                                       value: PGValue){.cdecl, dynlib: gtklib,
-    importc: "gtk_container_child_set_property".}
-proc gtk_container_child_get_property*(container: PGtkContainer,
-                                       child: PGtkWidget, property_name: cstring,
-                                       value: PGValue){.cdecl, dynlib: gtklib,
-    importc: "gtk_container_child_get_property".}
-proc GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID*(anObject: pointer,
-    property_id: guint, pspec: pointer)
-proc gtk_container_forall*(container: PGtkContainer, callback: TGtkCallback,
-                           callback_data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_container_forall".}
-proc gtk_container_queue_resize*(container: PGtkContainer){.cdecl,
-    dynlib: gtklib, importc: "_gtk_container_queue_resize".}
-proc gtk_container_clear_resize_widgets*(container: PGtkContainer){.cdecl,
-    dynlib: gtklib, importc: "_gtk_container_clear_resize_widgets".}
-proc gtk_container_child_composite_name*(container: PGtkContainer,
-    child: PGtkWidget): cstring{.cdecl, dynlib: gtklib,
-                                importc: "_gtk_container_child_composite_name".}
-proc gtk_container_dequeue_resize_handler*(container: PGtkContainer){.cdecl,
-    dynlib: gtklib, importc: "_gtk_container_dequeue_resize_handler".}
-proc gtk_container_focus_sort*(container: PGtkContainer, children: PGList,
-                                 direction: TGtkDirectionType,
-                                 old_focus: PGtkWidget): PGList{.cdecl,
-    dynlib: gtklib, importc: "_gtk_container_focus_sort".}
-proc GTK_TYPE_BIN*(): GType
-proc GTK_BIN*(obj: pointer): PGtkBin
-proc GTK_BIN_CLASS*(klass: pointer): PGtkBinClass
-proc GTK_IS_BIN*(obj: pointer): bool
-proc GTK_IS_BIN_CLASS*(klass: pointer): bool
-proc GTK_BIN_GET_CLASS*(obj: pointer): PGtkBinClass
-proc gtk_bin_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                    importc: "gtk_bin_get_type".}
-proc gtk_bin_get_child*(bin: PGtkBin): PGtkWidget{.cdecl, dynlib: gtklib,
-    importc: "gtk_bin_get_child".}
-const
-  bm_TGtkWindow_allow_shrink* = 0x00000001'i32
-  bp_TGtkWindow_allow_shrink* = 0'i32
-  bm_TGtkWindow_allow_grow* = 0x00000002'i32
-  bp_TGtkWindow_allow_grow* = 1'i32
-  bm_TGtkWindow_configure_notify_received* = 0x00000004'i32
-  bp_TGtkWindow_configure_notify_received* = 2'i32
-  bm_TGtkWindow_need_default_position* = 0x00000008'i32
-  bp_TGtkWindow_need_default_position* = 3'i32
-  bm_TGtkWindow_need_default_size* = 0x00000010'i32
-  bp_TGtkWindow_need_default_size* = 4'i32
-  bm_TGtkWindow_position* = 0x000000E0'i32
-  bp_TGtkWindow_position* = 5'i32
-  bm_TGtkWindow_type* = 0x00000F00'i32
-  bp_TGtkWindow_type* = 8'i32
-  bm_TGtkWindow_has_user_ref_count* = 0x00001000'i32
-  bp_TGtkWindow_has_user_ref_count* = 12'i32
-  bm_TGtkWindow_has_focus* = 0x00002000'i32
-  bp_TGtkWindow_has_focus* = 13'i32
-  bm_TGtkWindow_modal* = 0x00004000'i32
-  bp_TGtkWindow_modal* = 14'i32
-  bm_TGtkWindow_destroy_with_parent* = 0x00008000'i32
-  bp_TGtkWindow_destroy_with_parent* = 15'i32
-  bm_TGtkWindow_has_frame* = 0x00010000'i32
-  bp_TGtkWindow_has_frame* = 16'i32
-  bm_TGtkWindow_iconify_initially* = 0x00020000'i32
-  bp_TGtkWindow_iconify_initially* = 17'i32
-  bm_TGtkWindow_stick_initially* = 0x00040000'i32
-  bp_TGtkWindow_stick_initially* = 18'i32
-  bm_TGtkWindow_maximize_initially* = 0x00080000'i32
-  bp_TGtkWindow_maximize_initially* = 19'i32
-  bm_TGtkWindow_decorated* = 0x00100000'i32
-  bp_TGtkWindow_decorated* = 20'i32
-  bm_TGtkWindow_type_hint* = 0x00E00000'i32
-  bp_TGtkWindow_type_hint* = 21'i32
-  bm_TGtkWindow_gravity* = 0x1F000000'i32
-  bp_TGtkWindow_gravity* = 24'i32
-
-proc GTK_TYPE_WINDOW*(): GType
-proc GTK_WINDOW*(obj: pointer): PGtkWindow
-proc GTK_WINDOW_CLASS*(klass: pointer): PGtkWindowClass
-proc GTK_IS_WINDOW*(obj: pointer): bool
-proc GTK_IS_WINDOW_CLASS*(klass: pointer): bool
-proc GTK_WINDOW_GET_CLASS*(obj: pointer): PGtkWindowClass
-proc allow_shrink*(a: var TGtkWindow): guint
-proc set_allow_shrink*(a: var TGtkWindow, `allow_shrink`: guint)
-proc allow_grow*(a: var TGtkWindow): guint
-proc set_allow_grow*(a: var TGtkWindow, `allow_grow`: guint)
-proc configure_notify_received*(a: var TGtkWindow): guint
-proc set_configure_notify_received*(a: var TGtkWindow,
-                                    `configure_notify_received`: guint)
-proc need_default_position*(a: var TGtkWindow): guint
-proc set_need_default_position*(a: var TGtkWindow,
-                                `need_default_position`: guint)
-proc need_default_size*(a: var TGtkWindow): guint
-proc set_need_default_size*(a: var TGtkWindow, `need_default_size`: guint)
-proc position*(a: var TGtkWindow): guint
-proc set_position*(a: var TGtkWindow, `position`: guint)
-proc get_type*(a: var TGtkWindow): guint
-proc set_type*(a: var TGtkWindow, `type`: guint)
-proc has_user_ref_count*(a: var TGtkWindow): guint
-proc set_has_user_ref_count*(a: var TGtkWindow, `has_user_ref_count`: guint)
-proc has_focus*(a: var TGtkWindow): guint
-proc set_has_focus*(a: var TGtkWindow, `has_focus`: guint)
-proc modal*(a: var TGtkWindow): guint
-proc set_modal*(a: var TGtkWindow, `modal`: guint)
-proc destroy_with_parent*(a: var TGtkWindow): guint
-proc set_destroy_with_parent*(a: var TGtkWindow, `destroy_with_parent`: guint)
-proc has_frame*(a: var TGtkWindow): guint
-proc set_has_frame*(a: var TGtkWindow, `has_frame`: guint)
-proc iconify_initially*(a: var TGtkWindow): guint
-proc set_iconify_initially*(a: var TGtkWindow, `iconify_initially`: guint)
-proc stick_initially*(a: var TGtkWindow): guint
-proc set_stick_initially*(a: var TGtkWindow, `stick_initially`: guint)
-proc maximize_initially*(a: var TGtkWindow): guint
-proc set_maximize_initially*(a: var TGtkWindow, `maximize_initially`: guint)
-proc decorated*(a: var TGtkWindow): guint
-proc set_decorated*(a: var TGtkWindow, `decorated`: guint)
-proc type_hint*(a: var TGtkWindow): guint
-proc set_type_hint*(a: var TGtkWindow, `type_hint`: guint)
-proc gravity*(a: var TGtkWindow): guint
-proc set_gravity*(a: var TGtkWindow, `gravity`: guint)
-proc GTK_TYPE_WINDOW_GROUP*(): GType
-proc GTK_WINDOW_GROUP*(anObject: pointer): PGtkWindowGroup
-proc GTK_WINDOW_GROUP_CLASS*(klass: pointer): PGtkWindowGroupClass
-proc GTK_IS_WINDOW_GROUP*(anObject: pointer): bool
-proc GTK_IS_WINDOW_GROUP_CLASS*(klass: pointer): bool
-proc GTK_WINDOW_GROUP_GET_CLASS*(obj: pointer): PGtkWindowGroupClass
-proc gtk_window_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_window_get_type".}
-proc gtk_window_new*(thetype: TGtkWindowType): PGtkWindow {.cdecl,
-    dynlib: gtklib, importc: "gtk_window_new".}
-proc gtk_window_set_title*(window: PGtkWindow, title: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_title".}
-proc gtk_window_get_title*(window: PGtkWindow): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_window_get_title".}
-proc gtk_window_set_wmclass*(window: PGtkWindow, wmclass_name: cstring,
-                             wmclass_class: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_set_wmclass".}
-proc gtk_window_set_role*(window: PGtkWindow, role: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_role".}
-proc gtk_window_get_role*(window: PGtkWindow): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_window_get_role".}
-proc gtk_window_add_accel_group*(window: PGtkWindow, accel_group: PGtkAccelGroup){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_add_accel_group".}
-proc gtk_window_remove_accel_group*(window: PGtkWindow,
-                                    accel_group: PGtkAccelGroup){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_remove_accel_group".}
-proc gtk_window_set_position*(window: PGtkWindow, position: TGtkWindowPosition){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_set_position".}
-proc gtk_window_activate_focus*(window: PGtkWindow): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_activate_focus".}
-proc gtk_window_set_focus*(window: PGtkWindow, focus: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_focus".}
-proc gtk_window_get_focus*(window: PGtkWindow): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_focus".}
-proc gtk_window_set_default*(window: PGtkWindow, default_widget: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_set_default".}
-proc gtk_window_activate_default*(window: PGtkWindow): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_activate_default".}
-proc gtk_window_set_transient_for*(window: PGtkWindow, parent: PGtkWindow){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_set_transient_for".}
-proc gtk_window_get_transient_for*(window: PGtkWindow): PGtkWindow{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_transient_for".}
-proc gtk_window_set_type_hint*(window: PGtkWindow, hint: TGdkWindowTypeHint){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_set_type_hint".}
-proc gtk_window_get_type_hint*(window: PGtkWindow): TGdkWindowTypeHint{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_type_hint".}
-proc gtk_window_set_destroy_with_parent*(window: PGtkWindow, setting: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_set_destroy_with_parent".}
-proc gtk_window_get_destroy_with_parent*(window: PGtkWindow): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_destroy_with_parent".}
-proc gtk_window_set_resizable*(window: PGtkWindow, resizable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_resizable".}
-proc gtk_window_get_resizable*(window: PGtkWindow): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_resizable".}
-proc gtk_window_set_gravity*(window: PGtkWindow, gravity: TGdkGravity){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_gravity".}
-proc gtk_window_get_gravity*(window: PGtkWindow): TGdkGravity{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_gravity".}
-proc gtk_window_set_geometry_hints*(window: PGtkWindow,
-                                    geometry_widget: PGtkWidget,
-                                    geometry: PGdkGeometry,
-                                    geom_mask: TGdkWindowHints){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_geometry_hints".}
-proc gtk_window_set_screen*(window: PGtkWindow, screen: PGdkScreen){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_screen".}
-proc gtk_window_get_screen*(window: PGtkWindow): PGdkScreen{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_screen".}
-proc gtk_window_set_has_frame*(window: PGtkWindow, setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_has_frame".}
-proc gtk_window_get_has_frame*(window: PGtkWindow): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_has_frame".}
-proc gtk_window_set_frame_dimensions*(window: PGtkWindow, left: gint, top: gint,
-                                      right: gint, bottom: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_frame_dimensions".}
-proc gtk_window_get_frame_dimensions*(window: PGtkWindow, left: Pgint,
-                                      top: Pgint, right: Pgint, bottom: Pgint){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_get_frame_dimensions".}
-proc gtk_window_set_decorated*(window: PGtkWindow, setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_decorated".}
-proc gtk_window_get_decorated*(window: PGtkWindow): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_decorated".}
-proc gtk_window_set_icon_list*(window: PGtkWindow, list: PGList){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_icon_list".}
-proc gtk_window_get_icon_list*(window: PGtkWindow): PGList{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_icon_list".}
-proc gtk_window_set_icon*(window: PGtkWindow, icon: PGdkPixbuf){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_icon".}
-proc gtk_window_get_icon*(window: PGtkWindow): PGdkPixbuf{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_get_icon".}
-proc gtk_window_set_default_icon_list*(list: PGList){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_set_default_icon_list".}
-proc gtk_window_get_default_icon_list*(): PGList{.cdecl, dynlib: gtklib,
-    importc: "gtk_window_get_default_icon_list".}
-proc gtk_window_set_modal*(window: PGtkWindow, modal: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_modal".}
-proc gtk_window_get_modal*(window: PGtkWindow): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_window_get_modal".}
-proc gtk_window_list_toplevels*(): PGList{.cdecl, dynlib: gtklib,
-    importc: "gtk_window_list_toplevels".}
-proc gtk_window_add_mnemonic*(window: PGtkWindow, keyval: guint,
-                              target: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_add_mnemonic".}
-proc gtk_window_remove_mnemonic*(window: PGtkWindow, keyval: guint,
-                                 target: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_remove_mnemonic".}
-proc gtk_window_mnemonic_activate*(window: PGtkWindow, keyval: guint,
-                                   modifier: TGdkModifierType): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_window_mnemonic_activate".}
-proc gtk_window_set_mnemonic_modifier*(window: PGtkWindow,
-                                       modifier: TGdkModifierType){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_set_mnemonic_modifier".}
-proc gtk_window_get_mnemonic_modifier*(window: PGtkWindow): TGdkModifierType{.
-    cdecl, dynlib: gtklib, importc: "gtk_window_get_mnemonic_modifier".}
-proc gtk_window_present*(window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_present".}
-proc gtk_window_iconify*(window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_iconify".}
-proc gtk_window_deiconify*(window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_deiconify".}
-proc gtk_window_stick*(window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_stick".}
-proc gtk_window_unstick*(window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_unstick".}
-proc gtk_window_maximize*(window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_maximize".}
-proc gtk_window_unmaximize*(window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_unmaximize".}
-proc gtk_window_begin_resize_drag*(window: PGtkWindow, edge: TGdkWindowEdge,
-                                   button: gint, root_x: gint, root_y: gint,
-                                   timestamp: guint32){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_begin_resize_drag".}
-proc gtk_window_begin_move_drag*(window: PGtkWindow, button: gint, root_x: gint,
-                                 root_y: gint, timestamp: guint32){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_begin_move_drag".}
-proc gtk_window_set_default_size*(window: PGtkWindow, width: gint, height: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_set_default_size".}
-proc gtk_window_get_default_size*(window: PGtkWindow, width: Pgint,
-                                  height: Pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_get_default_size".}
-proc gtk_window_resize*(window: PGtkWindow, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_resize".}
-proc gtk_window_get_size*(window: PGtkWindow, width: Pgint, height: Pgint){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_get_size".}
-proc gtk_window_move*(window: PGtkWindow, x: gint, y: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_move".}
-proc gtk_window_get_position*(window: PGtkWindow, root_x: Pgint, root_y: Pgint){.
-    cdecl, dynlib: gtklib, importc: "gtk_window_get_position".}
-proc gtk_window_parse_geometry*(window: PGtkWindow, geometry: cstring): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_window_parse_geometry".}
-proc gtk_window_reshow_with_initial_size*(window: PGtkWindow){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_reshow_with_initial_size".}
-proc gtk_window_group_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_window_group_get_type".}
-proc gtk_window_group_new*(): PGtkWindowGroup{.cdecl, dynlib: gtklib,
-    importc: "gtk_window_group_new".}
-proc gtk_window_group_add_window*(window_group: PGtkWindowGroup,
-                                  window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_group_add_window".}
-proc gtk_window_group_remove_window*(window_group: PGtkWindowGroup,
-                                     window: PGtkWindow){.cdecl, dynlib: gtklib,
-    importc: "gtk_window_group_remove_window".}
-proc gtk_window_set_default_icon_name*(name: cstring) {.
-    cdecl, dynlib: gtklib, importc.}
-proc gtk_window_internal_set_focus*(window: PGtkWindow, focus: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "_gtk_window_internal_set_focus".}
-proc gtk_window_remove_embedded_xid*(window: PGtkWindow, xid: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_remove_embedded_xid".}
-proc gtk_window_add_embedded_xid*(window: PGtkWindow, xid: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_window_add_embedded_xid".}
-proc gtk_window_reposition*(window: PGtkWindow, x: gint, y: gint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_window_reposition".}
-proc gtk_window_constrain_size*(window: PGtkWindow, width: gint, height: gint,
-                                  new_width: Pgint, new_height: Pgint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_window_constrain_size".}
-proc gtk_window_get_group*(window: PGtkWindow): PGtkWindowGroup{.cdecl,
-    dynlib: gtklib, importc: "_gtk_window_get_group".}
-proc gtk_window_activate_key*(window: PGtkWindow, event: PGdkEventKey): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_window_activate_key".}
-proc gtk_window_keys_foreach*(window: PGtkWindow,
-                                func: TGtkWindowKeysForeachFunc,
-                                func_data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "_gtk_window_keys_foreach".}
-proc gtk_window_query_nonaccels*(window: PGtkWindow, accel_key: guint,
-                                   accel_mods: TGdkModifierType): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_window_query_nonaccels".}
-const
-  bm_TGtkLabel_jtype* = 0x00000003'i16
-  bp_TGtkLabel_jtype* = 0'i16
-  bm_TGtkLabel_wrap* = 0x00000004'i16
-  bp_TGtkLabel_wrap* = 2'i16
-  bm_TGtkLabel_use_underline* = 0x00000008'i16
-  bp_TGtkLabel_use_underline* = 3'i16
-  bm_TGtkLabel_use_markup* = 0x00000010'i16
-  bp_TGtkLabel_use_markup* = 4'i16
-
-proc GTK_TYPE_LABEL*(): GType
-proc GTK_LABEL*(obj: pointer): PGtkLabel
-proc GTK_LABEL_CLASS*(klass: pointer): PGtkLabelClass
-proc GTK_IS_LABEL*(obj: pointer): bool
-proc GTK_IS_LABEL_CLASS*(klass: pointer): bool
-proc GTK_LABEL_GET_CLASS*(obj: pointer): PGtkLabelClass
-proc jtype*(a: var TGtkLabel): guint
-proc set_jtype*(a: var TGtkLabel, `jtype`: guint)
-proc wrap*(a: var TGtkLabel): guint
-proc set_wrap*(a: var TGtkLabel, `wrap`: guint)
-proc use_underline*(a: var TGtkLabel): guint
-proc set_use_underline*(a: var TGtkLabel, `use_underline`: guint)
-proc use_markup*(a: var TGtkLabel): guint
-proc set_use_markup*(a: var TGtkLabel, `use_markup`: guint)
-proc gtk_label_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_label_get_type".}
-proc gtk_label_new*(str: cstring): PGtkLabel {.cdecl, dynlib: gtklib,
-    importc: "gtk_label_new".}
-proc gtk_label_new_with_mnemonic*(str: cstring): PGtkLabel {.cdecl,
-    dynlib: gtklib, importc: "gtk_label_new_with_mnemonic".}
-proc gtk_label_set_text*(`label`: PGtkLabel, str: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_text".}
-proc gtk_label_get_text*(`label`: PGtkLabel): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_label_get_text".}
-proc gtk_label_set_attributes*(`label`: PGtkLabel, attrs: PPangoAttrList){.
-    cdecl, dynlib: gtklib, importc: "gtk_label_set_attributes".}
-proc gtk_label_get_attributes*(`label`: PGtkLabel): PPangoAttrList{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_attributes".}
-proc gtk_label_set_label*(`label`: PGtkLabel, str: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_label".}
-proc gtk_label_get_label*(`label`: PGtkLabel): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_label_get_label".}
-proc gtk_label_set_markup*(`label`: PGtkLabel, str: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_markup".}
-proc gtk_label_set_use_markup*(`label`: PGtkLabel, setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_use_markup".}
-proc gtk_label_get_use_markup*(`label`: PGtkLabel): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_use_markup".}
-proc gtk_label_set_use_underline*(`label`: PGtkLabel, setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_use_underline".}
-proc gtk_label_get_use_underline*(`label`: PGtkLabel): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_use_underline".}
-proc gtk_label_set_markup_with_mnemonic*(`label`: PGtkLabel, str: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_label_set_markup_with_mnemonic".}
-proc gtk_label_get_mnemonic_keyval*(`label`: PGtkLabel): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_mnemonic_keyval".}
-proc gtk_label_set_mnemonic_widget*(`label`: PGtkLabel, widget: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_label_set_mnemonic_widget".}
-proc gtk_label_get_mnemonic_widget*(`label`: PGtkLabel): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_mnemonic_widget".}
-proc gtk_label_set_text_with_mnemonic*(`label`: PGtkLabel, str: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_text_with_mnemonic".}
-proc gtk_label_set_justify*(`label`: PGtkLabel, jtype: TGtkJustification){.
-    cdecl, dynlib: gtklib, importc: "gtk_label_set_justify".}
-proc gtk_label_get_justify*(`label`: PGtkLabel): TGtkJustification{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_justify".}
-proc gtk_label_set_pattern*(`label`: PGtkLabel, pattern: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_pattern".}
-proc gtk_label_set_line_wrap*(`label`: PGtkLabel, wrap: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_line_wrap".}
-proc gtk_label_get_line_wrap*(`label`: PGtkLabel): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_line_wrap".}
-proc gtk_label_set_selectable*(`label`: PGtkLabel, setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_label_set_selectable".}
-proc gtk_label_get_selectable*(`label`: PGtkLabel): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_selectable".}
-proc gtk_label_select_region*(`label`: PGtkLabel, start_offset: gint,
-                              end_offset: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_label_select_region".}
-proc gtk_label_get_selection_bounds*(`label`: PGtkLabel, start: Pgint,
-                                     theEnd: Pgint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_selection_bounds".}
-proc gtk_label_get_layout*(`label`: PGtkLabel): PPangoLayout{.cdecl,
-    dynlib: gtklib, importc: "gtk_label_get_layout".}
-proc gtk_label_get_layout_offsets*(`label`: PGtkLabel, x: Pgint, y: Pgint){.
-    cdecl, dynlib: gtklib, importc: "gtk_label_get_layout_offsets".}
-const
-  bm_TGtkAccelLabelClass_latin1_to_char* = 0x00000001'i16
-  bp_TGtkAccelLabelClass_latin1_to_char* = 0'i16
-
-proc GTK_TYPE_ACCEL_LABEL*(): GType
-proc GTK_ACCEL_LABEL*(obj: pointer): PGtkAccelLabel
-proc GTK_ACCEL_LABEL_CLASS*(klass: pointer): PGtkAccelLabelClass
-proc GTK_IS_ACCEL_LABEL*(obj: pointer): bool
-proc GTK_IS_ACCEL_LABEL_CLASS*(klass: pointer): bool
-proc GTK_ACCEL_LABEL_GET_CLASS*(obj: pointer): PGtkAccelLabelClass
-proc latin1_to_char*(a: var TGtkAccelLabelClass): guint
-proc set_latin1_to_char*(a: var TGtkAccelLabelClass, `latin1_to_char`: guint)
-proc gtk_accel_label_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_label_get_type".}
-proc gtk_accel_label_new*(`string`: cstring): PGtkAccelLabel {.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_label_new".}
-proc gtk_accel_label_get_accel_widget*(accel_label: PGtkAccelLabel): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_label_get_accel_widget".}
-proc gtk_accel_label_get_accel_width*(accel_label: PGtkAccelLabel): guint{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_label_get_accel_width".}
-proc gtk_accel_label_set_accel_widget*(accel_label: PGtkAccelLabel,
-                                       accel_widget: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_accel_label_set_accel_widget".}
-proc gtk_accel_label_set_accel_closure*(accel_label: PGtkAccelLabel,
-                                        accel_closure: PGClosure){.cdecl,
-    dynlib: gtklib, importc: "gtk_accel_label_set_accel_closure".}
-proc gtk_accel_label_refetch*(accel_label: PGtkAccelLabel): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_accel_label_refetch".}
-proc gtk_accel_map_add_entry*(accel_path: cstring, accel_key: guint,
-                              accel_mods: TGdkModifierType){.cdecl,
-    dynlib: gtklib, importc: "gtk_accel_map_add_entry".}
-proc gtk_accel_map_lookup_entry*(accel_path: cstring, key: PGtkAccelKey): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_map_lookup_entry".}
-proc gtk_accel_map_change_entry*(accel_path: cstring, accel_key: guint,
-                                 accel_mods: TGdkModifierType, replace: gboolean): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_map_change_entry".}
-proc gtk_accel_map_load*(file_name: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_map_load".}
-proc gtk_accel_map_save*(file_name: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_map_save".}
-proc gtk_accel_map_foreach*(data: gpointer, foreach_func: TGtkAccelMapForeach){.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_map_foreach".}
-proc gtk_accel_map_load_fd*(fd: gint){.cdecl, dynlib: gtklib,
-                                       importc: "gtk_accel_map_load_fd".}
-proc gtk_accel_map_load_scanner*(scanner: PGScanner){.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_map_load_scanner".}
-proc gtk_accel_map_save_fd*(fd: gint){.cdecl, dynlib: gtklib,
-                                       importc: "gtk_accel_map_save_fd".}
-proc gtk_accel_map_add_filter*(filter_pattern: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_accel_map_add_filter".}
-proc gtk_accel_map_foreach_unfiltered*(data: gpointer,
-                                       foreach_func: TGtkAccelMapForeach){.
-    cdecl, dynlib: gtklib, importc: "gtk_accel_map_foreach_unfiltered".}
-proc gtk_accel_map_init*(){.cdecl, dynlib: gtklib,
-                              importc: "_gtk_accel_map_init".}
-proc gtk_accel_map_add_group*(accel_path: cstring, accel_group: PGtkAccelGroup){.
-    cdecl, dynlib: gtklib, importc: "_gtk_accel_map_add_group".}
-proc gtk_accel_map_remove_group*(accel_path: cstring,
-                                   accel_group: PGtkAccelGroup){.cdecl,
-    dynlib: gtklib, importc: "_gtk_accel_map_remove_group".}
-proc gtk_accel_path_is_valid*(accel_path: cstring): gboolean{.cdecl,
-    dynlib: gtklib, importc: "_gtk_accel_path_is_valid".}
-proc GTK_TYPE_ACCESSIBLE*(): GType
-proc GTK_ACCESSIBLE*(obj: pointer): PGtkAccessible
-proc GTK_ACCESSIBLE_CLASS*(klass: pointer): PGtkAccessibleClass
-proc GTK_IS_ACCESSIBLE*(obj: pointer): bool
-proc GTK_IS_ACCESSIBLE_CLASS*(klass: pointer): bool
-proc GTK_ACCESSIBLE_GET_CLASS*(obj: pointer): PGtkAccessibleClass
-proc gtk_accessible_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_accessible_get_type".}
-proc gtk_accessible_connect_widget_destroyed*(accessible: PGtkAccessible){.
-    cdecl, dynlib: gtklib, importc: "gtk_accessible_connect_widget_destroyed".}
-proc GTK_TYPE_ADJUSTMENT*(): GType
-proc GTK_ADJUSTMENT*(obj: pointer): PGtkAdjustment
-proc GTK_ADJUSTMENT_CLASS*(klass: pointer): PGtkAdjustmentClass
-proc GTK_IS_ADJUSTMENT*(obj: pointer): bool
-proc GTK_IS_ADJUSTMENT_CLASS*(klass: pointer): bool
-proc GTK_ADJUSTMENT_GET_CLASS*(obj: pointer): PGtkAdjustmentClass
-proc gtk_adjustment_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_adjustment_get_type".}
-proc gtk_adjustment_new*(value: gdouble, lower: gdouble, upper: gdouble,
-                         step_increment: gdouble, page_increment: gdouble,
-                         page_size: gdouble): PGtkAdjustment {.cdecl, dynlib: gtklib,
-    importc: "gtk_adjustment_new".}
-proc gtk_adjustment_changed*(adjustment: PGtkAdjustment){.cdecl, dynlib: gtklib,
-    importc: "gtk_adjustment_changed".}
-proc gtk_adjustment_value_changed*(adjustment: PGtkAdjustment){.cdecl,
-    dynlib: gtklib, importc: "gtk_adjustment_value_changed".}
-proc gtk_adjustment_clamp_page*(adjustment: PGtkAdjustment, lower: gdouble,
-                                upper: gdouble){.cdecl, dynlib: gtklib,
-    importc: "gtk_adjustment_clamp_page".}
-proc gtk_adjustment_get_value*(adjustment: PGtkAdjustment): gdouble{.cdecl,
-    dynlib: gtklib, importc: "gtk_adjustment_get_value".}
-proc gtk_adjustment_set_value*(adjustment: PGtkAdjustment, value: gdouble){.
-    cdecl, dynlib: gtklib, importc: "gtk_adjustment_set_value".}
-proc GTK_TYPE_ALIGNMENT*(): GType
-proc GTK_ALIGNMENT*(obj: pointer): PGtkAlignment
-proc GTK_ALIGNMENT_CLASS*(klass: pointer): PGtkAlignmentClass
-proc GTK_IS_ALIGNMENT*(obj: pointer): bool
-proc GTK_IS_ALIGNMENT_CLASS*(klass: pointer): bool
-proc GTK_ALIGNMENT_GET_CLASS*(obj: pointer): PGtkAlignmentClass
-proc gtk_alignment_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_alignment_get_type".}
-proc gtk_alignment_new*(xalign: gfloat, yalign: gfloat, xscale: gfloat,
-                        yscale: gfloat): PGtkAlignment {.cdecl, dynlib: gtklib,
-    importc: "gtk_alignment_new".}
-proc gtk_alignment_set*(alignment: PGtkAlignment, xalign: gfloat,
-                        yalign: gfloat, xscale: gfloat, yscale: gfloat){.cdecl,
-    dynlib: gtklib, importc: "gtk_alignment_set".}
-proc GTK_TYPE_FRAME*(): GType
-proc GTK_FRAME*(obj: pointer): PGtkFrame
-proc GTK_FRAME_CLASS*(klass: pointer): PGtkFrameClass
-proc GTK_IS_FRAME*(obj: pointer): bool
-proc GTK_IS_FRAME_CLASS*(klass: pointer): bool
-proc GTK_FRAME_GET_CLASS*(obj: pointer): PGtkFrameClass
-proc gtk_frame_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_frame_get_type".}
-proc gtk_frame_new*(`label`: cstring): PGtkFrame {.cdecl, dynlib: gtklib,
-    importc: "gtk_frame_new".}
-proc gtk_frame_set_label*(frame: PGtkFrame, `label`: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_frame_set_label".}
-proc gtk_frame_get_label*(frame: PGtkFrame): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_frame_get_label".}
-proc gtk_frame_set_label_widget*(frame: PGtkFrame, label_widget: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_frame_set_label_widget".}
-proc gtk_frame_get_label_widget*(frame: PGtkFrame): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_frame_get_label_widget".}
-proc gtk_frame_set_label_align*(frame: PGtkFrame, xalign: gfloat, yalign: gfloat){.
-    cdecl, dynlib: gtklib, importc: "gtk_frame_set_label_align".}
-proc gtk_frame_get_label_align*(frame: PGtkFrame, xalign: Pgfloat,
-                                yalign: Pgfloat){.cdecl, dynlib: gtklib,
-    importc: "gtk_frame_get_label_align".}
-proc gtk_frame_set_shadow_type*(frame: PGtkFrame, thetype: TGtkShadowType){.
-    cdecl, dynlib: gtklib, importc: "gtk_frame_set_shadow_type".}
-proc gtk_frame_get_shadow_type*(frame: PGtkFrame): TGtkShadowType{.cdecl,
-    dynlib: gtklib, importc: "gtk_frame_get_shadow_type".}
-proc GTK_TYPE_ASPECT_FRAME*(): GType
-proc GTK_ASPECT_FRAME*(obj: pointer): PGtkAspectFrame
-proc GTK_ASPECT_FRAME_CLASS*(klass: pointer): PGtkAspectFrameClass
-proc GTK_IS_ASPECT_FRAME*(obj: pointer): bool
-proc GTK_IS_ASPECT_FRAME_CLASS*(klass: pointer): bool
-proc GTK_ASPECT_FRAME_GET_CLASS*(obj: pointer): PGtkAspectFrameClass
-proc gtk_aspect_frame_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_aspect_frame_get_type".}
-proc gtk_aspect_frame_new*(`label`: cstring, xalign: gfloat, yalign: gfloat,
-                           ratio: gfloat, obey_child: gboolean): PGtkAspectFrame {.
-    cdecl, dynlib: gtklib, importc: "gtk_aspect_frame_new".}
-proc gtk_aspect_frame_set*(aspect_frame: PGtkAspectFrame, xalign: gfloat,
-                           yalign: gfloat, ratio: gfloat, obey_child: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_aspect_frame_set".}
-proc GTK_TYPE_ARROW*(): GType
-proc GTK_ARROW*(obj: pointer): PGtkArrow
-proc GTK_ARROW_CLASS*(klass: pointer): PGtkArrowClass
-proc GTK_IS_ARROW*(obj: pointer): bool
-proc GTK_IS_ARROW_CLASS*(klass: pointer): bool
-proc GTK_ARROW_GET_CLASS*(obj: pointer): PGtkArrowClass
-proc gtk_arrow_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_arrow_get_type".}
-proc gtk_arrow_new*(arrow_type: TGtkArrowType, shadow_type: TGtkShadowType): PGtkArrow{.
-    cdecl, dynlib: gtklib, importc: "gtk_arrow_new".}
-proc gtk_arrow_set*(arrow: PGtkArrow, arrow_type: TGtkArrowType,
-                    shadow_type: TGtkShadowType){.cdecl, dynlib: gtklib,
-    importc: "gtk_arrow_set".}
-const
-  bm_TGtkBindingSet_parsed* = 0x00000001'i16
-  bp_TGtkBindingSet_parsed* = 0'i16
-  bm_TGtkBindingEntry_destroyed* = 0x00000001'i16
-  bp_TGtkBindingEntry_destroyed* = 0'i16
-  bm_TGtkBindingEntry_in_emission* = 0x00000002'i16
-  bp_TGtkBindingEntry_in_emission* = 1'i16
-
-proc gtk_binding_entry_add*(binding_set: PGtkBindingSet, keyval: guint,
-                            modifiers: TGdkModifierType)
-proc parsed*(a: var TGtkBindingSet): guint
-proc set_parsed*(a: var TGtkBindingSet, `parsed`: guint)
-proc destroyed*(a: var TGtkBindingEntry): guint
-proc set_destroyed*(a: var TGtkBindingEntry, `destroyed`: guint)
-proc in_emission*(a: var TGtkBindingEntry): guint
-proc set_in_emission*(a: var TGtkBindingEntry, `in_emission`: guint)
-proc gtk_binding_set_new*(set_name: cstring): PGtkBindingSet{.cdecl,
-    dynlib: gtklib, importc: "gtk_binding_set_new".}
-proc gtk_binding_set_by_class*(object_class: gpointer): PGtkBindingSet{.cdecl,
-    dynlib: gtklib, importc: "gtk_binding_set_by_class".}
-proc gtk_binding_set_find*(set_name: cstring): PGtkBindingSet{.cdecl,
-    dynlib: gtklib, importc: "gtk_binding_set_find".}
-proc gtk_bindings_activate*(anObject: PGtkObject, keyval: guint,
-                            modifiers: TGdkModifierType): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_bindings_activate".}
-proc gtk_binding_set_activate*(binding_set: PGtkBindingSet, keyval: guint,
-                               modifiers: TGdkModifierType, anObject: PGtkObject): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_binding_set_activate".}
-proc gtk_binding_entry_clear*(binding_set: PGtkBindingSet, keyval: guint,
-                              modifiers: TGdkModifierType){.cdecl,
-    dynlib: gtklib, importc: "gtk_binding_entry_clear".}
-proc gtk_binding_set_add_path*(binding_set: PGtkBindingSet,
-                               path_type: TGtkPathType, path_pattern: cstring,
-                               priority: TGtkPathPriorityType){.cdecl,
-    dynlib: gtklib, importc: "gtk_binding_set_add_path".}
-proc gtk_binding_entry_remove*(binding_set: PGtkBindingSet, keyval: guint,
-                               modifiers: TGdkModifierType){.cdecl,
-    dynlib: gtklib, importc: "gtk_binding_entry_remove".}
-proc gtk_binding_entry_add_signall*(binding_set: PGtkBindingSet, keyval: guint,
-                                    modifiers: TGdkModifierType,
-                                    signal_name: cstring, binding_args: PGSList){.
-    cdecl, dynlib: gtklib, importc: "gtk_binding_entry_add_signall".}
-proc gtk_binding_parse_binding*(scanner: PGScanner): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_binding_parse_binding".}
-proc gtk_bindings_activate_event*(anObject: PGtkObject, event: PGdkEventKey): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_bindings_activate_event".}
-proc gtk_binding_reset_parsed*(){.cdecl, dynlib: gtklib,
-                                  importc: "_gtk_binding_reset_parsed".}
-const
-  bm_TGtkBox_homogeneous* = 0x00000001'i16
-  bp_TGtkBox_homogeneous* = 0'i16
-  bm_TGtkBoxChild_expand* = 0x00000001'i16
-  bp_TGtkBoxChild_expand* = 0'i16
-  bm_TGtkBoxChild_fill* = 0x00000002'i16
-  bp_TGtkBoxChild_fill* = 1'i16
-  bm_TGtkBoxChild_pack* = 0x00000004'i16
-  bp_TGtkBoxChild_pack* = 2'i16
-  bm_TGtkBoxChild_is_secondary* = 0x00000008'i16
-  bp_TGtkBoxChild_is_secondary* = 3'i16
-
-proc GTK_TYPE_BOX*(): GType
-proc GTK_BOX*(obj: pointer): PGtkBox
-proc GTK_BOX_CLASS*(klass: pointer): PGtkBoxClass
-proc GTK_IS_BOX*(obj: pointer): bool
-proc GTK_IS_BOX_CLASS*(klass: pointer): bool
-proc GTK_BOX_GET_CLASS*(obj: pointer): PGtkBoxClass
-proc homogeneous*(a: var TGtkBox): guint
-proc set_homogeneous*(a: var TGtkBox, `homogeneous`: guint)
-proc expand*(a: var TGtkBoxChild): guint
-proc set_expand*(a: var TGtkBoxChild, `expand`: guint)
-proc fill*(a: var TGtkBoxChild): guint
-proc set_fill*(a: var TGtkBoxChild, `fill`: guint)
-proc pack*(a: var TGtkBoxChild): guint
-proc set_pack*(a: var TGtkBoxChild, `pack`: guint)
-proc is_secondary*(a: var TGtkBoxChild): guint
-proc set_is_secondary*(a: var TGtkBoxChild, `is_secondary`: guint)
-proc gtk_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                    importc: "gtk_box_get_type".}
-proc gtk_box_pack_start*(box: PGtkBox, child: PGtkWidget, expand: gboolean,
-                         fill: gboolean, padding: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_box_pack_start".}
-proc gtk_box_pack_end*(box: PGtkBox, child: PGtkWidget, expand: gboolean,
-                       fill: gboolean, padding: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_box_pack_end".}
-proc gtk_box_pack_start_defaults*(box: PGtkBox, widget: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_box_pack_start_defaults".}
-proc gtk_box_pack_end_defaults*(box: PGtkBox, widget: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_box_pack_end_defaults".}
-proc gtk_box_set_homogeneous*(box: PGtkBox, homogeneous: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_box_set_homogeneous".}
-proc gtk_box_get_homogeneous*(box: PGtkBox): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_box_get_homogeneous".}
-proc gtk_box_set_spacing*(box: PGtkBox, spacing: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_box_set_spacing".}
-proc gtk_box_get_spacing*(box: PGtkBox): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_box_get_spacing".}
-proc gtk_box_reorder_child*(box: PGtkBox, child: PGtkWidget, position: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_box_reorder_child".}
-proc gtk_box_query_child_packing*(box: PGtkBox, child: PGtkWidget,
-                                  expand: Pgboolean, fill: Pgboolean,
-                                  padding: Pguint, pack_type: PGtkPackType){.
-    cdecl, dynlib: gtklib, importc: "gtk_box_query_child_packing".}
-proc gtk_box_set_child_packing*(box: PGtkBox, child: PGtkWidget,
-                                expand: gboolean, fill: gboolean,
-                                padding: guint, pack_type: TGtkPackType){.cdecl,
-    dynlib: gtklib, importc: "gtk_box_set_child_packing".}
-const
-  GTK_BUTTONBOX_DEFAULT* = - (1)
-
-proc GTK_TYPE_BUTTON_BOX*(): GType
-proc GTK_BUTTON_BOX*(obj: pointer): PGtkButtonBox
-proc GTK_BUTTON_BOX_CLASS*(klass: pointer): PGtkButtonBoxClass
-proc GTK_IS_BUTTON_BOX*(obj: pointer): bool
-proc GTK_IS_BUTTON_BOX_CLASS*(klass: pointer): bool
-proc GTK_BUTTON_BOX_GET_CLASS*(obj: pointer): PGtkButtonBoxClass
-proc gtk_button_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_button_box_get_type".}
-proc gtk_button_box_get_layout*(widget: PGtkButtonBox): TGtkButtonBoxStyle{.
-    cdecl, dynlib: gtklib, importc: "gtk_button_box_get_layout".}
-proc gtk_button_box_set_layout*(widget: PGtkButtonBox,
-                                layout_style: TGtkButtonBoxStyle){.cdecl,
-    dynlib: gtklib, importc: "gtk_button_box_set_layout".}
-proc gtk_button_box_set_child_secondary*(widget: PGtkButtonBox,
-    child: PGtkWidget, is_secondary: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_button_box_set_child_secondary".}
-proc gtk_button_box_child_requisition*(widget: PGtkWidget,
-    nvis_children: var int32, nvis_secondaries: var int32, width: var int32,
-    height: var int32){.cdecl, dynlib: gtklib,
-                       importc: "_gtk_button_box_child_requisition".}
-const
-  bm_TGtkButton_constructed* = 0x00000001'i16
-  bp_TGtkButton_constructed* = 0'i16
-  bm_TGtkButton_in_button* = 0x00000002'i16
-  bp_TGtkButton_in_button* = 1'i16
-  bm_TGtkButton_button_down* = 0x00000004'i16
-  bp_TGtkButton_button_down* = 2'i16
-  bm_TGtkButton_relief* = 0x00000018'i16
-  bp_TGtkButton_relief* = 3'i16
-  bm_TGtkButton_use_underline* = 0x00000020'i16
-  bp_TGtkButton_use_underline* = 5'i16
-  bm_TGtkButton_use_stock* = 0x00000040'i16
-  bp_TGtkButton_use_stock* = 6'i16
-  bm_TGtkButton_depressed* = 0x00000080'i16
-  bp_TGtkButton_depressed* = 7'i16
-  bm_TGtkButton_depress_on_activate* = 0x00000100'i16
-  bp_TGtkButton_depress_on_activate* = 8'i16
-
-proc GTK_TYPE_BUTTON*(): GType
-proc GTK_BUTTON*(obj: pointer): PGtkButton
-proc GTK_BUTTON_CLASS*(klass: pointer): PGtkButtonClass
-proc GTK_IS_BUTTON*(obj: pointer): bool
-proc GTK_IS_BUTTON_CLASS*(klass: pointer): bool
-proc GTK_BUTTON_GET_CLASS*(obj: pointer): PGtkButtonClass
-proc constructed*(a: var TGtkButton): guint
-proc set_constructed*(a: var TGtkButton, `constructed`: guint)
-proc in_button*(a: var TGtkButton): guint
-proc set_in_button*(a: var TGtkButton, `in_button`: guint)
-proc button_down*(a: var TGtkButton): guint
-proc set_button_down*(a: var TGtkButton, `button_down`: guint)
-proc relief*(a: var TGtkButton): guint
-proc set_relief*(a: var TGtkButton, `relief`: guint)
-proc use_underline*(a: var TGtkButton): guint
-proc set_use_underline*(a: var TGtkButton, `use_underline`: guint)
-proc use_stock*(a: var TGtkButton): guint
-proc set_use_stock*(a: var TGtkButton, `use_stock`: guint)
-proc depressed*(a: var TGtkButton): guint
-proc set_depressed*(a: var TGtkButton, `depressed`: guint)
-proc depress_on_activate*(a: var TGtkButton): guint
-proc set_depress_on_activate*(a: var TGtkButton, `depress_on_activate`: guint)
-proc gtk_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_button_get_type".}
-proc gtk_button_new*(): PGtkButton {.cdecl, dynlib: gtklib,
-                                    importc: "gtk_button_new".}
-proc gtk_button_new_with_label*(`label`: cstring): PGtkButton {.cdecl,
-    dynlib: gtklib, importc: "gtk_button_new_with_label".}
-proc gtk_button_new_from_stock*(stock_id: cstring): PGtkButton {.cdecl,
-    dynlib: gtklib, importc: "gtk_button_new_from_stock".}
-proc gtk_button_new_with_mnemonic*(`label`: cstring): PGtkButton {.cdecl,
-    dynlib: gtklib, importc: "gtk_button_new_with_mnemonic".}
-proc gtk_button_pressed*(button: PGtkButton){.cdecl, dynlib: gtklib,
-    importc: "gtk_button_pressed".}
-proc gtk_button_released*(button: PGtkButton){.cdecl, dynlib: gtklib,
-    importc: "gtk_button_released".}
-proc gtk_button_clicked*(button: PGtkButton){.cdecl, dynlib: gtklib,
-    importc: "gtk_button_clicked".}
-proc gtk_button_enter*(button: PGtkButton){.cdecl, dynlib: gtklib,
-    importc: "gtk_button_enter".}
-proc gtk_button_leave*(button: PGtkButton){.cdecl, dynlib: gtklib,
-    importc: "gtk_button_leave".}
-proc gtk_button_set_relief*(button: PGtkButton, newstyle: TGtkReliefStyle){.
-    cdecl, dynlib: gtklib, importc: "gtk_button_set_relief".}
-proc gtk_button_get_relief*(button: PGtkButton): TGtkReliefStyle{.cdecl,
-    dynlib: gtklib, importc: "gtk_button_get_relief".}
-proc gtk_button_set_label*(button: PGtkButton, `label`: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_button_set_label".}
-proc gtk_button_get_label*(button: PGtkButton): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_button_get_label".}
-proc gtk_button_set_use_underline*(button: PGtkButton, use_underline: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_button_set_use_underline".}
-proc gtk_button_get_use_underline*(button: PGtkButton): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_button_get_use_underline".}
-proc gtk_button_set_use_stock*(button: PGtkButton, use_stock: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_button_set_use_stock".}
-proc gtk_button_get_use_stock*(button: PGtkButton): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_button_get_use_stock".}
-proc gtk_button_set_depressed*(button: PGtkButton, depressed: gboolean){.
-    cdecl, dynlib: gtklib, importc: "_gtk_button_set_depressed".}
-proc gtk_button_paint*(button: PGtkButton, area: PGdkRectangle,
-                         state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                         main_detail: cstring, default_detail: cstring){.cdecl,
-    dynlib: gtklib, importc: "_gtk_button_paint".}
-proc gtk_button_set_image*(button: PGtkButton, image: PGtkWidget) {.cdecl,
-    dynlib: gtklib, importc.}
-proc gtk_button_get_image*(button: PGtkButton): PGtkWidget {.cdecl, 
-    dynlib: gtklib, importc.}
-    
-const
-  GTK_CALENDAR_SHOW_HEADING* = 1 shl 0
-  GTK_CALENDAR_SHOW_DAY_NAMES* = 1 shl 1
-  GTK_CALENDAR_NO_MONTH_CHANGE* = 1 shl 2
-  GTK_CALENDAR_SHOW_WEEK_NUMBERS* = 1 shl 3
-  GTK_CALENDAR_WEEK_START_MONDAY* = 1 shl 4
-
-proc GTK_TYPE_CALENDAR*(): GType
-proc GTK_CALENDAR*(obj: pointer): PGtkCalendar
-proc GTK_CALENDAR_CLASS*(klass: pointer): PGtkCalendarClass
-proc GTK_IS_CALENDAR*(obj: pointer): bool
-proc GTK_IS_CALENDAR_CLASS*(klass: pointer): bool
-proc GTK_CALENDAR_GET_CLASS*(obj: pointer): PGtkCalendarClass
-proc gtk_calendar_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_calendar_get_type".}
-proc gtk_calendar_new*(): PGtkCalendar {.cdecl, dynlib: gtklib,
-                                      importc: "gtk_calendar_new".}
-proc gtk_calendar_select_month*(calendar: PGtkCalendar, month: guint,
-                                year: guint): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_calendar_select_month".}
-proc gtk_calendar_select_day*(calendar: PGtkCalendar, day: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_calendar_select_day".}
-proc gtk_calendar_mark_day*(calendar: PGtkCalendar, day: guint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_calendar_mark_day".}
-proc gtk_calendar_unmark_day*(calendar: PGtkCalendar, day: guint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_calendar_unmark_day".}
-proc gtk_calendar_clear_marks*(calendar: PGtkCalendar){.cdecl, dynlib: gtklib,
-    importc: "gtk_calendar_clear_marks".}
-proc gtk_calendar_display_options*(calendar: PGtkCalendar,
-                                   flags: TGtkCalendarDisplayOptions){.cdecl,
-    dynlib: gtklib, importc: "gtk_calendar_display_options".}
-proc gtk_calendar_get_date*(calendar: PGtkCalendar, year: Pguint, month: Pguint,
-                            day: Pguint){.cdecl, dynlib: gtklib,
-    importc: "gtk_calendar_get_date".}
-proc gtk_calendar_freeze*(calendar: PGtkCalendar){.cdecl, dynlib: gtklib,
-    importc: "gtk_calendar_freeze".}
-proc gtk_calendar_thaw*(calendar: PGtkCalendar){.cdecl, dynlib: gtklib,
-    importc: "gtk_calendar_thaw".}
-proc GTK_TYPE_CELL_EDITABLE*(): GType
-proc GTK_CELL_EDITABLE*(obj: pointer): PGtkCellEditable
-proc GTK_CELL_EDITABLE_CLASS*(obj: pointer): PGtkCellEditableIface
-proc GTK_IS_CELL_EDITABLE*(obj: pointer): bool
-proc GTK_CELL_EDITABLE_GET_IFACE*(obj: pointer): PGtkCellEditableIface
-proc gtk_cell_editable_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_editable_get_type".}
-proc gtk_cell_editable_start_editing*(cell_editable: PGtkCellEditable,
-                                      event: PGdkEvent){.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_editable_start_editing".}
-proc gtk_cell_editable_editing_done*(cell_editable: PGtkCellEditable){.cdecl,
-    dynlib: gtklib, importc: "gtk_cell_editable_editing_done".}
-proc gtk_cell_editable_remove_widget*(cell_editable: PGtkCellEditable){.cdecl,
-    dynlib: gtklib, importc: "gtk_cell_editable_remove_widget".}
-const
-  GTK_CELL_RENDERER_SELECTED* = 1 shl 0
-  GTK_CELL_RENDERER_PRELIT* = 1 shl 1
-  GTK_CELL_RENDERER_INSENSITIVE* = 1 shl 2
-  GTK_CELL_RENDERER_SORTED* = 1 shl 3
-
-const
-  bm_TGtkCellRenderer_mode* = 0x00000003'i16
-  bp_TGtkCellRenderer_mode* = 0'i16
-  bm_TGtkCellRenderer_visible* = 0x00000004'i16
-  bp_TGtkCellRenderer_visible* = 2'i16
-  bm_TGtkCellRenderer_is_expander* = 0x00000008'i16
-  bp_TGtkCellRenderer_is_expander* = 3'i16
-  bm_TGtkCellRenderer_is_expanded* = 0x00000010'i16
-  bp_TGtkCellRenderer_is_expanded* = 4'i16
-  bm_TGtkCellRenderer_cell_background_set* = 0x00000020'i16
-  bp_TGtkCellRenderer_cell_background_set* = 5'i16
-
-proc GTK_TYPE_CELL_RENDERER*(): GType
-proc GTK_CELL_RENDERER*(obj: pointer): PGtkCellRenderer
-proc GTK_CELL_RENDERER_CLASS*(klass: pointer): PGtkCellRendererClass
-proc GTK_IS_CELL_RENDERER*(obj: pointer): bool
-proc GTK_IS_CELL_RENDERER_CLASS*(klass: pointer): bool
-proc GTK_CELL_RENDERER_GET_CLASS*(obj: pointer): PGtkCellRendererClass
-proc mode*(a: var TGtkCellRenderer): guint
-proc set_mode*(a: var TGtkCellRenderer, `mode`: guint)
-proc visible*(a: var TGtkCellRenderer): guint
-proc set_visible*(a: var TGtkCellRenderer, `visible`: guint)
-proc is_expander*(a: var TGtkCellRenderer): guint
-proc set_is_expander*(a: var TGtkCellRenderer, `is_expander`: guint)
-proc is_expanded*(a: var TGtkCellRenderer): guint
-proc set_is_expanded*(a: var TGtkCellRenderer, `is_expanded`: guint)
-proc cell_background_set*(a: var TGtkCellRenderer): guint
-proc set_cell_background_set*(a: var TGtkCellRenderer,
-                              `cell_background_set`: guint)
-proc gtk_cell_renderer_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_get_type".}
-proc gtk_cell_renderer_get_size*(cell: PGtkCellRenderer, widget: PGtkWidget,
-                                 cell_area: PGdkRectangle, x_offset: Pgint,
-                                 y_offset: Pgint, width: Pgint, height: Pgint){.
-    cdecl, dynlib: gtklib, importc: "gtk_cell_renderer_get_size".}
-proc gtk_cell_renderer_render*(cell: PGtkCellRenderer, window: PGdkWindow,
-                               widget: PGtkWidget,
-                               background_area: PGdkRectangle,
-                               cell_area: PGdkRectangle,
-                               expose_area: PGdkRectangle,
-                               flags: TGtkCellRendererState){.cdecl,
-    dynlib: gtklib, importc: "gtk_cell_renderer_render".}
-proc gtk_cell_renderer_activate*(cell: PGtkCellRenderer, event: PGdkEvent,
-                                 widget: PGtkWidget, path: cstring,
-                                 background_area: PGdkRectangle,
-                                 cell_area: PGdkRectangle,
-                                 flags: TGtkCellRendererState): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_cell_renderer_activate".}
-proc gtk_cell_renderer_start_editing*(cell: PGtkCellRenderer, event: PGdkEvent,
-                                      widget: PGtkWidget, path: cstring,
-                                      background_area: PGdkRectangle,
-                                      cell_area: PGdkRectangle,
-                                      flags: TGtkCellRendererState): PGtkCellEditable{.
-    cdecl, dynlib: gtklib, importc: "gtk_cell_renderer_start_editing".}
-proc gtk_cell_renderer_set_fixed_size*(cell: PGtkCellRenderer, width: gint,
-                                       height: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_set_fixed_size".}
-proc gtk_cell_renderer_get_fixed_size*(cell: PGtkCellRenderer, width: Pgint,
-                                       height: Pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_get_fixed_size".}
-const
-  bm_TGtkCellRendererText_strikethrough* = 0x00000001'i16
-  bp_TGtkCellRendererText_strikethrough* = 0'i16
-  bm_TGtkCellRendererText_editable* = 0x00000002'i16
-  bp_TGtkCellRendererText_editable* = 1'i16
-  bm_TGtkCellRendererText_scale_set* = 0x00000004'i16
-  bp_TGtkCellRendererText_scale_set* = 2'i16
-  bm_TGtkCellRendererText_foreground_set* = 0x00000008'i16
-  bp_TGtkCellRendererText_foreground_set* = 3'i16
-  bm_TGtkCellRendererText_background_set* = 0x00000010'i16
-  bp_TGtkCellRendererText_background_set* = 4'i16
-  bm_TGtkCellRendererText_underline_set* = 0x00000020'i16
-  bp_TGtkCellRendererText_underline_set* = 5'i16
-  bm_TGtkCellRendererText_rise_set* = 0x00000040'i16
-  bp_TGtkCellRendererText_rise_set* = 6'i16
-  bm_TGtkCellRendererText_strikethrough_set* = 0x00000080'i16
-  bp_TGtkCellRendererText_strikethrough_set* = 7'i16
-  bm_TGtkCellRendererText_editable_set* = 0x00000100'i16
-  bp_TGtkCellRendererText_editable_set* = 8'i16
-  bm_TGtkCellRendererText_calc_fixed_height* = 0x00000200'i16
-  bp_TGtkCellRendererText_calc_fixed_height* = 9'i16
-
-proc GTK_TYPE_CELL_RENDERER_TEXT*(): GType
-proc GTK_CELL_RENDERER_TEXT*(obj: pointer): PGtkCellRendererText
-proc GTK_CELL_RENDERER_TEXT_CLASS*(klass: pointer): PGtkCellRendererTextClass
-proc GTK_IS_CELL_RENDERER_TEXT*(obj: pointer): bool
-proc GTK_IS_CELL_RENDERER_TEXT_CLASS*(klass: pointer): bool
-proc GTK_CELL_RENDERER_TEXT_GET_CLASS*(obj: pointer): PGtkCellRendererTextClass
-proc strikethrough*(a: var TGtkCellRendererText): guint
-proc set_strikethrough*(a: var TGtkCellRendererText, `strikethrough`: guint)
-proc editable*(a: var TGtkCellRendererText): guint
-proc set_editable*(a: var TGtkCellRendererText, `editable`: guint)
-proc scale_set*(a: var TGtkCellRendererText): guint
-proc set_scale_set*(a: var TGtkCellRendererText, `scale_set`: guint)
-proc foreground_set*(a: var TGtkCellRendererText): guint
-proc set_foreground_set*(a: var TGtkCellRendererText, `foreground_set`: guint)
-proc background_set*(a: var TGtkCellRendererText): guint
-proc set_background_set*(a: var TGtkCellRendererText, `background_set`: guint)
-proc underline_set*(a: var TGtkCellRendererText): guint
-proc set_underline_set*(a: var TGtkCellRendererText, `underline_set`: guint)
-proc rise_set*(a: var TGtkCellRendererText): guint
-proc set_rise_set*(a: var TGtkCellRendererText, `rise_set`: guint)
-proc strikethrough_set*(a: var TGtkCellRendererText): guint
-proc set_strikethrough_set*(a: var TGtkCellRendererText,
-                            `strikethrough_set`: guint)
-proc editable_set*(a: var TGtkCellRendererText): guint
-proc set_editable_set*(a: var TGtkCellRendererText, `editable_set`: guint)
-proc calc_fixed_height*(a: var TGtkCellRendererText): guint
-proc set_calc_fixed_height*(a: var TGtkCellRendererText,
-                            `calc_fixed_height`: guint)
-proc gtk_cell_renderer_text_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_text_get_type".}
-proc gtk_cell_renderer_text_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_text_new".}
-proc gtk_cell_renderer_text_set_fixed_height_from_font*(
-    renderer: PGtkCellRendererText, number_of_rows: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_cell_renderer_text_set_fixed_height_from_font".}
-const
-  bm_TGtkCellRendererToggle_active* = 0x00000001'i16
-  bp_TGtkCellRendererToggle_active* = 0'i16
-  bm_TGtkCellRendererToggle_activatable* = 0x00000002'i16
-  bp_TGtkCellRendererToggle_activatable* = 1'i16
-  bm_TGtkCellRendererToggle_radio* = 0x00000004'i16
-  bp_TGtkCellRendererToggle_radio* = 2'i16
-
-proc GTK_TYPE_CELL_RENDERER_TOGGLE*(): GType
-proc GTK_CELL_RENDERER_TOGGLE*(obj: pointer): PGtkCellRendererToggle
-proc GTK_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): PGtkCellRendererToggleClass
-proc GTK_IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool
-proc GTK_IS_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): bool
-proc GTK_CELL_RENDERER_TOGGLE_GET_CLASS*(obj: pointer): PGtkCellRendererToggleClass
-proc active*(a: var TGtkCellRendererToggle): guint
-proc set_active*(a: var TGtkCellRendererToggle, `active`: guint)
-proc activatable*(a: var TGtkCellRendererToggle): guint
-proc set_activatable*(a: var TGtkCellRendererToggle, `activatable`: guint)
-proc radio*(a: var TGtkCellRendererToggle): guint
-proc set_radio*(a: var TGtkCellRendererToggle, `radio`: guint)
-proc gtk_cell_renderer_toggle_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_toggle_get_type".}
-proc gtk_cell_renderer_toggle_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_toggle_new".}
-proc gtk_cell_renderer_toggle_get_radio*(toggle: PGtkCellRendererToggle): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_cell_renderer_toggle_get_radio".}
-proc gtk_cell_renderer_toggle_set_radio*(toggle: PGtkCellRendererToggle,
-    radio: gboolean){.cdecl, dynlib: gtklib,
-                      importc: "gtk_cell_renderer_toggle_set_radio".}
-proc gtk_cell_renderer_toggle_get_active*(toggle: PGtkCellRendererToggle): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_cell_renderer_toggle_get_active".}
-proc gtk_cell_renderer_toggle_set_active*(toggle: PGtkCellRendererToggle,
-    setting: gboolean){.cdecl, dynlib: gtklib,
-                        importc: "gtk_cell_renderer_toggle_set_active".}
-proc GTK_TYPE_CELL_RENDERER_PIXBUF*(): GType
-proc GTK_CELL_RENDERER_PIXBUF*(obj: pointer): PGtkCellRendererPixbuf
-proc GTK_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): PGtkCellRendererPixbufClass
-proc GTK_IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool
-proc GTK_IS_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): bool
-proc GTK_CELL_RENDERER_PIXBUF_GET_CLASS*(obj: pointer): PGtkCellRendererPixbufClass
-proc gtk_cell_renderer_pixbuf_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_pixbuf_get_type".}
-proc gtk_cell_renderer_pixbuf_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib,
-    importc: "gtk_cell_renderer_pixbuf_new".}
-proc GTK_TYPE_ITEM*(): GType
-proc GTK_ITEM*(obj: pointer): PGtkItem
-proc GTK_ITEM_CLASS*(klass: pointer): PGtkItemClass
-proc GTK_IS_ITEM*(obj: pointer): bool
-proc GTK_IS_ITEM_CLASS*(klass: pointer): bool
-proc GTK_ITEM_GET_CLASS*(obj: pointer): PGtkItemClass
-proc gtk_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_item_get_type".}
-proc gtk_item_select*(item: PGtkItem){.cdecl, dynlib: gtklib,
-                                       importc: "gtk_item_select".}
-proc gtk_item_deselect*(item: PGtkItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_item_deselect".}
-proc gtk_item_toggle*(item: PGtkItem){.cdecl, dynlib: gtklib,
-                                       importc: "gtk_item_toggle".}
-const
-  bm_TGtkMenuItem_show_submenu_indicator* = 0x00000001'i16
-  bp_TGtkMenuItem_show_submenu_indicator* = 0'i16
-  bm_TGtkMenuItem_submenu_placement* = 0x00000002'i16
-  bp_TGtkMenuItem_submenu_placement* = 1'i16
-  bm_TGtkMenuItem_submenu_direction* = 0x00000004'i16
-  bp_TGtkMenuItem_submenu_direction* = 2'i16
-  bm_TGtkMenuItem_right_justify* = 0x00000008'i16
-  bp_TGtkMenuItem_right_justify* = 3'i16
-  bm_TGtkMenuItem_timer_from_keypress* = 0x00000010'i16
-  bp_TGtkMenuItem_timer_from_keypress* = 4'i16
-  bm_TGtkMenuItemClass_hide_on_activate* = 0x00000001'i16
-  bp_TGtkMenuItemClass_hide_on_activate* = 0'i16
-
-proc GTK_TYPE_MENU_ITEM*(): GType
-proc GTK_MENU_ITEM*(obj: pointer): PGtkMenuItem
-proc GTK_MENU_ITEM_CLASS*(klass: pointer): PGtkMenuItemClass
-proc GTK_IS_MENU_ITEM*(obj: pointer): bool
-proc GTK_IS_MENU_ITEM_CLASS*(klass: pointer): bool
-proc GTK_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkMenuItemClass
-proc show_submenu_indicator*(a: var TGtkMenuItem): guint
-proc set_show_submenu_indicator*(a: var TGtkMenuItem,
-                                 `show_submenu_indicator`: guint)
-proc submenu_placement*(a: var TGtkMenuItem): guint
-proc set_submenu_placement*(a: var TGtkMenuItem, `submenu_placement`: guint)
-proc submenu_direction*(a: var TGtkMenuItem): guint
-proc set_submenu_direction*(a: var TGtkMenuItem, `submenu_direction`: guint)
-proc right_justify*(a: var TGtkMenuItem): guint
-proc set_right_justify*(a: var TGtkMenuItem, `right_justify`: guint)
-proc timer_from_keypress*(a: var TGtkMenuItem): guint
-proc set_timer_from_keypress*(a: var TGtkMenuItem, `timer_from_keypress`: guint)
-proc hide_on_activate*(a: var TGtkMenuItemClass): guint
-proc set_hide_on_activate*(a: var TGtkMenuItemClass, `hide_on_activate`: guint)
-proc gtk_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_item_get_type".}
-proc gtk_menu_item_new*(): PGtkMenuItem {.cdecl, dynlib: gtklib,
-                                       importc: "gtk_menu_item_new".}
-proc gtk_menu_item_new_with_label*(`label`: cstring): PGtkMenuItem {.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_item_new_with_label".}
-proc gtk_menu_item_new_with_mnemonic*(`label`: cstring): PGtkMenuItem {.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_item_new_with_mnemonic".}
-proc gtk_menu_item_set_submenu*(menu_item: PGtkMenuItem, submenu: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_menu_item_set_submenu".}
-proc gtk_menu_item_get_submenu*(menu_item: PGtkMenuItem): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_item_get_submenu".}
-proc gtk_menu_item_remove_submenu*(menu_item: PGtkMenuItem){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_item_remove_submenu".}
-proc gtk_menu_item_select*(menu_item: PGtkMenuItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_item_select".}
-proc gtk_menu_item_deselect*(menu_item: PGtkMenuItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_item_deselect".}
-proc gtk_menu_item_activate*(menu_item: PGtkMenuItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_item_activate".}
-proc gtk_menu_item_toggle_size_request*(menu_item: PGtkMenuItem,
-                                        requisition: Pgint){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_item_toggle_size_request".}
-proc gtk_menu_item_toggle_size_allocate*(menu_item: PGtkMenuItem,
-    allocation: gint){.cdecl, dynlib: gtklib,
-                       importc: "gtk_menu_item_toggle_size_allocate".}
-proc gtk_menu_item_set_right_justified*(menu_item: PGtkMenuItem,
-                                        right_justified: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_item_set_right_justified".}
-proc gtk_menu_item_get_right_justified*(menu_item: PGtkMenuItem): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_menu_item_get_right_justified".}
-proc gtk_menu_item_set_accel_path*(menu_item: PGtkMenuItem, accel_path: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_menu_item_set_accel_path".}
-proc gtk_menu_item_refresh_accel_path*(menu_item: PGtkMenuItem,
-    prefix: cstring, accel_group: PGtkAccelGroup, group_changed: gboolean){.
-    cdecl, dynlib: gtklib, importc: "_gtk_menu_item_refresh_accel_path".}
-proc gtk_menu_item_is_selectable*(menu_item: PGtkWidget): gboolean{.cdecl,
-    dynlib: gtklib, importc: "_gtk_menu_item_is_selectable".}
-const
-  bm_TGtkToggleButton_active* = 0x00000001'i16
-  bp_TGtkToggleButton_active* = 0'i16
-  bm_TGtkToggleButton_draw_indicator* = 0x00000002'i16
-  bp_TGtkToggleButton_draw_indicator* = 1'i16
-  bm_TGtkToggleButton_inconsistent* = 0x00000004'i16
-  bp_TGtkToggleButton_inconsistent* = 2'i16
-
-proc GTK_TYPE_TOGGLE_BUTTON*(): GType
-proc GTK_TOGGLE_BUTTON*(obj: pointer): PGtkToggleButton
-proc GTK_TOGGLE_BUTTON_CLASS*(klass: pointer): PGtkToggleButtonClass
-proc GTK_IS_TOGGLE_BUTTON*(obj: pointer): bool
-proc GTK_IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool
-proc GTK_TOGGLE_BUTTON_GET_CLASS*(obj: pointer): PGtkToggleButtonClass
-proc active*(a: var TGtkToggleButton): guint
-proc set_active*(a: var TGtkToggleButton, `active`: guint)
-proc draw_indicator*(a: var TGtkToggleButton): guint
-proc set_draw_indicator*(a: var TGtkToggleButton, `draw_indicator`: guint)
-proc inconsistent*(a: var TGtkToggleButton): guint
-proc set_inconsistent*(a: var TGtkToggleButton, `inconsistent`: guint)
-proc gtk_toggle_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_toggle_button_get_type".}
-proc gtk_toggle_button_new*(): PGtkToggleButton {.cdecl, dynlib: gtklib,
-    importc: "gtk_toggle_button_new".}
-proc gtk_toggle_button_new_with_label*(`label`: cstring): PGtkToggleButton {.cdecl,
-    dynlib: gtklib, importc: "gtk_toggle_button_new_with_label".}
-proc gtk_toggle_button_new_with_mnemonic*(`label`: cstring): PGtkToggleButton {.cdecl,
-    dynlib: gtklib, importc: "gtk_toggle_button_new_with_mnemonic".}
-proc gtk_toggle_button_set_mode*(toggle_button: PGtkToggleButton,
-                                 draw_indicator: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_toggle_button_set_mode".}
-proc gtk_toggle_button_get_mode*(toggle_button: PGtkToggleButton): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_toggle_button_get_mode".}
-proc gtk_toggle_button_set_active*(toggle_button: PGtkToggleButton,
-                                   is_active: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_toggle_button_set_active".}
-proc gtk_toggle_button_get_active*(toggle_button: PGtkToggleButton): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_toggle_button_get_active".}
-proc gtk_toggle_button_toggled*(toggle_button: PGtkToggleButton){.cdecl,
-    dynlib: gtklib, importc: "gtk_toggle_button_toggled".}
-proc gtk_toggle_button_set_inconsistent*(toggle_button: PGtkToggleButton,
-    setting: gboolean){.cdecl, dynlib: gtklib,
-                        importc: "gtk_toggle_button_set_inconsistent".}
-proc gtk_toggle_button_get_inconsistent*(toggle_button: PGtkToggleButton): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_toggle_button_get_inconsistent".}
-proc GTK_TYPE_CHECK_BUTTON*(): GType
-proc GTK_CHECK_BUTTON*(obj: pointer): PGtkCheckButton
-proc GTK_CHECK_BUTTON_CLASS*(klass: pointer): PGtkCheckButtonClass
-proc GTK_IS_CHECK_BUTTON*(obj: pointer): bool
-proc GTK_IS_CHECK_BUTTON_CLASS*(klass: pointer): bool
-proc GTK_CHECK_BUTTON_GET_CLASS*(obj: pointer): PGtkCheckButtonClass
-proc gtk_check_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_check_button_get_type".}
-proc gtk_check_button_new*(): PGtkCheckButton{.cdecl, dynlib: gtklib,
-    importc: "gtk_check_button_new".}
-proc gtk_check_button_new_with_label*(`label`: cstring): PGtkCheckButton{.cdecl,
-    dynlib: gtklib, importc: "gtk_check_button_new_with_label".}
-proc gtk_check_button_new_with_mnemonic*(`label`: cstring): PGtkCheckButton {.cdecl,
-    dynlib: gtklib, importc: "gtk_check_button_new_with_mnemonic".}
-proc gtk_check_button_get_props*(check_button: PGtkCheckButton,
-                                   indicator_size: Pgint,
-                                   indicator_spacing: Pgint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_check_button_get_props".}
-const
-  bm_TGtkCheckMenuItem_active* = 0x00000001'i16
-  bp_TGtkCheckMenuItem_active* = 0'i16
-  bm_TGtkCheckMenuItem_always_show_toggle* = 0x00000002'i16
-  bp_TGtkCheckMenuItem_always_show_toggle* = 1'i16
-  bm_TGtkCheckMenuItem_inconsistent* = 0x00000004'i16
-  bp_TGtkCheckMenuItem_inconsistent* = 2'i16
-
-proc GTK_TYPE_CHECK_MENU_ITEM*(): GType
-proc GTK_CHECK_MENU_ITEM*(obj: pointer): PGtkCheckMenuItem
-proc GTK_CHECK_MENU_ITEM_CLASS*(klass: pointer): PGtkCheckMenuItemClass
-proc GTK_IS_CHECK_MENU_ITEM*(obj: pointer): bool
-proc GTK_IS_CHECK_MENU_ITEM_CLASS*(klass: pointer): bool
-proc GTK_CHECK_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkCheckMenuItemClass
-proc active*(a: var TGtkCheckMenuItem): guint
-proc set_active*(a: var TGtkCheckMenuItem, `active`: guint)
-proc always_show_toggle*(a: var TGtkCheckMenuItem): guint
-proc set_always_show_toggle*(a: var TGtkCheckMenuItem,
-                             `always_show_toggle`: guint)
-proc inconsistent*(a: var TGtkCheckMenuItem): guint
-proc set_inconsistent*(a: var TGtkCheckMenuItem, `inconsistent`: guint)
-proc gtk_check_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_check_menu_item_get_type".}
-proc gtk_check_menu_item_new*(): PGtkWidget{.cdecl, dynlib: gtklib,
-    importc: "gtk_check_menu_item_new".}
-proc gtk_check_menu_item_new_with_label*(`label`: cstring): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_check_menu_item_new_with_label".}
-proc gtk_check_menu_item_new_with_mnemonic*(`label`: cstring): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_check_menu_item_new_with_mnemonic".}
-proc gtk_check_menu_item_set_active*(check_menu_item: PGtkCheckMenuItem,
-                                     is_active: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_check_menu_item_set_active".}
-proc gtk_check_menu_item_get_active*(check_menu_item: PGtkCheckMenuItem): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_check_menu_item_get_active".}
-proc gtk_check_menu_item_toggled*(check_menu_item: PGtkCheckMenuItem){.cdecl,
-    dynlib: gtklib, importc: "gtk_check_menu_item_toggled".}
-proc gtk_check_menu_item_set_inconsistent*(check_menu_item: PGtkCheckMenuItem,
-    setting: gboolean){.cdecl, dynlib: gtklib,
-                        importc: "gtk_check_menu_item_set_inconsistent".}
-proc gtk_check_menu_item_get_inconsistent*(check_menu_item: PGtkCheckMenuItem): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_check_menu_item_get_inconsistent".}
-proc gtk_clipboard_get_for_display*(display: PGdkDisplay, selection: TGdkAtom): PGtkClipboard{.
-    cdecl, dynlib: gtklib, importc: "gtk_clipboard_get_for_display".}
-proc gtk_clipboard_get_display*(clipboard: PGtkClipboard): PGdkDisplay{.cdecl,
-    dynlib: gtklib, importc: "gtk_clipboard_get_display".}
-proc gtk_clipboard_set_with_data*(clipboard: PGtkClipboard,
-                                  targets: PGtkTargetEntry, n_targets: guint,
-                                  get_func: TGtkClipboardGetFunc,
-                                  clear_func: TGtkClipboardClearFunc,
-                                  user_data: gpointer): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_clipboard_set_with_data".}
-proc gtk_clipboard_set_with_owner*(clipboard: PGtkClipboard,
-                                   targets: PGtkTargetEntry, n_targets: guint,
-                                   get_func: TGtkClipboardGetFunc,
-                                   clear_func: TGtkClipboardClearFunc,
-                                   owner: PGObject): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_clipboard_set_with_owner".}
-proc gtk_clipboard_get_owner*(clipboard: PGtkClipboard): PGObject{.cdecl,
-    dynlib: gtklib, importc: "gtk_clipboard_get_owner".}
-proc gtk_clipboard_clear*(clipboard: PGtkClipboard){.cdecl, dynlib: gtklib,
-    importc: "gtk_clipboard_clear".}
-proc gtk_clipboard_set_text*(clipboard: PGtkClipboard, text: cstring, len: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_clipboard_set_text".}
-proc gtk_clipboard_request_contents*(clipboard: PGtkClipboard, target: TGdkAtom,
-                                     callback: TGtkClipboardReceivedFunc,
-                                     user_data: gpointer){.cdecl,
-    dynlib: gtklib, importc: "gtk_clipboard_request_contents".}
-proc gtk_clipboard_request_text*(clipboard: PGtkClipboard,
-                                 callback: TGtkClipboardTextReceivedFunc,
-                                 user_data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_clipboard_request_text".}
-proc gtk_clipboard_wait_for_contents*(clipboard: PGtkClipboard, target: TGdkAtom): PGtkSelectionData{.
-    cdecl, dynlib: gtklib, importc: "gtk_clipboard_wait_for_contents".}
-proc gtk_clipboard_wait_for_text*(clipboard: PGtkClipboard): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_clipboard_wait_for_text".}
-proc gtk_clipboard_wait_is_text_available*(clipboard: PGtkClipboard): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_clipboard_wait_is_text_available".}
-const
-  GTK_CLIST_IN_DRAG* = 1 shl 0
-  GTK_CLIST_ROW_HEIGHT_SET* = 1 shl 1
-  GTK_CLIST_SHOW_TITLES* = 1 shl 2
-  GTK_CLIST_ADD_MODE* = 1 shl 4
-  GTK_CLIST_AUTO_SORT* = 1 shl 5
-  GTK_CLIST_AUTO_RESIZE_BLOCKED* = 1 shl 6
-  GTK_CLIST_REORDERABLE* = 1 shl 7
-  GTK_CLIST_USE_DRAG_ICONS* = 1 shl 8
-  GTK_CLIST_DRAW_DRAG_LINE* = 1 shl 9
-  GTK_CLIST_DRAW_DRAG_RECT* = 1 shl 10
-  GTK_BUTTON_IGNORED* = 0
-  GTK_BUTTON_SELECTS* = 1 shl 0
-  GTK_BUTTON_DRAGS* = 1 shl 1
-  GTK_BUTTON_EXPANDS* = 1 shl 2
-
-const
-  bm_TGtkCListColumn_visible* = 0x00000001'i16
-  bp_TGtkCListColumn_visible* = 0'i16
-  bm_TGtkCListColumn_width_set* = 0x00000002'i16
-  bp_TGtkCListColumn_width_set* = 1'i16
-  bm_TGtkCListColumn_resizeable* = 0x00000004'i16
-  bp_TGtkCListColumn_resizeable* = 2'i16
-  bm_TGtkCListColumn_auto_resize* = 0x00000008'i16
-  bp_TGtkCListColumn_auto_resize* = 3'i16
-  bm_TGtkCListColumn_button_passive* = 0x00000010'i16
-  bp_TGtkCListColumn_button_passive* = 4'i16
-  bm_TGtkCListRow_fg_set* = 0x00000001'i16
-  bp_TGtkCListRow_fg_set* = 0'i16
-  bm_TGtkCListRow_bg_set* = 0x00000002'i16
-  bp_TGtkCListRow_bg_set* = 1'i16
-  bm_TGtkCListRow_selectable* = 0x00000004'i16
-  bp_TGtkCListRow_selectable* = 2'i16
-
-proc GTK_TYPE_CLIST*(): GType
-proc GTK_CLIST*(obj: pointer): PGtkCList
-proc GTK_CLIST_CLASS*(klass: pointer): PGtkCListClass
-proc GTK_IS_CLIST*(obj: pointer): bool
-proc GTK_IS_CLIST_CLASS*(klass: pointer): bool
-proc GTK_CLIST_GET_CLASS*(obj: pointer): PGtkCListClass
-proc GTK_CLIST_FLAGS*(clist: pointer): guint16
-proc GTK_CLIST_SET_FLAG*(clist: PGtkCList, flag: guint16)
-proc GTK_CLIST_UNSET_FLAG*(clist: PGtkCList, flag: guint16)
-#proc GTK_CLIST_IN_DRAG_get*(clist: pointer): bool
-#proc GTK_CLIST_ROW_HEIGHT_SET_get*(clist: pointer): bool
-#proc GTK_CLIST_SHOW_TITLES_get*(clist: pointer): bool
-#proc GTK_CLIST_ADD_MODE_get*(clist: pointer): bool
-#proc GTK_CLIST_AUTO_SORT_get*(clist: pointer): bool
-#proc GTK_CLIST_AUTO_RESIZE_BLOCKED_get*(clist: pointer): bool
-#proc GTK_CLIST_REORDERABLE_get*(clist: pointer): bool
-#proc GTK_CLIST_USE_DRAG_ICONS_get*(clist: pointer): bool
-#proc GTK_CLIST_DRAW_DRAG_LINE_get*(clist: pointer): bool
-#proc GTK_CLIST_DRAW_DRAG_RECT_get*(clist: pointer): bool
-#proc GTK_CLIST_ROW_get*(glist: PGList): PGtkCListRow
-#proc GTK_CELL_TEXT_get*(cell: pointer): PGtkCellText
-#proc GTK_CELL_PIXMAP_get*(cell: pointer): PGtkCellPixmap
-#proc GTK_CELL_PIXTEXT_get*(cell: pointer): PGtkCellPixText
-#proc GTK_CELL_WIDGET_get*(cell: pointer): PGtkCellWidget
-proc visible*(a: var TGtkCListColumn): guint
-proc set_visible*(a: var TGtkCListColumn, `visible`: guint)
-proc width_set*(a: var TGtkCListColumn): guint
-proc set_width_set*(a: var TGtkCListColumn, `width_set`: guint)
-proc resizeable*(a: var TGtkCListColumn): guint
-proc set_resizeable*(a: var TGtkCListColumn, `resizeable`: guint)
-proc auto_resize*(a: var TGtkCListColumn): guint
-proc set_auto_resize*(a: var TGtkCListColumn, `auto_resize`: guint)
-proc button_passive*(a: var TGtkCListColumn): guint
-proc set_button_passive*(a: var TGtkCListColumn, `button_passive`: guint)
-proc fg_set*(a: var TGtkCListRow): guint
-proc set_fg_set*(a: var TGtkCListRow, `fg_set`: guint)
-proc bg_set*(a: var TGtkCListRow): guint
-proc set_bg_set*(a: var TGtkCListRow, `bg_set`: guint)
-proc selectable*(a: var TGtkCListRow): guint
-proc set_selectable*(a: var TGtkCListRow, `selectable`: guint)
-proc gtk_clist_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_clist_get_type".}
-proc gtk_clist_new*(columns: gint): PGtkCList {.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_new".}
-proc gtk_clist_set_hadjustment*(clist: PGtkCList, adjustment: PGtkAdjustment){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_hadjustment".}
-proc gtk_clist_set_vadjustment*(clist: PGtkCList, adjustment: PGtkAdjustment){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_vadjustment".}
-proc gtk_clist_get_hadjustment*(clist: PGtkCList): PGtkAdjustment{.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_get_hadjustment".}
-proc gtk_clist_get_vadjustment*(clist: PGtkCList): PGtkAdjustment{.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_get_vadjustment".}
-proc gtk_clist_set_shadow_type*(clist: PGtkCList, thetype: TGtkShadowType){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_shadow_type".}
-proc gtk_clist_set_selection_mode*(clist: PGtkCList, mode: TGtkSelectionMode){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_selection_mode".}
-proc gtk_clist_set_reorderable*(clist: PGtkCList, reorderable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_reorderable".}
-proc gtk_clist_set_use_drag_icons*(clist: PGtkCList, use_icons: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_use_drag_icons".}
-proc gtk_clist_set_button_actions*(clist: PGtkCList, button: guint,
-                                   button_actions: guint8){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_button_actions".}
-proc gtk_clist_freeze*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_freeze".}
-proc gtk_clist_thaw*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-                                        importc: "gtk_clist_thaw".}
-proc gtk_clist_column_titles_show*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_column_titles_show".}
-proc gtk_clist_column_titles_hide*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_column_titles_hide".}
-proc gtk_clist_column_title_active*(clist: PGtkCList, column: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_column_title_active".}
-proc gtk_clist_column_title_passive*(clist: PGtkCList, column: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_column_title_passive".}
-proc gtk_clist_column_titles_active*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_column_titles_active".}
-proc gtk_clist_column_titles_passive*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_column_titles_passive".}
-proc gtk_clist_set_column_title*(clist: PGtkCList, column: gint, title: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_column_title".}
-proc gtk_clist_get_column_title*(clist: PGtkCList, column: gint): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_get_column_title".}
-proc gtk_clist_set_column_widget*(clist: PGtkCList, column: gint,
-                                  widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_set_column_widget".}
-proc gtk_clist_get_column_widget*(clist: PGtkCList, column: gint): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_get_column_widget".}
-proc gtk_clist_set_column_justification*(clist: PGtkCList, column: gint,
-    justification: TGtkJustification){.cdecl, dynlib: gtklib, importc: "gtk_clist_set_column_justification".}
-proc gtk_clist_set_column_visibility*(clist: PGtkCList, column: gint,
-                                      visible: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_set_column_visibility".}
-proc gtk_clist_set_column_resizeable*(clist: PGtkCList, column: gint,
-                                      resizeable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_column_resizeable".}
-proc gtk_clist_set_column_auto_resize*(clist: PGtkCList, column: gint,
-                                       auto_resize: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_column_auto_resize".}
-proc gtk_clist_columns_autosize*(clist: PGtkCList): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_columns_autosize".}
-proc gtk_clist_optimal_column_width*(clist: PGtkCList, column: gint): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_optimal_column_width".}
-proc gtk_clist_set_column_width*(clist: PGtkCList, column: gint, width: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_column_width".}
-proc gtk_clist_set_column_min_width*(clist: PGtkCList, column: gint,
-                                     min_width: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_set_column_min_width".}
-proc gtk_clist_set_column_max_width*(clist: PGtkCList, column: gint,
-                                     max_width: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_set_column_max_width".}
-proc gtk_clist_set_row_height*(clist: PGtkCList, height: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_row_height".}
-proc gtk_clist_moveto*(clist: PGtkCList, row: gint, column: gint,
-                       row_align: gfloat, col_align: gfloat){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_moveto".}
-proc gtk_clist_row_is_visible*(clist: PGtkCList, row: gint): TGtkVisibility{.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_row_is_visible".}
-proc gtk_clist_get_cell_type*(clist: PGtkCList, row: gint, column: gint): TGtkCellType{.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_get_cell_type".}
-proc gtk_clist_set_text*(clist: PGtkCList, row: gint, column: gint, text: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_text".}
-proc gtk_clist_get_text*(clist: PGtkCList, row: gint, column: gint,
-                         text: PPgchar): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_get_text".}
-proc gtk_clist_set_pixmap*(clist: PGtkCList, row: gint, column: gint,
-                           pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_pixmap".}
-proc gtk_clist_get_pixmap*(clist: PGtkCList, row: gint, column: gint,
-                           pixmap: var PGdkPixmap, mask: var PGdkBitmap): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_get_pixmap".}
-proc gtk_clist_set_pixtext*(clist: PGtkCList, row: gint, column: gint,
-                            text: cstring, spacing: guint8, pixmap: PGdkPixmap,
-                            mask: PGdkBitmap){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_set_pixtext".}
-proc gtk_clist_set_foreground*(clist: PGtkCList, row: gint, color: PGdkColor){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_foreground".}
-proc gtk_clist_set_background*(clist: PGtkCList, row: gint, color: PGdkColor){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_background".}
-proc gtk_clist_set_cell_style*(clist: PGtkCList, row: gint, column: gint,
-                               style: PGtkStyle){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_set_cell_style".}
-proc gtk_clist_get_cell_style*(clist: PGtkCList, row: gint, column: gint): PGtkStyle{.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_get_cell_style".}
-proc gtk_clist_set_row_style*(clist: PGtkCList, row: gint, style: PGtkStyle){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_row_style".}
-proc gtk_clist_get_row_style*(clist: PGtkCList, row: gint): PGtkStyle{.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_get_row_style".}
-proc gtk_clist_set_shift*(clist: PGtkCList, row: gint, column: gint,
-                          vertical: gint, horizontal: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_shift".}
-proc gtk_clist_set_selectable*(clist: PGtkCList, row: gint, selectable: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_selectable".}
-proc gtk_clist_get_selectable*(clist: PGtkCList, row: gint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_get_selectable".}
-proc gtk_clist_remove*(clist: PGtkCList, row: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_remove".}
-proc gtk_clist_set_row_data*(clist: PGtkCList, row: gint, data: gpointer){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_set_row_data".}
-proc gtk_clist_set_row_data_full*(clist: PGtkCList, row: gint, data: gpointer,
-                                  destroy: TGtkDestroyNotify){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_row_data_full".}
-proc gtk_clist_get_row_data*(clist: PGtkCList, row: gint): gpointer{.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_get_row_data".}
-proc gtk_clist_find_row_from_data*(clist: PGtkCList, data: gpointer): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_find_row_from_data".}
-proc gtk_clist_select_row*(clist: PGtkCList, row: gint, column: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_select_row".}
-proc gtk_clist_unselect_row*(clist: PGtkCList, row: gint, column: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_unselect_row".}
-proc gtk_clist_undo_selection*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_undo_selection".}
-proc gtk_clist_clear*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_clear".}
-proc gtk_clist_get_selection_info*(clist: PGtkCList, x: gint, y: gint,
-                                   row: Pgint, column: Pgint): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_get_selection_info".}
-proc gtk_clist_select_all*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_select_all".}
-proc gtk_clist_unselect_all*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-    importc: "gtk_clist_unselect_all".}
-proc gtk_clist_swap_rows*(clist: PGtkCList, row1: gint, row2: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_swap_rows".}
-proc gtk_clist_row_move*(clist: PGtkCList, source_row: gint, dest_row: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_clist_row_move".}
-proc gtk_clist_set_compare_func*(clist: PGtkCList,
-                                 cmp_func: TGtkCListCompareFunc){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_compare_func".}
-proc gtk_clist_set_sort_column*(clist: PGtkCList, column: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_sort_column".}
-proc gtk_clist_set_sort_type*(clist: PGtkCList, sort_type: TGtkSortType){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_sort_type".}
-proc gtk_clist_sort*(clist: PGtkCList){.cdecl, dynlib: gtklib,
-                                        importc: "gtk_clist_sort".}
-proc gtk_clist_set_auto_sort*(clist: PGtkCList, auto_sort: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_clist_set_auto_sort".}
-proc gtk_clist_create_cell_layout*(clist: PGtkCList, clist_row: PGtkCListRow,
-                                     column: gint): PPangoLayout{.cdecl,
-    dynlib: gtklib, importc: "_gtk_clist_create_cell_layout".}
-const
-  GTK_DIALOG_MODAL* = 1 shl 0
-  GTK_DIALOG_DESTROY_WITH_PARENT* = 1 shl 1
-  GTK_DIALOG_NO_SEPARATOR* = 1 shl 2
-  GTK_RESPONSE_NONE* = - (1)
-  GTK_RESPONSE_REJECT* = - (2)
-  GTK_RESPONSE_ACCEPT* = - (3)
-  GTK_RESPONSE_DELETE_EVENT* = - (4)
-  GTK_RESPONSE_OK* = - (5)
-  GTK_RESPONSE_CANCEL* = - (6)
-  GTK_RESPONSE_CLOSE* = - (7)
-  GTK_RESPONSE_YES* = - (8)
-  GTK_RESPONSE_NO* = - (9)
-  GTK_RESPONSE_APPLY* = - (10)
-  GTK_RESPONSE_HELP* = - (11)
-
-proc GTK_TYPE_DIALOG*(): GType
-proc GTK_DIALOG*(obj: pointer): PGtkDialog
-proc GTK_DIALOG_CLASS*(klass: pointer): PGtkDialogClass
-proc GTK_IS_DIALOG*(obj: pointer): bool
-proc GTK_IS_DIALOG_CLASS*(klass: pointer): bool
-proc GTK_DIALOG_GET_CLASS*(obj: pointer): PGtkDialogClass
-proc gtk_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_dialog_get_type".}
-proc gtk_dialog_new*(): PGtkDialog {.cdecl, dynlib: gtklib,
-                                    importc: "gtk_dialog_new".}
-proc gtk_dialog_add_action_widget*(dialog: PGtkDialog, child: PGtkWidget,
-                                   response_id: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_dialog_add_action_widget".}
-proc gtk_dialog_add_button*(dialog: PGtkDialog, button_text: cstring,
-                            response_id: gint): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_dialog_add_button".}
-proc gtk_dialog_set_response_sensitive*(dialog: PGtkDialog, response_id: gint,
-                                        setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_dialog_set_response_sensitive".}
-proc gtk_dialog_set_default_response*(dialog: PGtkDialog, response_id: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_dialog_set_default_response".}
-proc gtk_dialog_set_has_separator*(dialog: PGtkDialog, setting: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_dialog_set_has_separator".}
-proc gtk_dialog_get_has_separator*(dialog: PGtkDialog): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_dialog_get_has_separator".}
-proc gtk_dialog_response*(dialog: PGtkDialog, response_id: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_dialog_response".}
-proc gtk_dialog_run*(dialog: PGtkDialog): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_dialog_run".}
-proc gtk_show_about_dialog*(parent: PGtkWindow, firstPropertyName: cstring) {.
-    cdecl, dynlib: gtklib, importc: "gtk_show_about_dialog", varargs.}
-    
-proc GTK_TYPE_VBOX*(): GType
-proc GTK_VBOX*(obj: pointer): PGtkVBox
-proc GTK_VBOX_CLASS*(klass: pointer): PGtkVBoxClass
-proc GTK_IS_VBOX*(obj: pointer): bool
-proc GTK_IS_VBOX_CLASS*(klass: pointer): bool
-proc GTK_VBOX_GET_CLASS*(obj: pointer): PGtkVBoxClass
-proc gtk_vbox_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_vbox_get_type".}
-proc gtk_vbox_new*(homogeneous: gboolean, spacing: gint): PGtkVBox {.cdecl,
-    dynlib: gtklib, importc: "gtk_vbox_new".}
-proc GTK_TYPE_COLOR_SELECTION*(): GType
-proc GTK_COLOR_SELECTION*(obj: pointer): PGtkColorSelection
-proc GTK_COLOR_SELECTION_CLASS*(klass: pointer): PGtkColorSelectionClass
-proc GTK_IS_COLOR_SELECTION*(obj: pointer): bool
-proc GTK_IS_COLOR_SELECTION_CLASS*(klass: pointer): bool
-proc GTK_COLOR_SELECTION_GET_CLASS*(obj: pointer): PGtkColorSelectionClass
-proc gtk_color_selection_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_color_selection_get_type".}
-proc gtk_color_selection_new*(): PGtkColorSelection {.cdecl, dynlib: gtklib,
-    importc: "gtk_color_selection_new".}
-proc gtk_color_selection_get_has_opacity_control*(colorsel: PGtkColorSelection): gboolean{.
-    cdecl, dynlib: gtklib,
-    importc: "gtk_color_selection_get_has_opacity_control".}
-proc gtk_color_selection_set_has_opacity_control*(colorsel: PGtkColorSelection,
-    has_opacity: gboolean){.cdecl, dynlib: gtklib, importc: "gtk_color_selection_set_has_opacity_control".}
-proc gtk_color_selection_get_has_palette*(colorsel: PGtkColorSelection): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_color_selection_get_has_palette".}
-proc gtk_color_selection_set_has_palette*(colorsel: PGtkColorSelection,
-    has_palette: gboolean){.cdecl, dynlib: gtklib,
-                            importc: "gtk_color_selection_set_has_palette".}
-proc gtk_color_selection_set_current_color*(colorsel: PGtkColorSelection,
-    color: PGdkColor){.cdecl, dynlib: gtklib,
-                       importc: "gtk_color_selection_set_current_color".}
-proc gtk_color_selection_set_current_alpha*(colorsel: PGtkColorSelection,
-    alpha: guint16){.cdecl, dynlib: gtklib,
-                     importc: "gtk_color_selection_set_current_alpha".}
-proc gtk_color_selection_get_current_color*(colorsel: PGtkColorSelection,
-    color: PGdkColor){.cdecl, dynlib: gtklib,
-                       importc: "gtk_color_selection_get_current_color".}
-proc gtk_color_selection_get_current_alpha*(colorsel: PGtkColorSelection): guint16{.
-    cdecl, dynlib: gtklib, importc: "gtk_color_selection_get_current_alpha".}
-proc gtk_color_selection_set_previous_color*(colorsel: PGtkColorSelection,
-    color: PGdkColor){.cdecl, dynlib: gtklib,
-                       importc: "gtk_color_selection_set_previous_color".}
-proc gtk_color_selection_set_previous_alpha*(colorsel: PGtkColorSelection,
-    alpha: guint16){.cdecl, dynlib: gtklib,
-                     importc: "gtk_color_selection_set_previous_alpha".}
-proc gtk_color_selection_get_previous_color*(colorsel: PGtkColorSelection,
-    color: PGdkColor){.cdecl, dynlib: gtklib,
-                       importc: "gtk_color_selection_get_previous_color".}
-proc gtk_color_selection_get_previous_alpha*(colorsel: PGtkColorSelection): guint16{.
-    cdecl, dynlib: gtklib, importc: "gtk_color_selection_get_previous_alpha".}
-proc gtk_color_selection_is_adjusting*(colorsel: PGtkColorSelection): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_color_selection_is_adjusting".}
-proc gtk_color_selection_palette_from_string*(str: cstring,
-    colors: var PGdkColor, n_colors: Pgint): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_color_selection_palette_from_string".}
-proc gtk_color_selection_palette_to_string*(colors: PGdkColor, n_colors: gint): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_color_selection_palette_to_string".}
-proc gtk_color_selection_set_change_palette_with_screen_hook*(
-    func: TGtkColorSelectionChangePaletteWithScreenFunc): TGtkColorSelectionChangePaletteWithScreenFunc{.
-    cdecl, dynlib: gtklib,
-    importc: "gtk_color_selection_set_change_palette_with_screen_hook".}
-proc GTK_TYPE_COLOR_SELECTION_DIALOG*(): GType
-proc GTK_COLOR_SELECTION_DIALOG*(obj: pointer): PGtkColorSelectionDialog
-proc GTK_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): PGtkColorSelectionDialogClass
-proc GTK_IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool
-proc GTK_IS_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): bool
-proc GTK_COLOR_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PGtkColorSelectionDialogClass
-proc gtk_color_selection_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_color_selection_dialog_get_type".}
-proc gtk_color_selection_dialog_new*(title: cstring): PGtkColorSelectionDialog {.cdecl,
-    dynlib: gtklib, importc: "gtk_color_selection_dialog_new".}
-proc GTK_TYPE_HBOX*(): GType
-proc GTK_HBOX*(obj: pointer): PGtkHBox
-proc GTK_HBOX_CLASS*(klass: pointer): PGtkHBoxClass
-proc GTK_IS_HBOX*(obj: pointer): bool
-proc GTK_IS_HBOX_CLASS*(klass: pointer): bool
-proc GTK_HBOX_GET_CLASS*(obj: pointer): PGtkHBoxClass
-proc gtk_hbox_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_hbox_get_type".}
-proc gtk_hbox_new*(homogeneous: gboolean, spacing: gint): PGtkHBox {.cdecl,
-    dynlib: gtklib, importc: "gtk_hbox_new".}
-const
-  bm_TGtkCombo_value_in_list* = 0x00000001'i16
-  bp_TGtkCombo_value_in_list* = 0'i16
-  bm_TGtkCombo_ok_if_empty* = 0x00000002'i16
-  bp_TGtkCombo_ok_if_empty* = 1'i16
-  bm_TGtkCombo_case_sensitive* = 0x00000004'i16
-  bp_TGtkCombo_case_sensitive* = 2'i16
-  bm_TGtkCombo_use_arrows* = 0x00000008'i16
-  bp_TGtkCombo_use_arrows* = 3'i16
-  bm_TGtkCombo_use_arrows_always* = 0x00000010'i16
-  bp_TGtkCombo_use_arrows_always* = 4'i16
-
-proc GTK_TYPE_COMBO*(): GType
-proc GTK_COMBO*(obj: pointer): PGtkCombo
-proc GTK_COMBO_CLASS*(klass: pointer): PGtkComboClass
-proc GTK_IS_COMBO*(obj: pointer): bool
-proc GTK_IS_COMBO_CLASS*(klass: pointer): bool
-proc GTK_COMBO_GET_CLASS*(obj: pointer): PGtkComboClass
-proc value_in_list*(a: var TGtkCombo): guint
-proc set_value_in_list*(a: var TGtkCombo, `value_in_list`: guint)
-proc ok_if_empty*(a: var TGtkCombo): guint
-proc set_ok_if_empty*(a: var TGtkCombo, `ok_if_empty`: guint)
-proc case_sensitive*(a: var TGtkCombo): guint
-proc set_case_sensitive*(a: var TGtkCombo, `case_sensitive`: guint)
-proc use_arrows*(a: var TGtkCombo): guint
-proc set_use_arrows*(a: var TGtkCombo, `use_arrows`: guint)
-proc use_arrows_always*(a: var TGtkCombo): guint
-proc set_use_arrows_always*(a: var TGtkCombo, `use_arrows_always`: guint)
-proc gtk_combo_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_combo_get_type".}
-proc gtk_combo_new*(): PGtkCombo {.cdecl, dynlib: gtklib,
-                                   importc: "gtk_combo_new".}
-proc gtk_combo_set_value_in_list*(combo: PGtkCombo, val: gboolean,
-                                  ok_if_empty: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_combo_set_value_in_list".}
-proc gtk_combo_set_use_arrows*(combo: PGtkCombo, val: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_combo_set_use_arrows".}
-proc gtk_combo_set_use_arrows_always*(combo: PGtkCombo, val: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_combo_set_use_arrows_always".}
-proc gtk_combo_set_case_sensitive*(combo: PGtkCombo, val: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_combo_set_case_sensitive".}
-proc gtk_combo_set_item_string*(combo: PGtkCombo, item: PGtkItem,
-                                item_value: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_combo_set_item_string".}
-proc gtk_combo_set_popdown_strings*(combo: PGtkCombo, strings: PGList){.cdecl,
-    dynlib: gtklib, importc: "gtk_combo_set_popdown_strings".}
-proc gtk_combo_disable_activate*(combo: PGtkCombo){.cdecl, dynlib: gtklib,
-    importc: "gtk_combo_disable_activate".}
-const
-  bm_TGtkCTree_line_style* = 0x00000003'i16
-  bp_TGtkCTree_line_style* = 0'i16
-  bm_TGtkCTree_expander_style* = 0x0000000C'i16
-  bp_TGtkCTree_expander_style* = 2'i16
-  bm_TGtkCTree_show_stub* = 0x00000010'i16
-  bp_TGtkCTree_show_stub* = 4'i16
-  bm_TGtkCTreeRow_is_leaf* = 0x00000001'i16
-  bp_TGtkCTreeRow_is_leaf* = 0'i16
-  bm_TGtkCTreeRow_expanded* = 0x00000002'i16
-  bp_TGtkCTreeRow_expanded* = 1'i16
-
-proc GTK_TYPE_CTREE*(): GType
-proc GTK_CTREE*(obj: pointer): PGtkCTree
-proc GTK_CTREE_CLASS*(klass: pointer): PGtkCTreeClass
-proc GTK_IS_CTREE*(obj: pointer): bool
-proc GTK_IS_CTREE_CLASS*(klass: pointer): bool
-proc GTK_CTREE_GET_CLASS*(obj: pointer): PGtkCTreeClass
-proc GTK_CTREE_ROW*(`node`: TAddress): PGtkCTreeRow
-proc GTK_CTREE_NODE*(`node`: TAddress): PGtkCTreeNode
-proc GTK_CTREE_NODE_NEXT*(`nnode`: TAddress): PGtkCTreeNode
-proc GTK_CTREE_NODE_PREV*(`pnode`: TAddress): PGtkCTreeNode
-proc GTK_CTREE_FUNC*(`func`: TAddress): TGtkCTreeFunc
-proc GTK_TYPE_CTREE_NODE*(): GType
-proc line_style*(a: var TGtkCTree): guint
-proc set_line_style*(a: var TGtkCTree, `line_style`: guint)
-proc expander_style*(a: var TGtkCTree): guint
-proc set_expander_style*(a: var TGtkCTree, `expander_style`: guint)
-proc show_stub*(a: var TGtkCTree): guint
-proc set_show_stub*(a: var TGtkCTree, `show_stub`: guint)
-proc is_leaf*(a: var TGtkCTreeRow): guint
-proc set_is_leaf*(a: var TGtkCTreeRow, `is_leaf`: guint)
-proc expanded*(a: var TGtkCTreeRow): guint
-proc set_expanded*(a: var TGtkCTreeRow, `expanded`: guint)
-proc gtk_ctree_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_ctree_get_type".}
-proc gtk_ctree_new*(columns: gint, tree_column: gint): PGtkCTree {.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_new".}
-proc gtk_ctree_insert_node*(ctree: PGtkCTree, parent: PGtkCTreeNode,
-                            sibling: PGtkCTreeNode, text: openarray[cstring],
-                            spacing: guint8, pixmap_closed: PGdkPixmap,
-                            mask_closed: PGdkBitmap, pixmap_opened: PGdkPixmap,
-                            mask_opened: PGdkBitmap, is_leaf: gboolean,
-                            expanded: gboolean): PGtkCTreeNode{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_insert_node".}
-proc gtk_ctree_remove_node*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_remove_node".}
-proc gtk_ctree_insert_gnode*(ctree: PGtkCTree, parent: PGtkCTreeNode,
-                             sibling: PGtkCTreeNode, gnode: PGNode,
-                             fun: TGtkCTreeGNodeFunc, data: gpointer): PGtkCTreeNode{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_insert_gnode".}
-proc gtk_ctree_export_to_gnode*(ctree: PGtkCTree, parent: PGNode,
-                                sibling: PGNode, node: PGtkCTreeNode,
-                                fun: TGtkCTreeGNodeFunc, data: gpointer): PGNode{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_export_to_gnode".}
-proc gtk_ctree_post_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                               fun: TGtkCTreeFunc, data: gpointer){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_post_recursive".}
-proc gtk_ctree_post_recursive_to_depth*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                        depth: gint, fun: TGtkCTreeFunc,
-                                        data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_post_recursive_to_depth".}
-proc gtk_ctree_pre_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                              fun: TGtkCTreeFunc, data: gpointer){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_pre_recursive".}
-proc gtk_ctree_pre_recursive_to_depth*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                       depth: gint, fun: TGtkCTreeFunc,
-                                       data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_pre_recursive_to_depth".}
-proc gtk_ctree_is_viewable*(ctree: PGtkCTree, node: PGtkCTreeNode): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_is_viewable".}
-proc gtk_ctree_last*(ctree: PGtkCTree, node: PGtkCTreeNode): PGtkCTreeNode{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_last".}
-proc gtk_ctree_find_node_ptr*(ctree: PGtkCTree, ctree_row: PGtkCTreeRow): PGtkCTreeNode{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_find_node_ptr".}
-proc gtk_ctree_node_nth*(ctree: PGtkCTree, row: guint): PGtkCTreeNode{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_nth".}
-proc gtk_ctree_find*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                     child: PGtkCTreeNode): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_find".}
-proc gtk_ctree_is_ancestor*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                            child: PGtkCTreeNode): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_is_ancestor".}
-proc gtk_ctree_find_by_row_data*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                 data: gpointer): PGtkCTreeNode{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_find_by_row_data".}
-proc gtk_ctree_find_all_by_row_data*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                     data: gpointer): PGList{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_find_all_by_row_data".}
-proc gtk_ctree_find_by_row_data_custom*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                        data: gpointer, fun: TGCompareFunc): PGtkCTreeNode{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_find_by_row_data_custom".}
-proc gtk_ctree_find_all_by_row_data_custom*(ctree: PGtkCTree,
-    node: PGtkCTreeNode, data: gpointer, fun: TGCompareFunc): PGList{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_find_all_by_row_data_custom".}
-proc gtk_ctree_is_hot_spot*(ctree: PGtkCTree, x: gint, y: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_is_hot_spot".}
-proc gtk_ctree_move*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                     new_parent: PGtkCTreeNode, new_sibling: PGtkCTreeNode){.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_move".}
-proc gtk_ctree_expand*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_expand".}
-proc gtk_ctree_expand_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_expand_recursive".}
-proc gtk_ctree_expand_to_depth*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                depth: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_expand_to_depth".}
-proc gtk_ctree_collapse*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_collapse".}
-proc gtk_ctree_collapse_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_collapse_recursive".}
-proc gtk_ctree_collapse_to_depth*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                  depth: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_collapse_to_depth".}
-proc gtk_ctree_toggle_expansion*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_toggle_expansion".}
-proc gtk_ctree_toggle_expansion_recursive*(ctree: PGtkCTree,
-    node: PGtkCTreeNode){.cdecl, dynlib: gtklib,
-                           importc: "gtk_ctree_toggle_expansion_recursive".}
-proc gtk_ctree_select*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_select".}
-proc gtk_ctree_select_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_select_recursive".}
-proc gtk_ctree_unselect*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_unselect".}
-proc gtk_ctree_unselect_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_unselect_recursive".}
-proc gtk_ctree_real_select_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                      state: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_real_select_recursive".}
-proc gtk_ctree_node_set_text*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                              column: gint, text: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_set_text".}
-proc gtk_ctree_node_set_pixmap*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                column: gint, pixmap: PGdkPixmap,
-                                mask: PGdkBitmap){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_node_set_pixmap".}
-proc gtk_ctree_node_set_pixtext*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                 column: gint, text: cstring, spacing: guint8,
-                                 pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_set_pixtext".}
-proc gtk_ctree_set_node_info*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                              text: cstring, spacing: guint8,
-                              pixmap_closed: PGdkPixmap,
-                              mask_closed: PGdkBitmap,
-                              pixmap_opened: PGdkPixmap,
-                              mask_opened: PGdkBitmap, is_leaf: gboolean,
-                              expanded: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_set_node_info".}
-proc gtk_ctree_node_set_shift*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                               column: gint, vertical: gint, horizontal: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_node_set_shift".}
-proc gtk_ctree_node_set_selectable*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                    selectable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_set_selectable".}
-proc gtk_ctree_node_get_selectable*(ctree: PGtkCTree, node: PGtkCTreeNode): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_node_get_selectable".}
-proc gtk_ctree_node_get_cell_type*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                   column: gint): TGtkCellType{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_get_cell_type".}
-proc gtk_ctree_node_get_text*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                              column: gint, text: PPgchar): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_get_text".}
-proc gtk_ctree_node_set_row_style*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                   style: PGtkStyle){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_node_set_row_style".}
-proc gtk_ctree_node_get_row_style*(ctree: PGtkCTree, node: PGtkCTreeNode): PGtkStyle{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_node_get_row_style".}
-proc gtk_ctree_node_set_cell_style*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                    column: gint, style: PGtkStyle){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_set_cell_style".}
-proc gtk_ctree_node_get_cell_style*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                    column: gint): PGtkStyle{.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_get_cell_style".}
-proc gtk_ctree_node_set_foreground*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                    color: PGdkColor){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_node_set_foreground".}
-proc gtk_ctree_node_set_background*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                    color: PGdkColor){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_node_set_background".}
-proc gtk_ctree_node_set_row_data*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                  data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_ctree_node_set_row_data".}
-proc gtk_ctree_node_set_row_data_full*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                       data: gpointer,
-                                       destroy: TGtkDestroyNotify){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_node_set_row_data_full".}
-proc gtk_ctree_node_get_row_data*(ctree: PGtkCTree, node: PGtkCTreeNode): gpointer{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_node_get_row_data".}
-proc gtk_ctree_node_moveto*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                            column: gint, row_align: gfloat, col_align: gfloat){.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_node_moveto".}
-proc gtk_ctree_node_is_visible*(ctree: PGtkCTree, node: PGtkCTreeNode): TGtkVisibility{.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_node_is_visible".}
-proc gtk_ctree_set_indent*(ctree: PGtkCTree, indent: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_set_indent".}
-proc gtk_ctree_set_spacing*(ctree: PGtkCTree, spacing: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_set_spacing".}
-proc gtk_ctree_set_show_stub*(ctree: PGtkCTree, show_stub: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_set_show_stub".}
-proc gtk_ctree_set_line_style*(ctree: PGtkCTree, line_style: TGtkCTreeLineStyle){.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_set_line_style".}
-proc gtk_ctree_set_expander_style*(ctree: PGtkCTree,
-                                   expander_style: TGtkCTreeExpanderStyle){.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_set_expander_style".}
-proc gtk_ctree_set_drag_compare_func*(ctree: PGtkCTree,
-                                      cmp_func: TGtkCTreeCompareDragFunc){.
-    cdecl, dynlib: gtklib, importc: "gtk_ctree_set_drag_compare_func".}
-proc gtk_ctree_sort_node*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_sort_node".}
-proc gtk_ctree_sort_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl,
-    dynlib: gtklib, importc: "gtk_ctree_sort_recursive".}
-proc gtk_ctree_set_reorderable*(t: pointer, r: bool)
-proc gtk_ctree_node_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_ctree_node_get_type".}
-proc GTK_TYPE_DRAWING_AREA*(): GType
-proc GTK_DRAWING_AREA*(obj: pointer): PGtkDrawingArea
-proc GTK_DRAWING_AREA_CLASS*(klass: pointer): PGtkDrawingAreaClass
-proc GTK_IS_DRAWING_AREA*(obj: pointer): bool
-proc GTK_IS_DRAWING_AREA_CLASS*(klass: pointer): bool
-proc GTK_DRAWING_AREA_GET_CLASS*(obj: pointer): PGtkDrawingAreaClass
-proc gtk_drawing_area_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_drawing_area_get_type".}
-proc gtk_drawing_area_new*(): PGtkDrawingArea {.cdecl, dynlib: gtklib,
-    importc: "gtk_drawing_area_new".}
-proc GTK_TYPE_CURVE*(): GType
-proc GTK_CURVE*(obj: pointer): PGtkCurve
-proc GTK_CURVE_CLASS*(klass: pointer): PGtkCurveClass
-proc GTK_IS_CURVE*(obj: pointer): bool
-proc GTK_IS_CURVE_CLASS*(klass: pointer): bool
-proc GTK_CURVE_GET_CLASS*(obj: pointer): PGtkCurveClass
-proc gtk_curve_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_curve_get_type".}
-proc gtk_curve_new*(): PGtkCurve {.cdecl, dynlib: gtklib,
-                                   importc: "gtk_curve_new".}
-proc gtk_curve_reset*(curve: PGtkCurve){.cdecl, dynlib: gtklib,
-    importc: "gtk_curve_reset".}
-proc gtk_curve_set_gamma*(curve: PGtkCurve, gamma: gfloat){.cdecl,
-    dynlib: gtklib, importc: "gtk_curve_set_gamma".}
-proc gtk_curve_set_range*(curve: PGtkCurve, min_x: gfloat, max_x: gfloat,
-                          min_y: gfloat, max_y: gfloat){.cdecl, dynlib: gtklib,
-    importc: "gtk_curve_set_range".}
-proc gtk_curve_set_curve_type*(curve: PGtkCurve, thetype: TGtkCurveType){.cdecl,
-    dynlib: gtklib, importc: "gtk_curve_set_curve_type".}
-const
-  GTK_DEST_DEFAULT_MOTION* = 1 shl 0
-  GTK_DEST_DEFAULT_HIGHLIGHT* = 1 shl 1
-  GTK_DEST_DEFAULT_DROP* = 1 shl 2
-  GTK_DEST_DEFAULT_ALL* = 0x00000007
-  GTK_TARGET_SAME_APP* = 1 shl 0
-  GTK_TARGET_SAME_WIDGET* = 1 shl 1
-
-proc gtk_drag_get_data*(widget: PGtkWidget, context: PGdkDragContext,
-                        target: TGdkAtom, time: guint32){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_get_data".}
-proc gtk_drag_finish*(context: PGdkDragContext, success: gboolean,
-                      del: gboolean, time: guint32){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_finish".}
-proc gtk_drag_get_source_widget*(context: PGdkDragContext): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_drag_get_source_widget".}
-proc gtk_drag_highlight*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_highlight".}
-proc gtk_drag_unhighlight*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_unhighlight".}
-proc gtk_drag_dest_set*(widget: PGtkWidget, flags: TGtkDestDefaults,
-                        targets: PGtkTargetEntry, n_targets: gint,
-                        actions: TGdkDragAction){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_dest_set".}
-proc gtk_drag_dest_set_proxy*(widget: PGtkWidget, proxy_window: PGdkWindow,
-                              protocol: TGdkDragProtocol,
-                              use_coordinates: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_dest_set_proxy".}
-proc gtk_drag_dest_unset*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_dest_unset".}
-proc gtk_drag_dest_find_target*(widget: PGtkWidget, context: PGdkDragContext,
-                                target_list: PGtkTargetList): TGdkAtom{.cdecl,
-    dynlib: gtklib, importc: "gtk_drag_dest_find_target".}
-proc gtk_drag_dest_get_target_list*(widget: PGtkWidget): PGtkTargetList{.cdecl,
-    dynlib: gtklib, importc: "gtk_drag_dest_get_target_list".}
-proc gtk_drag_dest_set_target_list*(widget: PGtkWidget,
-                                    target_list: PGtkTargetList){.cdecl,
-    dynlib: gtklib, importc: "gtk_drag_dest_set_target_list".}
-proc gtk_drag_source_set*(widget: PGtkWidget,
-                          start_button_mask: TGdkModifierType,
-                          targets: PGtkTargetEntry, n_targets: gint,
-                          actions: TGdkDragAction){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_source_set".}
-proc gtk_drag_source_unset*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_source_unset".}
-proc gtk_drag_source_set_icon*(widget: PGtkWidget, colormap: PGdkColormap,
-                               pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl,
-    dynlib: gtklib, importc: "gtk_drag_source_set_icon".}
-proc gtk_drag_source_set_icon_pixbuf*(widget: PGtkWidget, pixbuf: PGdkPixbuf){.
-    cdecl, dynlib: gtklib, importc: "gtk_drag_source_set_icon_pixbuf".}
-proc gtk_drag_source_set_icon_stock*(widget: PGtkWidget, stock_id: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_drag_source_set_icon_stock".}
-proc gtk_drag_begin*(widget: PGtkWidget, targets: PGtkTargetList,
-                     actions: TGdkDragAction, button: gint, event: PGdkEvent): PGdkDragContext{.
-    cdecl, dynlib: gtklib, importc: "gtk_drag_begin".}
-proc gtk_drag_set_icon_widget*(context: PGdkDragContext, widget: PGtkWidget,
-                               hot_x: gint, hot_y: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_set_icon_widget".}
-proc gtk_drag_set_icon_pixmap*(context: PGdkDragContext, colormap: PGdkColormap,
-                               pixmap: PGdkPixmap, mask: PGdkBitmap,
-                               hot_x: gint, hot_y: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_set_icon_pixmap".}
-proc gtk_drag_set_icon_pixbuf*(context: PGdkDragContext, pixbuf: PGdkPixbuf,
-                               hot_x: gint, hot_y: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_set_icon_pixbuf".}
-proc gtk_drag_set_icon_stock*(context: PGdkDragContext, stock_id: cstring,
-                              hot_x: gint, hot_y: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_drag_set_icon_stock".}
-proc gtk_drag_set_icon_default*(context: PGdkDragContext){.cdecl,
-    dynlib: gtklib, importc: "gtk_drag_set_icon_default".}
-proc gtk_drag_check_threshold*(widget: PGtkWidget, start_x: gint, start_y: gint,
-                               current_x: gint, current_y: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_drag_check_threshold".}
-proc gtk_drag_source_handle_event*(widget: PGtkWidget, event: PGdkEvent){.
-    cdecl, dynlib: gtklib, importc: "_gtk_drag_source_handle_event".}
-proc gtk_drag_dest_handle_event*(toplevel: PGtkWidget, event: PGdkEvent){.
-    cdecl, dynlib: gtklib, importc: "_gtk_drag_dest_handle_event".}
-proc GTK_TYPE_EDITABLE*(): GType
-proc GTK_EDITABLE*(obj: pointer): PGtkEditable
-proc GTK_EDITABLE_CLASS*(vtable: pointer): PGtkEditableClass
-proc GTK_IS_EDITABLE*(obj: pointer): bool
-proc GTK_IS_EDITABLE_CLASS*(vtable: pointer): bool
-proc GTK_EDITABLE_GET_CLASS*(inst: pointer): PGtkEditableClass
-proc gtk_editable_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_editable_get_type".}
-proc gtk_editable_select_region*(editable: PGtkEditable, start: gint,
-                                 theEnd: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_editable_select_region".}
-proc gtk_editable_get_selection_bounds*(editable: PGtkEditable, start: Pgint,
-                                        theEnd: Pgint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_editable_get_selection_bounds".}
-proc gtk_editable_insert_text*(editable: PGtkEditable, new_text: cstring,
-                               new_text_length: gint, position: Pgint){.cdecl,
-    dynlib: gtklib, importc: "gtk_editable_insert_text".}
-proc gtk_editable_delete_text*(editable: PGtkEditable, start_pos: gint,
-                               end_pos: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_editable_delete_text".}
-proc gtk_editable_get_chars*(editable: PGtkEditable, start_pos: gint,
-                             end_pos: gint): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_editable_get_chars".}
-proc gtk_editable_cut_clipboard*(editable: PGtkEditable){.cdecl, dynlib: gtklib,
-    importc: "gtk_editable_cut_clipboard".}
-proc gtk_editable_copy_clipboard*(editable: PGtkEditable){.cdecl,
-    dynlib: gtklib, importc: "gtk_editable_copy_clipboard".}
-proc gtk_editable_paste_clipboard*(editable: PGtkEditable){.cdecl,
-    dynlib: gtklib, importc: "gtk_editable_paste_clipboard".}
-proc gtk_editable_delete_selection*(editable: PGtkEditable){.cdecl,
-    dynlib: gtklib, importc: "gtk_editable_delete_selection".}
-proc gtk_editable_set_position*(editable: PGtkEditable, position: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_editable_set_position".}
-proc gtk_editable_get_position*(editable: PGtkEditable): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_editable_get_position".}
-proc gtk_editable_set_editable*(editable: PGtkEditable, is_editable: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_editable_set_editable".}
-proc gtk_editable_get_editable*(editable: PGtkEditable): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_editable_get_editable".}
-proc GTK_TYPE_IM_CONTEXT*(): GType
-proc GTK_IM_CONTEXT*(obj: pointer): PGtkIMContext
-proc GTK_IM_CONTEXT_CLASS*(klass: pointer): PGtkIMContextClass
-proc GTK_IS_IM_CONTEXT*(obj: pointer): bool
-proc GTK_IS_IM_CONTEXT_CLASS*(klass: pointer): bool
-proc GTK_IM_CONTEXT_GET_CLASS*(obj: pointer): PGtkIMContextClass
-proc gtk_im_context_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_im_context_get_type".}
-proc gtk_im_context_set_client_window*(context: PGtkIMContext,
-                                       window: PGdkWindow){.cdecl,
-    dynlib: gtklib, importc: "gtk_im_context_set_client_window".}
-proc gtk_im_context_filter_keypress*(context: PGtkIMContext, event: PGdkEventKey): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_im_context_filter_keypress".}
-proc gtk_im_context_focus_in*(context: PGtkIMContext){.cdecl, dynlib: gtklib,
-    importc: "gtk_im_context_focus_in".}
-proc gtk_im_context_focus_out*(context: PGtkIMContext){.cdecl, dynlib: gtklib,
-    importc: "gtk_im_context_focus_out".}
-proc gtk_im_context_reset*(context: PGtkIMContext){.cdecl, dynlib: gtklib,
-    importc: "gtk_im_context_reset".}
-proc gtk_im_context_set_cursor_location*(context: PGtkIMContext,
-    area: PGdkRectangle){.cdecl, dynlib: gtklib,
-                          importc: "gtk_im_context_set_cursor_location".}
-proc gtk_im_context_set_use_preedit*(context: PGtkIMContext,
-                                     use_preedit: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_im_context_set_use_preedit".}
-proc gtk_im_context_set_surrounding*(context: PGtkIMContext, text: cstring,
-                                     len: gint, cursor_index: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_im_context_set_surrounding".}
-proc gtk_im_context_get_surrounding*(context: PGtkIMContext, text: PPgchar,
-                                     cursor_index: Pgint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_im_context_get_surrounding".}
-proc gtk_im_context_delete_surrounding*(context: PGtkIMContext, offset: gint,
-                                        n_chars: gint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_im_context_delete_surrounding".}
-const
-  bm_TGtkMenuShell_active* = 0x00000001'i16
-  bp_TGtkMenuShell_active* = 0'i16
-  bm_TGtkMenuShell_have_grab* = 0x00000002'i16
-  bp_TGtkMenuShell_have_grab* = 1'i16
-  bm_TGtkMenuShell_have_xgrab* = 0x00000004'i16
-  bp_TGtkMenuShell_have_xgrab* = 2'i16
-  bm_TGtkMenuShell_ignore_leave* = 0x00000008'i16
-  bp_TGtkMenuShell_ignore_leave* = 3'i16
-  bm_TGtkMenuShell_menu_flag* = 0x00000010'i16
-  bp_TGtkMenuShell_menu_flag* = 4'i16
-  bm_TGtkMenuShell_ignore_enter* = 0x00000020'i16
-  bp_TGtkMenuShell_ignore_enter* = 5'i16
-  bm_TGtkMenuShellClass_submenu_placement* = 0x00000001'i16
-  bp_TGtkMenuShellClass_submenu_placement* = 0'i16
-
-proc GTK_TYPE_MENU_SHELL*(): GType
-proc GTK_MENU_SHELL*(obj: pointer): PGtkMenuShell
-proc GTK_MENU_SHELL_CLASS*(klass: pointer): PGtkMenuShellClass
-proc GTK_IS_MENU_SHELL*(obj: pointer): bool
-proc GTK_IS_MENU_SHELL_CLASS*(klass: pointer): bool
-proc GTK_MENU_SHELL_GET_CLASS*(obj: pointer): PGtkMenuShellClass
-proc active*(a: var TGtkMenuShell): guint
-proc set_active*(a: var TGtkMenuShell, `active`: guint)
-proc have_grab*(a: var TGtkMenuShell): guint
-proc set_have_grab*(a: var TGtkMenuShell, `have_grab`: guint)
-proc have_xgrab*(a: var TGtkMenuShell): guint
-proc set_have_xgrab*(a: var TGtkMenuShell, `have_xgrab`: guint)
-proc ignore_leave*(a: var TGtkMenuShell): guint
-proc set_ignore_leave*(a: var TGtkMenuShell, `ignore_leave`: guint)
-proc menu_flag*(a: var TGtkMenuShell): guint
-proc set_menu_flag*(a: var TGtkMenuShell, `menu_flag`: guint)
-proc ignore_enter*(a: var TGtkMenuShell): guint
-proc set_ignore_enter*(a: var TGtkMenuShell, `ignore_enter`: guint)
-proc submenu_placement*(a: var TGtkMenuShellClass): guint
-proc set_submenu_placement*(a: var TGtkMenuShellClass,
-                            `submenu_placement`: guint)
-proc gtk_menu_shell_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_shell_get_type".}
-proc gtk_menu_shell_append*(menu_shell: PGtkMenuShell, child: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_menu_shell_append".}
-proc gtk_menu_shell_prepend*(menu_shell: PGtkMenuShell, child: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_menu_shell_prepend".}
-proc gtk_menu_shell_insert*(menu_shell: PGtkMenuShell, child: PGtkWidget,
-                            position: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_shell_insert".}
-proc gtk_menu_shell_deactivate*(menu_shell: PGtkMenuShell){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_shell_deactivate".}
-proc gtk_menu_shell_select_item*(menu_shell: PGtkMenuShell,
-                                 menu_item: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_shell_select_item".}
-proc gtk_menu_shell_deselect*(menu_shell: PGtkMenuShell){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_shell_deselect".}
-proc gtk_menu_shell_activate_item*(menu_shell: PGtkMenuShell,
-                                   menu_item: PGtkWidget,
-                                   force_deactivate: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_shell_activate_item".}
-proc gtk_menu_shell_select_first*(menu_shell: PGtkMenuShell){.cdecl,
-    dynlib: gtklib, importc: "_gtk_menu_shell_select_first".}
-proc gtk_menu_shell_activate*(menu_shell: PGtkMenuShell){.cdecl,
-    dynlib: gtklib, importc: "_gtk_menu_shell_activate".}
-const
-  bm_TGtkMenu_needs_destruction_ref_count* = 0x00000001'i16
-  bp_TGtkMenu_needs_destruction_ref_count* = 0'i16
-  bm_TGtkMenu_torn_off* = 0x00000002'i16
-  bp_TGtkMenu_torn_off* = 1'i16
-  bm_TGtkMenu_tearoff_active* = 0x00000004'i16
-  bp_TGtkMenu_tearoff_active* = 2'i16
-  bm_TGtkMenu_scroll_fast* = 0x00000008'i16
-  bp_TGtkMenu_scroll_fast* = 3'i16
-  bm_TGtkMenu_upper_arrow_visible* = 0x00000010'i16
-  bp_TGtkMenu_upper_arrow_visible* = 4'i16
-  bm_TGtkMenu_lower_arrow_visible* = 0x00000020'i16
-  bp_TGtkMenu_lower_arrow_visible* = 5'i16
-  bm_TGtkMenu_upper_arrow_prelight* = 0x00000040'i16
-  bp_TGtkMenu_upper_arrow_prelight* = 6'i16
-  bm_TGtkMenu_lower_arrow_prelight* = 0x00000080'i16
-  bp_TGtkMenu_lower_arrow_prelight* = 7'i16
-
-proc GTK_TYPE_MENU*(): GType
-proc GTK_MENU*(obj: pointer): PGtkMenu
-proc GTK_MENU_CLASS*(klass: pointer): PGtkMenuClass
-proc GTK_IS_MENU*(obj: pointer): bool
-proc GTK_IS_MENU_CLASS*(klass: pointer): bool
-proc GTK_MENU_GET_CLASS*(obj: pointer): PGtkMenuClass
-proc needs_destruction_ref_count*(a: var TGtkMenu): guint
-proc set_needs_destruction_ref_count*(a: var TGtkMenu,
-                                      `needs_destruction_ref_count`: guint)
-proc torn_off*(a: var TGtkMenu): guint
-proc set_torn_off*(a: var TGtkMenu, `torn_off`: guint)
-proc tearoff_active*(a: var TGtkMenu): guint
-proc set_tearoff_active*(a: var TGtkMenu, `tearoff_active`: guint)
-proc scroll_fast*(a: var TGtkMenu): guint
-proc set_scroll_fast*(a: var TGtkMenu, `scroll_fast`: guint)
-proc upper_arrow_visible*(a: var TGtkMenu): guint
-proc set_upper_arrow_visible*(a: var TGtkMenu, `upper_arrow_visible`: guint)
-proc lower_arrow_visible*(a: var TGtkMenu): guint
-proc set_lower_arrow_visible*(a: var TGtkMenu, `lower_arrow_visible`: guint)
-proc upper_arrow_prelight*(a: var TGtkMenu): guint
-proc set_upper_arrow_prelight*(a: var TGtkMenu, `upper_arrow_prelight`: guint)
-proc lower_arrow_prelight*(a: var TGtkMenu): guint
-proc set_lower_arrow_prelight*(a: var TGtkMenu, `lower_arrow_prelight`: guint)
-proc gtk_menu_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_menu_get_type".}
-proc gtk_menu_new*(): PGtkMenu {.cdecl, dynlib: gtklib, importc: "gtk_menu_new".}
-proc gtk_menu_popup*(menu: PGtkMenu, parent_menu_shell: PGtkWidget,
-                     parent_menu_item: PGtkWidget, fun: TGtkMenuPositionFunc,
-                     data: gpointer, button: guint, activate_time: guint32){.
-    cdecl, dynlib: gtklib, importc: "gtk_menu_popup".}
-proc gtk_menu_reposition*(menu: PGtkMenu){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_reposition".}
-proc gtk_menu_popdown*(menu: PGtkMenu){.cdecl, dynlib: gtklib,
-                                        importc: "gtk_menu_popdown".}
-proc gtk_menu_get_active*(menu: PGtkMenu): PGtkWidget{.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_get_active".}
-proc gtk_menu_set_active*(menu: PGtkMenu, index: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_set_active".}
-proc gtk_menu_set_accel_group*(menu: PGtkMenu, accel_group: PGtkAccelGroup){.
-    cdecl, dynlib: gtklib, importc: "gtk_menu_set_accel_group".}
-proc gtk_menu_get_accel_group*(menu: PGtkMenu): PGtkAccelGroup{.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_get_accel_group".}
-proc gtk_menu_set_accel_path*(menu: PGtkMenu, accel_path: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_set_accel_path".}
-proc gtk_menu_attach_to_widget*(menu: PGtkMenu, attach_widget: PGtkWidget,
-                                detacher: TGtkMenuDetachFunc){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_attach_to_widget".}
-proc gtk_menu_detach*(menu: PGtkMenu){.cdecl, dynlib: gtklib,
-                                       importc: "gtk_menu_detach".}
-proc gtk_menu_get_attach_widget*(menu: PGtkMenu): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_get_attach_widget".}
-proc gtk_menu_set_tearoff_state*(menu: PGtkMenu, torn_off: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_set_tearoff_state".}
-proc gtk_menu_get_tearoff_state*(menu: PGtkMenu): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_get_tearoff_state".}
-proc gtk_menu_set_title*(menu: PGtkMenu, title: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_set_title".}
-proc gtk_menu_get_title*(menu: PGtkMenu): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_get_title".}
-proc gtk_menu_reorder_child*(menu: PGtkMenu, child: PGtkWidget, position: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_menu_reorder_child".}
-proc gtk_menu_set_screen*(menu: PGtkMenu, screen: PGdkScreen){.cdecl,
-    dynlib: gtklib, importc: "gtk_menu_set_screen".}
-const
-  bm_TGtkEntry_editable* = 0x00000001'i16
-  bp_TGtkEntry_editable* = 0'i16
-  bm_TGtkEntry_visible* = 0x00000002'i16
-  bp_TGtkEntry_visible* = 1'i16
-  bm_TGtkEntry_overwrite_mode* = 0x00000004'i16
-  bp_TGtkEntry_overwrite_mode* = 2'i16
-  bm_TGtkEntry_in_drag* = 0x00000008'i16
-  bp_TGtkEntry_in_drag* = 3'i16
-  bm_TGtkEntry_cache_includes_preedit* = 0x00000001'i16
-  bp_TGtkEntry_cache_includes_preedit* = 0'i16
-  bm_TGtkEntry_need_im_reset* = 0x00000002'i16
-  bp_TGtkEntry_need_im_reset* = 1'i16
-  bm_TGtkEntry_has_frame* = 0x00000004'i16
-  bp_TGtkEntry_has_frame* = 2'i16
-  bm_TGtkEntry_activates_default* = 0x00000008'i16
-  bp_TGtkEntry_activates_default* = 3'i16
-  bm_TGtkEntry_cursor_visible* = 0x00000010'i16
-  bp_TGtkEntry_cursor_visible* = 4'i16
-  bm_TGtkEntry_in_click* = 0x00000020'i16
-  bp_TGtkEntry_in_click* = 5'i16
-  bm_TGtkEntry_is_cell_renderer* = 0x00000040'i16
-  bp_TGtkEntry_is_cell_renderer* = 6'i16
-  bm_TGtkEntry_editing_canceled* = 0x00000080'i16
-  bp_TGtkEntry_editing_canceled* = 7'i16
-  bm_TGtkEntry_mouse_cursor_obscured* = 0x00000100'i16
-  bp_TGtkEntry_mouse_cursor_obscured* = 8'i16
-
-proc GTK_TYPE_ENTRY*(): GType
-proc GTK_ENTRY*(obj: pointer): PGtkEntry
-proc GTK_ENTRY_CLASS*(klass: pointer): PGtkEntryClass
-proc GTK_IS_ENTRY*(obj: pointer): bool
-proc GTK_IS_ENTRY_CLASS*(klass: pointer): bool
-proc GTK_ENTRY_GET_CLASS*(obj: pointer): PGtkEntryClass
-proc editable*(a: var TGtkEntry): guint
-proc set_editable*(a: var TGtkEntry, `editable`: guint)
-proc visible*(a: var TGtkEntry): guint
-proc set_visible*(a: var TGtkEntry, `visible`: guint)
-proc overwrite_mode*(a: var TGtkEntry): guint
-proc set_overwrite_mode*(a: var TGtkEntry, `overwrite_mode`: guint)
-proc in_drag*(a: var TGtkEntry): guint
-proc set_in_drag*(a: var TGtkEntry, `in_drag`: guint)
-proc cache_includes_preedit*(a: var TGtkEntry): guint
-proc set_cache_includes_preedit*(a: var TGtkEntry,
-                                 `cache_includes_preedit`: guint)
-proc need_im_reset*(a: var TGtkEntry): guint
-proc set_need_im_reset*(a: var TGtkEntry, `need_im_reset`: guint)
-proc has_frame*(a: var TGtkEntry): guint
-proc set_has_frame*(a: var TGtkEntry, `has_frame`: guint)
-proc activates_default*(a: var TGtkEntry): guint
-proc set_activates_default*(a: var TGtkEntry, `activates_default`: guint)
-proc cursor_visible*(a: var TGtkEntry): guint
-proc set_cursor_visible*(a: var TGtkEntry, `cursor_visible`: guint)
-proc in_click*(a: var TGtkEntry): guint
-proc set_in_click*(a: var TGtkEntry, `in_click`: guint)
-proc is_cell_renderer*(a: var TGtkEntry): guint
-proc set_is_cell_renderer*(a: var TGtkEntry, `is_cell_renderer`: guint)
-proc editing_canceled*(a: var TGtkEntry): guint
-proc set_editing_canceled*(a: var TGtkEntry, `editing_canceled`: guint)
-proc mouse_cursor_obscured*(a: var TGtkEntry): guint
-proc set_mouse_cursor_obscured*(a: var TGtkEntry, `mouse_cursor_obscured`: guint)
-proc gtk_entry_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_entry_get_type".}
-proc gtk_entry_new*(): PGtkEntry {.cdecl, dynlib: gtklib,
-                                   importc: "gtk_entry_new".}
-proc gtk_entry_set_visibility*(entry: PGtkEntry, visible: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_set_visibility".}
-proc gtk_entry_get_visibility*(entry: PGtkEntry): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_get_visibility".}
-proc gtk_entry_set_invisible_char*(entry: PGtkEntry, ch: gunichar){.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_set_invisible_char".}
-proc gtk_entry_get_invisible_char*(entry: PGtkEntry): gunichar{.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_get_invisible_char".}
-proc gtk_entry_set_has_frame*(entry: PGtkEntry, setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_set_has_frame".}
-proc gtk_entry_get_has_frame*(entry: PGtkEntry): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_get_has_frame".}
-proc gtk_entry_set_max_length*(entry: PGtkEntry, max: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_set_max_length".}
-proc gtk_entry_get_max_length*(entry: PGtkEntry): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_entry_get_max_length".}
-proc gtk_entry_set_activates_default*(entry: PGtkEntry, setting: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_entry_set_activates_default".}
-proc gtk_entry_get_activates_default*(entry: PGtkEntry): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_get_activates_default".}
-proc gtk_entry_set_width_chars*(entry: PGtkEntry, n_chars: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_set_width_chars".}
-proc gtk_entry_get_width_chars*(entry: PGtkEntry): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_entry_get_width_chars".}
-proc gtk_entry_set_text*(entry: PGtkEntry, text: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_entry_set_text".}
-proc gtk_entry_get_text*(entry: PGtkEntry): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_entry_get_text".}
-proc gtk_entry_get_layout*(entry: PGtkEntry): PPangoLayout{.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_get_layout".}
-proc gtk_entry_get_layout_offsets*(entry: PGtkEntry, x: Pgint, y: Pgint){.cdecl,
-    dynlib: gtklib, importc: "gtk_entry_get_layout_offsets".}
-const
-  GTK_ANCHOR_CENTER* = 0
-  GTK_ANCHOR_NORTH* = 1
-  GTK_ANCHOR_NORTH_WEST* = 2
-  GTK_ANCHOR_NORTH_EAST* = 3
-  GTK_ANCHOR_SOUTH* = 4
-  GTK_ANCHOR_SOUTH_WEST* = 5
-  GTK_ANCHOR_SOUTH_EAST* = 6
-  GTK_ANCHOR_WEST* = 7
-  GTK_ANCHOR_EAST* = 8
-  GTK_ANCHOR_N* = GTK_ANCHOR_NORTH
-  GTK_ANCHOR_NW* = GTK_ANCHOR_NORTH_WEST
-  GTK_ANCHOR_NE* = GTK_ANCHOR_NORTH_EAST
-  GTK_ANCHOR_S* = GTK_ANCHOR_SOUTH
-  GTK_ANCHOR_SW* = GTK_ANCHOR_SOUTH_WEST
-  GTK_ANCHOR_SE* = GTK_ANCHOR_SOUTH_EAST
-  GTK_ANCHOR_W* = GTK_ANCHOR_WEST
-  GTK_ANCHOR_E* = GTK_ANCHOR_EAST
-  GTK_ARROW_UP* = 0
-  GTK_ARROW_DOWN* = 1
-  GTK_ARROW_LEFT* = 2
-  GTK_ARROW_RIGHT* = 3
-  GTK_EXPAND* = 1 shl 0
-  GTK_SHRINK* = 1 shl 1
-  GTK_FILL* = 1 shl 2
-  GTK_BUTTONBOX_DEFAULT_STYLE* = 0
-  GTK_BUTTONBOX_SPREAD* = 1
-  GTK_BUTTONBOX_EDGE* = 2
-  GTK_BUTTONBOX_START* = 3
-  GTK_BUTTONBOX_END* = 4
-  GTK_CURVE_TYPE_LINEAR* = 0
-  GTK_CURVE_TYPE_SPLINE* = 1
-  GTK_CURVE_TYPE_FREE* = 2
-  GTK_DELETE_CHARS* = 0
-  GTK_DELETE_WORD_ENDS* = 1
-  GTK_DELETE_WORDS* = 2
-  GTK_DELETE_DISPLAY_LINES* = 3
-  GTK_DELETE_DISPLAY_LINE_ENDS* = 4
-  GTK_DELETE_PARAGRAPH_ENDS* = 5
-  GTK_DELETE_PARAGRAPHS* = 6
-  GTK_DELETE_WHITESPACE* = 7
-  GTK_DIR_TAB_FORWARD* = 0
-  GTK_DIR_TAB_BACKWARD* = 1
-  GTK_DIR_UP* = 2
-  GTK_DIR_DOWN* = 3
-  GTK_DIR_LEFT* = 4
-  GTK_DIR_RIGHT* = 5
-  GTK_EXPANDER_COLLAPSED* = 0
-  GTK_EXPANDER_SEMI_COLLAPSED* = 1
-  GTK_EXPANDER_SEMI_EXPANDED* = 2
-  GTK_EXPANDER_EXPANDED* = 3
-  GTK_ICON_SIZE_INVALID* = 0
-  GTK_ICON_SIZE_MENU* = 1
-  GTK_ICON_SIZE_SMALL_TOOLBAR* = 2
-  GTK_ICON_SIZE_LARGE_TOOLBAR* = 3
-  GTK_ICON_SIZE_BUTTON* = 4
-  GTK_ICON_SIZE_DND* = 5
-  GTK_ICON_SIZE_DIALOG* = 6
-  GTK_TEXT_DIR_NONE* = 0
-  GTK_TEXT_DIR_LTR* = 1
-  GTK_TEXT_DIR_RTL* = 2
-  GTK_JUSTIFY_LEFT* = 0
-  GTK_JUSTIFY_RIGHT* = 1
-  GTK_JUSTIFY_CENTER* = 2
-  GTK_JUSTIFY_FILL* = 3
-  GTK_MENU_DIR_PARENT* = 0
-  GTK_MENU_DIR_CHILD* = 1
-  GTK_MENU_DIR_NEXT* = 2
-  GTK_MENU_DIR_PREV* = 3
-  GTK_PIXELS* = 0
-  GTK_INCHES* = 1
-  GTK_CENTIMETERS* = 2
-  GTK_MOVEMENT_LOGICAL_POSITIONS* = 0
-  GTK_MOVEMENT_VISUAL_POSITIONS* = 1
-  GTK_MOVEMENT_WORDS* = 2
-  GTK_MOVEMENT_DISPLAY_LINES* = 3
-  GTK_MOVEMENT_DISPLAY_LINE_ENDS* = 4
-  GTK_MOVEMENT_PARAGRAPHS* = 5
-  GTK_MOVEMENT_PARAGRAPH_ENDS* = 6
-  GTK_MOVEMENT_PAGES* = 7
-  GTK_MOVEMENT_BUFFER_ENDS* = 8
-  GTK_ORIENTATION_HORIZONTAL* = 0
-  GTK_ORIENTATION_VERTICAL* = 1
-  GTK_CORNER_TOP_LEFT* = 0
-  GTK_CORNER_BOTTOM_LEFT* = 1
-  GTK_CORNER_TOP_RIGHT* = 2
-  GTK_CORNER_BOTTOM_RIGHT* = 3
-  GTK_PACK_START* = 0
-  GTK_PACK_END* = 1
-  GTK_PATH_PRIO_LOWEST* = 0
-  GTK_PATH_PRIO_GTK* = 4
-  GTK_PATH_PRIO_APPLICATION* = 8
-  GTK_PATH_PRIO_THEME* = 10
-  GTK_PATH_PRIO_RC* = 12
-  GTK_PATH_PRIO_HIGHEST* = 15
-  GTK_PATH_WIDGET* = 0
-  GTK_PATH_WIDGET_CLASS* = 1
-  GTK_PATH_CLASS* = 2
-  GTK_POLICY_ALWAYS* = 0
-  GTK_POLICY_AUTOMATIC* = 1
-  GTK_POLICY_NEVER* = 2
-  GTK_POS_LEFT* = 0
-  GTK_POS_RIGHT* = 1
-  GTK_POS_TOP* = 2
-  GTK_POS_BOTTOM* = 3
-  GTK_PREVIEW_COLOR* = 0
-  GTK_PREVIEW_GRAYSCALE* = 1
-  GTK_RELIEF_NORMAL* = 0
-  GTK_RELIEF_HALF* = 1
-  GTK_RELIEF_NONE* = 2
-  GTK_RESIZE_PARENT* = 0
-  GTK_RESIZE_QUEUE* = 1
-  GTK_RESIZE_IMMEDIATE* = 2
-  GTK_SCROLL_NONE* = 0
-  GTK_SCROLL_JUMP* = 1
-  GTK_SCROLL_STEP_BACKWARD* = 2
-  GTK_SCROLL_STEP_FORWARD* = 3
-  GTK_SCROLL_PAGE_BACKWARD* = 4
-  GTK_SCROLL_PAGE_FORWARD* = 5
-  GTK_SCROLL_STEP_UP* = 6
-  GTK_SCROLL_STEP_DOWN* = 7
-  GTK_SCROLL_PAGE_UP* = 8
-  GTK_SCROLL_PAGE_DOWN* = 9
-  GTK_SCROLL_STEP_LEFT* = 10
-  GTK_SCROLL_STEP_RIGHT* = 11
-  GTK_SCROLL_PAGE_LEFT* = 12
-  GTK_SCROLL_PAGE_RIGHT* = 13
-  GTK_SCROLL_START* = 14
-  GTK_SCROLL_END* = 15
-  GTK_SELECTION_NONE* = 0
-  GTK_SELECTION_SINGLE* = 1
-  GTK_SELECTION_BROWSE* = 2
-  GTK_SELECTION_MULTIPLE* = 3
-  GTK_SELECTION_EXTENDED* = GTK_SELECTION_MULTIPLE
-  GTK_SHADOW_NONE* = 0
-  GTK_SHADOW_IN* = 1
-  GTK_SHADOW_OUT* = 2
-  GTK_SHADOW_ETCHED_IN* = 3
-  GTK_SHADOW_ETCHED_OUT* = 4
-  GTK_STATE_NORMAL* = 0
-  GTK_STATE_ACTIVE* = 1
-  GTK_STATE_PRELIGHT* = 2
-  GTK_STATE_SELECTED* = 3
-  GTK_STATE_INSENSITIVE* = 4
-  GTK_DIRECTION_LEFT* = 0
-  GTK_DIRECTION_RIGHT* = 1
-  GTK_TOP_BOTTOM* = 0
-  GTK_LEFT_RIGHT* = 1
-  GTK_TOOLBAR_ICONS* = 0
-  GTK_TOOLBAR_TEXT* = 1
-  GTK_TOOLBAR_BOTH* = 2
-  GTK_TOOLBAR_BOTH_HORIZ* = 3
-  GTK_UPDATE_CONTINUOUS* = 0
-  GTK_UPDATE_DISCONTINUOUS* = 1
-  GTK_UPDATE_DELAYED* = 2
-  GTK_VISIBILITY_NONE* = 0
-  GTK_VISIBILITY_PARTIAL* = 1
-  GTK_VISIBILITY_FULL* = 2
-  GTK_WIN_POS_NONE* = 0
-  GTK_WIN_POS_CENTER* = 1
-  GTK_WIN_POS_MOUSE* = 2
-  GTK_WIN_POS_CENTER_ALWAYS* = 3
-  GTK_WIN_POS_CENTER_ON_PARENT* = 4
-  GTK_WINDOW_TOPLEVEL* = 0
-  GTK_WINDOW_POPUP* = 1
-  GTK_WRAP_NONE* = 0
-  GTK_WRAP_CHAR* = 1
-  GTK_WRAP_WORD* = 2
-  GTK_SORT_ASCENDING* = 0
-  GTK_SORT_DESCENDING* = 1
-
-proc GTK_TYPE_EVENT_BOX*(): GType
-proc GTK_EVENT_BOX*(obj: pointer): PGtkEventBox
-proc GTK_EVENT_BOX_CLASS*(klass: pointer): PGtkEventBoxClass
-proc GTK_IS_EVENT_BOX*(obj: pointer): bool
-proc GTK_IS_EVENT_BOX_CLASS*(klass: pointer): bool
-proc GTK_EVENT_BOX_GET_CLASS*(obj: pointer): PGtkEventBoxClass
-proc gtk_event_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_event_box_get_type".}
-proc gtk_event_box_new*(): PGtkEventBox {.cdecl, dynlib: gtklib,
-                                          importc: "gtk_event_box_new".}
-const
-  FNM_PATHNAME* = 1 shl 0
-  FNM_NOESCAPE* = 1 shl 1
-  FNM_PERIOD* = 1 shl 2
-
-const
-  FNM_FILE_NAME* = FNM_PATHNAME
-  FNM_LEADING_DIR* = 1 shl 3
-  FNM_CASEFOLD* = 1 shl 4
-
-const
-  FNM_NOMATCH* = 1
-
-proc fnmatch*(`pattern`: char, `string`: char, `flags`: gint): gint{.cdecl,
-    dynlib: gtklib, importc: "fnmatch".}
-proc GTK_TYPE_FILE_SELECTION*(): GType
-proc GTK_FILE_SELECTION*(obj: pointer): PGtkFileSelection
-proc GTK_FILE_SELECTION_CLASS*(klass: pointer): PGtkFileSelectionClass
-proc GTK_IS_FILE_SELECTION*(obj: pointer): bool
-proc GTK_IS_FILE_SELECTION_CLASS*(klass: pointer): bool
-proc GTK_FILE_SELECTION_GET_CLASS*(obj: pointer): PGtkFileSelectionClass
-proc gtk_file_selection_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_file_selection_get_type".}
-proc gtk_file_selection_new*(title: cstring): PGtkFileSelection {.cdecl, dynlib: gtklib,
-    importc: "gtk_file_selection_new".}
-proc gtk_file_selection_set_filename*(filesel: PGtkFileSelection,
-                                      filename: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_file_selection_set_filename".}
-proc gtk_file_selection_get_filename*(filesel: PGtkFileSelection): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_selection_get_filename".}
-proc gtk_file_selection_complete*(filesel: PGtkFileSelection, pattern: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_file_selection_complete".}
-proc gtk_file_selection_show_fileop_buttons*(filesel: PGtkFileSelection){.cdecl,
-    dynlib: gtklib, importc: "gtk_file_selection_show_fileop_buttons".}
-proc gtk_file_selection_hide_fileop_buttons*(filesel: PGtkFileSelection){.cdecl,
-    dynlib: gtklib, importc: "gtk_file_selection_hide_fileop_buttons".}
-proc gtk_file_selection_get_selections*(filesel: PGtkFileSelection): PPgchar{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_selection_get_selections".}
-proc gtk_file_selection_set_select_multiple*(filesel: PGtkFileSelection,
-    select_multiple: gboolean){.cdecl, dynlib: gtklib, importc: "gtk_file_selection_set_select_multiple".}
-proc gtk_file_selection_get_select_multiple*(filesel: PGtkFileSelection): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_selection_get_select_multiple".}
-proc GTK_TYPE_FIXED*(): GType
-proc GTK_FIXED*(obj: pointer): PGtkFixed
-proc GTK_FIXED_CLASS*(klass: pointer): PGtkFixedClass
-proc GTK_IS_FIXED*(obj: pointer): bool
-proc GTK_IS_FIXED_CLASS*(klass: pointer): bool
-proc GTK_FIXED_GET_CLASS*(obj: pointer): PGtkFixedClass
-proc gtk_fixed_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_fixed_get_type".}
-proc gtk_fixed_new*(): PGtkFixed {.cdecl, dynlib: gtklib,
-                                   importc: "gtk_fixed_new".}
-proc gtk_fixed_put*(fixed: PGtkFixed, widget: PGtkWidget, x: gint, y: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_fixed_put".}
-proc gtk_fixed_move*(fixed: PGtkFixed, widget: PGtkWidget, x: gint, y: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_fixed_move".}
-proc gtk_fixed_set_has_window*(fixed: PGtkFixed, has_window: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_fixed_set_has_window".}
-proc gtk_fixed_get_has_window*(fixed: PGtkFixed): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_fixed_get_has_window".}
-proc GTK_TYPE_FONT_SELECTION*(): GType
-proc GTK_FONT_SELECTION*(obj: pointer): PGtkFontSelection
-proc GTK_FONT_SELECTION_CLASS*(klass: pointer): PGtkFontSelectionClass
-proc GTK_IS_FONT_SELECTION*(obj: pointer): bool
-proc GTK_IS_FONT_SELECTION_CLASS*(klass: pointer): bool
-proc GTK_FONT_SELECTION_GET_CLASS*(obj: pointer): PGtkFontSelectionClass
-proc GTK_TYPE_FONT_SELECTION_DIALOG*(): GType
-proc GTK_FONT_SELECTION_DIALOG*(obj: pointer): PGtkFontSelectionDialog
-proc GTK_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): PGtkFontSelectionDialogClass
-proc GTK_IS_FONT_SELECTION_DIALOG*(obj: pointer): bool
-proc GTK_IS_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): bool
-proc GTK_FONT_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PGtkFontSelectionDialogClass
-proc gtk_font_selection_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_font_selection_get_type".}
-proc gtk_font_selection_new*(): PGtkFontSelection{.cdecl, dynlib: gtklib,
-    importc: "gtk_font_selection_new".}
-proc gtk_font_selection_get_font_name*(fontsel: PGtkFontSelection): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_font_selection_get_font_name".}
-proc gtk_font_selection_set_font_name*(fontsel: PGtkFontSelection,
-                                       fontname: cstring): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_font_selection_set_font_name".}
-proc gtk_font_selection_get_preview_text*(fontsel: PGtkFontSelection): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_font_selection_get_preview_text".}
-proc gtk_font_selection_set_preview_text*(fontsel: PGtkFontSelection,
-    text: cstring){.cdecl, dynlib: gtklib,
-                   importc: "gtk_font_selection_set_preview_text".}
-proc gtk_font_selection_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_font_selection_dialog_get_type".}
-proc gtk_font_selection_dialog_new*(title: cstring): PGtkFontSelectionDialog{.cdecl,
-    dynlib: gtklib, importc: "gtk_font_selection_dialog_new".}
-proc gtk_font_selection_dialog_get_font_name*(fsd: PGtkFontSelectionDialog): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_font_selection_dialog_get_font_name".}
-proc gtk_font_selection_dialog_set_font_name*(fsd: PGtkFontSelectionDialog,
-    fontname: cstring): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_font_selection_dialog_set_font_name".}
-proc gtk_font_selection_dialog_get_preview_text*(fsd: PGtkFontSelectionDialog): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_font_selection_dialog_get_preview_text".}
-proc gtk_font_selection_dialog_set_preview_text*(fsd: PGtkFontSelectionDialog,
-    text: cstring){.cdecl, dynlib: gtklib,
-                   importc: "gtk_font_selection_dialog_set_preview_text".}
-proc GTK_TYPE_GAMMA_CURVE*(): GType
-proc GTK_GAMMA_CURVE*(obj: pointer): PGtkGammaCurve
-proc GTK_GAMMA_CURVE_CLASS*(klass: pointer): PGtkGammaCurveClass
-proc GTK_IS_GAMMA_CURVE*(obj: pointer): bool
-proc GTK_IS_GAMMA_CURVE_CLASS*(klass: pointer): bool
-proc GTK_GAMMA_CURVE_GET_CLASS*(obj: pointer): PGtkGammaCurveClass
-proc gtk_gamma_curve_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_gamma_curve_get_type".}
-proc gtk_gamma_curve_new*(): PGtkGammaCurve{.cdecl, dynlib: gtklib,
-    importc: "gtk_gamma_curve_new".}
-proc gtk_gc_get*(depth: gint, colormap: PGdkColormap, values: PGdkGCValues,
-                 values_mask: TGdkGCValuesMask): PGdkGC{.cdecl, dynlib: gtklib,
-    importc: "gtk_gc_get".}
-proc gtk_gc_release*(gc: PGdkGC){.cdecl, dynlib: gtklib,
-                                  importc: "gtk_gc_release".}
-const
-  bm_TGtkHandleBox_handle_position* = 0x00000003'i16
-  bp_TGtkHandleBox_handle_position* = 0'i16
-  bm_TGtkHandleBox_float_window_mapped* = 0x00000004'i16
-  bp_TGtkHandleBox_float_window_mapped* = 2'i16
-  bm_TGtkHandleBox_child_detached* = 0x00000008'i16
-  bp_TGtkHandleBox_child_detached* = 3'i16
-  bm_TGtkHandleBox_in_drag* = 0x00000010'i16
-  bp_TGtkHandleBox_in_drag* = 4'i16
-  bm_TGtkHandleBox_shrink_on_detach* = 0x00000020'i16
-  bp_TGtkHandleBox_shrink_on_detach* = 5'i16
-  bm_TGtkHandleBox_snap_edge* = 0x000001C0'i16
-  bp_TGtkHandleBox_snap_edge* = 6'i16
-
-proc GTK_TYPE_HANDLE_BOX*(): GType
-proc GTK_HANDLE_BOX*(obj: pointer): PGtkHandleBox
-proc GTK_HANDLE_BOX_CLASS*(klass: pointer): PGtkHandleBoxClass
-proc GTK_IS_HANDLE_BOX*(obj: pointer): bool
-proc GTK_IS_HANDLE_BOX_CLASS*(klass: pointer): bool
-proc GTK_HANDLE_BOX_GET_CLASS*(obj: pointer): PGtkHandleBoxClass
-proc handle_position*(a: var TGtkHandleBox): guint
-proc set_handle_position*(a: var TGtkHandleBox, `handle_position`: guint)
-proc float_window_mapped*(a: var TGtkHandleBox): guint
-proc set_float_window_mapped*(a: var TGtkHandleBox, `float_window_mapped`: guint)
-proc child_detached*(a: var TGtkHandleBox): guint
-proc set_child_detached*(a: var TGtkHandleBox, `child_detached`: guint)
-proc in_drag*(a: var TGtkHandleBox): guint
-proc set_in_drag*(a: var TGtkHandleBox, `in_drag`: guint)
-proc shrink_on_detach*(a: var TGtkHandleBox): guint
-proc set_shrink_on_detach*(a: var TGtkHandleBox, `shrink_on_detach`: guint)
-proc snap_edge*(a: var TGtkHandleBox): gint
-proc set_snap_edge*(a: var TGtkHandleBox, `snap_edge`: gint)
-proc gtk_handle_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_handle_box_get_type".}
-proc gtk_handle_box_new*(): PGtkHandleBox{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_handle_box_new".}
-proc gtk_handle_box_set_shadow_type*(handle_box: PGtkHandleBox,
-                                     thetype: TGtkShadowType){.cdecl,
-    dynlib: gtklib, importc: "gtk_handle_box_set_shadow_type".}
-proc gtk_handle_box_get_shadow_type*(handle_box: PGtkHandleBox): TGtkShadowType{.
-    cdecl, dynlib: gtklib, importc: "gtk_handle_box_get_shadow_type".}
-proc gtk_handle_box_set_handle_position*(handle_box: PGtkHandleBox,
-    position: TGtkPositionType){.cdecl, dynlib: gtklib,
-                                 importc: "gtk_handle_box_set_handle_position".}
-proc gtk_handle_box_get_handle_position*(handle_box: PGtkHandleBox): TGtkPositionType{.
-    cdecl, dynlib: gtklib, importc: "gtk_handle_box_get_handle_position".}
-proc gtk_handle_box_set_snap_edge*(handle_box: PGtkHandleBox,
-                                   edge: TGtkPositionType){.cdecl,
-    dynlib: gtklib, importc: "gtk_handle_box_set_snap_edge".}
-proc gtk_handle_box_get_snap_edge*(handle_box: PGtkHandleBox): TGtkPositionType{.
-    cdecl, dynlib: gtklib, importc: "gtk_handle_box_get_snap_edge".}
-const
-  bm_TGtkPaned_position_set* = 0x00000001'i16
-  bp_TGtkPaned_position_set* = 0'i16
-  bm_TGtkPaned_in_drag* = 0x00000002'i16
-  bp_TGtkPaned_in_drag* = 1'i16
-  bm_TGtkPaned_child1_shrink* = 0x00000004'i16
-  bp_TGtkPaned_child1_shrink* = 2'i16
-  bm_TGtkPaned_child1_resize* = 0x00000008'i16
-  bp_TGtkPaned_child1_resize* = 3'i16
-  bm_TGtkPaned_child2_shrink* = 0x00000010'i16
-  bp_TGtkPaned_child2_shrink* = 4'i16
-  bm_TGtkPaned_child2_resize* = 0x00000020'i16
-  bp_TGtkPaned_child2_resize* = 5'i16
-  bm_TGtkPaned_orientation* = 0x00000040'i16
-  bp_TGtkPaned_orientation* = 6'i16
-  bm_TGtkPaned_in_recursion* = 0x00000080'i16
-  bp_TGtkPaned_in_recursion* = 7'i16
-  bm_TGtkPaned_handle_prelit* = 0x00000100'i16
-  bp_TGtkPaned_handle_prelit* = 8'i16
-
-proc GTK_TYPE_PANED*(): GType
-proc GTK_PANED*(obj: pointer): PGtkPaned
-proc GTK_PANED_CLASS*(klass: pointer): PGtkPanedClass
-proc GTK_IS_PANED*(obj: pointer): bool
-proc GTK_IS_PANED_CLASS*(klass: pointer): bool
-proc GTK_PANED_GET_CLASS*(obj: pointer): PGtkPanedClass
-proc position_set*(a: var TGtkPaned): guint
-proc set_position_set*(a: var TGtkPaned, `position_set`: guint)
-proc in_drag*(a: var TGtkPaned): guint
-proc set_in_drag*(a: var TGtkPaned, `in_drag`: guint)
-proc child1_shrink*(a: var TGtkPaned): guint
-proc set_child1_shrink*(a: var TGtkPaned, `child1_shrink`: guint)
-proc child1_resize*(a: var TGtkPaned): guint
-proc set_child1_resize*(a: var TGtkPaned, `child1_resize`: guint)
-proc child2_shrink*(a: var TGtkPaned): guint
-proc set_child2_shrink*(a: var TGtkPaned, `child2_shrink`: guint)
-proc child2_resize*(a: var TGtkPaned): guint
-proc set_child2_resize*(a: var TGtkPaned, `child2_resize`: guint)
-proc orientation*(a: var TGtkPaned): guint
-proc set_orientation*(a: var TGtkPaned, `orientation`: guint)
-proc in_recursion*(a: var TGtkPaned): guint
-proc set_in_recursion*(a: var TGtkPaned, `in_recursion`: guint)
-proc handle_prelit*(a: var TGtkPaned): guint
-proc set_handle_prelit*(a: var TGtkPaned, `handle_prelit`: guint)
-proc gtk_paned_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_paned_get_type".}
-proc gtk_paned_add1*(paned: PGtkPaned, child: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_paned_add1".}
-proc gtk_paned_add2*(paned: PGtkPaned, child: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_paned_add2".}
-proc gtk_paned_pack1*(paned: PGtkPaned, child: PGtkWidget, resize: gboolean,
-                      shrink: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_paned_pack1".}
-proc gtk_paned_pack2*(paned: PGtkPaned, child: PGtkWidget, resize: gboolean,
-                      shrink: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_paned_pack2".}
-proc gtk_paned_get_position*(paned: PGtkPaned): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_paned_get_position".}
-proc gtk_paned_set_position*(paned: PGtkPaned, position: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paned_set_position".}
-proc gtk_paned_compute_position*(paned: PGtkPaned, allocation: gint,
-                                 child1_req: gint, child2_req: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paned_compute_position".}
-proc GTK_TYPE_HBUTTON_BOX*(): GType
-proc GTK_HBUTTON_BOX*(obj: pointer): PGtkHButtonBox
-proc GTK_HBUTTON_BOX_CLASS*(klass: pointer): PGtkHButtonBoxClass
-proc GTK_IS_HBUTTON_BOX*(obj: pointer): bool
-proc GTK_IS_HBUTTON_BOX_CLASS*(klass: pointer): bool
-proc GTK_HBUTTON_BOX_GET_CLASS*(obj: pointer): PGtkHButtonBoxClass
-proc gtk_hbutton_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_hbutton_box_get_type".}
-proc gtk_hbutton_box_new*(): PGtkHButtonBox{.cdecl, dynlib: gtklib,
-    importc: "gtk_hbutton_box_new".}
-proc GTK_TYPE_HPANED*(): GType
-proc GTK_HPANED*(obj: pointer): PGtkHPaned
-proc GTK_HPANED_CLASS*(klass: pointer): PGtkHPanedClass
-proc GTK_IS_HPANED*(obj: pointer): bool
-proc GTK_IS_HPANED_CLASS*(klass: pointer): bool
-proc GTK_HPANED_GET_CLASS*(obj: pointer): PGtkHPanedClass
-proc gtk_hpaned_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_hpaned_get_type".}
-proc gtk_hpaned_new*(): PGtkHPaned{.cdecl, dynlib: gtklib,
-                                    importc: "gtk_hpaned_new".}
-proc GTK_TYPE_RULER*(): GType
-proc GTK_RULER*(obj: pointer): PGtkRuler
-proc GTK_RULER_CLASS*(klass: pointer): PGtkRulerClass
-proc GTK_IS_RULER*(obj: pointer): bool
-proc GTK_IS_RULER_CLASS*(klass: pointer): bool
-proc GTK_RULER_GET_CLASS*(obj: pointer): PGtkRulerClass
-proc gtk_ruler_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_ruler_get_type".}
-proc gtk_ruler_set_metric*(ruler: PGtkRuler, metric: TGtkMetricType){.cdecl,
-    dynlib: gtklib, importc: "gtk_ruler_set_metric".}
-proc gtk_ruler_set_range*(ruler: PGtkRuler, lower: gdouble, upper: gdouble,
-                          position: gdouble, max_size: gdouble){.cdecl,
-    dynlib: gtklib, importc: "gtk_ruler_set_range".}
-proc gtk_ruler_draw_ticks*(ruler: PGtkRuler){.cdecl, dynlib: gtklib,
-    importc: "gtk_ruler_draw_ticks".}
-proc gtk_ruler_draw_pos*(ruler: PGtkRuler){.cdecl, dynlib: gtklib,
-    importc: "gtk_ruler_draw_pos".}
-proc gtk_ruler_get_metric*(ruler: PGtkRuler): TGtkMetricType{.cdecl,
-    dynlib: gtklib, importc: "gtk_ruler_get_metric".}
-proc gtk_ruler_get_range*(ruler: PGtkRuler, lower: Pgdouble, upper: Pgdouble,
-                          position: Pgdouble, max_size: Pgdouble){.cdecl,
-    dynlib: gtklib, importc: "gtk_ruler_get_range".}
-proc GTK_TYPE_HRULER*(): GType
-proc GTK_HRULER*(obj: pointer): PGtkHRuler
-proc GTK_HRULER_CLASS*(klass: pointer): PGtkHRulerClass
-proc GTK_IS_HRULER*(obj: pointer): bool
-proc GTK_IS_HRULER_CLASS*(klass: pointer): bool
-proc GTK_HRULER_GET_CLASS*(obj: pointer): PGtkHRulerClass
-proc gtk_hruler_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_hruler_get_type".}
-proc gtk_hruler_new*(): PGtkHRuler{.cdecl, dynlib: gtklib,
-                                    importc: "gtk_hruler_new".}
-proc GTK_TYPE_SETTINGS*(): GType
-proc GTK_SETTINGS*(obj: pointer): PGtkSettings
-proc GTK_SETTINGS_CLASS*(klass: pointer): PGtkSettingsClass
-proc GTK_IS_SETTINGS*(obj: pointer): bool
-proc GTK_IS_SETTINGS_CLASS*(klass: pointer): bool
-proc GTK_SETTINGS_GET_CLASS*(obj: pointer): PGtkSettingsClass
-proc gtk_settings_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_settings_get_type".}
-proc gtk_settings_get_for_screen*(screen: PGdkScreen): PGtkSettings{.cdecl,
-    dynlib: gtklib, importc: "gtk_settings_get_for_screen".}
-proc gtk_settings_install_property*(pspec: PGParamSpec){.cdecl, dynlib: gtklib,
-    importc: "gtk_settings_install_property".}
-proc gtk_settings_install_property_parser*(pspec: PGParamSpec,
-    parser: TGtkRcPropertyParser){.cdecl, dynlib: gtklib, importc: "gtk_settings_install_property_parser".}
-proc gtk_rc_property_parse_color*(pspec: PGParamSpec, gstring: PGString,
-                                  property_value: PGValue): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_rc_property_parse_color".}
-proc gtk_rc_property_parse_enum*(pspec: PGParamSpec, gstring: PGString,
-                                 property_value: PGValue): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_rc_property_parse_enum".}
-proc gtk_rc_property_parse_flags*(pspec: PGParamSpec, gstring: PGString,
-                                  property_value: PGValue): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_rc_property_parse_flags".}
-proc gtk_rc_property_parse_requisition*(pspec: PGParamSpec, gstring: PGString,
-                                        property_value: PGValue): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_rc_property_parse_requisition".}
-proc gtk_rc_property_parse_border*(pspec: PGParamSpec, gstring: PGString,
-                                   property_value: PGValue): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_rc_property_parse_border".}
-proc gtk_settings_set_property_value*(settings: PGtkSettings, name: cstring,
-                                      svalue: PGtkSettingsValue){.cdecl,
-    dynlib: gtklib, importc: "gtk_settings_set_property_value".}
-proc gtk_settings_set_string_property*(settings: PGtkSettings, name: cstring,
-                                       v_string: cstring, origin: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_settings_set_string_property".}
-proc gtk_settings_set_long_property*(settings: PGtkSettings, name: cstring,
-                                     v_long: glong, origin: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_settings_set_long_property".}
-proc gtk_settings_set_double_property*(settings: PGtkSettings, name: cstring,
-                                       v_double: gdouble, origin: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_settings_set_double_property".}
-proc gtk_settings_handle_event*(event: PGdkEventSetting){.cdecl,
-    dynlib: gtklib, importc: "_gtk_settings_handle_event".}
-proc gtk_rc_property_parser_from_type*(thetype: GType): TGtkRcPropertyParser{.
-    cdecl, dynlib: gtklib, importc: "_gtk_rc_property_parser_from_type".}
-proc gtk_settings_parse_convert*(parser: TGtkRcPropertyParser,
-                                   src_value: PGValue, pspec: PGParamSpec,
-                                   dest_value: PGValue): gboolean{.cdecl,
-    dynlib: gtklib, importc: "_gtk_settings_parse_convert".}
-const
-  GTK_RC_FG* = 1 shl 0
-  GTK_RC_BG* = 1 shl 1
-  GTK_RC_TEXT* = 1 shl 2
-  GTK_RC_BASE* = 1 shl 3
-  bm_TGtkRcStyle_engine_specified* = 0x00000001'i16
-  bp_TGtkRcStyle_engine_specified* = 0'i16
-
-proc GTK_TYPE_RC_STYLE*(): GType
-proc GTK_RC_STYLE_get*(anObject: pointer): PGtkRcStyle
-proc GTK_RC_STYLE_CLASS*(klass: pointer): PGtkRcStyleClass
-proc GTK_IS_RC_STYLE*(anObject: pointer): bool
-proc GTK_IS_RC_STYLE_CLASS*(klass: pointer): bool
-proc GTK_RC_STYLE_GET_CLASS*(obj: pointer): PGtkRcStyleClass
-proc engine_specified*(a: var TGtkRcStyle): guint
-proc set_engine_specified*(a: var TGtkRcStyle, `engine_specified`: guint)
-proc gtk_rc_init*(){.cdecl, dynlib: gtklib, importc: "_gtk_rc_init".}
-proc gtk_rc_add_default_file*(filename: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_add_default_file".}
-proc gtk_rc_set_default_files*(filenames: PPgchar){.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_set_default_files".}
-proc gtk_rc_get_default_files*(): PPgchar{.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_get_default_files".}
-proc gtk_rc_get_style*(widget: PGtkWidget): PGtkStyle{.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_get_style".}
-proc gtk_rc_get_style_by_paths*(settings: PGtkSettings, widget_path: cstring,
-                                class_path: cstring, thetype: GType): PGtkStyle{.
-    cdecl, dynlib: gtklib, importc: "gtk_rc_get_style_by_paths".}
-proc gtk_rc_reparse_all_for_settings*(settings: PGtkSettings,
-                                      force_load: gboolean): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_rc_reparse_all_for_settings".}
-proc gtk_rc_find_pixmap_in_path*(settings: PGtkSettings, scanner: PGScanner,
-                                 pixmap_file: cstring): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_rc_find_pixmap_in_path".}
-proc gtk_rc_parse*(filename: cstring){.cdecl, dynlib: gtklib,
-                                      importc: "gtk_rc_parse".}
-proc gtk_rc_parse_string*(rc_string: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_parse_string".}
-proc gtk_rc_reparse_all*(): gboolean{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_rc_reparse_all".}
-proc gtk_rc_style_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_rc_style_get_type".}
-proc gtk_rc_style_new*(): PGtkRcStyle{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_rc_style_new".}
-proc gtk_rc_style_copy*(orig: PGtkRcStyle): PGtkRcStyle{.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_style_copy".}
-proc gtk_rc_style_ref*(rc_style: PGtkRcStyle){.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_style_ref".}
-proc gtk_rc_style_unref*(rc_style: PGtkRcStyle){.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_style_unref".}
-proc gtk_rc_find_module_in_path*(module_file: cstring): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_rc_find_module_in_path".}
-proc gtk_rc_get_theme_dir*(): cstring{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_rc_get_theme_dir".}
-proc gtk_rc_get_module_dir*(): cstring{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_rc_get_module_dir".}
-proc gtk_rc_get_im_module_path*(): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_get_im_module_path".}
-proc gtk_rc_get_im_module_file*(): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_rc_get_im_module_file".}
-proc gtk_rc_scanner_new*(): PGScanner{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_rc_scanner_new".}
-proc gtk_rc_parse_color*(scanner: PGScanner, color: PGdkColor): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_rc_parse_color".}
-proc gtk_rc_parse_state*(scanner: PGScanner, state: PGtkStateType): guint{.
-    cdecl, dynlib: gtklib, importc: "gtk_rc_parse_state".}
-proc gtk_rc_parse_priority*(scanner: PGScanner, priority: PGtkPathPriorityType): guint{.
-    cdecl, dynlib: gtklib, importc: "gtk_rc_parse_priority".}
-proc gtk_rc_style_lookup_rc_property*(rc_style: PGtkRcStyle,
-                                        type_name: TGQuark,
-                                        property_name: TGQuark): PGtkRcProperty{.
-    cdecl, dynlib: gtklib, importc: "_gtk_rc_style_lookup_rc_property".}
-proc gtk_rc_context_get_default_font_name*(settings: PGtkSettings): cstring{.
-    cdecl, dynlib: gtklib, importc: "_gtk_rc_context_get_default_font_name".}
-proc GTK_TYPE_STYLE*(): GType
-proc GTK_STYLE*(anObject: pointer): PGtkStyle
-proc GTK_STYLE_CLASS*(klass: pointer): PGtkStyleClass
-proc GTK_IS_STYLE*(anObject: pointer): bool
-proc GTK_IS_STYLE_CLASS*(klass: pointer): bool
-proc GTK_STYLE_GET_CLASS*(obj: pointer): PGtkStyleClass
-proc GTK_TYPE_BORDER*(): GType
-proc GTK_STYLE_ATTACHED*(style: pointer): bool
-proc gtk_style_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                   importc: "gtk_style_get_type".}
-proc gtk_style_new*(): PGtkStyle{.cdecl, dynlib: gtklib,
-                                  importc: "gtk_style_new".}
-proc gtk_style_copy*(style: PGtkStyle): PGtkStyle{.cdecl, dynlib: gtklib,
-    importc: "gtk_style_copy".}
-proc gtk_style_attach*(style: PGtkStyle, window: PGdkWindow): PGtkStyle{.cdecl,
-    dynlib: gtklib, importc: "gtk_style_attach".}
-proc gtk_style_detach*(style: PGtkStyle){.cdecl, dynlib: gtklib,
-    importc: "gtk_style_detach".}
-proc gtk_style_set_background*(style: PGtkStyle, window: PGdkWindow,
-                               state_type: TGtkStateType){.cdecl,
-    dynlib: gtklib, importc: "gtk_style_set_background".}
-proc gtk_style_apply_default_background*(style: PGtkStyle, window: PGdkWindow,
-    set_bg: gboolean, state_type: TGtkStateType, area: PGdkRectangle, x: gint,
-    y: gint, width: gint, height: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_style_apply_default_background".}
-proc gtk_style_lookup_icon_set*(style: PGtkStyle, stock_id: cstring): PGtkIconSet{.
-    cdecl, dynlib: gtklib, importc: "gtk_style_lookup_icon_set".}
-proc gtk_style_render_icon*(style: PGtkStyle, source: PGtkIconSource,
-                            direction: TGtkTextDirection, state: TGtkStateType,
-                            size: TGtkIconSize, widget: PGtkWidget,
-                            detail: cstring): PGdkPixbuf{.cdecl, dynlib: gtklib,
-    importc: "gtk_style_render_icon".}
-proc gtk_paint_hline*(style: PGtkStyle, window: PGdkWindow,
-                      state_type: TGtkStateType, area: PGdkRectangle,
-                      widget: PGtkWidget, detail: cstring, x1: gint, x2: gint,
-                      y: gint){.cdecl, dynlib: gtklib,
-                                importc: "gtk_paint_hline".}
-proc gtk_paint_vline*(style: PGtkStyle, window: PGdkWindow,
-                      state_type: TGtkStateType, area: PGdkRectangle,
-                      widget: PGtkWidget, detail: cstring, y1: gint, y2: gint,
-                      x: gint){.cdecl, dynlib: gtklib,
-                                importc: "gtk_paint_vline".}
-proc gtk_paint_shadow*(style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                       area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                       x: gint, y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_shadow".}
-proc gtk_paint_polygon*(style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                        area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                        points: PGdkPoint, npoints: gint, fill: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_paint_polygon".}
-proc gtk_paint_arrow*(style: PGtkStyle, window: PGdkWindow,
-                      state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                      area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                      arrow_type: TGtkArrowType, fill: gboolean, x: gint,
-                      y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_arrow".}
-proc gtk_paint_diamond*(style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                        area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                        x: gint, y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_diamond".}
-proc gtk_paint_box*(style: PGtkStyle, window: PGdkWindow,
-                    state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                    area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                    x: gint, y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_box".}
-proc gtk_paint_flat_box*(style: PGtkStyle, window: PGdkWindow,
-                         state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                         area: PGdkRectangle, widget: PGtkWidget,
-                         detail: cstring, x: gint, y: gint, width: gint,
-                         height: gint){.cdecl, dynlib: gtklib,
-                                        importc: "gtk_paint_flat_box".}
-proc gtk_paint_check*(style: PGtkStyle, window: PGdkWindow,
-                      state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                      area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                      x: gint, y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_check".}
-proc gtk_paint_option*(style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                       area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                       x: gint, y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_option".}
-proc gtk_paint_tab*(style: PGtkStyle, window: PGdkWindow,
-                    state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                    area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                    x: gint, y: gint, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_tab".}
-proc gtk_paint_shadow_gap*(style: PGtkStyle, window: PGdkWindow,
-                           state_type: TGtkStateType,
-                           shadow_type: TGtkShadowType, area: PGdkRectangle,
-                           widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                           width: gint, height: gint,
-                           gap_side: TGtkPositionType, gap_x: gint,
-                           gap_width: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_paint_shadow_gap".}
-proc gtk_paint_box_gap*(style: PGtkStyle, window: PGdkWindow,
-                        state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                        area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                        x: gint, y: gint, width: gint, height: gint,
-                        gap_side: TGtkPositionType, gap_x: gint, gap_width: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_paint_box_gap".}
-proc gtk_paint_extension*(style: PGtkStyle, window: PGdkWindow,
-                          state_type: TGtkStateType,
-                          shadow_type: TGtkShadowType, area: PGdkRectangle,
-                          widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                          width: gint, height: gint, gap_side: TGtkPositionType){.
-    cdecl, dynlib: gtklib, importc: "gtk_paint_extension".}
-proc gtk_paint_focus*(style: PGtkStyle, window: PGdkWindow,
-                      state_type: TGtkStateType, area: PGdkRectangle,
-                      widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                      width: gint, height: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_paint_focus".}
-proc gtk_paint_slider*(style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                       area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                       x: gint, y: gint, width: gint, height: gint,
-                       orientation: TGtkOrientation){.cdecl, dynlib: gtklib,
-    importc: "gtk_paint_slider".}
-proc gtk_paint_handle*(style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, shadow_type: TGtkShadowType,
-                       area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                       x: gint, y: gint, width: gint, height: gint,
-                       orientation: TGtkOrientation){.cdecl, dynlib: gtklib,
-    importc: "gtk_paint_handle".}
-proc gtk_paint_expander*(style: PGtkStyle, window: PGdkWindow,
-                         state_type: TGtkStateType, area: PGdkRectangle,
-                         widget: PGtkWidget, detail: cstring, x: gint, y: gint,
-                         expander_style: TGtkExpanderStyle){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_expander".}
-proc gtk_paint_layout*(style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, use_text: gboolean,
-                       area: PGdkRectangle, widget: PGtkWidget, detail: cstring,
-                       x: gint, y: gint, layout: PPangoLayout){.cdecl,
-    dynlib: gtklib, importc: "gtk_paint_layout".}
-proc gtk_paint_resize_grip*(style: PGtkStyle, window: PGdkWindow,
-                            state_type: TGtkStateType, area: PGdkRectangle,
-                            widget: PGtkWidget, detail: cstring,
-                            edge: TGdkWindowEdge, x: gint, y: gint, width: gint,
-                            height: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_paint_resize_grip".}
-proc gtk_border_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                    importc: "gtk_border_get_type".}
-proc gtk_border_copy*(border: PGtkBorder): PGtkBorder{.cdecl, dynlib: gtklib,
-    importc: "gtk_border_copy".}
-proc gtk_border_free*(border: PGtkBorder){.cdecl, dynlib: gtklib,
-    importc: "gtk_border_free".}
-proc gtk_style_peek_property_value*(style: PGtkStyle, widget_type: GType,
-                                      pspec: PGParamSpec,
-                                      parser: TGtkRcPropertyParser): PGValue{.
-    cdecl, dynlib: gtklib, importc: "_gtk_style_peek_property_value".}
-proc gtk_get_insertion_cursor_gc*(widget: PGtkWidget, is_primary: gboolean): PGdkGC{.
-    cdecl, dynlib: gtklib, importc: "_gtk_get_insertion_cursor_gc".}
-proc gtk_draw_insertion_cursor*(widget: PGtkWidget, drawable: PGdkDrawable,
-                                  gc: PGdkGC, location: PGdkRectangle,
-                                  direction: TGtkTextDirection,
-                                  draw_arrow: gboolean){.cdecl, dynlib: gtklib,
-    importc: "_gtk_draw_insertion_cursor".}
-const
-  bm_TGtkRange_inverted* = 0x00000001'i16
-  bp_TGtkRange_inverted* = 0'i16
-  bm_TGtkRange_flippable* = 0x00000002'i16
-  bp_TGtkRange_flippable* = 1'i16
-  bm_TGtkRange_has_stepper_a* = 0x00000004'i16
-  bp_TGtkRange_has_stepper_a* = 2'i16
-  bm_TGtkRange_has_stepper_b* = 0x00000008'i16
-  bp_TGtkRange_has_stepper_b* = 3'i16
-  bm_TGtkRange_has_stepper_c* = 0x00000010'i16
-  bp_TGtkRange_has_stepper_c* = 4'i16
-  bm_TGtkRange_has_stepper_d* = 0x00000020'i16
-  bp_TGtkRange_has_stepper_d* = 5'i16
-  bm_TGtkRange_need_recalc* = 0x00000040'i16
-  bp_TGtkRange_need_recalc* = 6'i16
-  bm_TGtkRange_slider_size_fixed* = 0x00000080'i16
-  bp_TGtkRange_slider_size_fixed* = 7'i16
-  bm_TGtkRange_trough_click_forward* = 0x00000001'i16
-  bp_TGtkRange_trough_click_forward* = 0'i16
-  bm_TGtkRange_update_pending* = 0x00000002'i16
-  bp_TGtkRange_update_pending* = 1'i16
-
-proc GTK_TYPE_RANGE*(): GType
-proc GTK_RANGE*(obj: pointer): PGtkRange
-proc GTK_RANGE_CLASS*(klass: pointer): PGtkRangeClass
-proc GTK_IS_RANGE*(obj: pointer): bool
-proc GTK_IS_RANGE_CLASS*(klass: pointer): bool
-proc GTK_RANGE_GET_CLASS*(obj: pointer): PGtkRangeClass
-proc inverted*(a: var TGtkRange): guint
-proc set_inverted*(a: var TGtkRange, `inverted`: guint)
-proc flippable*(a: var TGtkRange): guint
-proc set_flippable*(a: var TGtkRange, `flippable`: guint)
-proc has_stepper_a*(a: var TGtkRange): guint
-proc set_has_stepper_a*(a: var TGtkRange, `has_stepper_a`: guint)
-proc has_stepper_b*(a: var TGtkRange): guint
-proc set_has_stepper_b*(a: var TGtkRange, `has_stepper_b`: guint)
-proc has_stepper_c*(a: var TGtkRange): guint
-proc set_has_stepper_c*(a: var TGtkRange, `has_stepper_c`: guint)
-proc has_stepper_d*(a: var TGtkRange): guint
-proc set_has_stepper_d*(a: var TGtkRange, `has_stepper_d`: guint)
-proc need_recalc*(a: var TGtkRange): guint
-proc set_need_recalc*(a: var TGtkRange, `need_recalc`: guint)
-proc slider_size_fixed*(a: var TGtkRange): guint
-proc set_slider_size_fixed*(a: var TGtkRange, `slider_size_fixed`: guint)
-proc trough_click_forward*(a: var TGtkRange): guint
-proc set_trough_click_forward*(a: var TGtkRange, `trough_click_forward`: guint)
-proc update_pending*(a: var TGtkRange): guint
-proc set_update_pending*(a: var TGtkRange, `update_pending`: guint)
-proc gtk_range_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_range_get_type".}
-proc gtk_range_set_update_policy*(range: PGtkRange, policy: TGtkUpdateType){.
-    cdecl, dynlib: gtklib, importc: "gtk_range_set_update_policy".}
-proc gtk_range_get_update_policy*(range: PGtkRange): TGtkUpdateType{.cdecl,
-    dynlib: gtklib, importc: "gtk_range_get_update_policy".}
-proc gtk_range_set_adjustment*(range: PGtkRange, adjustment: PGtkAdjustment){.
-    cdecl, dynlib: gtklib, importc: "gtk_range_set_adjustment".}
-proc gtk_range_get_adjustment*(range: PGtkRange): PGtkAdjustment{.cdecl,
-    dynlib: gtklib, importc: "gtk_range_get_adjustment".}
-proc gtk_range_set_inverted*(range: PGtkRange, setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_range_set_inverted".}
-proc gtk_range_get_inverted*(range: PGtkRange): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_range_get_inverted".}
-proc gtk_range_set_increments*(range: PGtkRange, step: gdouble, page: gdouble){.
-    cdecl, dynlib: gtklib, importc: "gtk_range_set_increments".}
-proc gtk_range_set_range*(range: PGtkRange, min: gdouble, max: gdouble){.cdecl,
-    dynlib: gtklib, importc: "gtk_range_set_range".}
-proc gtk_range_set_value*(range: PGtkRange, value: gdouble){.cdecl,
-    dynlib: gtklib, importc: "gtk_range_set_value".}
-proc gtk_range_get_value*(range: PGtkRange): gdouble{.cdecl, dynlib: gtklib,
-    importc: "gtk_range_get_value".}
-const
-  bm_TGtkScale_draw_value* = 0x00000001'i16
-  bp_TGtkScale_draw_value* = 0'i16
-  bm_TGtkScale_value_pos* = 0x00000006'i16
-  bp_TGtkScale_value_pos* = 1'i16
-
-proc GTK_TYPE_SCALE*(): GType
-proc GTK_SCALE*(obj: pointer): PGtkScale
-proc GTK_SCALE_CLASS*(klass: pointer): PGtkScaleClass
-proc GTK_IS_SCALE*(obj: pointer): bool
-proc GTK_IS_SCALE_CLASS*(klass: pointer): bool
-proc GTK_SCALE_GET_CLASS*(obj: pointer): PGtkScaleClass
-proc draw_value*(a: var TGtkScale): guint
-proc set_draw_value*(a: var TGtkScale, `draw_value`: guint)
-proc value_pos*(a: var TGtkScale): guint
-proc set_value_pos*(a: var TGtkScale, `value_pos`: guint)
-proc gtk_scale_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_scale_get_type".}
-proc gtk_scale_set_digits*(scale: PGtkScale, digits: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_scale_set_digits".}
-proc gtk_scale_get_digits*(scale: PGtkScale): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_scale_get_digits".}
-proc gtk_scale_set_draw_value*(scale: PGtkScale, draw_value: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_scale_set_draw_value".}
-proc gtk_scale_get_draw_value*(scale: PGtkScale): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_scale_get_draw_value".}
-proc gtk_scale_set_value_pos*(scale: PGtkScale, pos: TGtkPositionType){.cdecl,
-    dynlib: gtklib, importc: "gtk_scale_set_value_pos".}
-proc gtk_scale_get_value_pos*(scale: PGtkScale): TGtkPositionType{.cdecl,
-    dynlib: gtklib, importc: "gtk_scale_get_value_pos".}
-proc gtk_scale_get_value_size*(scale: PGtkScale, width: Pgint, height: Pgint){.
-    cdecl, dynlib: gtklib, importc: "_gtk_scale_get_value_size".}
-proc gtk_scale_format_value*(scale: PGtkScale, value: gdouble): cstring{.cdecl,
-    dynlib: gtklib, importc: "_gtk_scale_format_value".}
-proc GTK_TYPE_HSCALE*(): GType
-proc GTK_HSCALE*(obj: pointer): PGtkHScale
-proc GTK_HSCALE_CLASS*(klass: pointer): PGtkHScaleClass
-proc GTK_IS_HSCALE*(obj: pointer): bool
-proc GTK_IS_HSCALE_CLASS*(klass: pointer): bool
-proc GTK_HSCALE_GET_CLASS*(obj: pointer): PGtkHScaleClass
-proc gtk_hscale_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_hscale_get_type".}
-proc gtk_hscale_new*(adjustment: PGtkAdjustment): PGtkHScale{.cdecl,
-    dynlib: gtklib, importc: "gtk_hscale_new".}
-proc gtk_hscale_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PGtkHScale{.
-    cdecl, dynlib: gtklib, importc: "gtk_hscale_new_with_range".}
-proc GTK_TYPE_SCROLLBAR*(): GType
-proc GTK_SCROLLBAR*(obj: pointer): PGtkScrollbar
-proc GTK_SCROLLBAR_CLASS*(klass: pointer): PGtkScrollbarClass
-proc GTK_IS_SCROLLBAR*(obj: pointer): bool
-proc GTK_IS_SCROLLBAR_CLASS*(klass: pointer): bool
-proc GTK_SCROLLBAR_GET_CLASS*(obj: pointer): PGtkScrollbarClass
-proc gtk_scrollbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_scrollbar_get_type".}
-proc GTK_TYPE_HSCROLLBAR*(): GType
-proc GTK_HSCROLLBAR*(obj: pointer): PGtkHScrollbar
-proc GTK_HSCROLLBAR_CLASS*(klass: pointer): PGtkHScrollbarClass
-proc GTK_IS_HSCROLLBAR*(obj: pointer): bool
-proc GTK_IS_HSCROLLBAR_CLASS*(klass: pointer): bool
-proc GTK_HSCROLLBAR_GET_CLASS*(obj: pointer): PGtkHScrollbarClass
-proc gtk_hscrollbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_hscrollbar_get_type".}
-proc gtk_hscrollbar_new*(adjustment: PGtkAdjustment): PGtkHScrollbar{.cdecl,
-    dynlib: gtklib, importc: "gtk_hscrollbar_new".}
-proc GTK_TYPE_SEPARATOR*(): GType
-proc GTK_SEPARATOR*(obj: pointer): PGtkSeparator
-proc GTK_SEPARATOR_CLASS*(klass: pointer): PGtkSeparatorClass
-proc GTK_IS_SEPARATOR*(obj: pointer): bool
-proc GTK_IS_SEPARATOR_CLASS*(klass: pointer): bool
-proc GTK_SEPARATOR_GET_CLASS*(obj: pointer): PGtkSeparatorClass
-proc gtk_separator_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_separator_get_type".}
-proc GTK_TYPE_HSEPARATOR*(): GType
-proc GTK_HSEPARATOR*(obj: pointer): PGtkHSeparator
-proc GTK_HSEPARATOR_CLASS*(klass: pointer): PGtkHSeparatorClass
-proc GTK_IS_HSEPARATOR*(obj: pointer): bool
-proc GTK_IS_HSEPARATOR_CLASS*(klass: pointer): bool
-proc GTK_HSEPARATOR_GET_CLASS*(obj: pointer): PGtkHSeparatorClass
-proc gtk_hseparator_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_hseparator_get_type".}
-proc gtk_hseparator_new*(): PGtkHSeparator{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_hseparator_new".}
-proc GTK_TYPE_ICON_FACTORY*(): GType
-proc GTK_ICON_FACTORY*(anObject: pointer): PGtkIconFactory
-proc GTK_ICON_FACTORY_CLASS*(klass: pointer): PGtkIconFactoryClass
-proc GTK_IS_ICON_FACTORY*(anObject: pointer): bool
-proc GTK_IS_ICON_FACTORY_CLASS*(klass: pointer): bool
-proc GTK_ICON_FACTORY_GET_CLASS*(obj: pointer): PGtkIconFactoryClass
-proc GTK_TYPE_ICON_SET*(): GType
-proc GTK_TYPE_ICON_SOURCE*(): GType
-proc gtk_icon_factory_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_factory_get_type".}
-proc gtk_icon_factory_new*(): PGtkIconFactory{.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_factory_new".}
-proc gtk_icon_factory_add*(factory: PGtkIconFactory, stock_id: cstring,
-                           icon_set: PGtkIconSet){.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_factory_add".}
-proc gtk_icon_factory_lookup*(factory: PGtkIconFactory, stock_id: cstring): PGtkIconSet{.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_factory_lookup".}
-proc gtk_icon_factory_add_default*(factory: PGtkIconFactory){.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_factory_add_default".}
-proc gtk_icon_factory_remove_default*(factory: PGtkIconFactory){.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_factory_remove_default".}
-proc gtk_icon_factory_lookup_default*(stock_id: cstring): PGtkIconSet{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_factory_lookup_default".}
-proc gtk_icon_size_lookup*(size: TGtkIconSize, width: Pgint, height: Pgint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_size_lookup".}
-proc gtk_icon_size_register*(name: cstring, width: gint, height: gint): TGtkIconSize{.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_size_register".}
-proc gtk_icon_size_register_alias*(alias: cstring, target: TGtkIconSize){.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_size_register_alias".}
-proc gtk_icon_size_from_name*(name: cstring): TGtkIconSize{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_size_from_name".}
-proc gtk_icon_size_get_name*(size: TGtkIconSize): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_size_get_name".}
-proc gtk_icon_set_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_icon_set_get_type".}
-proc gtk_icon_set_new*(): PGtkIconSet{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_icon_set_new".}
-proc gtk_icon_set_new_from_pixbuf*(pixbuf: PGdkPixbuf): PGtkIconSet{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_set_new_from_pixbuf".}
-proc gtk_icon_set_ref*(icon_set: PGtkIconSet): PGtkIconSet{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_set_ref".}
-proc gtk_icon_set_unref*(icon_set: PGtkIconSet){.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_set_unref".}
-proc gtk_icon_set_copy*(icon_set: PGtkIconSet): PGtkIconSet{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_set_copy".}
-proc gtk_icon_set_render_icon*(icon_set: PGtkIconSet, style: PGtkStyle,
-                               direction: TGtkTextDirection,
-                               state: TGtkStateType, size: TGtkIconSize,
-                               widget: PGtkWidget, detail: cstring): PGdkPixbuf{.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_set_render_icon".}
-proc gtk_icon_set_add_source*(icon_set: PGtkIconSet, source: PGtkIconSource){.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_set_add_source".}
-proc gtk_icon_set_get_sizes*(icon_set: PGtkIconSet, sizes: PPGtkIconSize,
-                             n_sizes: pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_set_get_sizes".}
-proc gtk_icon_source_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_source_get_type".}
-proc gtk_icon_source_new*(): PGtkIconSource{.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_source_new".}
-proc gtk_icon_source_copy*(source: PGtkIconSource): PGtkIconSource{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_source_copy".}
-proc gtk_icon_source_free*(source: PGtkIconSource){.cdecl, dynlib: gtklib,
-    importc: "gtk_icon_source_free".}
-proc gtk_icon_source_set_filename*(source: PGtkIconSource, filename: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_source_set_filename".}
-proc gtk_icon_source_set_pixbuf*(source: PGtkIconSource, pixbuf: PGdkPixbuf){.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_source_set_pixbuf".}
-proc gtk_icon_source_get_filename*(source: PGtkIconSource): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_source_get_filename".}
-proc gtk_icon_source_get_pixbuf*(source: PGtkIconSource): PGdkPixbuf{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_source_get_pixbuf".}
-proc gtk_icon_source_set_direction_wildcarded*(source: PGtkIconSource,
-    setting: gboolean){.cdecl, dynlib: gtklib,
-                        importc: "gtk_icon_source_set_direction_wildcarded".}
-proc gtk_icon_source_set_state_wildcarded*(source: PGtkIconSource,
-    setting: gboolean){.cdecl, dynlib: gtklib,
-                        importc: "gtk_icon_source_set_state_wildcarded".}
-proc gtk_icon_source_set_size_wildcarded*(source: PGtkIconSource,
-    setting: gboolean){.cdecl, dynlib: gtklib,
-                        importc: "gtk_icon_source_set_size_wildcarded".}
-proc gtk_icon_source_get_size_wildcarded*(source: PGtkIconSource): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_source_get_size_wildcarded".}
-proc gtk_icon_source_get_state_wildcarded*(source: PGtkIconSource): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_source_get_state_wildcarded".}
-proc gtk_icon_source_get_direction_wildcarded*(source: PGtkIconSource): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_source_get_direction_wildcarded".}
-proc gtk_icon_source_set_direction*(source: PGtkIconSource,
-                                    direction: TGtkTextDirection){.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_source_set_direction".}
-proc gtk_icon_source_set_state*(source: PGtkIconSource, state: TGtkStateType){.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_source_set_state".}
-proc gtk_icon_source_set_size*(source: PGtkIconSource, size: TGtkIconSize){.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_source_set_size".}
-proc gtk_icon_source_get_direction*(source: PGtkIconSource): TGtkTextDirection{.
-    cdecl, dynlib: gtklib, importc: "gtk_icon_source_get_direction".}
-proc gtk_icon_source_get_state*(source: PGtkIconSource): TGtkStateType{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_source_get_state".}
-proc gtk_icon_source_get_size*(source: PGtkIconSource): TGtkIconSize{.cdecl,
-    dynlib: gtklib, importc: "gtk_icon_source_get_size".}
-proc gtk_icon_set_invalidate_caches*(){.cdecl, dynlib: gtklib,
-    importc: "_gtk_icon_set_invalidate_caches".}
-proc gtk_icon_factory_list_ids*(): PGSList{.cdecl, dynlib: gtklib,
-    importc: "_gtk_icon_factory_list_ids".}
-proc GTK_TYPE_IMAGE*(): GType
-proc GTK_IMAGE*(obj: pointer): PGtkImage
-proc GTK_IMAGE_CLASS*(klass: pointer): PGtkImageClass
-proc GTK_IS_IMAGE*(obj: pointer): bool
-proc GTK_IS_IMAGE_CLASS*(klass: pointer): bool
-proc GTK_IMAGE_GET_CLASS*(obj: pointer): PGtkImageClass
-proc gtk_image_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_image_get_type".}
-proc gtk_image_new*(): PGtkImage{.cdecl, dynlib: gtklib,
-                                   importc: "gtk_image_new".}
-proc gtk_image_new_from_pixmap*(pixmap: PGdkPixmap, mask: PGdkBitmap): PGtkImage{.
-    cdecl, dynlib: gtklib, importc: "gtk_image_new_from_pixmap".}
-proc gtk_image_new_from_image*(image: PGdkImage, mask: PGdkBitmap): PGtkImage{.
-    cdecl, dynlib: gtklib, importc: "gtk_image_new_from_image".}
-proc gtk_image_new_from_file*(filename: cstring): PGtkImage{.cdecl,
-    dynlib: gtklib, importc: "gtk_image_new_from_file".}
-proc gtk_image_new_from_pixbuf*(pixbuf: PGdkPixbuf): PGtkImage{.cdecl,
-    dynlib: gtklib, importc: "gtk_image_new_from_pixbuf".}
-proc gtk_image_new_from_stock*(stock_id: cstring, size: TGtkIconSize): PGtkImage{.
-    cdecl, dynlib: gtklib, importc: "gtk_image_new_from_stock".}
-proc gtk_image_new_from_icon_set*(icon_set: PGtkIconSet, size: TGtkIconSize): PGtkImage{.
-    cdecl, dynlib: gtklib, importc: "gtk_image_new_from_icon_set".}
-proc gtk_image_new_from_animation*(animation: PGdkPixbufAnimation): PGtkImage{.
-    cdecl, dynlib: gtklib, importc: "gtk_image_new_from_animation".}
-proc gtk_image_set_from_pixmap*(image: PGtkImage, pixmap: PGdkPixmap,
-                                mask: PGdkBitmap){.cdecl, dynlib: gtklib,
-    importc: "gtk_image_set_from_pixmap".}
-proc gtk_image_set_from_image*(image: PGtkImage, gdk_image: PGdkImage,
-                               mask: PGdkBitmap){.cdecl, dynlib: gtklib,
-    importc: "gtk_image_set_from_image".}
-proc gtk_image_set_from_file*(image: PGtkImage, filename: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_image_set_from_file".}
-proc gtk_image_set_from_pixbuf*(image: PGtkImage, pixbuf: PGdkPixbuf){.cdecl,
-    dynlib: gtklib, importc: "gtk_image_set_from_pixbuf".}
-proc gtk_image_set_from_stock*(image: PGtkImage, stock_id: cstring,
-                               size: TGtkIconSize){.cdecl, dynlib: gtklib,
-    importc: "gtk_image_set_from_stock".}
-proc gtk_image_set_from_icon_set*(image: PGtkImage, icon_set: PGtkIconSet,
-                                  size: TGtkIconSize){.cdecl, dynlib: gtklib,
-    importc: "gtk_image_set_from_icon_set".}
-proc gtk_image_set_from_animation*(image: PGtkImage,
-                                   animation: PGdkPixbufAnimation){.cdecl,
-    dynlib: gtklib, importc: "gtk_image_set_from_animation".}
-proc gtk_image_get_storage_type*(image: PGtkImage): TGtkImageType{.cdecl,
-    dynlib: gtklib, importc: "gtk_image_get_storage_type".}
-proc gtk_image_get_pixbuf*(image: PGtkImage): PGdkPixbuf{.cdecl, dynlib: gtklib,
-    importc: "gtk_image_get_pixbuf".}
-proc gtk_image_get_stock*(image: PGtkImage, stock_id: PPgchar,
-                          size: PGtkIconSize){.cdecl, dynlib: gtklib,
-    importc: "gtk_image_get_stock".}
-proc gtk_image_get_animation*(image: PGtkImage): PGdkPixbufAnimation{.cdecl,
-    dynlib: gtklib, importc: "gtk_image_get_animation".}
-proc GTK_TYPE_IMAGE_MENU_ITEM*(): GType
-proc GTK_IMAGE_MENU_ITEM*(obj: pointer): PGtkImageMenuItem
-proc GTK_IMAGE_MENU_ITEM_CLASS*(klass: pointer): PGtkImageMenuItemClass
-proc GTK_IS_IMAGE_MENU_ITEM*(obj: pointer): bool
-proc GTK_IS_IMAGE_MENU_ITEM_CLASS*(klass: pointer): bool
-proc GTK_IMAGE_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkImageMenuItemClass
-proc gtk_image_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_image_menu_item_get_type".}
-proc gtk_image_menu_item_new*(): PGtkImageMenuItem{.cdecl, dynlib: gtklib,
-    importc: "gtk_image_menu_item_new".}
-proc gtk_image_menu_item_new_with_label*(`label`: cstring): PGtkImageMenuItem{.cdecl,
-    dynlib: gtklib, importc: "gtk_image_menu_item_new_with_label".}
-proc gtk_image_menu_item_new_with_mnemonic*(`label`: cstring): PGtkImageMenuItem{.cdecl,
-    dynlib: gtklib, importc: "gtk_image_menu_item_new_with_mnemonic".}
-proc gtk_image_menu_item_new_from_stock*(stock_id: cstring,
-    accel_group: PGtkAccelGroup): PGtkImageMenuItem{.cdecl, dynlib: gtklib,
-    importc: "gtk_image_menu_item_new_from_stock".}
-proc gtk_image_menu_item_set_image*(image_menu_item: PGtkImageMenuItem,
-                                    image: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_image_menu_item_set_image".}
-proc gtk_image_menu_item_get_image*(image_menu_item: PGtkImageMenuItem): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_image_menu_item_get_image".}
-const
-  bm_TGtkIMContextSimple_in_hex_sequence* = 0x00000001'i16
-  bp_TGtkIMContextSimple_in_hex_sequence* = 0'i16
-
-proc GTK_TYPE_IM_CONTEXT_SIMPLE*(): GType
-proc GTK_IM_CONTEXT_SIMPLE*(obj: pointer): PGtkIMContextSimple
-proc GTK_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): PGtkIMContextSimpleClass
-proc GTK_IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool
-proc GTK_IS_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): bool
-proc GTK_IM_CONTEXT_SIMPLE_GET_CLASS*(obj: pointer): PGtkIMContextSimpleClass
-proc in_hex_sequence*(a: var TGtkIMContextSimple): guint
-proc set_in_hex_sequence*(a: var TGtkIMContextSimple, `in_hex_sequence`: guint)
-proc gtk_im_context_simple_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_im_context_simple_get_type".}
-proc gtk_im_context_simple_new*(): PGtkIMContext{.cdecl, dynlib: gtklib,
-    importc: "gtk_im_context_simple_new".}
-proc gtk_im_context_simple_add_table*(context_simple: PGtkIMContextSimple,
-                                      data: Pguint16, max_seq_len: gint,
-                                      n_seqs: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_im_context_simple_add_table".}
-proc GTK_TYPE_IM_MULTICONTEXT*(): GType
-proc GTK_IM_MULTICONTEXT*(obj: pointer): PGtkIMMulticontext
-proc GTK_IM_MULTICONTEXT_CLASS*(klass: pointer): PGtkIMMulticontextClass
-proc GTK_IS_IM_MULTICONTEXT*(obj: pointer): bool
-proc GTK_IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool
-proc GTK_IM_MULTICONTEXT_GET_CLASS*(obj: pointer): PGtkIMMulticontextClass
-proc gtk_im_multicontext_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_im_multicontext_get_type".}
-proc gtk_im_multicontext_new*(): PGtkIMContext{.cdecl, dynlib: gtklib,
-    importc: "gtk_im_multicontext_new".}
-proc gtk_im_multicontext_append_menuitems*(context: PGtkIMMulticontext,
-    menushell: PGtkMenuShell){.cdecl, dynlib: gtklib,
-                               importc: "gtk_im_multicontext_append_menuitems".}
-proc GTK_TYPE_INPUT_DIALOG*(): GType
-proc GTK_INPUT_DIALOG*(obj: pointer): PGtkInputDialog
-proc GTK_INPUT_DIALOG_CLASS*(klass: pointer): PGtkInputDialogClass
-proc GTK_IS_INPUT_DIALOG*(obj: pointer): bool
-proc GTK_IS_INPUT_DIALOG_CLASS*(klass: pointer): bool
-proc GTK_INPUT_DIALOG_GET_CLASS*(obj: pointer): PGtkInputDialogClass
-proc gtk_input_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_input_dialog_get_type".}
-proc gtk_input_dialog_new*(): PGtkInputDialog{.cdecl, dynlib: gtklib,
-    importc: "gtk_input_dialog_new".}
-proc GTK_TYPE_INVISIBLE*(): GType
-proc GTK_INVISIBLE*(obj: pointer): PGtkInvisible
-proc GTK_INVISIBLE_CLASS*(klass: pointer): PGtkInvisibleClass
-proc GTK_IS_INVISIBLE*(obj: pointer): bool
-proc GTK_IS_INVISIBLE_CLASS*(klass: pointer): bool
-proc GTK_INVISIBLE_GET_CLASS*(obj: pointer): PGtkInvisibleClass
-proc gtk_invisible_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_invisible_get_type".}
-proc gtk_invisible_new*(): PGtkInvisible{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_invisible_new".}
-proc gtk_invisible_new_for_screen*(screen: PGdkScreen): PGtkInvisible{.cdecl,
-    dynlib: gtklib, importc: "gtk_invisible_new_for_screen".}
-proc gtk_invisible_set_screen*(invisible: PGtkInvisible, screen: PGdkScreen){.
-    cdecl, dynlib: gtklib, importc: "gtk_invisible_set_screen".}
-proc gtk_invisible_get_screen*(invisible: PGtkInvisible): PGdkScreen{.cdecl,
-    dynlib: gtklib, importc: "gtk_invisible_get_screen".}
-proc GTK_TYPE_ITEM_FACTORY*(): GType
-proc GTK_ITEM_FACTORY*(anObject: pointer): PGtkItemFactory
-proc GTK_ITEM_FACTORY_CLASS*(klass: pointer): PGtkItemFactoryClass
-proc GTK_IS_ITEM_FACTORY*(anObject: pointer): bool
-proc GTK_IS_ITEM_FACTORY_CLASS*(klass: pointer): bool
-proc GTK_ITEM_FACTORY_GET_CLASS*(obj: pointer): PGtkItemFactoryClass
-proc gtk_item_factory_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_item_factory_get_type".}
-proc gtk_item_factory_new*(container_type: TGtkType, path: cstring,
-                           accel_group: PGtkAccelGroup): PGtkItemFactory{.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_new".}
-proc gtk_item_factory_construct*(ifactory: PGtkItemFactory,
-                                 container_type: TGtkType, path: cstring,
-                                 accel_group: PGtkAccelGroup){.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_construct".}
-proc gtk_item_factory_add_foreign*(accel_widget: PGtkWidget, full_path: cstring,
-                                   accel_group: PGtkAccelGroup, keyval: guint,
-                                   modifiers: TGdkModifierType){.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_add_foreign".}
-proc gtk_item_factory_from_widget*(widget: PGtkWidget): PGtkItemFactory{.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_from_widget".}
-proc gtk_item_factory_path_from_widget*(widget: PGtkWidget): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_path_from_widget".}
-proc gtk_item_factory_get_item*(ifactory: PGtkItemFactory, path: cstring): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_item_factory_get_item".}
-proc gtk_item_factory_get_widget*(ifactory: PGtkItemFactory, path: cstring): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_item_factory_get_widget".}
-proc gtk_item_factory_get_widget_by_action*(ifactory: PGtkItemFactory,
-    action: guint): PGtkWidget{.cdecl, dynlib: gtklib, importc: "gtk_item_factory_get_widget_by_action".}
-proc gtk_item_factory_get_item_by_action*(ifactory: PGtkItemFactory,
-    action: guint): PGtkWidget{.cdecl, dynlib: gtklib,
-                                importc: "gtk_item_factory_get_item_by_action".}
-proc gtk_item_factory_create_item*(ifactory: PGtkItemFactory,
-                                   entry: PGtkItemFactoryEntry,
-                                   callback_data: gpointer, callback_type: guint){.
-    cdecl, dynlib: gtklib, importc: "gtk_item_factory_create_item".}
-proc gtk_item_factory_create_items*(ifactory: PGtkItemFactory, n_entries: guint,
-                                    entries: PGtkItemFactoryEntry,
-                                    callback_data: gpointer){.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_create_items".}
-proc gtk_item_factory_delete_item*(ifactory: PGtkItemFactory, path: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_item_factory_delete_item".}
-proc gtk_item_factory_delete_entry*(ifactory: PGtkItemFactory,
-                                    entry: PGtkItemFactoryEntry){.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_delete_entry".}
-proc gtk_item_factory_delete_entries*(ifactory: PGtkItemFactory,
-                                      n_entries: guint,
-                                      entries: PGtkItemFactoryEntry){.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_delete_entries".}
-proc gtk_item_factory_popup*(ifactory: PGtkItemFactory, x: guint, y: guint,
-                             mouse_button: guint, time: guint32){.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_popup".}
-proc gtk_item_factory_popup_with_data*(ifactory: PGtkItemFactory,
-                                       popup_data: gpointer,
-                                       destroy: TGtkDestroyNotify, x: guint,
-                                       y: guint, mouse_button: guint,
-                                       time: guint32){.cdecl, dynlib: gtklib,
-    importc: "gtk_item_factory_popup_with_data".}
-proc gtk_item_factory_popup_data*(ifactory: PGtkItemFactory): gpointer{.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_popup_data".}
-proc gtk_item_factory_popup_data_from_widget*(widget: PGtkWidget): gpointer{.
-    cdecl, dynlib: gtklib, importc: "gtk_item_factory_popup_data_from_widget".}
-proc gtk_item_factory_set_translate_func*(ifactory: PGtkItemFactory,
-    fun: TGtkTranslateFunc, data: gpointer, notify: TGtkDestroyNotify){.cdecl,
-    dynlib: gtklib, importc: "gtk_item_factory_set_translate_func".}
-proc GTK_TYPE_LAYOUT*(): GType
-proc GTK_LAYOUT*(obj: pointer): PGtkLayout
-proc GTK_LAYOUT_CLASS*(klass: pointer): PGtkLayoutClass
-proc GTK_IS_LAYOUT*(obj: pointer): bool
-proc GTK_IS_LAYOUT_CLASS*(klass: pointer): bool
-proc GTK_LAYOUT_GET_CLASS*(obj: pointer): PGtkLayoutClass
-proc gtk_layout_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_layout_get_type".}
-proc gtk_layout_new*(hadjustment: PGtkAdjustment, vadjustment: PGtkAdjustment): PGtkLayout{.
-    cdecl, dynlib: gtklib, importc: "gtk_layout_new".}
-proc gtk_layout_put*(layout: PGtkLayout, child_widget: PGtkWidget, x: gint,
-                     y: gint){.cdecl, dynlib: gtklib, importc: "gtk_layout_put".}
-proc gtk_layout_move*(layout: PGtkLayout, child_widget: PGtkWidget, x: gint,
-                      y: gint){.cdecl, dynlib: gtklib,
-                                importc: "gtk_layout_move".}
-proc gtk_layout_set_size*(layout: PGtkLayout, width: guint, height: guint){.
-    cdecl, dynlib: gtklib, importc: "gtk_layout_set_size".}
-proc gtk_layout_get_size*(layout: PGtkLayout, width: Pguint, height: Pguint){.
-    cdecl, dynlib: gtklib, importc: "gtk_layout_get_size".}
-proc gtk_layout_get_hadjustment*(layout: PGtkLayout): PGtkAdjustment{.cdecl,
-    dynlib: gtklib, importc: "gtk_layout_get_hadjustment".}
-proc gtk_layout_get_vadjustment*(layout: PGtkLayout): PGtkAdjustment{.cdecl,
-    dynlib: gtklib, importc: "gtk_layout_get_vadjustment".}
-proc gtk_layout_set_hadjustment*(layout: PGtkLayout, adjustment: PGtkAdjustment){.
-    cdecl, dynlib: gtklib, importc: "gtk_layout_set_hadjustment".}
-proc gtk_layout_set_vadjustment*(layout: PGtkLayout, adjustment: PGtkAdjustment){.
-    cdecl, dynlib: gtklib, importc: "gtk_layout_set_vadjustment".}
-const
-  bm_TGtkList_selection_mode* = 0x00000003'i16
-  bp_TGtkList_selection_mode* = 0'i16
-  bm_TGtkList_drag_selection* = 0x00000004'i16
-  bp_TGtkList_drag_selection* = 2'i16
-  bm_TGtkList_add_mode* = 0x00000008'i16
-  bp_TGtkList_add_mode* = 3'i16
-
-proc GTK_TYPE_LIST*(): GType
-proc GTK_LIST*(obj: pointer): PGtkList
-proc GTK_LIST_CLASS*(klass: pointer): PGtkListClass
-proc GTK_IS_LIST*(obj: pointer): bool
-proc GTK_IS_LIST_CLASS*(klass: pointer): bool
-proc GTK_LIST_GET_CLASS*(obj: pointer): PGtkListClass
-proc selection_mode*(a: var TGtkList): guint
-proc set_selection_mode*(a: var TGtkList, `selection_mode`: guint)
-proc drag_selection*(a: var TGtkList): guint
-proc set_drag_selection*(a: var TGtkList, `drag_selection`: guint)
-proc add_mode*(a: var TGtkList): guint
-proc set_add_mode*(a: var TGtkList, `add_mode`: guint)
-proc gtk_list_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_list_get_type".}
-proc gtk_list_new*(): PGtkList{.cdecl, dynlib: gtklib, importc: "gtk_list_new".}
-proc gtk_list_insert_items*(list: PGtkList, items: PGList, position: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_list_insert_items".}
-proc gtk_list_append_items*(list: PGtkList, items: PGList){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_append_items".}
-proc gtk_list_prepend_items*(list: PGtkList, items: PGList){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_prepend_items".}
-proc gtk_list_remove_items*(list: PGtkList, items: PGList){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_remove_items".}
-proc gtk_list_remove_items_no_unref*(list: PGtkList, items: PGList){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_remove_items_no_unref".}
-proc gtk_list_clear_items*(list: PGtkList, start: gint, theEnd: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_clear_items".}
-proc gtk_list_select_item*(list: PGtkList, item: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_select_item".}
-proc gtk_list_unselect_item*(list: PGtkList, item: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_unselect_item".}
-proc gtk_list_select_child*(list: PGtkList, child: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_select_child".}
-proc gtk_list_unselect_child*(list: PGtkList, child: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_unselect_child".}
-proc gtk_list_child_position*(list: PGtkList, child: PGtkWidget): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_list_child_position".}
-proc gtk_list_set_selection_mode*(list: PGtkList, mode: TGtkSelectionMode){.
-    cdecl, dynlib: gtklib, importc: "gtk_list_set_selection_mode".}
-proc gtk_list_extend_selection*(list: PGtkList, scroll_type: TGtkScrollType,
-                                position: gfloat, auto_start_selection: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_list_extend_selection".}
-proc gtk_list_start_selection*(list: PGtkList){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_start_selection".}
-proc gtk_list_end_selection*(list: PGtkList){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_end_selection".}
-proc gtk_list_select_all*(list: PGtkList){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_select_all".}
-proc gtk_list_unselect_all*(list: PGtkList){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_unselect_all".}
-proc gtk_list_scroll_horizontal*(list: PGtkList, scroll_type: TGtkScrollType,
-                                 position: gfloat){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_scroll_horizontal".}
-proc gtk_list_scroll_vertical*(list: PGtkList, scroll_type: TGtkScrollType,
-                               position: gfloat){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_scroll_vertical".}
-proc gtk_list_toggle_add_mode*(list: PGtkList){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_toggle_add_mode".}
-proc gtk_list_toggle_focus_row*(list: PGtkList){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_toggle_focus_row".}
-proc gtk_list_toggle_row*(list: PGtkList, item: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_toggle_row".}
-proc gtk_list_undo_selection*(list: PGtkList){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_undo_selection".}
-proc gtk_list_end_drag_selection*(list: PGtkList){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_end_drag_selection".}
-const
-  GTK_TREE_MODEL_ITERS_PERSIST* = 1 shl 0
-  GTK_TREE_MODEL_LIST_ONLY* = 1 shl 1
-
-proc GTK_TYPE_TREE_MODEL*(): GType
-proc GTK_TREE_MODEL*(obj: pointer): PGtkTreeModel
-proc GTK_IS_TREE_MODEL*(obj: pointer): bool
-proc GTK_TREE_MODEL_GET_IFACE*(obj: pointer): PGtkTreeModelIface
-proc GTK_TYPE_TREE_ITER*(): GType
-proc GTK_TYPE_TREE_PATH*(): GType
-proc gtk_tree_path_new*(): PGtkTreePath{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_path_new".}
-proc gtk_tree_path_new_from_string*(path: cstring): PGtkTreePath{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_path_new_from_string".}
-proc gtk_tree_path_to_string*(path: PGtkTreePath): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_path_to_string".}
-proc gtk_tree_path_new_root*(): PGtkTreePath
-proc gtk_tree_path_new_first*(): PGtkTreePath{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_path_new_first".}
-proc gtk_tree_path_append_index*(path: PGtkTreePath, index: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_path_append_index".}
-proc gtk_tree_path_prepend_index*(path: PGtkTreePath, index: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_path_prepend_index".}
-proc gtk_tree_path_get_depth*(path: PGtkTreePath): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_path_get_depth".}
-proc gtk_tree_path_get_indices*(path: PGtkTreePath): Pgint{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_path_get_indices".}
-proc gtk_tree_path_free*(path: PGtkTreePath){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_path_free".}
-proc gtk_tree_path_copy*(path: PGtkTreePath): PGtkTreePath{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_path_copy".}
-proc gtk_tree_path_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_tree_path_get_type".}
-proc gtk_tree_path_compare*(a: PGtkTreePath, b: PGtkTreePath): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_path_compare".}
-proc gtk_tree_path_next*(path: PGtkTreePath){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_path_next".}
-proc gtk_tree_path_prev*(path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_path_prev".}
-proc gtk_tree_path_up*(path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_path_up".}
-proc gtk_tree_path_down*(path: PGtkTreePath){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_path_down".}
-proc gtk_tree_path_is_ancestor*(path: PGtkTreePath, descendant: PGtkTreePath): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_path_is_ancestor".}
-proc gtk_tree_path_is_descendant*(path: PGtkTreePath, ancestor: PGtkTreePath): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_path_is_descendant".}
-proc gtk_tree_row_reference_new*(model: PGtkTreeModel, path: PGtkTreePath): PGtkTreeRowReference{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_new".}
-proc gtk_tree_row_reference_new_proxy*(proxy: PGObject, model: PGtkTreeModel,
-                                       path: PGtkTreePath): PGtkTreeRowReference{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_new_proxy".}
-proc gtk_tree_row_reference_get_path*(reference: PGtkTreeRowReference): PGtkTreePath{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_get_path".}
-proc gtk_tree_row_reference_valid*(reference: PGtkTreeRowReference): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_valid".}
-proc gtk_tree_row_reference_free*(reference: PGtkTreeRowReference){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_row_reference_free".}
-proc gtk_tree_row_reference_inserted*(proxy: PGObject, path: PGtkTreePath){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_inserted".}
-proc gtk_tree_row_reference_deleted*(proxy: PGObject, path: PGtkTreePath){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_deleted".}
-proc gtk_tree_row_reference_reordered*(proxy: PGObject, path: PGtkTreePath,
-                                       iter: PGtkTreeIter, new_order: Pgint){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_reordered".}
-proc gtk_tree_iter_copy*(iter: PGtkTreeIter): PGtkTreeIter{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_iter_copy".}
-proc gtk_tree_iter_free*(iter: PGtkTreeIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_iter_free".}
-proc gtk_tree_iter_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_tree_iter_get_type".}
-proc gtk_tree_model_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_get_type".}
-proc gtk_tree_model_get_flags*(tree_model: PGtkTreeModel): TGtkTreeModelFlags{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_get_flags".}
-proc gtk_tree_model_get_n_columns*(tree_model: PGtkTreeModel): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_model_get_n_columns".}
-proc gtk_tree_model_get_column_type*(tree_model: PGtkTreeModel, index: gint): GType{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_get_column_type".}
-proc gtk_tree_model_get_iter*(tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                              path: PGtkTreePath): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_model_get_iter".}
-proc gtk_tree_model_get_iter_from_string*(tree_model: PGtkTreeModel,
-    iter: PGtkTreeIter, path_string: cstring): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_get_iter_from_string".}
-proc gtk_tree_model_get_iter_root*(tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean
-proc gtk_tree_model_get_iter_first*(tree_model: PGtkTreeModel,
-                                    iter: PGtkTreeIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_model_get_iter_first".}
-proc gtk_tree_model_get_path*(tree_model: PGtkTreeModel, iter: PGtkTreeIter): PGtkTreePath{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_get_path".}
-proc gtk_tree_model_get_value*(tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                               column: gint, value: PGValue){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_model_get_value".}
-proc gtk_tree_model_iter_next*(tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_iter_next".}
-proc gtk_tree_model_iter_children*(tree_model: PGtkTreeModel,
-                                   iter: PGtkTreeIter, parent: PGtkTreeIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_iter_children".}
-proc gtk_tree_model_iter_has_child*(tree_model: PGtkTreeModel,
-                                    iter: PGtkTreeIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_model_iter_has_child".}
-proc gtk_tree_model_iter_n_children*(tree_model: PGtkTreeModel,
-                                     iter: PGtkTreeIter): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_model_iter_n_children".}
-proc gtk_tree_model_iter_nth_child*(tree_model: PGtkTreeModel,
-                                    iter: PGtkTreeIter, parent: PGtkTreeIter,
-                                    n: gint): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_iter_nth_child".}
-proc gtk_tree_model_iter_parent*(tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                                 child: PGtkTreeIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_model_iter_parent".}
-proc gtk_tree_model_ref_node*(tree_model: PGtkTreeModel, iter: PGtkTreeIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_ref_node".}
-proc gtk_tree_model_unref_node*(tree_model: PGtkTreeModel, iter: PGtkTreeIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_unref_node".}
-proc gtk_tree_model_foreach*(model: PGtkTreeModel,
-                             fun: TGtkTreeModelForeachFunc,
-                             user_data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_foreach".}
-proc gtk_tree_model_row_changed*(tree_model: PGtkTreeModel, path: PGtkTreePath,
-                                 iter: PGtkTreeIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_row_changed".}
-proc gtk_tree_model_row_inserted*(tree_model: PGtkTreeModel, path: PGtkTreePath,
-                                  iter: PGtkTreeIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_row_inserted".}
-proc gtk_tree_model_row_has_child_toggled*(tree_model: PGtkTreeModel,
-    path: PGtkTreePath, iter: PGtkTreeIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_row_has_child_toggled".}
-proc gtk_tree_model_row_deleted*(tree_model: PGtkTreeModel, path: PGtkTreePath){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_row_deleted".}
-proc gtk_tree_model_rows_reordered*(tree_model: PGtkTreeModel,
-                                    path: PGtkTreePath, iter: PGtkTreeIter,
-                                    new_order: Pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_rows_reordered".}
-const
-  GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID* = - (1)
-
-proc GTK_TYPE_TREE_SORTABLE*(): GType
-proc GTK_TREE_SORTABLE*(obj: pointer): PGtkTreeSortable
-proc GTK_TREE_SORTABLE_CLASS*(obj: pointer): PGtkTreeSortableIface
-proc GTK_IS_TREE_SORTABLE*(obj: pointer): bool
-proc GTK_TREE_SORTABLE_GET_IFACE*(obj: pointer): PGtkTreeSortableIface
-proc gtk_tree_sortable_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_sortable_get_type".}
-proc gtk_tree_sortable_sort_column_changed*(sortable: PGtkTreeSortable){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_sortable_sort_column_changed".}
-proc gtk_tree_sortable_get_sort_column_id*(sortable: PGtkTreeSortable,
-    sort_column_id: Pgint, order: PGtkSortType): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_sortable_get_sort_column_id".}
-proc gtk_tree_sortable_set_sort_column_id*(sortable: PGtkTreeSortable,
-    sort_column_id: gint, order: TGtkSortType){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_sortable_set_sort_column_id".}
-proc gtk_tree_sortable_set_sort_func*(sortable: PGtkTreeSortable,
-                                      sort_column_id: gint,
-                                      sort_func: TGtkTreeIterCompareFunc,
-                                      user_data: gpointer,
-                                      destroy: TGtkDestroyNotify){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_sortable_set_sort_func".}
-proc gtk_tree_sortable_set_default_sort_func*(sortable: PGtkTreeSortable,
-    sort_func: TGtkTreeIterCompareFunc, user_data: gpointer,
-    destroy: TGtkDestroyNotify){.cdecl, dynlib: gtklib, importc: "gtk_tree_sortable_set_default_sort_func".}
-proc gtk_tree_sortable_has_default_sort_func*(sortable: PGtkTreeSortable): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_sortable_has_default_sort_func".}
-proc GTK_TYPE_TREE_MODEL_SORT*(): GType
-proc GTK_TREE_MODEL_SORT*(obj: pointer): PGtkTreeModelSort
-proc GTK_TREE_MODEL_SORT_CLASS*(klass: pointer): PGtkTreeModelSortClass
-proc GTK_IS_TREE_MODEL_SORT*(obj: pointer): bool
-proc GTK_IS_TREE_MODEL_SORT_CLASS*(klass: pointer): bool
-proc GTK_TREE_MODEL_SORT_GET_CLASS*(obj: pointer): PGtkTreeModelSortClass
-proc gtk_tree_model_sort_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_sort_get_type".}
-proc gtk_tree_model_sort_new_with_model*(child_model: PGtkTreeModel): PGtkTreeModel{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_new_with_model".}
-proc gtk_tree_model_sort_get_model*(tree_model: PGtkTreeModelSort): PGtkTreeModel{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_get_model".}
-proc gtk_tree_model_sort_convert_child_path_to_path*(
-    tree_model_sort: PGtkTreeModelSort, child_path: PGtkTreePath): PGtkTreePath{.
-    cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_sort_convert_child_path_to_path".}
-proc gtk_tree_model_sort_convert_child_iter_to_iter*(
-    tree_model_sort: PGtkTreeModelSort, sort_iter: PGtkTreeIter,
-    child_iter: PGtkTreeIter){.cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_convert_child_iter_to_iter".}
-proc gtk_tree_model_sort_convert_path_to_child_path*(
-    tree_model_sort: PGtkTreeModelSort, sorted_path: PGtkTreePath): PGtkTreePath{.
-    cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_sort_convert_path_to_child_path".}
-proc gtk_tree_model_sort_convert_iter_to_child_iter*(
-    tree_model_sort: PGtkTreeModelSort, child_iter: PGtkTreeIter,
-    sorted_iter: PGtkTreeIter){.cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_convert_iter_to_child_iter".}
-proc gtk_tree_model_sort_reset_default_sort_func*(
-    tree_model_sort: PGtkTreeModelSort){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_model_sort_reset_default_sort_func".}
-proc gtk_tree_model_sort_clear_cache*(tree_model_sort: PGtkTreeModelSort){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_clear_cache".}
-const
-  bm_TGtkListStore_columns_dirty* = 0x00000001'i16
-  bp_TGtkListStore_columns_dirty* = 0'i16
-
-proc GTK_TYPE_LIST_STORE*(): GType
-proc GTK_LIST_STORE*(obj: pointer): PGtkListStore
-proc GTK_LIST_STORE_CLASS*(klass: pointer): PGtkListStoreClass
-proc GTK_IS_LIST_STORE*(obj: pointer): bool
-proc GTK_IS_LIST_STORE_CLASS*(klass: pointer): bool
-proc GTK_LIST_STORE_GET_CLASS*(obj: pointer): PGtkListStoreClass
-proc columns_dirty*(a: var TGtkListStore): guint
-proc set_columns_dirty*(a: var TGtkListStore, `columns_dirty`: guint)
-proc gtk_list_store_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_list_store_get_type".}
-proc gtk_list_store_newv*(n_columns: gint, types: PGType): PGtkListStore{.cdecl,
-    dynlib: gtklib, importc: "gtk_list_store_newv".}
-proc gtk_list_store_set_column_types*(list_store: PGtkListStore,
-                                      n_columns: gint, types: PGType){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_store_set_column_types".}
-proc gtk_list_store_set_value*(list_store: PGtkListStore, iter: PGtkTreeIter,
-                               column: gint, value: PGValue){.cdecl,
-    dynlib: gtklib, importc: "gtk_list_store_set_value".}
-proc gtk_list_store_remove*(list_store: PGtkListStore, iter: PGtkTreeIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_list_store_remove".}
-proc gtk_list_store_insert*(list_store: PGtkListStore, iter: PGtkTreeIter,
-                            position: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_store_insert".}
-proc gtk_list_store_insert_before*(list_store: PGtkListStore,
-                                   iter: PGtkTreeIter, sibling: PGtkTreeIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_list_store_insert_before".}
-proc gtk_list_store_insert_after*(list_store: PGtkListStore, iter: PGtkTreeIter,
-                                  sibling: PGtkTreeIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_store_insert_after".}
-proc gtk_list_store_prepend*(list_store: PGtkListStore, iter: PGtkTreeIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_list_store_prepend".}
-proc gtk_list_store_append*(list_store: PGtkListStore, iter: PGtkTreeIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_list_store_append".}
-proc gtk_list_store_clear*(list_store: PGtkListStore){.cdecl, dynlib: gtklib,
-    importc: "gtk_list_store_clear".}
-
-when false:
-  const
-    GTK_PRIORITY_RESIZE* = G_PRIORITY_HIGH_IDLE + 10
-
-proc gtk_check_version*(required_major: guint, required_minor: guint,
-                        required_micro: guint): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_check_version".}
-proc gtk_disable_setlocale*(){.cdecl, dynlib: gtklib,
-                               importc: "gtk_disable_setlocale".}
-proc gtk_set_locale*(): cstring{.cdecl, dynlib: gtklib, importc: "gtk_set_locale".}
-proc gtk_get_default_language*(): PPangoLanguage{.cdecl, dynlib: gtklib,
-    importc: "gtk_get_default_language".}
-proc gtk_events_pending*(): gint{.cdecl, dynlib: gtklib,
-                                  importc: "gtk_events_pending".}
-proc gtk_main_do_event*(event: PGdkEvent){.cdecl, dynlib: gtklib,
-    importc: "gtk_main_do_event".}
-proc gtk_main*(){.cdecl, dynlib: gtklib, importc: "gtk_main".}
-proc gtk_init*(argc, argv: pointer){.cdecl, dynlib: gtklib, importc: "gtk_init".}
-proc gtk_main_level*(): guint{.cdecl, dynlib: gtklib, importc: "gtk_main_level".}
-proc gtk_main_quit*(){.cdecl, dynlib: gtklib, importc: "gtk_main_quit".}
-proc gtk_main_iteration*(): gboolean{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_main_iteration".}
-proc gtk_main_iteration_do*(blocking: gboolean): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_main_iteration_do".}
-proc gtk_true*(): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_true".}
-proc gtk_false*(): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_false".}
-proc gtk_grab_add*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-                                        importc: "gtk_grab_add".}
-proc gtk_grab_get_current*(): PGtkWidget{.cdecl, dynlib: gtklib,
-    importc: "gtk_grab_get_current".}
-proc gtk_grab_remove*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_grab_remove".}
-proc gtk_init_add*(`function`: TGtkFunction, data: gpointer){.cdecl,
-    dynlib: gtklib, importc: "gtk_init_add".}
-proc gtk_quit_add_destroy*(main_level: guint, anObject: PGtkObject){.cdecl,
-    dynlib: gtklib, importc: "gtk_quit_add_destroy".}
-proc gtk_quit_add*(main_level: guint, `function`: TGtkFunction, data: gpointer): guint{.
-    cdecl, dynlib: gtklib, importc: "gtk_quit_add".}
-proc gtk_quit_add_full*(main_level: guint, `function`: TGtkFunction,
-                        marshal: TGtkCallbackMarshal, data: gpointer,
-                        destroy: TGtkDestroyNotify): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_quit_add_full".}
-proc gtk_quit_remove*(quit_handler_id: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_quit_remove".}
-proc gtk_quit_remove_by_data*(data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_quit_remove_by_data".}
-proc gtk_timeout_add*(interval: guint32, `function`: TGtkFunction,
-                      data: gpointer): guint{.cdecl, dynlib: gtklib,
-    importc: "gtk_timeout_add".}
-proc gtk_timeout_add_full*(interval: guint32, `function`: TGtkFunction,
-                           marshal: TGtkCallbackMarshal, data: gpointer,
-                           destroy: TGtkDestroyNotify): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_timeout_add_full".}
-proc gtk_timeout_remove*(timeout_handler_id: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_timeout_remove".}
-proc gtk_idle_add*(`function`: TGtkFunction, data: gpointer): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_idle_add".}
-proc gtk_idle_add_priority*(priority: gint, `function`: TGtkFunction,
-                            data: gpointer): guint{.cdecl, dynlib: gtklib,
-    importc: "gtk_idle_add_priority".}
-proc gtk_idle_add_full*(priority: gint, `function`: TGtkFunction,
-                        marshal: TGtkCallbackMarshal, data: gpointer,
-                        destroy: TGtkDestroyNotify): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_idle_add_full".}
-proc gtk_idle_remove*(idle_handler_id: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_idle_remove".}
-proc gtk_idle_remove_by_data*(data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_idle_remove_by_data".}
-proc gtk_input_add_full*(source: gint, condition: TGdkInputCondition,
-                         `function`: TGdkInputFunction,
-                         marshal: TGtkCallbackMarshal, data: gpointer,
-                         destroy: TGtkDestroyNotify): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_input_add_full".}
-proc gtk_input_remove*(input_handler_id: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_input_remove".}
-proc gtk_key_snooper_install*(snooper: TGtkKeySnoopFunc, func_data: gpointer): guint{.
-    cdecl, dynlib: gtklib, importc: "gtk_key_snooper_install".}
-proc gtk_key_snooper_remove*(snooper_handler_id: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_key_snooper_remove".}
-proc gtk_get_current_event*(): PGdkEvent{.cdecl, dynlib: gtklib,
-    importc: "gtk_get_current_event".}
-proc gtk_get_current_event_time*(): guint32{.cdecl, dynlib: gtklib,
-    importc: "gtk_get_current_event_time".}
-proc gtk_get_current_event_state*(state: PGdkModifierType): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_get_current_event_state".}
-proc gtk_get_event_widget*(event: PGdkEvent): PGtkWidget{.cdecl, dynlib: gtklib,
-    importc: "gtk_get_event_widget".}
-proc gtk_propagate_event*(widget: PGtkWidget, event: PGdkEvent){.cdecl,
-    dynlib: gtklib, importc: "gtk_propagate_event".}
-proc gtk_boolean_handled_accumulator*(ihint: PGSignalInvocationHint,
-                                        return_accu: PGValue,
-                                        handler_return: PGValue, dummy: gpointer): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_boolean_handled_accumulator".}
-proc gtk_find_module*(name: cstring, thetype: cstring): cstring{.cdecl,
-    dynlib: gtklib, importc: "_gtk_find_module".}
-proc gtk_get_module_path*(thetype: cstring): PPgchar{.cdecl, dynlib: gtklib,
-    importc: "_gtk_get_module_path".}
-proc GTK_TYPE_MENU_BAR*(): GType
-proc GTK_MENU_BAR*(obj: pointer): PGtkMenuBar
-proc GTK_MENU_BAR_CLASS*(klass: pointer): PGtkMenuBarClass
-proc GTK_IS_MENU_BAR*(obj: pointer): bool
-proc GTK_IS_MENU_BAR_CLASS*(klass: pointer): bool
-proc GTK_MENU_BAR_GET_CLASS*(obj: pointer): PGtkMenuBarClass
-proc gtk_menu_bar_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_menu_bar_get_type".}
-proc gtk_menu_bar_new*(): PGtkMenuBar{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_menu_bar_new".}
-proc gtk_menu_bar_cycle_focus*(menubar: PGtkMenuBar, dir: TGtkDirectionType){.
-    cdecl, dynlib: gtklib, importc: "_gtk_menu_bar_cycle_focus".}
-proc GTK_TYPE_MESSAGE_DIALOG*(): GType
-proc GTK_MESSAGE_DIALOG*(obj: pointer): PGtkMessageDialog
-proc GTK_MESSAGE_DIALOG_CLASS*(klass: pointer): PGtkMessageDialogClass
-proc GTK_IS_MESSAGE_DIALOG*(obj: pointer): bool
-proc GTK_IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool
-proc GTK_MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PGtkMessageDialogClass
-proc gtk_message_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_message_dialog_get_type".}
-const
-  bm_TGtkNotebook_show_tabs* = 0x00000001'i16
-  bp_TGtkNotebook_show_tabs* = 0'i16
-  bm_TGtkNotebook_homogeneous* = 0x00000002'i16
-  bp_TGtkNotebook_homogeneous* = 1'i16
-  bm_TGtkNotebook_show_border* = 0x00000004'i16
-  bp_TGtkNotebook_show_border* = 2'i16
-  bm_TGtkNotebook_tab_pos* = 0x00000018'i16
-  bp_TGtkNotebook_tab_pos* = 3'i16
-  bm_TGtkNotebook_scrollable* = 0x00000020'i16
-  bp_TGtkNotebook_scrollable* = 5'i16
-  bm_TGtkNotebook_in_child* = 0x000000C0'i16
-  bp_TGtkNotebook_in_child* = 6'i16
-  bm_TGtkNotebook_click_child* = 0x00000300'i16
-  bp_TGtkNotebook_click_child* = 8'i16
-  bm_TGtkNotebook_button* = 0x00000C00'i16
-  bp_TGtkNotebook_button* = 10'i16
-  bm_TGtkNotebook_need_timer* = 0x00001000'i16
-  bp_TGtkNotebook_need_timer* = 12'i16
-  bm_TGtkNotebook_child_has_focus* = 0x00002000'i16
-  bp_TGtkNotebook_child_has_focus* = 13'i16
-  bm_TGtkNotebook_have_visible_child* = 0x00004000'i16
-  bp_TGtkNotebook_have_visible_child* = 14'i16
-  bm_TGtkNotebook_focus_out* = 0x00008000'i16
-  bp_TGtkNotebook_focus_out* = 15'i16
-
-proc GTK_TYPE_NOTEBOOK*(): GType
-proc GTK_NOTEBOOK*(obj: pointer): PGtkNotebook
-proc GTK_NOTEBOOK_CLASS*(klass: pointer): PGtkNotebookClass
-proc GTK_IS_NOTEBOOK*(obj: pointer): bool
-proc GTK_IS_NOTEBOOK_CLASS*(klass: pointer): bool
-proc GTK_NOTEBOOK_GET_CLASS*(obj: pointer): PGtkNotebookClass
-proc show_tabs*(a: var TGtkNotebook): guint
-proc set_show_tabs*(a: var TGtkNotebook, `show_tabs`: guint)
-proc homogeneous*(a: var TGtkNotebook): guint
-proc set_homogeneous*(a: var TGtkNotebook, `homogeneous`: guint)
-proc show_border*(a: var TGtkNotebook): guint
-proc set_show_border*(a: var TGtkNotebook, `show_border`: guint)
-proc tab_pos*(a: var TGtkNotebook): guint
-proc set_tab_pos*(a: var TGtkNotebook, `tab_pos`: guint)
-proc scrollable*(a: var TGtkNotebook): guint
-proc set_scrollable*(a: var TGtkNotebook, `scrollable`: guint)
-proc in_child*(a: var TGtkNotebook): guint
-proc set_in_child*(a: var TGtkNotebook, `in_child`: guint)
-proc click_child*(a: var TGtkNotebook): guint
-proc set_click_child*(a: var TGtkNotebook, `click_child`: guint)
-proc button*(a: var TGtkNotebook): guint
-proc set_button*(a: var TGtkNotebook, `button`: guint)
-proc need_timer*(a: var TGtkNotebook): guint
-proc set_need_timer*(a: var TGtkNotebook, `need_timer`: guint)
-proc child_has_focus*(a: var TGtkNotebook): guint
-proc set_child_has_focus*(a: var TGtkNotebook, `child_has_focus`: guint)
-proc have_visible_child*(a: var TGtkNotebook): guint
-proc set_have_visible_child*(a: var TGtkNotebook, `have_visible_child`: guint)
-proc focus_out*(a: var TGtkNotebook): guint
-proc set_focus_out*(a: var TGtkNotebook, `focus_out`: guint)
-proc gtk_notebook_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_notebook_get_type".}
-proc gtk_notebook_new*(): PGtkNotebook{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_notebook_new".}
-proc gtk_notebook_append_page*(notebook: PGtkNotebook, child: PGtkWidget,
-                               tab_label: PGtkWidget): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_append_page".}
-proc gtk_notebook_append_page_menu*(notebook: PGtkNotebook, child: PGtkWidget,
-                                    tab_label: PGtkWidget,
-                                    menu_label: PGtkWidget): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_append_page_menu".}
-proc gtk_notebook_prepend_page*(notebook: PGtkNotebook, child: PGtkWidget,
-                                tab_label: PGtkWidget): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_prepend_page".}
-proc gtk_notebook_prepend_page_menu*(notebook: PGtkNotebook, child: PGtkWidget,
-                                     tab_label: PGtkWidget,
-                                     menu_label: PGtkWidget): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_prepend_page_menu".}
-proc gtk_notebook_insert_page*(notebook: PGtkNotebook, child: PGtkWidget,
-                               tab_label: PGtkWidget, position: gint): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_insert_page".}
-proc gtk_notebook_insert_page_menu*(notebook: PGtkNotebook, child: PGtkWidget,
-                                    tab_label: PGtkWidget,
-                                    menu_label: PGtkWidget, position: gint): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_insert_page_menu".}
-proc gtk_notebook_remove_page*(notebook: PGtkNotebook, page_num: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_remove_page".}
-proc gtk_notebook_get_current_page*(notebook: PGtkNotebook): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_get_current_page".}
-proc gtk_notebook_get_n_pages*(notebook: PGtkNotebook): gint {.cdecl, 
-    dynlib: gtklib, importc.}
-proc gtk_notebook_get_nth_page*(notebook: PGtkNotebook, page_num: gint): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_get_nth_page".}
-proc gtk_notebook_page_num*(notebook: PGtkNotebook, child: PGtkWidget): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_page_num".}
-proc gtk_notebook_set_current_page*(notebook: PGtkNotebook, page_num: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_set_current_page".}
-proc gtk_notebook_next_page*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib,
-    importc: "gtk_notebook_next_page".}
-proc gtk_notebook_prev_page*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib,
-    importc: "gtk_notebook_prev_page".}
-proc gtk_notebook_set_show_border*(notebook: PGtkNotebook, show_border: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_set_show_border".}
-proc gtk_notebook_get_show_border*(notebook: PGtkNotebook): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_get_show_border".}
-proc gtk_notebook_set_show_tabs*(notebook: PGtkNotebook, show_tabs: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_set_show_tabs".}
-proc gtk_notebook_get_show_tabs*(notebook: PGtkNotebook): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_get_show_tabs".}
-proc gtk_notebook_set_tab_pos*(notebook: PGtkNotebook, pos: TGtkPositionType){.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_set_tab_pos".}
-proc gtk_notebook_get_tab_pos*(notebook: PGtkNotebook): TGtkPositionType{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_get_tab_pos".}
-proc gtk_notebook_set_scrollable*(notebook: PGtkNotebook, scrollable: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_set_scrollable".}
-proc gtk_notebook_get_scrollable*(notebook: PGtkNotebook): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_get_scrollable".}
-proc gtk_notebook_popup_enable*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib,
-    importc: "gtk_notebook_popup_enable".}
-proc gtk_notebook_popup_disable*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib,
-    importc: "gtk_notebook_popup_disable".}
-proc gtk_notebook_get_tab_label*(notebook: PGtkNotebook, child: PGtkWidget): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_get_tab_label".}
-proc gtk_notebook_set_tab_label*(notebook: PGtkNotebook, child: PGtkWidget,
-                                 tab_label: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_notebook_set_tab_label".}
-proc gtk_notebook_set_tab_label_text*(notebook: PGtkNotebook, child: PGtkWidget,
-                                      tab_text: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_notebook_set_tab_label_text".}
-proc gtk_notebook_get_tab_label_text*(notebook: PGtkNotebook, child: PGtkWidget): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_get_tab_label_text".}
-proc gtk_notebook_get_menu_label*(notebook: PGtkNotebook, child: PGtkWidget): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_get_menu_label".}
-proc gtk_notebook_set_menu_label*(notebook: PGtkNotebook, child: PGtkWidget,
-                                  menu_label: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_notebook_set_menu_label".}
-proc gtk_notebook_set_menu_label_text*(notebook: PGtkNotebook,
-                                       child: PGtkWidget, menu_text: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_set_menu_label_text".}
-proc gtk_notebook_get_menu_label_text*(notebook: PGtkNotebook, child: PGtkWidget): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_get_menu_label_text".}
-proc gtk_notebook_query_tab_label_packing*(notebook: PGtkNotebook,
-    child: PGtkWidget, expand: Pgboolean, fill: Pgboolean,
-    pack_type: PGtkPackType){.cdecl, dynlib: gtklib,
-                              importc: "gtk_notebook_query_tab_label_packing".}
-proc gtk_notebook_set_tab_label_packing*(notebook: PGtkNotebook,
-    child: PGtkWidget, expand: gboolean, fill: gboolean, pack_type: TGtkPackType){.
-    cdecl, dynlib: gtklib, importc: "gtk_notebook_set_tab_label_packing".}
-proc gtk_notebook_reorder_child*(notebook: PGtkNotebook, child: PGtkWidget,
-                                 position: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_notebook_reorder_child".}
-const
-  bm_TGtkOldEditable_has_selection* = 0x00000001'i16
-  bp_TGtkOldEditable_has_selection* = 0'i16
-  bm_TGtkOldEditable_editable* = 0x00000002'i16
-  bp_TGtkOldEditable_editable* = 1'i16
-  bm_TGtkOldEditable_visible* = 0x00000004'i16
-  bp_TGtkOldEditable_visible* = 2'i16
-
-proc GTK_TYPE_OLD_EDITABLE*(): GType
-proc GTK_OLD_EDITABLE*(obj: pointer): PGtkOldEditable
-proc GTK_OLD_EDITABLE_CLASS*(klass: pointer): PGtkOldEditableClass
-proc GTK_IS_OLD_EDITABLE*(obj: pointer): bool
-proc GTK_IS_OLD_EDITABLE_CLASS*(klass: pointer): bool
-proc GTK_OLD_EDITABLE_GET_CLASS*(obj: pointer): PGtkOldEditableClass
-proc has_selection*(a: var TGtkOldEditable): guint
-proc set_has_selection*(a: var TGtkOldEditable, `has_selection`: guint)
-proc editable*(a: var TGtkOldEditable): guint
-proc set_editable*(a: var TGtkOldEditable, `editable`: guint)
-proc visible*(a: var TGtkOldEditable): guint
-proc set_visible*(a: var TGtkOldEditable, `visible`: guint)
-proc gtk_old_editable_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_old_editable_get_type".}
-proc gtk_old_editable_claim_selection*(old_editable: PGtkOldEditable,
-                                       claim: gboolean, time: guint32){.cdecl,
-    dynlib: gtklib, importc: "gtk_old_editable_claim_selection".}
-proc gtk_old_editable_changed*(old_editable: PGtkOldEditable){.cdecl,
-    dynlib: gtklib, importc: "gtk_old_editable_changed".}
-proc GTK_TYPE_OPTION_MENU*(): GType
-proc GTK_OPTION_MENU*(obj: pointer): PGtkOptionMenu
-proc GTK_OPTION_MENU_CLASS*(klass: pointer): PGtkOptionMenuClass
-proc GTK_IS_OPTION_MENU*(obj: pointer): bool
-proc GTK_IS_OPTION_MENU_CLASS*(klass: pointer): bool
-proc GTK_OPTION_MENU_GET_CLASS*(obj: pointer): PGtkOptionMenuClass
-proc gtk_option_menu_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_option_menu_get_type".}
-proc gtk_option_menu_new*(): PGtkOptionMenu{.cdecl, dynlib: gtklib,
-    importc: "gtk_option_menu_new".}
-proc gtk_option_menu_get_menu*(option_menu: PGtkOptionMenu): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_option_menu_get_menu".}
-proc gtk_option_menu_set_menu*(option_menu: PGtkOptionMenu, menu: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_option_menu_set_menu".}
-proc gtk_option_menu_remove_menu*(option_menu: PGtkOptionMenu){.cdecl,
-    dynlib: gtklib, importc: "gtk_option_menu_remove_menu".}
-proc gtk_option_menu_get_history*(option_menu: PGtkOptionMenu): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_option_menu_get_history".}
-proc gtk_option_menu_set_history*(option_menu: PGtkOptionMenu, index: guint){.
-    cdecl, dynlib: gtklib, importc: "gtk_option_menu_set_history".}
-const
-  bm_TGtkPixmap_build_insensitive* = 0x00000001'i16
-  bp_TGtkPixmap_build_insensitive* = 0'i16
-
-proc GTK_TYPE_PIXMAP*(): GType
-proc GTK_PIXMAP*(obj: pointer): PGtkPixmap
-proc GTK_PIXMAP_CLASS*(klass: pointer): PGtkPixmapClass
-proc GTK_IS_PIXMAP*(obj: pointer): bool
-proc GTK_IS_PIXMAP_CLASS*(klass: pointer): bool
-proc GTK_PIXMAP_GET_CLASS*(obj: pointer): PGtkPixmapClass
-proc build_insensitive*(a: var TGtkPixmap): guint
-proc set_build_insensitive*(a: var TGtkPixmap, `build_insensitive`: guint)
-proc gtk_pixmap_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_pixmap_get_type".}
-proc gtk_pixmap_new*(pixmap: PGdkPixmap, mask: PGdkBitmap): PGtkPixmap{.cdecl,
-    dynlib: gtklib, importc: "gtk_pixmap_new".}
-proc gtk_pixmap_set*(pixmap: PGtkPixmap, val: PGdkPixmap, mask: PGdkBitmap){.
-    cdecl, dynlib: gtklib, importc: "gtk_pixmap_set".}
-proc gtk_pixmap_get*(pixmap: PGtkPixmap, val: var PGdkPixmap,
-                     mask: var PGdkBitmap){.cdecl, dynlib: gtklib,
-    importc: "gtk_pixmap_get".}
-proc gtk_pixmap_set_build_insensitive*(pixmap: PGtkPixmap, build: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_pixmap_set_build_insensitive".}
-const
-  bm_TGtkPlug_same_app* = 0x00000001'i16
-  bp_TGtkPlug_same_app* = 0'i16
-
-proc GTK_TYPE_PLUG*(): GType
-proc GTK_PLUG*(obj: pointer): PGtkPlug
-proc GTK_PLUG_CLASS*(klass: pointer): PGtkPlugClass
-proc GTK_IS_PLUG*(obj: pointer): bool
-proc GTK_IS_PLUG_CLASS*(klass: pointer): bool
-proc GTK_PLUG_GET_CLASS*(obj: pointer): PGtkPlugClass
-proc same_app*(a: var TGtkPlug): guint
-proc set_same_app*(a: var TGtkPlug, `same_app`: guint)
-proc gtk_plug_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_plug_get_type".}
-proc gtk_plug_construct_for_display*(plug: PGtkPlug, display: PGdkDisplay,
-                                     socket_id: TGdkNativeWindow){.cdecl,
-    dynlib: gtklib, importc: "gtk_plug_construct_for_display".}
-proc gtk_plug_new_for_display*(display: PGdkDisplay, socket_id: TGdkNativeWindow): PGtkPlug{.
-    cdecl, dynlib: gtklib, importc: "gtk_plug_new_for_display".}
-proc gtk_plug_get_id*(plug: PGtkPlug): TGdkNativeWindow{.cdecl, dynlib: gtklib,
-    importc: "gtk_plug_get_id".}
-proc gtk_plug_add_to_socket*(plug: PGtkPlug, socket: PGtkSocket){.cdecl,
-    dynlib: gtklib, importc: "_gtk_plug_add_to_socket".}
-proc gtk_plug_remove_from_socket*(plug: PGtkPlug, socket: PGtkSocket){.cdecl,
-    dynlib: gtklib, importc: "_gtk_plug_remove_from_socket".}
-const
-  bm_TGtkPreview_type* = 0x00000001'i16
-  bp_TGtkPreview_type* = 0'i16
-  bm_TGtkPreview_expand* = 0x00000002'i16
-  bp_TGtkPreview_expand* = 1'i16
-
-proc GTK_TYPE_PREVIEW*(): GType
-proc GTK_PREVIEW*(obj: pointer): PGtkPreview
-proc GTK_PREVIEW_CLASS*(klass: pointer): PGtkPreviewClass
-proc GTK_IS_PREVIEW*(obj: pointer): bool
-proc GTK_IS_PREVIEW_CLASS*(klass: pointer): bool
-proc GTK_PREVIEW_GET_CLASS*(obj: pointer): PGtkPreviewClass
-proc get_type*(a: var TGtkPreview): guint
-proc set_type*(a: var TGtkPreview, `type`: guint)
-proc get_expand*(a: var TGtkPreview): guint
-proc set_expand*(a: var TGtkPreview, `expand`: guint)
-proc gtk_preview_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_preview_get_type".}
-proc gtk_preview_uninit*(){.cdecl, dynlib: gtklib, importc: "gtk_preview_uninit".}
-proc gtk_preview_new*(thetype: TGtkPreviewClass): PGtkPreview{.cdecl,
-    dynlib: gtklib, importc: "gtk_preview_new".}
-proc gtk_preview_size*(preview: PGtkPreview, width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_preview_size".}
-proc gtk_preview_put*(preview: PGtkPreview, window: PGdkWindow, gc: PGdkGC,
-                      srcx: gint, srcy: gint, destx: gint, desty: gint,
-                      width: gint, height: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_preview_put".}
-proc gtk_preview_draw_row*(preview: PGtkPreview, data: Pguchar, x: gint,
-                           y: gint, w: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_preview_draw_row".}
-proc gtk_preview_set_expand*(preview: PGtkPreview, expand: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_preview_set_expand".}
-proc gtk_preview_set_gamma*(gamma: float64){.cdecl, dynlib: gtklib,
-    importc: "gtk_preview_set_gamma".}
-proc gtk_preview_set_color_cube*(nred_shades: guint, ngreen_shades: guint,
-                                 nblue_shades: guint, ngray_shades: guint){.
-    cdecl, dynlib: gtklib, importc: "gtk_preview_set_color_cube".}
-proc gtk_preview_set_install_cmap*(install_cmap: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_preview_set_install_cmap".}
-proc gtk_preview_set_reserved*(nreserved: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_preview_set_reserved".}
-proc gtk_preview_set_dither*(preview: PGtkPreview, dither: TGdkRgbDither){.
-    cdecl, dynlib: gtklib, importc: "gtk_preview_set_dither".}
-proc gtk_preview_get_info*(): PGtkPreviewInfo{.cdecl, dynlib: gtklib,
-    importc: "gtk_preview_get_info".}
-proc gtk_preview_reset*(){.cdecl, dynlib: gtklib, importc: "gtk_preview_reset".}
-const
-  bm_TGtkProgress_show_text* = 0x00000001'i16
-  bp_TGtkProgress_show_text* = 0'i16
-  bm_TGtkProgress_activity_mode* = 0x00000002'i16
-  bp_TGtkProgress_activity_mode* = 1'i16
-  bm_TGtkProgress_use_text_format* = 0x00000004'i16
-  bp_TGtkProgress_use_text_format* = 2'i16
-
-proc show_text*(a: var TGtkProgress): guint
-proc set_show_text*(a: var TGtkProgress, `show_text`: guint)
-proc activity_mode*(a: var TGtkProgress): guint
-proc set_activity_mode*(a: var TGtkProgress, `activity_mode`: guint)
-proc use_text_format*(a: var TGtkProgress): guint
-proc set_use_text_format*(a: var TGtkProgress, `use_text_format`: guint)
-const
-  bm_TGtkProgressBar_activity_dir* = 0x00000001'i16
-  bp_TGtkProgressBar_activity_dir* = 0'i16
-
-proc GTK_TYPE_PROGRESS_BAR*(): GType
-proc GTK_PROGRESS_BAR*(obj: pointer): PGtkProgressBar
-proc GTK_PROGRESS_BAR_CLASS*(klass: pointer): PGtkProgressBarClass
-proc GTK_IS_PROGRESS_BAR*(obj: pointer): bool
-proc GTK_IS_PROGRESS_BAR_CLASS*(klass: pointer): bool
-proc GTK_PROGRESS_BAR_GET_CLASS*(obj: pointer): PGtkProgressBarClass
-proc activity_dir*(a: var TGtkProgressBar): guint
-proc set_activity_dir*(a: var TGtkProgressBar, `activity_dir`: guint)
-proc gtk_progress_bar_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_progress_bar_get_type".}
-proc gtk_progress_bar_new*(): PGtkProgressBar{.cdecl, dynlib: gtklib,
-    importc: "gtk_progress_bar_new".}
-proc gtk_progress_bar_pulse*(pbar: PGtkProgressBar){.cdecl, dynlib: gtklib,
-    importc: "gtk_progress_bar_pulse".}
-proc gtk_progress_bar_set_text*(pbar: PGtkProgressBar, text: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_progress_bar_set_text".}
-proc gtk_progress_bar_set_fraction*(pbar: PGtkProgressBar, fraction: gdouble){.
-    cdecl, dynlib: gtklib, importc: "gtk_progress_bar_set_fraction".}
-proc gtk_progress_bar_set_pulse_step*(pbar: PGtkProgressBar, fraction: gdouble){.
-    cdecl, dynlib: gtklib, importc: "gtk_progress_bar_set_pulse_step".}
-proc gtk_progress_bar_set_orientation*(pbar: PGtkProgressBar,
-                                       orientation: TGtkProgressBarOrientation){.
-    cdecl, dynlib: gtklib, importc: "gtk_progress_bar_set_orientation".}
-proc gtk_progress_bar_get_text*(pbar: PGtkProgressBar): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_progress_bar_get_text".}
-proc gtk_progress_bar_get_fraction*(pbar: PGtkProgressBar): gdouble{.cdecl,
-    dynlib: gtklib, importc: "gtk_progress_bar_get_fraction".}
-proc gtk_progress_bar_get_pulse_step*(pbar: PGtkProgressBar): gdouble{.cdecl,
-    dynlib: gtklib, importc: "gtk_progress_bar_get_pulse_step".}
-proc gtk_progress_bar_get_orientation*(pbar: PGtkProgressBar): TGtkProgressBarOrientation{.
-    cdecl, dynlib: gtklib, importc: "gtk_progress_bar_get_orientation".}
-proc GTK_TYPE_RADIO_BUTTON*(): GType
-proc GTK_RADIO_BUTTON*(obj: pointer): PGtkRadioButton
-proc GTK_RADIO_BUTTON_CLASS*(klass: pointer): PGtkRadioButtonClass
-proc GTK_IS_RADIO_BUTTON*(obj: pointer): bool
-proc GTK_IS_RADIO_BUTTON_CLASS*(klass: pointer): bool
-proc GTK_RADIO_BUTTON_GET_CLASS*(obj: pointer): PGtkRadioButtonClass
-proc gtk_radio_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_radio_button_get_type".}
-proc gtk_radio_button_new*(group: PGSList): PGtkRadioButton{.cdecl, dynlib: gtklib,
-    importc: "gtk_radio_button_new".}
-proc gtk_radio_button_new_from_widget*(group: PGtkRadioButton): PGtkRadioButton{.
-    cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_from_widget".}
-proc gtk_radio_button_new_with_label*(group: PGSList, `label`: cstring): PGtkRadioButton{.
-    cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_with_label".}
-proc gtk_radio_button_new_with_label_from_widget*(group: PGtkRadioButton,
-    `label`: cstring): PGtkRadioButton{.cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_with_label_from_widget".}
-proc gtk_radio_button_new_with_mnemonic*(group: PGSList, `label`: cstring): PGtkRadioButton{.
-    cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_with_mnemonic".}
-proc gtk_radio_button_new_with_mnemonic_from_widget*(group: PGtkRadioButton,
-    `label`: cstring): PGtkRadioButton{.cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_with_mnemonic_from_widget".}
-proc gtk_radio_button_get_group*(radio_button: PGtkRadioButton): PGSList{.cdecl,
-    dynlib: gtklib, importc: "gtk_radio_button_get_group".}
-proc gtk_radio_button_set_group*(radio_button: PGtkRadioButton, group: PGSList){.
-    cdecl, dynlib: gtklib, importc: "gtk_radio_button_set_group".}
-proc GTK_TYPE_RADIO_MENU_ITEM*(): GType
-proc GTK_RADIO_MENU_ITEM*(obj: pointer): PGtkRadioMenuItem
-proc GTK_RADIO_MENU_ITEM_CLASS*(klass: pointer): PGtkRadioMenuItemClass
-proc GTK_IS_RADIO_MENU_ITEM*(obj: pointer): bool
-proc GTK_IS_RADIO_MENU_ITEM_CLASS*(klass: pointer): bool
-proc GTK_RADIO_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkRadioMenuItemClass
-proc gtk_radio_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_radio_menu_item_get_type".}
-proc gtk_radio_menu_item_new*(group: PGSList): PGtkRadioMenuItem{.cdecl,
-    dynlib: gtklib, importc: "gtk_radio_menu_item_new".}
-proc gtk_radio_menu_item_new_with_label*(group: PGSList, `label`: cstring): PGtkRadioMenuItem{.
-    cdecl, dynlib: gtklib, importc: "gtk_radio_menu_item_new_with_label".}
-proc gtk_radio_menu_item_new_with_mnemonic*(group: PGSList, `label`: cstring): PGtkRadioMenuItem{.
-    cdecl, dynlib: gtklib, importc: "gtk_radio_menu_item_new_with_mnemonic".}
-proc gtk_radio_menu_item_get_group*(radio_menu_item: PGtkRadioMenuItem): PGSList{.
-    cdecl, dynlib: gtklib, importc: "gtk_radio_menu_item_get_group".}
-proc gtk_radio_menu_item_set_group*(radio_menu_item: PGtkRadioMenuItem,
-                                    group: PGSList){.cdecl, dynlib: gtklib,
-    importc: "gtk_radio_menu_item_set_group".}
-const
-  bm_TGtkScrolledWindow_hscrollbar_policy* = 0x00000003'i16
-  bp_TGtkScrolledWindow_hscrollbar_policy* = 0'i16
-  bm_TGtkScrolledWindow_vscrollbar_policy* = 0x0000000C'i16
-  bp_TGtkScrolledWindow_vscrollbar_policy* = 2'i16
-  bm_TGtkScrolledWindow_hscrollbar_visible* = 0x00000010'i16
-  bp_TGtkScrolledWindow_hscrollbar_visible* = 4'i16
-  bm_TGtkScrolledWindow_vscrollbar_visible* = 0x00000020'i16
-  bp_TGtkScrolledWindow_vscrollbar_visible* = 5'i16
-  bm_TGtkScrolledWindow_window_placement* = 0x000000C0'i16
-  bp_TGtkScrolledWindow_window_placement* = 6'i16
-  bm_TGtkScrolledWindow_focus_out* = 0x00000100'i16
-  bp_TGtkScrolledWindow_focus_out* = 8'i16
-
-proc GTK_TYPE_SCROLLED_WINDOW*(): GType
-proc GTK_SCROLLED_WINDOW*(obj: pointer): PGtkScrolledWindow
-proc GTK_SCROLLED_WINDOW_CLASS*(klass: pointer): PGtkScrolledWindowClass
-proc GTK_IS_SCROLLED_WINDOW*(obj: pointer): bool
-proc GTK_IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool
-proc GTK_SCROLLED_WINDOW_GET_CLASS*(obj: pointer): PGtkScrolledWindowClass
-proc hscrollbar_policy*(a: var TGtkScrolledWindow): guint
-proc set_hscrollbar_policy*(a: var TGtkScrolledWindow,
-                            `hscrollbar_policy`: guint)
-proc vscrollbar_policy*(a: var TGtkScrolledWindow): guint
-proc set_vscrollbar_policy*(a: var TGtkScrolledWindow,
-                            `vscrollbar_policy`: guint)
-proc hscrollbar_visible*(a: var TGtkScrolledWindow): guint
-proc set_hscrollbar_visible*(a: var TGtkScrolledWindow,
-                             `hscrollbar_visible`: guint)
-proc vscrollbar_visible*(a: var TGtkScrolledWindow): guint
-proc set_vscrollbar_visible*(a: var TGtkScrolledWindow,
-                             `vscrollbar_visible`: guint)
-proc window_placement*(a: var TGtkScrolledWindow): guint
-proc set_window_placement*(a: var TGtkScrolledWindow, `window_placement`: guint)
-proc focus_out*(a: var TGtkScrolledWindow): guint
-proc set_focus_out*(a: var TGtkScrolledWindow, `focus_out`: guint)
-proc gtk_scrolled_window_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_scrolled_window_get_type".}
-proc gtk_scrolled_window_new*(hadjustment: PGtkAdjustment,
-                              vadjustment: PGtkAdjustment): PGtkScrolledWindow{.cdecl,
-    dynlib: gtklib, importc: "gtk_scrolled_window_new".}
-proc gtk_scrolled_window_set_hadjustment*(scrolled_window: PGtkScrolledWindow,
-    hadjustment: PGtkAdjustment){.cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_set_hadjustment".}
-proc gtk_scrolled_window_set_vadjustment*(scrolled_window: PGtkScrolledWindow,
-    hadjustment: PGtkAdjustment){.cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_set_vadjustment".}
-proc gtk_scrolled_window_get_hadjustment*(scrolled_window: PGtkScrolledWindow): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_get_hadjustment".}
-proc gtk_scrolled_window_get_vadjustment*(scrolled_window: PGtkScrolledWindow): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_get_vadjustment".}
-proc gtk_scrolled_window_set_policy*(scrolled_window: PGtkScrolledWindow,
-                                     hscrollbar_policy: TGtkPolicyType,
-                                     vscrollbar_policy: TGtkPolicyType){.cdecl,
-    dynlib: gtklib, importc: "gtk_scrolled_window_set_policy".}
-proc gtk_scrolled_window_get_policy*(scrolled_window: PGtkScrolledWindow,
-                                     hscrollbar_policy: PGtkPolicyType,
-                                     vscrollbar_policy: PGtkPolicyType){.cdecl,
-    dynlib: gtklib, importc: "gtk_scrolled_window_get_policy".}
-proc gtk_scrolled_window_set_placement*(scrolled_window: PGtkScrolledWindow,
-                                        window_placement: TGtkCornerType){.
-    cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_set_placement".}
-proc gtk_scrolled_window_get_placement*(scrolled_window: PGtkScrolledWindow): TGtkCornerType{.
-    cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_get_placement".}
-proc gtk_scrolled_window_set_shadow_type*(scrolled_window: PGtkScrolledWindow,
-    thetype: TGtkShadowType){.cdecl, dynlib: gtklib,
-                              importc: "gtk_scrolled_window_set_shadow_type".}
-proc gtk_scrolled_window_get_shadow_type*(scrolled_window: PGtkScrolledWindow): TGtkShadowType{.
-    cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_get_shadow_type".}
-proc gtk_scrolled_window_add_with_viewport*(scrolled_window: PGtkScrolledWindow,
-    child: PGtkWidget){.cdecl, dynlib: gtklib,
-                        importc: "gtk_scrolled_window_add_with_viewport".}
-proc GTK_TYPE_SELECTION_DATA*(): GType
-proc gtk_target_list_new*(targets: PGtkTargetEntry, ntargets: guint): PGtkTargetList{.
-    cdecl, dynlib: gtklib, importc: "gtk_target_list_new".}
-proc gtk_target_list_ref*(list: PGtkTargetList){.cdecl, dynlib: gtklib,
-    importc: "gtk_target_list_ref".}
-proc gtk_target_list_unref*(list: PGtkTargetList){.cdecl, dynlib: gtklib,
-    importc: "gtk_target_list_unref".}
-proc gtk_target_list_add*(list: PGtkTargetList, target: TGdkAtom, flags: guint,
-                          info: guint){.cdecl, dynlib: gtklib,
-                                        importc: "gtk_target_list_add".}
-proc gtk_target_list_add_table*(list: PGtkTargetList, targets: PGtkTargetEntry,
-                                ntargets: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_target_list_add_table".}
-proc gtk_target_list_remove*(list: PGtkTargetList, target: TGdkAtom){.cdecl,
-    dynlib: gtklib, importc: "gtk_target_list_remove".}
-proc gtk_target_list_find*(list: PGtkTargetList, target: TGdkAtom, info: Pguint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_target_list_find".}
-proc gtk_selection_owner_set*(widget: PGtkWidget, selection: TGdkAtom,
-                              time: guint32): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_selection_owner_set".}
-proc gtk_selection_owner_set_for_display*(display: PGdkDisplay,
-    widget: PGtkWidget, selection: TGdkAtom, time: guint32): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_selection_owner_set_for_display".}
-proc gtk_selection_add_target*(widget: PGtkWidget, selection: TGdkAtom,
-                               target: TGdkAtom, info: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_selection_add_target".}
-proc gtk_selection_add_targets*(widget: PGtkWidget, selection: TGdkAtom,
-                                targets: PGtkTargetEntry, ntargets: guint){.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_add_targets".}
-proc gtk_selection_clear_targets*(widget: PGtkWidget, selection: TGdkAtom){.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_clear_targets".}
-proc gtk_selection_convert*(widget: PGtkWidget, selection: TGdkAtom,
-                            target: TGdkAtom, time: guint32): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_selection_convert".}
-proc gtk_selection_data_set*(selection_data: PGtkSelectionData,
-                             thetype: TGdkAtom, format: gint, data: Pguchar,
-                             length: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_selection_data_set".}
-proc gtk_selection_data_set_text*(selection_data: PGtkSelectionData,
-                                  str: cstring, len: gint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_selection_data_set_text".}
-proc gtk_selection_data_get_text*(selection_data: PGtkSelectionData): Pguchar{.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_data_get_text".}
-proc gtk_selection_data_targets_include_text*(selection_data: PGtkSelectionData): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_data_targets_include_text".}
-proc gtk_selection_remove_all*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "gtk_selection_remove_all".}
-proc gtk_selection_clear*(widget: PGtkWidget, event: PGdkEventSelection): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_clear".}
-proc gtk_selection_request*(widget: PGtkWidget, event: PGdkEventSelection): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_request".}
-proc gtk_selection_incr_event*(window: PGdkWindow, event: PGdkEventProperty): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_incr_event".}
-proc gtk_selection_notify*(widget: PGtkWidget, event: PGdkEventSelection): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_notify".}
-proc gtk_selection_property_notify*(widget: PGtkWidget, event: PGdkEventProperty): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_property_notify".}
-proc gtk_selection_data_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_selection_data_get_type".}
-proc gtk_selection_data_copy*(data: PGtkSelectionData): PGtkSelectionData{.
-    cdecl, dynlib: gtklib, importc: "gtk_selection_data_copy".}
-proc gtk_selection_data_free*(data: PGtkSelectionData){.cdecl, dynlib: gtklib,
-    importc: "gtk_selection_data_free".}
-proc GTK_TYPE_SEPARATOR_MENU_ITEM*(): GType
-proc GTK_SEPARATOR_MENU_ITEM*(obj: pointer): PGtkSeparatorMenuItem
-proc GTK_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): PGtkSeparatorMenuItemClass
-proc GTK_IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool
-proc GTK_IS_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): bool
-proc GTK_SEPARATOR_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkSeparatorMenuItemClass
-proc gtk_separator_menu_item_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_separator_menu_item_get_type".}
-proc gtk_separator_menu_item_new*(): PGtkSeparatorMenuItem{.cdecl, dynlib: gtklib,
-    importc: "gtk_separator_menu_item_new".}
-const
-  bm_TGtkSizeGroup_have_width* = 0x00000001'i16
-  bp_TGtkSizeGroup_have_width* = 0'i16
-  bm_TGtkSizeGroup_have_height* = 0x00000002'i16
-  bp_TGtkSizeGroup_have_height* = 1'i16
-
-proc GTK_TYPE_SIZE_GROUP*(): GType
-proc GTK_SIZE_GROUP*(obj: pointer): PGtkSizeGroup
-proc GTK_SIZE_GROUP_CLASS*(klass: pointer): PGtkSizeGroupClass
-proc GTK_IS_SIZE_GROUP*(obj: pointer): bool
-proc GTK_IS_SIZE_GROUP_CLASS*(klass: pointer): bool
-proc GTK_SIZE_GROUP_GET_CLASS*(obj: pointer): PGtkSizeGroupClass
-proc have_width*(a: var TGtkSizeGroup): guint
-proc set_have_width*(a: var TGtkSizeGroup, `have_width`: guint)
-proc have_height*(a: var TGtkSizeGroup): guint
-proc set_have_height*(a: var TGtkSizeGroup, `have_height`: guint)
-proc gtk_size_group_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_size_group_get_type".}
-proc gtk_size_group_new*(mode: TGtkSizeGroupMode): PGtkSizeGroup{.cdecl,
-    dynlib: gtklib, importc: "gtk_size_group_new".}
-proc gtk_size_group_set_mode*(size_group: PGtkSizeGroup, mode: TGtkSizeGroupMode){.
-    cdecl, dynlib: gtklib, importc: "gtk_size_group_set_mode".}
-proc gtk_size_group_get_mode*(size_group: PGtkSizeGroup): TGtkSizeGroupMode{.
-    cdecl, dynlib: gtklib, importc: "gtk_size_group_get_mode".}
-proc gtk_size_group_add_widget*(size_group: PGtkSizeGroup, widget: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_size_group_add_widget".}
-proc gtk_size_group_remove_widget*(size_group: PGtkSizeGroup, widget: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_size_group_remove_widget".}
-proc gtk_size_group_get_child_requisition*(widget: PGtkWidget,
-    requisition: PGtkRequisition){.cdecl, dynlib: gtklib, importc: "_gtk_size_group_get_child_requisition".}
-proc gtk_size_group_compute_requisition*(widget: PGtkWidget,
-    requisition: PGtkRequisition){.cdecl, dynlib: gtklib, importc: "_gtk_size_group_compute_requisition".}
-proc gtk_size_group_queue_resize*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "_gtk_size_group_queue_resize".}
-const
-  bm_TGtkSocket_same_app* = 0x00000001'i16
-  bp_TGtkSocket_same_app* = 0'i16
-  bm_TGtkSocket_focus_in* = 0x00000002'i16
-  bp_TGtkSocket_focus_in* = 1'i16
-  bm_TGtkSocket_have_size* = 0x00000004'i16
-  bp_TGtkSocket_have_size* = 2'i16
-  bm_TGtkSocket_need_map* = 0x00000008'i16
-  bp_TGtkSocket_need_map* = 3'i16
-  bm_TGtkSocket_is_mapped* = 0x00000010'i16
-  bp_TGtkSocket_is_mapped* = 4'i16
-
-proc GTK_TYPE_SOCKET*(): GType
-proc GTK_SOCKET*(obj: pointer): PGtkSocket
-proc GTK_SOCKET_CLASS*(klass: pointer): PGtkSocketClass
-proc GTK_IS_SOCKET*(obj: pointer): bool
-proc GTK_IS_SOCKET_CLASS*(klass: pointer): bool
-proc GTK_SOCKET_GET_CLASS*(obj: pointer): PGtkSocketClass
-proc same_app*(a: var TGtkSocket): guint
-proc set_same_app*(a: var TGtkSocket, `same_app`: guint)
-proc focus_in*(a: var TGtkSocket): guint
-proc set_focus_in*(a: var TGtkSocket, `focus_in`: guint)
-proc have_size*(a: var TGtkSocket): guint
-proc set_have_size*(a: var TGtkSocket, `have_size`: guint)
-proc need_map*(a: var TGtkSocket): guint
-proc set_need_map*(a: var TGtkSocket, `need_map`: guint)
-proc is_mapped*(a: var TGtkSocket): guint
-proc set_is_mapped*(a: var TGtkSocket, `is_mapped`: guint)
-proc gtk_socket_new*(): PGtkSocket {.cdecl, dynlib: gtklib,
-                                    importc: "gtk_socket_new".}
-proc gtk_socket_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_socket_get_type".}
-proc gtk_socket_add_id*(socket: PGtkSocket, window_id: TGdkNativeWindow){.cdecl,
-    dynlib: gtklib, importc: "gtk_socket_add_id".}
-proc gtk_socket_get_id*(socket: PGtkSocket): TGdkNativeWindow{.cdecl,
-    dynlib: gtklib, importc: "gtk_socket_get_id".}
-const
-  GTK_INPUT_ERROR* = - (1)
-  bm_TGtkSpinButton_in_child* = 0x00000003'i32
-  bp_TGtkSpinButton_in_child* = 0'i32
-  bm_TGtkSpinButton_click_child* = 0x0000000C'i32
-  bp_TGtkSpinButton_click_child* = 2'i32
-  bm_TGtkSpinButton_button* = 0x00000030'i32
-  bp_TGtkSpinButton_button* = 4'i32
-  bm_TGtkSpinButton_need_timer* = 0x00000040'i32
-  bp_TGtkSpinButton_need_timer* = 6'i32
-  bm_TGtkSpinButton_timer_calls* = 0x00000380'i32
-  bp_TGtkSpinButton_timer_calls* = 7'i32
-  bm_TGtkSpinButton_digits* = 0x000FFC00'i32
-  bp_TGtkSpinButton_digits* = 10'i32
-  bm_TGtkSpinButton_numeric* = 0x00100000'i32
-  bp_TGtkSpinButton_numeric* = 20'i32
-  bm_TGtkSpinButton_wrap* = 0x00200000'i32
-  bp_TGtkSpinButton_wrap* = 21'i32
-  bm_TGtkSpinButton_snap_to_ticks* = 0x00400000'i32
-  bp_TGtkSpinButton_snap_to_ticks* = 22'i32
-
-proc GTK_TYPE_SPIN_BUTTON*(): GType
-proc GTK_SPIN_BUTTON*(obj: pointer): PGtkSpinButton
-proc GTK_SPIN_BUTTON_CLASS*(klass: pointer): PGtkSpinButtonClass
-proc GTK_IS_SPIN_BUTTON*(obj: pointer): bool
-proc GTK_IS_SPIN_BUTTON_CLASS*(klass: pointer): bool
-proc GTK_SPIN_BUTTON_GET_CLASS*(obj: pointer): PGtkSpinButtonClass
-proc in_child*(a: var TGtkSpinButton): guint
-proc set_in_child*(a: var TGtkSpinButton, `in_child`: guint)
-proc click_child*(a: var TGtkSpinButton): guint
-proc set_click_child*(a: var TGtkSpinButton, `click_child`: guint)
-proc button*(a: var TGtkSpinButton): guint
-proc set_button*(a: var TGtkSpinButton, `button`: guint)
-proc need_timer*(a: var TGtkSpinButton): guint
-proc set_need_timer*(a: var TGtkSpinButton, `need_timer`: guint)
-proc timer_calls*(a: var TGtkSpinButton): guint
-proc set_timer_calls*(a: var TGtkSpinButton, `timer_calls`: guint)
-proc digits*(a: var TGtkSpinButton): guint
-proc set_digits*(a: var TGtkSpinButton, `digits`: guint)
-proc numeric*(a: var TGtkSpinButton): guint
-proc set_numeric*(a: var TGtkSpinButton, `numeric`: guint)
-proc wrap*(a: var TGtkSpinButton): guint
-proc set_wrap*(a: var TGtkSpinButton, `wrap`: guint)
-proc snap_to_ticks*(a: var TGtkSpinButton): guint
-proc set_snap_to_ticks*(a: var TGtkSpinButton, `snap_to_ticks`: guint)
-proc gtk_spin_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_spin_button_get_type".}
-proc gtk_spin_button_configure*(spin_button: PGtkSpinButton,
-                                adjustment: PGtkAdjustment, climb_rate: gdouble,
-                                digits: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_spin_button_configure".}
-proc gtk_spin_button_new*(adjustment: PGtkAdjustment, climb_rate: gdouble,
-                          digits: guint): PGtkSpinButton{.cdecl, dynlib: gtklib,
-    importc: "gtk_spin_button_new".}
-proc gtk_spin_button_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PGtkSpinButton{.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_new_with_range".}
-proc gtk_spin_button_set_adjustment*(spin_button: PGtkSpinButton,
-                                     adjustment: PGtkAdjustment){.cdecl,
-    dynlib: gtklib, importc: "gtk_spin_button_set_adjustment".}
-proc gtk_spin_button_get_adjustment*(spin_button: PGtkSpinButton): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_get_adjustment".}
-proc gtk_spin_button_set_digits*(spin_button: PGtkSpinButton, digits: guint){.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_digits".}
-proc gtk_spin_button_get_digits*(spin_button: PGtkSpinButton): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_spin_button_get_digits".}
-proc gtk_spin_button_set_increments*(spin_button: PGtkSpinButton, step: gdouble,
-                                     page: gdouble){.cdecl, dynlib: gtklib,
-    importc: "gtk_spin_button_set_increments".}
-proc gtk_spin_button_get_increments*(spin_button: PGtkSpinButton,
-                                     step: Pgdouble, page: Pgdouble){.cdecl,
-    dynlib: gtklib, importc: "gtk_spin_button_get_increments".}
-proc gtk_spin_button_set_range*(spin_button: PGtkSpinButton, min: gdouble,
-                                max: gdouble){.cdecl, dynlib: gtklib,
-    importc: "gtk_spin_button_set_range".}
-proc gtk_spin_button_get_range*(spin_button: PGtkSpinButton, min: Pgdouble,
-                                max: Pgdouble){.cdecl, dynlib: gtklib,
-    importc: "gtk_spin_button_get_range".}
-proc gtk_spin_button_get_value*(spin_button: PGtkSpinButton): gdouble{.cdecl,
-    dynlib: gtklib, importc: "gtk_spin_button_get_value".}
-proc gtk_spin_button_get_value_as_int*(spin_button: PGtkSpinButton): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_get_value_as_int".}
-proc gtk_spin_button_set_value*(spin_button: PGtkSpinButton, value: gdouble){.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_value".}
-proc gtk_spin_button_set_update_policy*(spin_button: PGtkSpinButton,
-                                        policy: TGtkSpinButtonUpdatePolicy){.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_update_policy".}
-proc gtk_spin_button_get_update_policy*(spin_button: PGtkSpinButton): TGtkSpinButtonUpdatePolicy{.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_get_update_policy".}
-proc gtk_spin_button_set_numeric*(spin_button: PGtkSpinButton, numeric: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_numeric".}
-proc gtk_spin_button_get_numeric*(spin_button: PGtkSpinButton): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_spin_button_get_numeric".}
-proc gtk_spin_button_spin*(spin_button: PGtkSpinButton, direction: TGtkSpinType,
-                           increment: gdouble){.cdecl, dynlib: gtklib,
-    importc: "gtk_spin_button_spin".}
-proc gtk_spin_button_set_wrap*(spin_button: PGtkSpinButton, wrap: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_wrap".}
-proc gtk_spin_button_get_wrap*(spin_button: PGtkSpinButton): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_spin_button_get_wrap".}
-proc gtk_spin_button_set_snap_to_ticks*(spin_button: PGtkSpinButton,
-                                        snap_to_ticks: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_spin_button_set_snap_to_ticks".}
-proc gtk_spin_button_get_snap_to_ticks*(spin_button: PGtkSpinButton): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_spin_button_get_snap_to_ticks".}
-proc gtk_spin_button_update*(spin_button: PGtkSpinButton){.cdecl,
-    dynlib: gtklib, importc: "gtk_spin_button_update".}
-const
-  GTK_STOCK_DIALOG_INFO* = "gtk-dialog-info"
-  GTK_STOCK_DIALOG_WARNING* = "gtk-dialog-warning"
-  GTK_STOCK_DIALOG_ERROR* = "gtk-dialog-error"
-  GTK_STOCK_DIALOG_QUESTION* = "gtk-dialog-question"
-  GTK_STOCK_DND* = "gtk-dnd"
-  GTK_STOCK_DND_MULTIPLE* = "gtk-dnd-multiple"
-  GTK_STOCK_ABOUT* = "gtk-about"
-  GTK_STOCK_ADD_name* = "gtk-add"
-  GTK_STOCK_APPLY* = "gtk-apply"
-  GTK_STOCK_BOLD* = "gtk-bold"
-  GTK_STOCK_CANCEL* = "gtk-cancel"
-  GTK_STOCK_CDROM* = "gtk-cdrom"
-  GTK_STOCK_CLEAR* = "gtk-clear"
-  GTK_STOCK_CLOSE* = "gtk-close"
-  GTK_STOCK_COLOR_PICKER* = "gtk-color-picker"
-  GTK_STOCK_CONVERT* = "gtk-convert"
-  GTK_STOCK_CONNECT* = "gtk-connect"
-  GTK_STOCK_COPY* = "gtk-copy"
-  GTK_STOCK_CUT* = "gtk-cut"
-  GTK_STOCK_DELETE* = "gtk-delete"
-  GTK_STOCK_EDIT* = "gtk-edit"
-  GTK_STOCK_EXECUTE* = "gtk-execute"
-  GTK_STOCK_FIND* = "gtk-find"
-  GTK_STOCK_FIND_AND_REPLACE* = "gtk-find-and-replace"
-  GTK_STOCK_FLOPPY* = "gtk-floppy"
-  GTK_STOCK_GOTO_BOTTOM* = "gtk-goto-bottom"
-  GTK_STOCK_GOTO_FIRST* = "gtk-goto-first"
-  GTK_STOCK_GOTO_LAST* = "gtk-goto-last"
-  GTK_STOCK_GOTO_TOP* = "gtk-goto-top"
-  GTK_STOCK_GO_BACK* = "gtk-go-back"
-  GTK_STOCK_GO_DOWN* = "gtk-go-down"
-  GTK_STOCK_GO_FORWARD* = "gtk-go-forward"
-  GTK_STOCK_GO_UP* = "gtk-go-up"
-  GTK_STOCK_HELP* = "gtk-help"
-  GTK_STOCK_HOME* = "gtk-home"
-  GTK_STOCK_INDEX* = "gtk-index"
-  GTK_STOCK_ITALIC* = "gtk-italic"
-  GTK_STOCK_JUMP_TO* = "gtk-jump-to"
-  GTK_STOCK_JUSTIFY_CENTER* = "gtk-justify-center"
-  GTK_STOCK_JUSTIFY_FILL* = "gtk-justify-fill"
-  GTK_STOCK_JUSTIFY_LEFT* = "gtk-justify-left"
-  GTK_STOCK_JUSTIFY_RIGHT* = "gtk-justify-right"
-  GTK_STOCK_MEDIA_FORWARD* = "gtk-media-forward"
-  GTK_STOCK_MEDIA_NEXT* = "gtk-media-next"
-  GTK_STOCK_MEDIA_PAUSE* = "gtk-media-pause"
-  GTK_STOCK_MEDIA_PLAY* = "gtk-media-play"
-  GTK_STOCK_MEDIA_PREVIOUS* = "gtk-media-previous"
-  GTK_STOCK_MEDIA_RECORD* = "gtk-media-record"
-  GTK_STOCK_MEDIA_REWIND* = "gtk-media-rewind"
-  GTK_STOCK_MEDIA_STOP* = "gtk-media-stop"
-  GTK_STOCK_MISSING_IMAGE* = "gtk-missing-image"
-  GTK_STOCK_NEW* = "gtk-new"
-  GTK_STOCK_NO* = "gtk-no"
-  GTK_STOCK_OK* = "gtk-ok"
-  GTK_STOCK_OPEN* = "gtk-open"
-  GTK_STOCK_PASTE* = "gtk-paste"
-  GTK_STOCK_PREFERENCES* = "gtk-preferences"
-  GTK_STOCK_PRINT* = "gtk-print"
-  GTK_STOCK_PRINT_PREVIEW* = "gtk-print-preview"
-  GTK_STOCK_PROPERTIES* = "gtk-properties"
-  GTK_STOCK_QUIT* = "gtk-quit"
-  GTK_STOCK_REDO* = "gtk-redo"
-  GTK_STOCK_REFRESH* = "gtk-refresh"
-  GTK_STOCK_REMOVE* = "gtk-remove"
-  GTK_STOCK_REVERT_TO_SAVED* = "gtk-revert-to-saved"
-  GTK_STOCK_SAVE* = "gtk-save"
-  GTK_STOCK_SAVE_AS* = "gtk-save-as"
-  GTK_STOCK_SELECT_COLOR* = "gtk-select-color"
-  GTK_STOCK_SELECT_FONT* = "gtk-select-font"
-  GTK_STOCK_SORT_ASCENDING* = "gtk-sort-ascending"
-  GTK_STOCK_SORT_DESCENDING* = "gtk-sort-descending"
-  GTK_STOCK_SPELL_CHECK* = "gtk-spell-check"
-  GTK_STOCK_STOP* = "gtk-stop"
-  GTK_STOCK_STRIKETHROUGH* = "gtk-strikethrough"
-  GTK_STOCK_UNDELETE* = "gtk-undelete"
-  GTK_STOCK_UNDERLINE* = "gtk-underline"
-  GTK_STOCK_UNDO* = "gtk-undo"
-  GTK_STOCK_YES* = "gtk-yes"
-  GTK_STOCK_ZOOM_100* = "gtk-zoom-100"
-  GTK_STOCK_ZOOM_FIT* = "gtk-zoom-fit"
-  GTK_STOCK_ZOOM_IN* = "gtk-zoom-in"
-  GTK_STOCK_ZOOM_OUT* = "gtk-zoom-out"
-
-proc gtk_stock_add*(items: PGtkStockItem, n_items: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_stock_add".}
-proc gtk_stock_add_static*(items: PGtkStockItem, n_items: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_stock_add_static".}
-proc gtk_stock_lookup*(stock_id: cstring, item: PGtkStockItem): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_stock_lookup".}
-proc gtk_stock_list_ids*(): PGSList{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_stock_list_ids".}
-proc gtk_stock_item_copy*(item: PGtkStockItem): PGtkStockItem{.cdecl,
-    dynlib: gtklib, importc: "gtk_stock_item_copy".}
-proc gtk_stock_item_free*(item: PGtkStockItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_stock_item_free".}
-proc GTK_TYPE_STATUSBAR*(): GType
-proc GTK_STATUSBAR*(obj: pointer): PGtkStatusbar
-proc GTK_STATUSBAR_CLASS*(klass: pointer): PGtkStatusbarClass
-proc GTK_IS_STATUSBAR*(obj: pointer): bool
-proc GTK_IS_STATUSBAR_CLASS*(klass: pointer): bool
-proc GTK_STATUSBAR_GET_CLASS*(obj: pointer): PGtkStatusbarClass
-const
-  bm_TGtkStatusbar_has_resize_grip* = 0x00000001'i16
-  bp_TGtkStatusbar_has_resize_grip* = 0'i16
-
-proc has_resize_grip*(a: var TGtkStatusbar): guint
-proc set_has_resize_grip*(a: var TGtkStatusbar, `has_resize_grip`: guint)
-proc gtk_statusbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_statusbar_get_type".}
-proc gtk_statusbar_new*(): PGtkStatusbar{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_statusbar_new".}
-proc gtk_statusbar_get_context_id*(statusbar: PGtkStatusbar,
-                                   context_description: cstring): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_statusbar_get_context_id".}
-proc gtk_statusbar_push*(statusbar: PGtkStatusbar, context_id: guint,
-                         text: cstring): guint{.cdecl, dynlib: gtklib,
-    importc: "gtk_statusbar_push".}
-proc gtk_statusbar_pop*(statusbar: PGtkStatusbar, context_id: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_statusbar_pop".}
-proc gtk_statusbar_remove*(statusbar: PGtkStatusbar, context_id: guint,
-                           message_id: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_statusbar_remove".}
-proc gtk_statusbar_set_has_resize_grip*(statusbar: PGtkStatusbar,
-                                        setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_statusbar_set_has_resize_grip".}
-proc gtk_statusbar_get_has_resize_grip*(statusbar: PGtkStatusbar): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_statusbar_get_has_resize_grip".}
-const
-  bm_TGtkTable_homogeneous* = 0x00000001'i16
-  bp_TGtkTable_homogeneous* = 0'i16
-  bm_TGtkTableChild_xexpand* = 0x00000001'i16
-  bp_TGtkTableChild_xexpand* = 0'i16
-  bm_TGtkTableChild_yexpand* = 0x00000002'i16
-  bp_TGtkTableChild_yexpand* = 1'i16
-  bm_TGtkTableChild_xshrink* = 0x00000004'i16
-  bp_TGtkTableChild_xshrink* = 2'i16
-  bm_TGtkTableChild_yshrink* = 0x00000008'i16
-  bp_TGtkTableChild_yshrink* = 3'i16
-  bm_TGtkTableChild_xfill* = 0x00000010'i16
-  bp_TGtkTableChild_xfill* = 4'i16
-  bm_TGtkTableChild_yfill* = 0x00000020'i16
-  bp_TGtkTableChild_yfill* = 5'i16
-  bm_TGtkTableRowCol_need_expand* = 0x00000001'i16
-  bp_TGtkTableRowCol_need_expand* = 0'i16
-  bm_TGtkTableRowCol_need_shrink* = 0x00000002'i16
-  bp_TGtkTableRowCol_need_shrink* = 1'i16
-  bm_TGtkTableRowCol_expand* = 0x00000004'i16
-  bp_TGtkTableRowCol_expand* = 2'i16
-  bm_TGtkTableRowCol_shrink* = 0x00000008'i16
-  bp_TGtkTableRowCol_shrink* = 3'i16
-  bm_TGtkTableRowCol_empty* = 0x00000010'i16
-  bp_TGtkTableRowCol_empty* = 4'i16
-
-proc GTK_TYPE_TABLE*(): GType
-proc GTK_TABLE*(obj: pointer): PGtkTable
-proc GTK_TABLE_CLASS*(klass: pointer): PGtkTableClass
-proc GTK_IS_TABLE*(obj: pointer): bool
-proc GTK_IS_TABLE_CLASS*(klass: pointer): bool
-proc GTK_TABLE_GET_CLASS*(obj: pointer): PGtkTableClass
-proc homogeneous*(a: var TGtkTable): guint
-proc set_homogeneous*(a: var TGtkTable, `homogeneous`: guint)
-proc xexpand*(a: var TGtkTableChild): guint
-proc set_xexpand*(a: var TGtkTableChild, `xexpand`: guint)
-proc yexpand*(a: var TGtkTableChild): guint
-proc set_yexpand*(a: var TGtkTableChild, `yexpand`: guint)
-proc xshrink*(a: var TGtkTableChild): guint
-proc set_xshrink*(a: var TGtkTableChild, `xshrink`: guint)
-proc yshrink*(a: var TGtkTableChild): guint
-proc set_yshrink*(a: var TGtkTableChild, `yshrink`: guint)
-proc xfill*(a: var TGtkTableChild): guint
-proc set_xfill*(a: var TGtkTableChild, `xfill`: guint)
-proc yfill*(a: var TGtkTableChild): guint
-proc set_yfill*(a: var TGtkTableChild, `yfill`: guint)
-proc need_expand*(a: var TGtkTableRowCol): guint
-proc set_need_expand*(a: var TGtkTableRowCol, `need_expand`: guint)
-proc need_shrink*(a: var TGtkTableRowCol): guint
-proc set_need_shrink*(a: var TGtkTableRowCol, `need_shrink`: guint)
-proc expand*(a: var TGtkTableRowCol): guint
-proc set_expand*(a: var TGtkTableRowCol, `expand`: guint)
-proc shrink*(a: var TGtkTableRowCol): guint
-proc set_shrink*(a: var TGtkTableRowCol, `shrink`: guint)
-proc empty*(a: var TGtkTableRowCol): guint
-proc set_empty*(a: var TGtkTableRowCol, `empty`: guint)
-proc gtk_table_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_table_get_type".}
-proc gtk_table_new*(rows: guint, columns: guint, homogeneous: gboolean): PGtkTable{.
-    cdecl, dynlib: gtklib, importc: "gtk_table_new".}
-proc gtk_table_resize*(table: PGtkTable, rows: guint, columns: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_table_resize".}
-proc gtk_table_attach*(table: PGtkTable, child: PGtkWidget, left_attach: guint,
-                       right_attach: guint, top_attach: guint,
-                       bottom_attach: guint, xoptions: TGtkAttachOptions,
-                       yoptions: TGtkAttachOptions, xpadding: guint,
-                       ypadding: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_table_attach".}
-proc gtk_table_attach_defaults*(table: PGtkTable, widget: PGtkWidget,
-                                left_attach: guint, right_attach: guint,
-                                top_attach: guint, bottom_attach: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_table_attach_defaults".}
-proc gtk_table_set_row_spacing*(table: PGtkTable, row: guint, spacing: guint){.
-    cdecl, dynlib: gtklib, importc: "gtk_table_set_row_spacing".}
-proc gtk_table_get_row_spacing*(table: PGtkTable, row: guint): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_table_get_row_spacing".}
-proc gtk_table_set_col_spacing*(table: PGtkTable, column: guint, spacing: guint){.
-    cdecl, dynlib: gtklib, importc: "gtk_table_set_col_spacing".}
-proc gtk_table_get_col_spacing*(table: PGtkTable, column: guint): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_table_get_col_spacing".}
-proc gtk_table_set_row_spacings*(table: PGtkTable, spacing: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_table_set_row_spacings".}
-proc gtk_table_get_default_row_spacing*(table: PGtkTable): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_table_get_default_row_spacing".}
-proc gtk_table_set_col_spacings*(table: PGtkTable, spacing: guint){.cdecl,
-    dynlib: gtklib, importc: "gtk_table_set_col_spacings".}
-proc gtk_table_get_default_col_spacing*(table: PGtkTable): guint{.cdecl,
-    dynlib: gtklib, importc: "gtk_table_get_default_col_spacing".}
-proc gtk_table_set_homogeneous*(table: PGtkTable, homogeneous: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_table_set_homogeneous".}
-proc gtk_table_get_homogeneous*(table: PGtkTable): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_table_get_homogeneous".}
-const
-  bm_TGtkTearoffMenuItem_torn_off* = 0x00000001'i16
-  bp_TGtkTearoffMenuItem_torn_off* = 0'i16
-
-proc GTK_TYPE_TEAROFF_MENU_ITEM*(): GType
-proc GTK_TEAROFF_MENU_ITEM*(obj: pointer): PGtkTearoffMenuItem
-proc GTK_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): PGtkTearoffMenuItemClass
-proc GTK_IS_TEAROFF_MENU_ITEM*(obj: pointer): bool
-proc GTK_IS_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): bool
-proc GTK_TEAROFF_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkTearoffMenuItemClass
-proc torn_off*(a: var TGtkTearoffMenuItem): guint
-proc set_torn_off*(a: var TGtkTearoffMenuItem, `torn_off`: guint)
-proc gtk_tearoff_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tearoff_menu_item_get_type".}
-proc gtk_tearoff_menu_item_new*(): PGtkTearoffMenuItem{.cdecl, dynlib: gtklib,
-    importc: "gtk_tearoff_menu_item_new".}
-const
-  bm_TGtkText_line_wrap* = 0x00000001'i16
-  bp_TGtkText_line_wrap* = 0'i16
-  bm_TGtkText_word_wrap* = 0x00000002'i16
-  bp_TGtkText_word_wrap* = 1'i16
-  bm_TGtkText_use_wchar* = 0x00000004'i16
-  bp_TGtkText_use_wchar* = 2'i16
-
-proc GTK_TYPE_TEXT*(): GType
-proc GTK_TEXT*(obj: pointer): PGtkText
-proc GTK_TEXT_CLASS*(klass: pointer): PGtkTextClass
-proc GTK_IS_TEXT*(obj: pointer): bool
-proc GTK_IS_TEXT_CLASS*(klass: pointer): bool
-proc GTK_TEXT_GET_CLASS*(obj: pointer): PGtkTextClass
-proc line_wrap*(a: PGtkText): guint
-proc set_line_wrap*(a: PGtkText, `line_wrap`: guint)
-proc word_wrap*(a: PGtkText): guint
-proc set_word_wrap*(a: PGtkText, `word_wrap`: guint)
-proc use_wchar*(a: PGtkText): gboolean
-proc set_use_wchar*(a: PGtkText, `use_wchar`: gboolean)
-proc gtk_text_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_text_get_type".}
-proc gtk_text_new*(hadj: PGtkAdjustment, vadj: PGtkAdjustment): PGtkText{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_new".}
-proc gtk_text_set_editable*(text: PGtkText, editable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_set_editable".}
-proc gtk_text_set_word_wrap*(text: PGtkText, word_wrap: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_set_word_wrap".}
-proc gtk_text_set_line_wrap*(text: PGtkText, line_wrap: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_set_line_wrap".}
-proc gtk_text_set_adjustments*(text: PGtkText, hadj: PGtkAdjustment,
-                               vadj: PGtkAdjustment){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_set_adjustments".}
-proc gtk_text_set_point*(text: PGtkText, index: guint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_set_point".}
-proc gtk_text_get_point*(text: PGtkText): guint{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_get_point".}
-proc gtk_text_get_length*(text: PGtkText): guint{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_get_length".}
-proc gtk_text_freeze*(text: PGtkText){.cdecl, dynlib: gtklib,
-                                       importc: "gtk_text_freeze".}
-proc gtk_text_thaw*(text: PGtkText){.cdecl, dynlib: gtklib,
-                                     importc: "gtk_text_thaw".}
-proc gtk_text_insert*(text: PGtkText, font: PGdkFont, fore: PGdkColor,
-                      back: PGdkColor, chars: cstring, length: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_insert".}
-proc gtk_text_backward_delete*(text: PGtkText, nchars: guint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_backward_delete".}
-proc gtk_text_forward_delete*(text: PGtkText, nchars: guint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_forward_delete".}
-proc GTK_TEXT_INDEX_WCHAR*(t: PGtkText, index: guint): guint32
-proc GTK_TEXT_INDEX_UCHAR*(t: PGtkText, index: guint): GUChar
-const
-  GTK_TEXT_SEARCH_VISIBLE_ONLY* = 0
-  GTK_TEXT_SEARCH_TEXT_ONLY* = 1
-
-proc GTK_TYPE_TEXT_ITER*(): GType
-proc gtk_text_iter_get_buffer*(iter: PGtkTextIter): PGtkTextBuffer{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_buffer".}
-proc gtk_text_iter_copy*(iter: PGtkTextIter): PGtkTextIter{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_copy".}
-proc gtk_text_iter_free*(iter: PGtkTextIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_iter_free".}
-proc gtk_text_iter_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_text_iter_get_type".}
-proc gtk_text_iter_get_offset*(iter: PGtkTextIter): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_iter_get_offset".}
-proc gtk_text_iter_get_line*(iter: PGtkTextIter): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_iter_get_line".}
-proc gtk_text_iter_get_line_offset*(iter: PGtkTextIter): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_line_offset".}
-proc gtk_text_iter_get_line_index*(iter: PGtkTextIter): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_line_index".}
-proc gtk_text_iter_get_visible_line_offset*(iter: PGtkTextIter): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_visible_line_offset".}
-proc gtk_text_iter_get_visible_line_index*(iter: PGtkTextIter): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_visible_line_index".}
-proc gtk_text_iter_get_char*(iter: PGtkTextIter): gunichar{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_char".}
-proc gtk_text_iter_get_slice*(start: PGtkTextIter, theEnd: PGtkTextIter): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_slice".}
-proc gtk_text_iter_get_text*(start: PGtkTextIter, theEnd: PGtkTextIter): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_text".}
-proc gtk_text_iter_get_visible_slice*(start: PGtkTextIter, theEnd: PGtkTextIter): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_visible_slice".}
-proc gtk_text_iter_get_visible_text*(start: PGtkTextIter, theEnd: PGtkTextIter): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_visible_text".}
-proc gtk_text_iter_get_pixbuf*(iter: PGtkTextIter): PGdkPixbuf{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_pixbuf".}
-proc gtk_text_iter_get_marks*(iter: PGtkTextIter): PGSList{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_marks".}
-proc gtk_text_iter_get_child_anchor*(iter: PGtkTextIter): PGtkTextChildAnchor{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_child_anchor".}
-proc gtk_text_iter_get_toggled_tags*(iter: PGtkTextIter, toggled_on: gboolean): PGSList{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_toggled_tags".}
-proc gtk_text_iter_begins_tag*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_begins_tag".}
-proc gtk_text_iter_ends_tag*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_ends_tag".}
-proc gtk_text_iter_toggles_tag*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_toggles_tag".}
-proc gtk_text_iter_has_tag*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_has_tag".}
-proc gtk_text_iter_get_tags*(iter: PGtkTextIter): PGSList{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_tags".}
-proc gtk_text_iter_editable*(iter: PGtkTextIter, default_setting: gboolean): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_editable".}
-proc gtk_text_iter_can_insert*(iter: PGtkTextIter, default_editability: gboolean): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_can_insert".}
-proc gtk_text_iter_starts_word*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_starts_word".}
-proc gtk_text_iter_ends_word*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_ends_word".}
-proc gtk_text_iter_inside_word*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_inside_word".}
-proc gtk_text_iter_starts_sentence*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_starts_sentence".}
-proc gtk_text_iter_ends_sentence*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_ends_sentence".}
-proc gtk_text_iter_inside_sentence*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_inside_sentence".}
-proc gtk_text_iter_starts_line*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_starts_line".}
-proc gtk_text_iter_ends_line*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_ends_line".}
-proc gtk_text_iter_is_cursor_position*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_is_cursor_position".}
-proc gtk_text_iter_get_chars_in_line*(iter: PGtkTextIter): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_chars_in_line".}
-proc gtk_text_iter_get_bytes_in_line*(iter: PGtkTextIter): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_bytes_in_line".}
-proc gtk_text_iter_get_attributes*(iter: PGtkTextIter,
-                                   values: PGtkTextAttributes): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_attributes".}
-proc gtk_text_iter_get_language*(iter: PGtkTextIter): PPangoLanguage{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_get_language".}
-proc gtk_text_iter_is_end*(iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_iter_is_end".}
-proc gtk_text_iter_is_start*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_is_start".}
-proc gtk_text_iter_forward_char*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_forward_char".}
-proc gtk_text_iter_backward_char*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_backward_char".}
-proc gtk_text_iter_forward_chars*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_chars".}
-proc gtk_text_iter_backward_chars*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_chars".}
-proc gtk_text_iter_forward_line*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_forward_line".}
-proc gtk_text_iter_backward_line*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_backward_line".}
-proc gtk_text_iter_forward_lines*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_lines".}
-proc gtk_text_iter_backward_lines*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_lines".}
-proc gtk_text_iter_forward_word_end*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_forward_word_end".}
-proc gtk_text_iter_backward_word_start*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_backward_word_start".}
-proc gtk_text_iter_forward_word_ends*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_word_ends".}
-proc gtk_text_iter_backward_word_starts*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_word_starts".}
-proc gtk_text_iter_forward_sentence_end*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_forward_sentence_end".}
-proc gtk_text_iter_backward_sentence_start*(iter: PGtkTextIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_sentence_start".}
-proc gtk_text_iter_forward_sentence_ends*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_sentence_ends".}
-proc gtk_text_iter_backward_sentence_starts*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_sentence_starts".}
-proc gtk_text_iter_forward_cursor_position*(iter: PGtkTextIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_cursor_position".}
-proc gtk_text_iter_backward_cursor_position*(iter: PGtkTextIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_cursor_position".}
-proc gtk_text_iter_forward_cursor_positions*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_cursor_positions".}
-proc gtk_text_iter_backward_cursor_positions*(iter: PGtkTextIter, count: gint): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_cursor_positions".}
-proc gtk_text_iter_set_offset*(iter: PGtkTextIter, char_offset: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_set_offset".}
-proc gtk_text_iter_set_line*(iter: PGtkTextIter, line_number: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_set_line".}
-proc gtk_text_iter_set_line_offset*(iter: PGtkTextIter, char_on_line: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_set_line_offset".}
-proc gtk_text_iter_set_line_index*(iter: PGtkTextIter, byte_on_line: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_set_line_index".}
-proc gtk_text_iter_forward_to_end*(iter: PGtkTextIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_iter_forward_to_end".}
-proc gtk_text_iter_forward_to_line_end*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_forward_to_line_end".}
-proc gtk_text_iter_set_visible_line_offset*(iter: PGtkTextIter,
-    char_on_line: gint){.cdecl, dynlib: gtklib,
-                         importc: "gtk_text_iter_set_visible_line_offset".}
-proc gtk_text_iter_set_visible_line_index*(iter: PGtkTextIter,
-    byte_on_line: gint){.cdecl, dynlib: gtklib,
-                         importc: "gtk_text_iter_set_visible_line_index".}
-proc gtk_text_iter_forward_to_tag_toggle*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_to_tag_toggle".}
-proc gtk_text_iter_backward_to_tag_toggle*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_to_tag_toggle".}
-proc gtk_text_iter_forward_find_char*(iter: PGtkTextIter,
-                                      pred: TGtkTextCharPredicate,
-                                      user_data: gpointer, limit: PGtkTextIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_find_char".}
-proc gtk_text_iter_backward_find_char*(iter: PGtkTextIter,
-                                       pred: TGtkTextCharPredicate,
-                                       user_data: gpointer, limit: PGtkTextIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_find_char".}
-proc gtk_text_iter_forward_search*(iter: PGtkTextIter, str: cstring,
-                                   flags: TGtkTextSearchFlags,
-                                   match_start: PGtkTextIter,
-                                   match_end: PGtkTextIter, limit: PGtkTextIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_search".}
-proc gtk_text_iter_backward_search*(iter: PGtkTextIter, str: cstring,
-                                    flags: TGtkTextSearchFlags,
-                                    match_start: PGtkTextIter,
-                                    match_end: PGtkTextIter, limit: PGtkTextIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_search".}
-proc gtk_text_iter_equal*(lhs: PGtkTextIter, rhs: PGtkTextIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_iter_equal".}
-proc gtk_text_iter_compare*(lhs: PGtkTextIter, rhs: PGtkTextIter): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_compare".}
-proc gtk_text_iter_in_range*(iter: PGtkTextIter, start: PGtkTextIter,
-                             theEnd: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_in_range".}
-proc gtk_text_iter_order*(first: PGtkTextIter, second: PGtkTextIter){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_iter_order".}
-proc GTK_TYPE_TEXT_TAG*(): GType
-proc GTK_TEXT_TAG*(obj: pointer): PGtkTextTag
-proc GTK_TEXT_TAG_CLASS*(klass: pointer): PGtkTextTagClass
-proc GTK_IS_TEXT_TAG*(obj: pointer): bool
-proc GTK_IS_TEXT_TAG_CLASS*(klass: pointer): bool
-proc GTK_TEXT_TAG_GET_CLASS*(obj: pointer): PGtkTextTagClass
-proc GTK_TYPE_TEXT_ATTRIBUTES*(): GType
-proc gtk_text_tag_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                      importc: "gtk_text_tag_get_type".}
-proc gtk_text_tag_new*(name: cstring): PGtkTextTag{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_tag_new".}
-proc gtk_text_tag_get_priority*(tag: PGtkTextTag): gint{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_tag_get_priority".}
-proc gtk_text_tag_set_priority*(tag: PGtkTextTag, priority: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_tag_set_priority".}
-proc gtk_text_tag_event*(tag: PGtkTextTag, event_object: PGObject,
-                         event: PGdkEvent, iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_tag_event".}
-proc gtk_text_attributes_new*(): PGtkTextAttributes{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_attributes_new".}
-proc gtk_text_attributes_copy*(src: PGtkTextAttributes): PGtkTextAttributes{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_attributes_copy".}
-proc gtk_text_attributes_copy_values*(src: PGtkTextAttributes,
-                                      dest: PGtkTextAttributes){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_attributes_copy_values".}
-proc gtk_text_attributes_unref*(values: PGtkTextAttributes){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_attributes_unref".}
-proc gtk_text_attributes_ref*(values: PGtkTextAttributes){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_attributes_ref".}
-proc gtk_text_attributes_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_attributes_get_type".}
-const
-  bm_TGtkTextTag_bg_color_set* = 0x00000001'i32
-  bp_TGtkTextTag_bg_color_set* = 0'i32
-  bm_TGtkTextTag_bg_stipple_set* = 0x00000002'i32
-  bp_TGtkTextTag_bg_stipple_set* = 1'i32
-  bm_TGtkTextTag_fg_color_set* = 0x00000004'i32
-  bp_TGtkTextTag_fg_color_set* = 2'i32
-  bm_TGtkTextTag_scale_set* = 0x00000008'i32
-  bp_TGtkTextTag_scale_set* = 3'i32
-  bm_TGtkTextTag_fg_stipple_set* = 0x00000010'i32
-  bp_TGtkTextTag_fg_stipple_set* = 4'i32
-  bm_TGtkTextTag_justification_set* = 0x00000020'i32
-  bp_TGtkTextTag_justification_set* = 5'i32
-  bm_TGtkTextTag_left_margin_set* = 0x00000040'i32
-  bp_TGtkTextTag_left_margin_set* = 6'i32
-  bm_TGtkTextTag_indent_set* = 0x00000080'i32
-  bp_TGtkTextTag_indent_set* = 7'i32
-  bm_TGtkTextTag_rise_set* = 0x00000100'i32
-  bp_TGtkTextTag_rise_set* = 8'i32
-  bm_TGtkTextTag_strikethrough_set* = 0x00000200'i32
-  bp_TGtkTextTag_strikethrough_set* = 9'i32
-  bm_TGtkTextTag_right_margin_set* = 0x00000400'i32
-  bp_TGtkTextTag_right_margin_set* = 10'i32
-  bm_TGtkTextTag_pixels_above_lines_set* = 0x00000800'i32
-  bp_TGtkTextTag_pixels_above_lines_set* = 11'i32
-  bm_TGtkTextTag_pixels_below_lines_set* = 0x00001000'i32
-  bp_TGtkTextTag_pixels_below_lines_set* = 12'i32
-  bm_TGtkTextTag_pixels_inside_wrap_set* = 0x00002000'i32
-  bp_TGtkTextTag_pixels_inside_wrap_set* = 13'i32
-  bm_TGtkTextTag_tabs_set* = 0x00004000'i32
-  bp_TGtkTextTag_tabs_set* = 14'i32
-  bm_TGtkTextTag_underline_set* = 0x00008000'i32
-  bp_TGtkTextTag_underline_set* = 15'i32
-  bm_TGtkTextTag_wrap_mode_set* = 0x00010000'i32
-  bp_TGtkTextTag_wrap_mode_set* = 16'i32
-  bm_TGtkTextTag_bg_full_height_set* = 0x00020000'i32
-  bp_TGtkTextTag_bg_full_height_set* = 17'i32
-  bm_TGtkTextTag_invisible_set* = 0x00040000'i32
-  bp_TGtkTextTag_invisible_set* = 18'i32
-  bm_TGtkTextTag_editable_set* = 0x00080000'i32
-  bp_TGtkTextTag_editable_set* = 19'i32
-  bm_TGtkTextTag_language_set* = 0x00100000'i32
-  bp_TGtkTextTag_language_set* = 20'i32
-  bm_TGtkTextTag_pad1* = 0x00200000'i32
-  bp_TGtkTextTag_pad1* = 21'i32
-  bm_TGtkTextTag_pad2* = 0x00400000'i32
-  bp_TGtkTextTag_pad2* = 22'i32
-  bm_TGtkTextTag_pad3* = 0x00800000'i32
-  bp_TGtkTextTag_pad3* = 23'i32
-
-proc bg_color_set*(a: var TGtkTextTag): guint
-proc set_bg_color_set*(a: var TGtkTextTag, `bg_color_set`: guint)
-proc bg_stipple_set*(a: var TGtkTextTag): guint
-proc set_bg_stipple_set*(a: var TGtkTextTag, `bg_stipple_set`: guint)
-proc fg_color_set*(a: var TGtkTextTag): guint
-proc set_fg_color_set*(a: var TGtkTextTag, `fg_color_set`: guint)
-proc scale_set*(a: var TGtkTextTag): guint
-proc set_scale_set*(a: var TGtkTextTag, `scale_set`: guint)
-proc fg_stipple_set*(a: var TGtkTextTag): guint
-proc set_fg_stipple_set*(a: var TGtkTextTag, `fg_stipple_set`: guint)
-proc justification_set*(a: var TGtkTextTag): guint
-proc set_justification_set*(a: var TGtkTextTag, `justification_set`: guint)
-proc left_margin_set*(a: var TGtkTextTag): guint
-proc set_left_margin_set*(a: var TGtkTextTag, `left_margin_set`: guint)
-proc indent_set*(a: var TGtkTextTag): guint
-proc set_indent_set*(a: var TGtkTextTag, `indent_set`: guint)
-proc rise_set*(a: var TGtkTextTag): guint
-proc set_rise_set*(a: var TGtkTextTag, `rise_set`: guint)
-proc strikethrough_set*(a: var TGtkTextTag): guint
-proc set_strikethrough_set*(a: var TGtkTextTag, `strikethrough_set`: guint)
-proc right_margin_set*(a: var TGtkTextTag): guint
-proc set_right_margin_set*(a: var TGtkTextTag, `right_margin_set`: guint)
-proc pixels_above_lines_set*(a: var TGtkTextTag): guint
-proc set_pixels_above_lines_set*(a: var TGtkTextTag,
-                                 `pixels_above_lines_set`: guint)
-proc pixels_below_lines_set*(a: var TGtkTextTag): guint
-proc set_pixels_below_lines_set*(a: var TGtkTextTag,
-                                 `pixels_below_lines_set`: guint)
-proc pixels_inside_wrap_set*(a: var TGtkTextTag): guint
-proc set_pixels_inside_wrap_set*(a: var TGtkTextTag,
-                                 `pixels_inside_wrap_set`: guint)
-proc tabs_set*(a: var TGtkTextTag): guint
-proc set_tabs_set*(a: var TGtkTextTag, `tabs_set`: guint)
-proc underline_set*(a: var TGtkTextTag): guint
-proc set_underline_set*(a: var TGtkTextTag, `underline_set`: guint)
-proc wrap_mode_set*(a: var TGtkTextTag): guint
-proc set_wrap_mode_set*(a: var TGtkTextTag, `wrap_mode_set`: guint)
-proc bg_full_height_set*(a: var TGtkTextTag): guint
-proc set_bg_full_height_set*(a: var TGtkTextTag, `bg_full_height_set`: guint)
-proc invisible_set*(a: var TGtkTextTag): guint
-proc set_invisible_set*(a: var TGtkTextTag, `invisible_set`: guint)
-proc editable_set*(a: var TGtkTextTag): guint
-proc set_editable_set*(a: var TGtkTextTag, `editable_set`: guint)
-proc language_set*(a: var TGtkTextTag): guint
-proc set_language_set*(a: var TGtkTextTag, `language_set`: guint)
-proc pad1*(a: var TGtkTextTag): guint
-proc set_pad1*(a: var TGtkTextTag, `pad1`: guint)
-proc pad2*(a: var TGtkTextTag): guint
-proc set_pad2*(a: var TGtkTextTag, `pad2`: guint)
-proc pad3*(a: var TGtkTextTag): guint
-proc set_pad3*(a: var TGtkTextTag, `pad3`: guint)
-const
-  bm_TGtkTextAppearance_underline* = 0x0000000F'i16
-  bp_TGtkTextAppearance_underline* = 0'i16
-  bm_TGtkTextAppearance_strikethrough* = 0x00000010'i16
-  bp_TGtkTextAppearance_strikethrough* = 4'i16
-  bm_TGtkTextAppearance_draw_bg* = 0x00000020'i16
-  bp_TGtkTextAppearance_draw_bg* = 5'i16
-  bm_TGtkTextAppearance_inside_selection* = 0x00000040'i16
-  bp_TGtkTextAppearance_inside_selection* = 6'i16
-  bm_TGtkTextAppearance_is_text* = 0x00000080'i16
-  bp_TGtkTextAppearance_is_text* = 7'i16
-  bm_TGtkTextAppearance_pad1* = 0x00000100'i16
-  bp_TGtkTextAppearance_pad1* = 8'i16
-  bm_TGtkTextAppearance_pad2* = 0x00000200'i16
-  bp_TGtkTextAppearance_pad2* = 9'i16
-  bm_TGtkTextAppearance_pad3* = 0x00000400'i16
-  bp_TGtkTextAppearance_pad3* = 10'i16
-  bm_TGtkTextAppearance_pad4* = 0x00000800'i16
-  bp_TGtkTextAppearance_pad4* = 11'i16
-
-proc underline*(a: var TGtkTextAppearance): guint
-proc set_underline*(a: var TGtkTextAppearance, `underline`: guint)
-proc strikethrough*(a: var TGtkTextAppearance): guint
-proc set_strikethrough*(a: var TGtkTextAppearance, `strikethrough`: guint)
-proc draw_bg*(a: var TGtkTextAppearance): guint
-proc set_draw_bg*(a: var TGtkTextAppearance, `draw_bg`: guint)
-proc inside_selection*(a: var TGtkTextAppearance): guint
-proc set_inside_selection*(a: var TGtkTextAppearance, `inside_selection`: guint)
-proc is_text*(a: var TGtkTextAppearance): guint
-proc set_is_text*(a: var TGtkTextAppearance, `is_text`: guint)
-proc pad1*(a: var TGtkTextAppearance): guint
-proc set_pad1*(a: var TGtkTextAppearance, `pad1`: guint)
-proc pad2*(a: var TGtkTextAppearance): guint
-proc set_pad2*(a: var TGtkTextAppearance, `pad2`: guint)
-proc pad3*(a: var TGtkTextAppearance): guint
-proc set_pad3*(a: var TGtkTextAppearance, `pad3`: guint)
-proc pad4*(a: var TGtkTextAppearance): guint
-proc set_pad4*(a: var TGtkTextAppearance, `pad4`: guint)
-const
-  bm_TGtkTextAttributes_invisible* = 0x00000001'i16
-  bp_TGtkTextAttributes_invisible* = 0'i16
-  bm_TGtkTextAttributes_bg_full_height* = 0x00000002'i16
-  bp_TGtkTextAttributes_bg_full_height* = 1'i16
-  bm_TGtkTextAttributes_editable* = 0x00000004'i16
-  bp_TGtkTextAttributes_editable* = 2'i16
-  bm_TGtkTextAttributes_realized* = 0x00000008'i16
-  bp_TGtkTextAttributes_realized* = 3'i16
-  bm_TGtkTextAttributes_pad1* = 0x00000010'i16
-  bp_TGtkTextAttributes_pad1* = 4'i16
-  bm_TGtkTextAttributes_pad2* = 0x00000020'i16
-  bp_TGtkTextAttributes_pad2* = 5'i16
-  bm_TGtkTextAttributes_pad3* = 0x00000040'i16
-  bp_TGtkTextAttributes_pad3* = 6'i16
-  bm_TGtkTextAttributes_pad4* = 0x00000080'i16
-  bp_TGtkTextAttributes_pad4* = 7'i16
-
-proc invisible*(a: var TGtkTextAttributes): guint
-proc set_invisible*(a: var TGtkTextAttributes, `invisible`: guint)
-proc bg_full_height*(a: var TGtkTextAttributes): guint
-proc set_bg_full_height*(a: var TGtkTextAttributes, `bg_full_height`: guint)
-proc editable*(a: var TGtkTextAttributes): guint
-proc set_editable*(a: var TGtkTextAttributes, `editable`: guint)
-proc realized*(a: var TGtkTextAttributes): guint
-proc set_realized*(a: var TGtkTextAttributes, `realized`: guint)
-proc pad1*(a: var TGtkTextAttributes): guint
-proc set_pad1*(a: var TGtkTextAttributes, `pad1`: guint)
-proc pad2*(a: var TGtkTextAttributes): guint
-proc set_pad2*(a: var TGtkTextAttributes, `pad2`: guint)
-proc pad3*(a: var TGtkTextAttributes): guint
-proc set_pad3*(a: var TGtkTextAttributes, `pad3`: guint)
-proc pad4*(a: var TGtkTextAttributes): guint
-proc set_pad4*(a: var TGtkTextAttributes, `pad4`: guint)
-proc GTK_TYPE_TEXT_TAG_TABLE*(): GType
-proc GTK_TEXT_TAG_TABLE*(obj: pointer): PGtkTextTagTable
-proc GTK_TEXT_TAG_TABLE_CLASS*(klass: pointer): PGtkTextTagTableClass
-proc GTK_IS_TEXT_TAG_TABLE*(obj: pointer): bool
-proc GTK_IS_TEXT_TAG_TABLE_CLASS*(klass: pointer): bool
-proc GTK_TEXT_TAG_TABLE_GET_CLASS*(obj: pointer): PGtkTextTagTableClass
-proc gtk_text_tag_table_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_tag_table_get_type".}
-proc gtk_text_tag_table_new*(): PGtkTextTagTable{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_tag_table_new".}
-proc gtk_text_tag_table_add*(table: PGtkTextTagTable, tag: PGtkTextTag){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_tag_table_add".}
-proc gtk_text_tag_table_remove*(table: PGtkTextTagTable, tag: PGtkTextTag){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_tag_table_remove".}
-proc gtk_text_tag_table_lookup*(table: PGtkTextTagTable, name: cstring): PGtkTextTag{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_tag_table_lookup".}
-proc gtk_text_tag_table_foreach*(table: PGtkTextTagTable,
-                                 fun: TGtkTextTagTableForeach, data: gpointer){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_tag_table_foreach".}
-proc gtk_text_tag_table_get_size*(table: PGtkTextTagTable): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_tag_table_get_size".}
-proc gtk_text_tag_table_add_buffer*(table: PGtkTextTagTable, buffer: gpointer){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_tag_table_add_buffer".}
-proc gtk_text_tag_table_remove_buffer*(table: PGtkTextTagTable,
-    buffer: gpointer){.cdecl, dynlib: gtklib,
-                       importc: "_gtk_text_tag_table_remove_buffer".}
-proc GTK_TYPE_TEXT_MARK*(): GType
-proc GTK_TEXT_MARK*(anObject: pointer): PGtkTextMark
-proc GTK_TEXT_MARK_CLASS*(klass: pointer): PGtkTextMarkClass
-proc GTK_IS_TEXT_MARK*(anObject: pointer): bool
-proc GTK_IS_TEXT_MARK_CLASS*(klass: pointer): bool
-proc GTK_TEXT_MARK_GET_CLASS*(obj: pointer): PGtkTextMarkClass
-proc gtk_text_mark_get_type*(): GType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_text_mark_get_type".}
-proc gtk_text_mark_set_visible*(mark: PGtkTextMark, setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_mark_set_visible".}
-proc gtk_text_mark_get_visible*(mark: PGtkTextMark): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_mark_get_visible".}
-proc gtk_text_mark_get_name*(mark: PGtkTextMark): cstring{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_mark_get_name".}
-proc gtk_text_mark_get_deleted*(mark: PGtkTextMark): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_mark_get_deleted".}
-proc gtk_text_mark_get_buffer*(mark: PGtkTextMark): PGtkTextBuffer{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_mark_get_buffer".}
-proc gtk_text_mark_get_left_gravity*(mark: PGtkTextMark): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_mark_get_left_gravity".}
-const
-  bm_TGtkTextMarkBody_visible* = 0x00000001'i16
-  bp_TGtkTextMarkBody_visible* = 0'i16
-  bm_TGtkTextMarkBody_not_deleteable* = 0x00000002'i16
-  bp_TGtkTextMarkBody_not_deleteable* = 1'i16
-
-proc visible*(a: var TGtkTextMarkBody): guint
-proc set_visible*(a: var TGtkTextMarkBody, `visible`: guint)
-proc not_deleteable*(a: var TGtkTextMarkBody): guint
-proc set_not_deleteable*(a: var TGtkTextMarkBody, `not_deleteable`: guint)
-proc gtk_mark_segment_new*(tree: PGtkTextBTree, left_gravity: gboolean,
-                             name: cstring): PGtkTextLineSegment{.cdecl,
-    dynlib: gtklib, importc: "_gtk_mark_segment_new".}
-proc GTK_TYPE_TEXT_CHILD_ANCHOR*(): GType
-proc GTK_TEXT_CHILD_ANCHOR*(anObject: pointer): PGtkTextChildAnchor
-proc GTK_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): PGtkTextChildAnchorClass
-proc GTK_IS_TEXT_CHILD_ANCHOR*(anObject: pointer): bool
-proc GTK_IS_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): bool
-proc GTK_TEXT_CHILD_ANCHOR_GET_CLASS*(obj: pointer): PGtkTextChildAnchorClass
-proc gtk_text_child_anchor_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_child_anchor_get_type".}
-proc gtk_text_child_anchor_new*(): PGtkTextChildAnchor{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_child_anchor_new".}
-proc gtk_text_child_anchor_get_widgets*(anchor: PGtkTextChildAnchor): PGList{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_child_anchor_get_widgets".}
-proc gtk_text_child_anchor_get_deleted*(anchor: PGtkTextChildAnchor): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_child_anchor_get_deleted".}
-proc gtk_pixbuf_segment_new*(pixbuf: PGdkPixbuf): PGtkTextLineSegment{.cdecl,
-    dynlib: gtklib, importc: "_gtk_pixbuf_segment_new".}
-proc gtk_widget_segment_new*(anchor: PGtkTextChildAnchor): PGtkTextLineSegment{.
-    cdecl, dynlib: gtklib, importc: "_gtk_widget_segment_new".}
-proc gtk_widget_segment_add*(widget_segment: PGtkTextLineSegment,
-                               child: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "_gtk_widget_segment_add".}
-proc gtk_widget_segment_remove*(widget_segment: PGtkTextLineSegment,
-                                  child: PGtkWidget){.cdecl, dynlib: gtklib,
-    importc: "_gtk_widget_segment_remove".}
-proc gtk_widget_segment_ref*(widget_segment: PGtkTextLineSegment){.cdecl,
-    dynlib: gtklib, importc: "_gtk_widget_segment_ref".}
-proc gtk_widget_segment_unref*(widget_segment: PGtkTextLineSegment){.cdecl,
-    dynlib: gtklib, importc: "_gtk_widget_segment_unref".}
-proc gtk_anchored_child_get_layout*(child: PGtkWidget): PGtkTextLayout{.cdecl,
-    dynlib: gtklib, importc: "_gtk_anchored_child_get_layout".}
-proc gtk_text_line_segment_split*(iter: PGtkTextIter): PGtkTextLineSegment{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_line_segment_split".}
-proc gtk_char_segment_new*(text: cstring, len: guint): PGtkTextLineSegment{.
-    cdecl, dynlib: gtklib, importc: "_gtk_char_segment_new".}
-proc gtk_char_segment_new_from_two_strings*(text1: cstring, len1: guint,
-    text2: cstring, len2: guint): PGtkTextLineSegment{.cdecl, dynlib: gtklib,
-    importc: "_gtk_char_segment_new_from_two_strings".}
-proc gtk_toggle_segment_new*(info: PGtkTextTagInfo, StateOn: gboolean): PGtkTextLineSegment{.
-    cdecl, dynlib: gtklib, importc: "_gtk_toggle_segment_new".}
-proc gtk_text_btree_new*(table: PGtkTextTagTable, buffer: PGtkTextBuffer): PGtkTextBTree{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_new".}
-proc gtk_text_btree_ref*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_ref".}
-proc gtk_text_btree_unref*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_unref".}
-proc gtk_text_btree_get_buffer*(tree: PGtkTextBTree): PGtkTextBuffer{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_get_buffer".}
-proc gtk_text_btree_get_chars_changed_stamp*(tree: PGtkTextBTree): guint{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_chars_changed_stamp".}
-proc gtk_text_btree_get_segments_changed_stamp*(tree: PGtkTextBTree): guint{.
-    cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_get_segments_changed_stamp".}
-proc gtk_text_btree_segments_changed*(tree: PGtkTextBTree){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_segments_changed".}
-proc gtk_text_btree_is_end*(tree: PGtkTextBTree, line: PGtkTextLine,
-                              seg: PGtkTextLineSegment, byte_index: int32,
-                              char_offset: int32): gboolean{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_is_end".}
-proc gtk_text_btree_delete*(start: PGtkTextIter, theEnd: PGtkTextIter){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_delete".}
-proc gtk_text_btree_insert*(iter: PGtkTextIter, text: cstring, len: gint){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_insert".}
-proc gtk_text_btree_insert_pixbuf*(iter: PGtkTextIter, pixbuf: PGdkPixbuf){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_insert_pixbuf".}
-proc gtk_text_btree_insert_child_anchor*(iter: PGtkTextIter,
-    anchor: PGtkTextChildAnchor){.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_insert_child_anchor".}
-proc gtk_text_btree_unregister_child_anchor*(anchor: PGtkTextChildAnchor){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_unregister_child_anchor".}
-proc gtk_text_btree_find_line_by_y*(tree: PGtkTextBTree, view_id: gpointer,
-                                      ypixel: gint, line_top_y: Pgint): PGtkTextLine{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_find_line_by_y".}
-proc gtk_text_btree_find_line_top*(tree: PGtkTextBTree, line: PGtkTextLine,
-                                     view_id: gpointer): gint{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_find_line_top".}
-proc gtk_text_btree_add_view*(tree: PGtkTextBTree, layout: PGtkTextLayout){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_add_view".}
-proc gtk_text_btree_remove_view*(tree: PGtkTextBTree, view_id: gpointer){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_remove_view".}
-proc gtk_text_btree_invalidate_region*(tree: PGtkTextBTree,
-    start: PGtkTextIter, theEnd: PGtkTextIter){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_invalidate_region".}
-proc gtk_text_btree_get_view_size*(tree: PGtkTextBTree, view_id: gpointer,
-                                     width: Pgint, height: Pgint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_get_view_size".}
-proc gtk_text_btree_is_valid*(tree: PGtkTextBTree, view_id: gpointer): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_is_valid".}
-proc gtk_text_btree_validate*(tree: PGtkTextBTree, view_id: gpointer,
-                                max_pixels: gint, y: Pgint, old_height: Pgint,
-                                new_height: Pgint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_validate".}
-proc gtk_text_btree_validate_line*(tree: PGtkTextBTree, line: PGtkTextLine,
-                                     view_id: gpointer){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_validate_line".}
-proc gtk_text_btree_tag*(start: PGtkTextIter, theEnd: PGtkTextIter,
-                           tag: PGtkTextTag, apply: gboolean){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_tag".}
-proc gtk_text_btree_get_line*(tree: PGtkTextBTree, line_number: gint,
-                                real_line_number: Pgint): PGtkTextLine{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_get_line".}
-proc gtk_text_btree_get_line_no_last*(tree: PGtkTextBTree, line_number: gint,
-                                        real_line_number: Pgint): PGtkTextLine{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_line_no_last".}
-proc gtk_text_btree_get_end_iter_line*(tree: PGtkTextBTree): PGtkTextLine{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_end_iter_line".}
-proc gtk_text_btree_get_line_at_char*(tree: PGtkTextBTree, char_index: gint,
-                                        line_start_index: Pgint,
-                                        real_char_index: Pgint): PGtkTextLine{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_line_at_char".}
-proc gtk_text_btree_get_tags*(iter: PGtkTextIter, num_tags: Pgint): PPGtkTextTag{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_tags".}
-proc gtk_text_btree_get_text*(start: PGtkTextIter, theEnd: PGtkTextIter,
-                                include_hidden: gboolean,
-                                include_nonchars: gboolean): cstring{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_get_text".}
-proc gtk_text_btree_line_count*(tree: PGtkTextBTree): gint{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_line_count".}
-proc gtk_text_btree_char_count*(tree: PGtkTextBTree): gint{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_char_count".}
-proc gtk_text_btree_char_is_invisible*(iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_char_is_invisible".}
-proc gtk_text_btree_get_iter_at_char*(tree: PGtkTextBTree, iter: PGtkTextIter,
-                                        char_index: gint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_char".}
-proc gtk_text_btree_get_iter_at_line_char*(tree: PGtkTextBTree,
-    iter: PGtkTextIter, line_number: gint, char_index: gint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_line_char".}
-proc gtk_text_btree_get_iter_at_line_byte*(tree: PGtkTextBTree,
-    iter: PGtkTextIter, line_number: gint, byte_index: gint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_line_byte".}
-proc gtk_text_btree_get_iter_from_string*(tree: PGtkTextBTree,
-    iter: PGtkTextIter, `string`: cstring): gboolean{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_get_iter_from_string".}
-proc gtk_text_btree_get_iter_at_mark_name*(tree: PGtkTextBTree,
-    iter: PGtkTextIter, mark_name: cstring): gboolean{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_get_iter_at_mark_name".}
-proc gtk_text_btree_get_iter_at_mark*(tree: PGtkTextBTree, iter: PGtkTextIter,
-                                        mark: PGtkTextMark){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_mark".}
-proc gtk_text_btree_get_end_iter*(tree: PGtkTextBTree, iter: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_end_iter".}
-proc gtk_text_btree_get_iter_at_line*(tree: PGtkTextBTree, iter: PGtkTextIter,
-                                        line: PGtkTextLine, byte_offset: gint){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_line".}
-proc gtk_text_btree_get_iter_at_first_toggle*(tree: PGtkTextBTree,
-    iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_get_iter_at_first_toggle".}
-proc gtk_text_btree_get_iter_at_last_toggle*(tree: PGtkTextBTree,
-    iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_get_iter_at_last_toggle".}
-proc gtk_text_btree_get_iter_at_child_anchor*(tree: PGtkTextBTree,
-    iter: PGtkTextIter, anchor: PGtkTextChildAnchor){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_get_iter_at_child_anchor".}
-proc gtk_text_btree_set_mark*(tree: PGtkTextBTree,
-                                existing_mark: PGtkTextMark, name: cstring,
-                                left_gravity: gboolean, index: PGtkTextIter,
-                                should_exist: gboolean): PGtkTextMark{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_btree_set_mark".}
-proc gtk_text_btree_remove_mark_by_name*(tree: PGtkTextBTree, name: cstring){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_remove_mark_by_name".}
-proc gtk_text_btree_remove_mark*(tree: PGtkTextBTree, segment: PGtkTextMark){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_remove_mark".}
-proc gtk_text_btree_get_selection_bounds*(tree: PGtkTextBTree,
-    start: PGtkTextIter, theEnd: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_get_selection_bounds".}
-proc gtk_text_btree_place_cursor*(tree: PGtkTextBTree, `where`: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_place_cursor".}
-proc gtk_text_btree_mark_is_insert*(tree: PGtkTextBTree, segment: PGtkTextMark): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_mark_is_insert".}
-proc gtk_text_btree_mark_is_selection_bound*(tree: PGtkTextBTree,
-    segment: PGtkTextMark): gboolean{.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_mark_is_selection_bound".}
-proc gtk_text_btree_get_mark_by_name*(tree: PGtkTextBTree, name: cstring): PGtkTextMark{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_mark_by_name".}
-proc gtk_text_btree_first_could_contain_tag*(tree: PGtkTextBTree,
-    tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_first_could_contain_tag".}
-proc gtk_text_btree_last_could_contain_tag*(tree: PGtkTextBTree,
-    tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_last_could_contain_tag".}
-const
-  bm_TGtkTextLineData_width* = 0x00FFFFFF'i32
-  bp_TGtkTextLineData_width* = 0'i32
-  bm_TGtkTextLineData_valid* = 0xFF000000'i32
-  bp_TGtkTextLineData_valid* = 24'i32
-
-proc width*(a: PGtkTextLineData): gint
-proc set_width*(a: PGtkTextLineData, NewWidth: gint)
-proc valid*(a: PGtkTextLineData): gint
-proc set_valid*(a: PGtkTextLineData, `valid`: gint)
-proc gtk_text_line_get_number*(line: PGtkTextLine): gint{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_line_get_number".}
-proc gtk_text_line_char_has_tag*(line: PGtkTextLine, tree: PGtkTextBTree,
-                                   char_in_line: gint, tag: PGtkTextTag): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_char_has_tag".}
-proc gtk_text_line_byte_has_tag*(line: PGtkTextLine, tree: PGtkTextBTree,
-                                   byte_in_line: gint, tag: PGtkTextTag): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_byte_has_tag".}
-proc gtk_text_line_is_last*(line: PGtkTextLine, tree: PGtkTextBTree): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_is_last".}
-proc gtk_text_line_contains_end_iter*(line: PGtkTextLine, tree: PGtkTextBTree): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_contains_end_iter".}
-proc gtk_text_line_next*(line: PGtkTextLine): PGtkTextLine{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_line_next".}
-proc gtk_text_line_next_excluding_last*(line: PGtkTextLine): PGtkTextLine{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_next_excluding_last".}
-proc gtk_text_line_previous*(line: PGtkTextLine): PGtkTextLine{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_line_previous".}
-proc gtk_text_line_add_data*(line: PGtkTextLine, data: PGtkTextLineData){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_add_data".}
-proc gtk_text_line_remove_data*(line: PGtkTextLine, view_id: gpointer): gpointer{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_remove_data".}
-proc gtk_text_line_get_data*(line: PGtkTextLine, view_id: gpointer): gpointer{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_get_data".}
-proc gtk_text_line_invalidate_wrap*(line: PGtkTextLine, ld: PGtkTextLineData){.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_invalidate_wrap".}
-proc gtk_text_line_char_count*(line: PGtkTextLine): gint{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_line_char_count".}
-proc gtk_text_line_byte_count*(line: PGtkTextLine): gint{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_line_byte_count".}
-proc gtk_text_line_char_index*(line: PGtkTextLine): gint{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_line_char_index".}
-proc gtk_text_line_byte_to_segment*(line: PGtkTextLine, byte_offset: gint,
-                                      seg_offset: Pgint): PGtkTextLineSegment{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_byte_to_segment".}
-proc gtk_text_line_char_to_segment*(line: PGtkTextLine, char_offset: gint,
-                                      seg_offset: Pgint): PGtkTextLineSegment{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_char_to_segment".}
-proc gtk_text_line_byte_to_char_offsets*(line: PGtkTextLine,
-    byte_offset: gint, line_char_offset: Pgint, seg_char_offset: Pgint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_line_byte_to_char_offsets".}
-proc gtk_text_line_char_to_byte_offsets*(line: PGtkTextLine,
-    char_offset: gint, line_byte_offset: Pgint, seg_byte_offset: Pgint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_line_char_to_byte_offsets".}
-proc gtk_text_line_byte_to_any_segment*(line: PGtkTextLine, byte_offset: gint,
-    seg_offset: Pgint): PGtkTextLineSegment{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_line_byte_to_any_segment".}
-proc gtk_text_line_char_to_any_segment*(line: PGtkTextLine, char_offset: gint,
-    seg_offset: Pgint): PGtkTextLineSegment{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_line_char_to_any_segment".}
-proc gtk_text_line_byte_to_char*(line: PGtkTextLine, byte_offset: gint): gint{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_byte_to_char".}
-proc gtk_text_line_char_to_byte*(line: PGtkTextLine, char_offset: gint): gint{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_char_to_byte".}
-proc gtk_text_line_next_could_contain_tag*(line: PGtkTextLine,
-    tree: PGtkTextBTree, tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_line_next_could_contain_tag".}
-proc gtk_text_line_previous_could_contain_tag*(line: PGtkTextLine,
-    tree: PGtkTextBTree, tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_line_previous_could_contain_tag".}
-proc gtk_text_line_data_new*(layout: PGtkTextLayout, line: PGtkTextLine): PGtkTextLineData{.
-    cdecl, dynlib: gtklib, importc: "_gtk_text_line_data_new".}
-proc gtk_text_btree_check*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_check".}
-proc gtk_text_btree_spew*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_btree_spew".}
-proc gtk_toggle_segment_check_func*(segPtr: PGtkTextLineSegment,
-                                      line: PGtkTextLine){.cdecl,
-    dynlib: gtklib, importc: "_gtk_toggle_segment_check_func".}
-proc gtk_change_node_toggle_count*(node: PGtkTextBTreeNode,
-                                     info: PGtkTextTagInfo, delta: gint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_change_node_toggle_count".}
-proc gtk_text_btree_release_mark_segment*(tree: PGtkTextBTree,
-    segment: PGtkTextLineSegment){.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_release_mark_segment".}
-proc gtk_text_btree_notify_will_remove_tag*(tree: PGtkTextBTree,
-    tag: PGtkTextTag){.cdecl, dynlib: gtklib,
-                       importc: "_gtk_text_btree_notify_will_remove_tag".}
-const
-  bm_TGtkTextBuffer_modified* = 0x00000001'i16
-  bp_TGtkTextBuffer_modified* = 0'i16
-
-proc GTK_TYPE_TEXT_BUFFER*(): GType
-proc GTK_TEXT_BUFFER*(obj: pointer): PGtkTextBuffer
-proc GTK_TEXT_BUFFER_CLASS*(klass: pointer): PGtkTextBufferClass
-proc GTK_IS_TEXT_BUFFER*(obj: pointer): bool
-proc GTK_IS_TEXT_BUFFER_CLASS*(klass: pointer): bool
-proc GTK_TEXT_BUFFER_GET_CLASS*(obj: pointer): PGtkTextBufferClass
-proc modified*(a: var TGtkTextBuffer): guint
-proc set_modified*(a: var TGtkTextBuffer, `modified`: guint)
-proc gtk_text_buffer_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_get_type".}
-proc gtk_text_buffer_new*(table: PGtkTextTagTable): PGtkTextBuffer{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_new".}
-proc gtk_text_buffer_get_line_count*(buffer: PGtkTextBuffer): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_get_line_count".}
-proc gtk_text_buffer_get_char_count*(buffer: PGtkTextBuffer): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_get_char_count".}
-proc gtk_text_buffer_get_tag_table*(buffer: PGtkTextBuffer): PGtkTextTagTable{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_tag_table".}
-proc gtk_text_buffer_set_text*(buffer: PGtkTextBuffer, text: cstring, len: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_set_text".}
-proc gtk_text_buffer_insert*(buffer: PGtkTextBuffer, iter: PGtkTextIter,
-                             text: cstring, len: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_insert".}
-proc gtk_text_buffer_insert_at_cursor*(buffer: PGtkTextBuffer, text: cstring,
-                                       len: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_insert_at_cursor".}
-proc gtk_text_buffer_insert_interactive*(buffer: PGtkTextBuffer,
-    iter: PGtkTextIter, text: cstring, len: gint, default_editable: gboolean): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_insert_interactive".}
-proc gtk_text_buffer_insert_interactive_at_cursor*(buffer: PGtkTextBuffer,
-    text: cstring, len: gint, default_editable: gboolean): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_insert_interactive_at_cursor".}
-proc gtk_text_buffer_insert_range*(buffer: PGtkTextBuffer, iter: PGtkTextIter,
-                                   start: PGtkTextIter, theEnd: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_insert_range".}
-proc gtk_text_buffer_insert_range_interactive*(buffer: PGtkTextBuffer,
-    iter: PGtkTextIter, start: PGtkTextIter, theEnd: PGtkTextIter,
-    default_editable: gboolean): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_insert_range_interactive".}
-proc gtk_text_buffer_delete*(buffer: PGtkTextBuffer, start: PGtkTextIter,
-                             theEnd: PGtkTextIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_delete".}
-proc gtk_text_buffer_delete_interactive*(buffer: PGtkTextBuffer,
-    start_iter: PGtkTextIter, end_iter: PGtkTextIter, default_editable: gboolean): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_delete_interactive".}
-proc gtk_text_buffer_get_text*(buffer: PGtkTextBuffer, start: PGtkTextIter,
-                               theEnd: PGtkTextIter,
-                               include_hidden_chars: gboolean): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_get_text".}
-proc gtk_text_buffer_get_slice*(buffer: PGtkTextBuffer, start: PGtkTextIter,
-                                theEnd: PGtkTextIter,
-                                include_hidden_chars: gboolean): cstring{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_get_slice".}
-proc gtk_text_buffer_insert_pixbuf*(buffer: PGtkTextBuffer, iter: PGtkTextIter,
-                                    pixbuf: PGdkPixbuf){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_insert_pixbuf".}
-proc gtk_text_buffer_insert_child_anchor*(buffer: PGtkTextBuffer,
-    iter: PGtkTextIter, anchor: PGtkTextChildAnchor){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_insert_child_anchor".}
-proc gtk_text_buffer_create_child_anchor*(buffer: PGtkTextBuffer,
-    iter: PGtkTextIter): PGtkTextChildAnchor{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_create_child_anchor".}
-proc gtk_text_buffer_create_mark*(buffer: PGtkTextBuffer, mark_name: cstring,
-                                  `where`: PGtkTextIter, left_gravity: gboolean): PGtkTextMark{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_create_mark".}
-proc gtk_text_buffer_move_mark*(buffer: PGtkTextBuffer, mark: PGtkTextMark,
-                                `where`: PGtkTextIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_move_mark".}
-proc gtk_text_buffer_delete_mark*(buffer: PGtkTextBuffer, mark: PGtkTextMark){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_delete_mark".}
-proc gtk_text_buffer_get_mark*(buffer: PGtkTextBuffer, name: cstring): PGtkTextMark{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_mark".}
-proc gtk_text_buffer_move_mark_by_name*(buffer: PGtkTextBuffer, name: cstring,
-                                        `where`: PGtkTextIter){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_move_mark_by_name".}
-proc gtk_text_buffer_delete_mark_by_name*(buffer: PGtkTextBuffer, name: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_delete_mark_by_name".}
-proc gtk_text_buffer_get_insert*(buffer: PGtkTextBuffer): PGtkTextMark{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_get_insert".}
-proc gtk_text_buffer_get_selection_bound*(buffer: PGtkTextBuffer): PGtkTextMark{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_selection_bound".}
-proc gtk_text_buffer_place_cursor*(buffer: PGtkTextBuffer, `where`: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_place_cursor".}
-proc gtk_text_buffer_apply_tag*(buffer: PGtkTextBuffer, tag: PGtkTextTag,
-                                start: PGtkTextIter, theEnd: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_apply_tag".}
-proc gtk_text_buffer_remove_tag*(buffer: PGtkTextBuffer, tag: PGtkTextTag,
-                                 start: PGtkTextIter, theEnd: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_remove_tag".}
-proc gtk_text_buffer_apply_tag_by_name*(buffer: PGtkTextBuffer, name: cstring,
-                                        start: PGtkTextIter,
-                                        theEnd: PGtkTextIter){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_apply_tag_by_name".}
-proc gtk_text_buffer_remove_tag_by_name*(buffer: PGtkTextBuffer, name: cstring,
-    start: PGtkTextIter, theEnd: PGtkTextIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_remove_tag_by_name".}
-proc gtk_text_buffer_remove_all_tags*(buffer: PGtkTextBuffer,
-                                      start: PGtkTextIter, theEnd: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_remove_all_tags".}
-proc gtk_text_buffer_get_iter_at_line_offset*(buffer: PGtkTextBuffer,
-    iter: PGtkTextIter, line_number: gint, char_offset: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_get_iter_at_line_offset".}
-proc gtk_text_buffer_get_iter_at_line_index*(buffer: PGtkTextBuffer,
-    iter: PGtkTextIter, line_number: gint, byte_index: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_get_iter_at_line_index".}
-proc gtk_text_buffer_get_iter_at_offset*(buffer: PGtkTextBuffer,
-    iter: PGtkTextIter, char_offset: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_get_iter_at_offset".}
-proc gtk_text_buffer_get_iter_at_line*(buffer: PGtkTextBuffer,
-                                       iter: PGtkTextIter, line_number: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_iter_at_line".}
-proc gtk_text_buffer_get_start_iter*(buffer: PGtkTextBuffer, iter: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_start_iter".}
-proc gtk_text_buffer_get_end_iter*(buffer: PGtkTextBuffer, iter: PGtkTextIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_end_iter".}
-proc gtk_text_buffer_get_bounds*(buffer: PGtkTextBuffer, start: PGtkTextIter,
-                                 theEnd: PGtkTextIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_get_bounds".}
-proc gtk_text_buffer_get_iter_at_mark*(buffer: PGtkTextBuffer,
-                                       iter: PGtkTextIter, mark: PGtkTextMark){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_iter_at_mark".}
-proc gtk_text_buffer_get_iter_at_child_anchor*(buffer: PGtkTextBuffer,
-    iter: PGtkTextIter, anchor: PGtkTextChildAnchor){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_get_iter_at_child_anchor".}
-proc gtk_text_buffer_get_modified*(buffer: PGtkTextBuffer): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_get_modified".}
-proc gtk_text_buffer_set_modified*(buffer: PGtkTextBuffer, setting: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_set_modified".}
-proc gtk_text_buffer_add_selection_clipboard*(buffer: PGtkTextBuffer,
-    clipboard: PGtkClipboard){.cdecl, dynlib: gtklib, importc: "gtk_text_buffer_add_selection_clipboard".}
-proc gtk_text_buffer_remove_selection_clipboard*(buffer: PGtkTextBuffer,
-    clipboard: PGtkClipboard){.cdecl, dynlib: gtklib, importc: "gtk_text_buffer_remove_selection_clipboard".}
-proc gtk_text_buffer_cut_clipboard*(buffer: PGtkTextBuffer,
-                                    clipboard: PGtkClipboard,
-                                    default_editable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_cut_clipboard".}
-proc gtk_text_buffer_copy_clipboard*(buffer: PGtkTextBuffer,
-                                     clipboard: PGtkClipboard){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_copy_clipboard".}
-proc gtk_text_buffer_paste_clipboard*(buffer: PGtkTextBuffer,
-                                      clipboard: PGtkClipboard,
-                                      override_location: PGtkTextIter,
-                                      default_editable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_paste_clipboard".}
-proc gtk_text_buffer_get_selection_bounds*(buffer: PGtkTextBuffer,
-    start: PGtkTextIter, theEnd: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_buffer_get_selection_bounds".}
-proc gtk_text_buffer_delete_selection*(buffer: PGtkTextBuffer,
-                                       interactive: gboolean,
-                                       default_editable: gboolean): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_buffer_delete_selection".}
-proc gtk_text_buffer_begin_user_action*(buffer: PGtkTextBuffer){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_begin_user_action".}
-proc gtk_text_buffer_end_user_action*(buffer: PGtkTextBuffer){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_buffer_end_user_action".}
-proc gtk_text_buffer_spew*(buffer: PGtkTextBuffer){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_buffer_spew".}
-proc gtk_text_buffer_get_btree*(buffer: PGtkTextBuffer): PGtkTextBTree{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_buffer_get_btree".}
-proc gtk_text_buffer_get_line_log_attrs*(buffer: PGtkTextBuffer,
-    anywhere_in_line: PGtkTextIter, char_len: Pgint): PPangoLogAttr{.cdecl,
-    dynlib: gtklib, importc: "_gtk_text_buffer_get_line_log_attrs".}
-proc gtk_text_buffer_notify_will_remove_tag*(buffer: PGtkTextBuffer,
-    tag: PGtkTextTag){.cdecl, dynlib: gtklib,
-                       importc: "_gtk_text_buffer_notify_will_remove_tag".}
-proc GTK_TYPE_TEXT_LAYOUT*(): GType
-proc GTK_TEXT_LAYOUT*(obj: pointer): PGtkTextLayout
-proc GTK_TEXT_LAYOUT_CLASS*(klass: pointer): PGtkTextLayoutClass
-proc GTK_IS_TEXT_LAYOUT*(obj: pointer): bool
-proc GTK_IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool
-proc GTK_TEXT_LAYOUT_GET_CLASS*(obj: pointer): PGtkTextLayoutClass
-const
-  bm_TGtkTextLayout_cursor_visible* = 0x00000001'i16
-  bp_TGtkTextLayout_cursor_visible* = 0'i16
-  bm_TGtkTextLayout_cursor_direction* = 0x00000006'i16
-  bp_TGtkTextLayout_cursor_direction* = 1'i16
-
-proc cursor_visible*(a: var TGtkTextLayout): guint
-proc set_cursor_visible*(a: var TGtkTextLayout, `cursor_visible`: guint)
-proc cursor_direction*(a: var TGtkTextLayout): gint
-proc set_cursor_direction*(a: var TGtkTextLayout, `cursor_direction`: gint)
-const
-  bm_TGtkTextCursorDisplay_is_strong* = 0x00000001'i16
-  bp_TGtkTextCursorDisplay_is_strong* = 0'i16
-  bm_TGtkTextCursorDisplay_is_weak* = 0x00000002'i16
-  bp_TGtkTextCursorDisplay_is_weak* = 1'i16
-
-proc is_strong*(a: var TGtkTextCursorDisplay): guint
-proc set_is_strong*(a: var TGtkTextCursorDisplay, `is_strong`: guint)
-proc is_weak*(a: var TGtkTextCursorDisplay): guint
-proc set_is_weak*(a: var TGtkTextCursorDisplay, `is_weak`: guint)
-proc gtk_text_layout_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_get_type".}
-proc gtk_text_layout_new*(): PGtkTextLayout{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_new".}
-proc gtk_text_layout_set_buffer*(layout: PGtkTextLayout, buffer: PGtkTextBuffer){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_set_buffer".}
-proc gtk_text_layout_get_buffer*(layout: PGtkTextLayout): PGtkTextBuffer{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_get_buffer".}
-proc gtk_text_layout_set_default_style*(layout: PGtkTextLayout,
-                                        values: PGtkTextAttributes){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_set_default_style".}
-proc gtk_text_layout_set_contexts*(layout: PGtkTextLayout,
-                                   ltr_context: PPangoContext,
-                                   rtl_context: PPangoContext){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_set_contexts".}
-proc gtk_text_layout_set_cursor_direction*(layout: PGtkTextLayout,
-    direction: TGtkTextDirection){.cdecl, dynlib: gtklib, importc: "gtk_text_layout_set_cursor_direction".}
-proc gtk_text_layout_default_style_changed*(layout: PGtkTextLayout){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_default_style_changed".}
-proc gtk_text_layout_set_screen_width*(layout: PGtkTextLayout, width: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_set_screen_width".}
-proc gtk_text_layout_set_preedit_string*(layout: PGtkTextLayout,
-    preedit_string: cstring, preedit_attrs: PPangoAttrList, cursor_pos: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_set_preedit_string".}
-proc gtk_text_layout_set_cursor_visible*(layout: PGtkTextLayout,
-    cursor_visible: gboolean){.cdecl, dynlib: gtklib,
-                               importc: "gtk_text_layout_set_cursor_visible".}
-proc gtk_text_layout_get_cursor_visible*(layout: PGtkTextLayout): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_cursor_visible".}
-proc gtk_text_layout_get_size*(layout: PGtkTextLayout, width: Pgint,
-                               height: Pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_get_size".}
-proc gtk_text_layout_get_lines*(layout: PGtkTextLayout, top_y: gint,
-                                bottom_y: gint, first_line_y: Pgint): PGSList{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_lines".}
-proc gtk_text_layout_wrap_loop_start*(layout: PGtkTextLayout){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_wrap_loop_start".}
-proc gtk_text_layout_wrap_loop_end*(layout: PGtkTextLayout){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_wrap_loop_end".}
-proc gtk_text_layout_get_line_display*(layout: PGtkTextLayout,
-                                       line: PGtkTextLine, size_only: gboolean): PGtkTextLineDisplay{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_line_display".}
-proc gtk_text_layout_free_line_display*(layout: PGtkTextLayout,
-                                        display: PGtkTextLineDisplay){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_free_line_display".}
-proc gtk_text_layout_get_line_at_y*(layout: PGtkTextLayout,
-                                    target_iter: PGtkTextIter, y: gint,
-                                    line_top: Pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_get_line_at_y".}
-proc gtk_text_layout_get_iter_at_pixel*(layout: PGtkTextLayout,
-                                        iter: PGtkTextIter, x: gint, y: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_iter_at_pixel".}
-proc gtk_text_layout_invalidate*(layout: PGtkTextLayout, start: PGtkTextIter,
-                                 theEnd: PGtkTextIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_invalidate".}
-proc gtk_text_layout_free_line_data*(layout: PGtkTextLayout, line: PGtkTextLine,
-                                     line_data: PGtkTextLineData){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_free_line_data".}
-proc gtk_text_layout_is_valid*(layout: PGtkTextLayout): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_is_valid".}
-proc gtk_text_layout_validate_yrange*(layout: PGtkTextLayout,
-                                      anchor_line: PGtkTextIter, y0: gint,
-                                      y1: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_validate_yrange".}
-proc gtk_text_layout_validate*(layout: PGtkTextLayout, max_pixels: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_validate".}
-proc gtk_text_layout_wrap*(layout: PGtkTextLayout, line: PGtkTextLine,
-                           line_data: PGtkTextLineData): PGtkTextLineData{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_wrap".}
-proc gtk_text_layout_changed*(layout: PGtkTextLayout, y: gint, old_height: gint,
-                              new_height: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_changed".}
-proc gtk_text_layout_get_iter_location*(layout: PGtkTextLayout,
-                                        iter: PGtkTextIter, rect: PGdkRectangle){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_iter_location".}
-proc gtk_text_layout_get_line_yrange*(layout: PGtkTextLayout,
-                                      iter: PGtkTextIter, y: Pgint,
-                                      height: Pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_get_line_yrange".}
-proc gtk_text_layout_get_line_xrange*(layout: PGtkTextLayout,
-                                        iter: PGtkTextIter, x: Pgint,
-                                        width: Pgint){.cdecl, dynlib: gtklib,
-    importc: "_gtk_text_layout_get_line_xrange".}
-proc gtk_text_layout_get_cursor_locations*(layout: PGtkTextLayout,
-    iter: PGtkTextIter, strong_pos: PGdkRectangle, weak_pos: PGdkRectangle){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_cursor_locations".}
-proc gtk_text_layout_clamp_iter_to_vrange*(layout: PGtkTextLayout,
-    iter: PGtkTextIter, top: gint, bottom: gint): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_clamp_iter_to_vrange".}
-proc gtk_text_layout_move_iter_to_line_end*(layout: PGtkTextLayout,
-    iter: PGtkTextIter, direction: gint): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_move_iter_to_line_end".}
-proc gtk_text_layout_move_iter_to_previous_line*(layout: PGtkTextLayout,
-    iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_layout_move_iter_to_previous_line".}
-proc gtk_text_layout_move_iter_to_next_line*(layout: PGtkTextLayout,
-    iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_layout_move_iter_to_next_line".}
-proc gtk_text_layout_move_iter_to_x*(layout: PGtkTextLayout, iter: PGtkTextIter,
-                                     x: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_move_iter_to_x".}
-proc gtk_text_layout_move_iter_visually*(layout: PGtkTextLayout,
-    iter: PGtkTextIter, count: gint): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_move_iter_visually".}
-proc gtk_text_layout_iter_starts_line*(layout: PGtkTextLayout,
-                                       iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_iter_starts_line".}
-proc gtk_text_layout_get_iter_at_line*(layout: PGtkTextLayout,
-                                       iter: PGtkTextIter, line: PGtkTextLine,
-                                       byte_offset: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_layout_get_iter_at_line".}
-proc gtk_text_child_anchor_register_child*(anchor: PGtkTextChildAnchor,
-    child: PGtkWidget, layout: PGtkTextLayout){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_child_anchor_register_child".}
-proc gtk_text_child_anchor_unregister_child*(anchor: PGtkTextChildAnchor,
-    child: PGtkWidget){.cdecl, dynlib: gtklib,
-                        importc: "gtk_text_child_anchor_unregister_child".}
-proc gtk_text_child_anchor_queue_resize*(anchor: PGtkTextChildAnchor,
-    layout: PGtkTextLayout){.cdecl, dynlib: gtklib,
-                             importc: "gtk_text_child_anchor_queue_resize".}
-proc gtk_text_anchored_child_set_layout*(child: PGtkWidget,
-    layout: PGtkTextLayout){.cdecl, dynlib: gtklib,
-                             importc: "gtk_text_anchored_child_set_layout".}
-proc gtk_text_layout_spew*(layout: PGtkTextLayout){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_layout_spew".}
-const # GTK_TEXT_VIEW_PRIORITY_VALIDATE* = GDK_PRIORITY_REDRAW + 5
-  bm_TGtkTextView_editable* = 0x00000001'i16
-  bp_TGtkTextView_editable* = 0'i16
-  bm_TGtkTextView_overwrite_mode* = 0x00000002'i16
-  bp_TGtkTextView_overwrite_mode* = 1'i16
-  bm_TGtkTextView_cursor_visible* = 0x00000004'i16
-  bp_TGtkTextView_cursor_visible* = 2'i16
-  bm_TGtkTextView_need_im_reset* = 0x00000008'i16
-  bp_TGtkTextView_need_im_reset* = 3'i16
-  bm_TGtkTextView_just_selected_element* = 0x00000010'i16
-  bp_TGtkTextView_just_selected_element* = 4'i16
-  bm_TGtkTextView_disable_scroll_on_focus* = 0x00000020'i16
-  bp_TGtkTextView_disable_scroll_on_focus* = 5'i16
-  bm_TGtkTextView_onscreen_validated* = 0x00000040'i16
-  bp_TGtkTextView_onscreen_validated* = 6'i16
-  bm_TGtkTextView_mouse_cursor_obscured* = 0x00000080'i16
-  bp_TGtkTextView_mouse_cursor_obscured* = 7'i16
-
-proc GTK_TYPE_TEXT_VIEW*(): GType
-proc GTK_TEXT_VIEW*(obj: pointer): PGtkTextView
-proc GTK_TEXT_VIEW_CLASS*(klass: pointer): PGtkTextViewClass
-proc GTK_IS_TEXT_VIEW*(obj: pointer): bool
-proc GTK_IS_TEXT_VIEW_CLASS*(klass: pointer): bool
-proc GTK_TEXT_VIEW_GET_CLASS*(obj: pointer): PGtkTextViewClass
-proc editable*(a: var TGtkTextView): guint
-proc set_editable*(a: var TGtkTextView, `editable`: guint)
-proc overwrite_mode*(a: var TGtkTextView): guint
-proc set_overwrite_mode*(a: var TGtkTextView, `overwrite_mode`: guint)
-proc cursor_visible*(a: var TGtkTextView): guint
-proc set_cursor_visible*(a: var TGtkTextView, `cursor_visible`: guint)
-proc need_im_reset*(a: var TGtkTextView): guint
-proc set_need_im_reset*(a: var TGtkTextView, `need_im_reset`: guint)
-proc just_selected_element*(a: var TGtkTextView): guint
-proc set_just_selected_element*(a: var TGtkTextView,
-                                `just_selected_element`: guint)
-proc disable_scroll_on_focus*(a: var TGtkTextView): guint
-proc set_disable_scroll_on_focus*(a: var TGtkTextView,
-                                  `disable_scroll_on_focus`: guint)
-proc onscreen_validated*(a: var TGtkTextView): guint
-proc set_onscreen_validated*(a: var TGtkTextView, `onscreen_validated`: guint)
-proc mouse_cursor_obscured*(a: var TGtkTextView): guint
-proc set_mouse_cursor_obscured*(a: var TGtkTextView,
-                                `mouse_cursor_obscured`: guint)
-proc gtk_text_view_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_view_get_type".}
-proc gtk_text_view_new*(): PGtkTextView{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_text_view_new".}
-proc gtk_text_view_new_with_buffer*(buffer: PGtkTextBuffer): PGtkTextView{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_new_with_buffer".}
-proc gtk_text_view_set_buffer*(text_view: PGtkTextView, buffer: PGtkTextBuffer){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_set_buffer".}
-proc gtk_text_view_get_buffer*(text_view: PGtkTextView): PGtkTextBuffer{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_buffer".}
-proc gtk_text_view_scroll_to_iter*(text_view: PGtkTextView, iter: PGtkTextIter,
-                                   within_margin: gdouble, use_align: gboolean,
-                                   xalign: gdouble, yalign: gdouble): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_scroll_to_iter".}
-proc gtk_text_view_scroll_to_mark*(text_view: PGtkTextView, mark: PGtkTextMark,
-                                   within_margin: gdouble, use_align: gboolean,
-                                   xalign: gdouble, yalign: gdouble){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_scroll_to_mark".}
-proc gtk_text_view_scroll_mark_onscreen*(text_view: PGtkTextView,
-    mark: PGtkTextMark){.cdecl, dynlib: gtklib,
-                         importc: "gtk_text_view_scroll_mark_onscreen".}
-proc gtk_text_view_move_mark_onscreen*(text_view: PGtkTextView,
-                                       mark: PGtkTextMark): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_move_mark_onscreen".}
-proc gtk_text_view_place_cursor_onscreen*(text_view: PGtkTextView): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_place_cursor_onscreen".}
-proc gtk_text_view_get_visible_rect*(text_view: PGtkTextView,
-                                     visible_rect: PGdkRectangle){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_visible_rect".}
-proc gtk_text_view_set_cursor_visible*(text_view: PGtkTextView,
-                                       setting: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_set_cursor_visible".}
-proc gtk_text_view_get_cursor_visible*(text_view: PGtkTextView): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_get_cursor_visible".}
-proc gtk_text_view_get_iter_location*(text_view: PGtkTextView,
-                                      iter: PGtkTextIter,
-                                      location: PGdkRectangle){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_iter_location".}
-proc gtk_text_view_get_iter_at_location*(text_view: PGtkTextView,
-    iter: PGtkTextIter, x: gint, y: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_view_get_iter_at_location".}
-proc gtk_text_view_get_line_yrange*(text_view: PGtkTextView, iter: PGtkTextIter,
-                                    y: Pgint, height: Pgint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_line_yrange".}
-proc gtk_text_view_get_line_at_y*(text_view: PGtkTextView,
-                                  target_iter: PGtkTextIter, y: gint,
-                                  line_top: Pgint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_view_get_line_at_y".}
-proc gtk_text_view_buffer_to_window_coords*(text_view: PGtkTextView,
-    win: TGtkTextWindowType, buffer_x: gint, buffer_y: gint, window_x: Pgint,
-    window_y: Pgint){.cdecl, dynlib: gtklib,
-                      importc: "gtk_text_view_buffer_to_window_coords".}
-proc gtk_text_view_window_to_buffer_coords*(text_view: PGtkTextView,
-    win: TGtkTextWindowType, window_x: gint, window_y: gint, buffer_x: Pgint,
-    buffer_y: Pgint){.cdecl, dynlib: gtklib,
-                      importc: "gtk_text_view_window_to_buffer_coords".}
-proc gtk_text_view_get_window*(text_view: PGtkTextView, win: TGtkTextWindowType): PGdkWindow{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_get_window".}
-proc gtk_text_view_get_window_type*(text_view: PGtkTextView, window: PGdkWindow): TGtkTextWindowType{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_get_window_type".}
-proc gtk_text_view_set_border_window_size*(text_view: PGtkTextView,
-    thetype: TGtkTextWindowType, size: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_view_set_border_window_size".}
-proc gtk_text_view_get_border_window_size*(text_view: PGtkTextView,
-    thetype: TGtkTextWindowType): gint{.cdecl, dynlib: gtklib, importc: "gtk_text_view_get_border_window_size".}
-proc gtk_text_view_forward_display_line*(text_view: PGtkTextView,
-    iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_view_forward_display_line".}
-proc gtk_text_view_backward_display_line*(text_view: PGtkTextView,
-    iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_view_backward_display_line".}
-proc gtk_text_view_forward_display_line_end*(text_view: PGtkTextView,
-    iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_view_forward_display_line_end".}
-proc gtk_text_view_backward_display_line_start*(text_view: PGtkTextView,
-    iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_view_backward_display_line_start".}
-proc gtk_text_view_starts_display_line*(text_view: PGtkTextView,
-                                        iter: PGtkTextIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_starts_display_line".}
-proc gtk_text_view_move_visually*(text_view: PGtkTextView, iter: PGtkTextIter,
-                                  count: gint): gboolean{.cdecl, dynlib: gtklib,
-    importc: "gtk_text_view_move_visually".}
-proc gtk_text_view_add_child_at_anchor*(text_view: PGtkTextView,
-                                        child: PGtkWidget,
-                                        anchor: PGtkTextChildAnchor){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_add_child_at_anchor".}
-proc gtk_text_view_add_child_in_window*(text_view: PGtkTextView,
-                                        child: PGtkWidget,
-                                        which_window: TGtkTextWindowType,
-                                        xpos: gint, ypos: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_add_child_in_window".}
-proc gtk_text_view_move_child*(text_view: PGtkTextView, child: PGtkWidget,
-                               xpos: gint, ypos: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_text_view_move_child".}
-proc gtk_text_view_set_wrap_mode*(text_view: PGtkTextView,
-                                  wrap_mode: TGtkWrapMode){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_set_wrap_mode".}
-proc gtk_text_view_get_wrap_mode*(text_view: PGtkTextView): TGtkWrapMode{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_wrap_mode".}
-proc gtk_text_view_set_editable*(text_view: PGtkTextView, setting: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_set_editable".}
-proc gtk_text_view_get_editable*(text_view: PGtkTextView): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_editable".}
-proc gtk_text_view_set_pixels_above_lines*(text_view: PGtkTextView,
-    pixels_above_lines: gint){.cdecl, dynlib: gtklib,
-                               importc: "gtk_text_view_set_pixels_above_lines".}
-proc gtk_text_view_get_pixels_above_lines*(text_view: PGtkTextView): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_get_pixels_above_lines".}
-proc gtk_text_view_set_pixels_below_lines*(text_view: PGtkTextView,
-    pixels_below_lines: gint){.cdecl, dynlib: gtklib,
-                               importc: "gtk_text_view_set_pixels_below_lines".}
-proc gtk_text_view_get_pixels_below_lines*(text_view: PGtkTextView): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_get_pixels_below_lines".}
-proc gtk_text_view_set_pixels_inside_wrap*(text_view: PGtkTextView,
-    pixels_inside_wrap: gint){.cdecl, dynlib: gtklib,
-                               importc: "gtk_text_view_set_pixels_inside_wrap".}
-proc gtk_text_view_get_pixels_inside_wrap*(text_view: PGtkTextView): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_get_pixels_inside_wrap".}
-proc gtk_text_view_set_justification*(text_view: PGtkTextView,
-                                      justification: TGtkJustification){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_set_justification".}
-proc gtk_text_view_get_justification*(text_view: PGtkTextView): TGtkJustification{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_get_justification".}
-proc gtk_text_view_set_left_margin*(text_view: PGtkTextView, left_margin: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_set_left_margin".}
-proc gtk_text_view_get_left_margin*(text_view: PGtkTextView): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_left_margin".}
-proc gtk_text_view_set_right_margin*(text_view: PGtkTextView, right_margin: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_set_right_margin".}
-proc gtk_text_view_get_right_margin*(text_view: PGtkTextView): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_right_margin".}
-proc gtk_text_view_set_indent*(text_view: PGtkTextView, indent: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_set_indent".}
-proc gtk_text_view_get_indent*(text_view: PGtkTextView): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_indent".}
-proc gtk_text_view_set_tabs*(text_view: PGtkTextView, tabs: PPangoTabArray){.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_set_tabs".}
-proc gtk_text_view_get_tabs*(text_view: PGtkTextView): PPangoTabArray{.cdecl,
-    dynlib: gtklib, importc: "gtk_text_view_get_tabs".}
-proc gtk_text_view_get_default_attributes*(text_view: PGtkTextView): PGtkTextAttributes{.
-    cdecl, dynlib: gtklib, importc: "gtk_text_view_get_default_attributes".}
-const
-  bm_TGtkTipsQuery_emit_always* = 0x00000001'i16
-  bp_TGtkTipsQuery_emit_always* = 0'i16
-  bm_TGtkTipsQuery_in_query* = 0x00000002'i16
-  bp_TGtkTipsQuery_in_query* = 1'i16
-
-proc GTK_TYPE_TIPS_QUERY*(): GType
-proc GTK_TIPS_QUERY*(obj: pointer): PGtkTipsQuery
-proc GTK_TIPS_QUERY_CLASS*(klass: pointer): PGtkTipsQueryClass
-proc GTK_IS_TIPS_QUERY*(obj: pointer): bool
-proc GTK_IS_TIPS_QUERY_CLASS*(klass: pointer): bool
-proc GTK_TIPS_QUERY_GET_CLASS*(obj: pointer): PGtkTipsQueryClass
-proc emit_always*(a: var TGtkTipsQuery): guint
-proc set_emit_always*(a: var TGtkTipsQuery, `emit_always`: guint)
-proc in_query*(a: var TGtkTipsQuery): guint
-proc set_in_query*(a: var TGtkTipsQuery, `in_query`: guint)
-proc gtk_tips_query_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tips_query_get_type".}
-proc gtk_tips_query_new*(): PGtkTipsQuery{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_tips_query_new".}
-proc gtk_tips_query_start_query*(tips_query: PGtkTipsQuery){.cdecl,
-    dynlib: gtklib, importc: "gtk_tips_query_start_query".}
-proc gtk_tips_query_stop_query*(tips_query: PGtkTipsQuery){.cdecl,
-    dynlib: gtklib, importc: "gtk_tips_query_stop_query".}
-proc gtk_tips_query_set_caller*(tips_query: PGtkTipsQuery, caller: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_tips_query_set_caller".}
-proc gtk_tips_query_set_labels*(tips_query: PGtkTipsQuery,
-                                label_inactive: cstring, label_no_tip: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_tips_query_set_labels".}
-const
-  bm_TGtkTooltips_delay* = 0x3FFFFFFF'i32
-  bp_TGtkTooltips_delay* = 0'i32
-  bm_TGtkTooltips_enabled* = 0x40000000'i32
-  bp_TGtkTooltips_enabled* = 30'i32
-  bm_TGtkTooltips_have_grab* = 0x80000000'i32
-  bp_TGtkTooltips_have_grab* = 31'i32
-  bm_TGtkTooltips_use_sticky_delay* = 0x00000001'i32
-  bp_TGtkTooltips_use_sticky_delay* = 0'i32
-
-proc GTK_TYPE_TOOLTIPS*(): GType
-proc GTK_TOOLTIPS*(obj: pointer): PGtkTooltips
-proc GTK_TOOLTIPS_CLASS*(klass: pointer): PGtkTooltipsClass
-proc GTK_IS_TOOLTIPS*(obj: pointer): bool
-proc GTK_IS_TOOLTIPS_CLASS*(klass: pointer): bool
-proc GTK_TOOLTIPS_GET_CLASS*(obj: pointer): PGtkTooltipsClass
-proc delay*(a: var TGtkTooltips): guint
-proc set_delay*(a: var TGtkTooltips, `delay`: guint)
-proc enabled*(a: var TGtkTooltips): guint
-proc set_enabled*(a: var TGtkTooltips, `enabled`: guint)
-proc have_grab*(a: var TGtkTooltips): guint
-proc set_have_grab*(a: var TGtkTooltips, `have_grab`: guint)
-proc use_sticky_delay*(a: var TGtkTooltips): guint
-proc set_use_sticky_delay*(a: var TGtkTooltips, `use_sticky_delay`: guint)
-proc gtk_tooltips_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tooltips_get_type".}
-proc gtk_tooltips_new*(): PGtkTooltips{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_tooltips_new".}
-proc gtk_tooltips_enable*(tooltips: PGtkTooltips){.cdecl, dynlib: gtklib,
-    importc: "gtk_tooltips_enable".}
-proc gtk_tooltips_disable*(tooltips: PGtkTooltips){.cdecl, dynlib: gtklib,
-    importc: "gtk_tooltips_disable".}
-proc gtk_tooltips_set_tip*(tooltips: PGtkTooltips, widget: PGtkWidget,
-                           tip_text: cstring, tip_private: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_tooltips_set_tip".}
-proc gtk_tooltips_data_get*(widget: PGtkWidget): PGtkTooltipsData{.cdecl,
-    dynlib: gtklib, importc: "gtk_tooltips_data_get".}
-proc gtk_tooltips_force_window*(tooltips: PGtkTooltips){.cdecl, dynlib: gtklib,
-    importc: "gtk_tooltips_force_window".}
-proc gtk_tooltips_toggle_keyboard_mode*(widget: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tooltips_toggle_keyboard_mode".}
-const
-  bm_TGtkToolbar_style_set* = 0x00000001'i16
-  bp_TGtkToolbar_style_set* = 0'i16
-  bm_TGtkToolbar_icon_size_set* = 0x00000002'i16
-  bp_TGtkToolbar_icon_size_set* = 1'i16
-
-proc GTK_TYPE_TOOLBAR*(): GType
-proc GTK_TOOLBAR*(obj: pointer): PGtkToolbar
-proc GTK_TOOLBAR_CLASS*(klass: pointer): PGtkToolbarClass
-proc GTK_IS_TOOLBAR*(obj: pointer): bool
-proc GTK_IS_TOOLBAR_CLASS*(klass: pointer): bool
-proc GTK_TOOLBAR_GET_CLASS*(obj: pointer): PGtkToolbarClass
-proc style_set*(a: var TGtkToolbar): guint
-proc set_style_set*(a: var TGtkToolbar, `style_set`: guint)
-proc icon_size_set*(a: var TGtkToolbar): guint
-proc set_icon_size_set*(a: var TGtkToolbar, `icon_size_set`: guint)
-proc gtk_toolbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_toolbar_get_type".}
-proc gtk_toolbar_new*(): PGtkToolbar{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_toolbar_new".}
-proc gtk_toolbar_append_item*(toolbar: PGtkToolbar, text: cstring,
-                              tooltip_text: cstring,
-                              tooltip_private_text: cstring, icon: PGtkWidget,
-                              callback: TGtkSignalFunc, user_data: gpointer): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_toolbar_append_item".}
-proc gtk_toolbar_prepend_item*(toolbar: PGtkToolbar, text: cstring,
-                               tooltip_text: cstring,
-                               tooltip_private_text: cstring, icon: PGtkWidget,
-                               callback: TGtkSignalFunc, user_data: gpointer): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_toolbar_prepend_item".}
-proc gtk_toolbar_insert_item*(toolbar: PGtkToolbar, text: cstring,
-                              tooltip_text: cstring,
-                              tooltip_private_text: cstring, icon: PGtkWidget,
-                              callback: TGtkSignalFunc, user_data: gpointer,
-                              position: gint): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_insert_item".}
-proc gtk_toolbar_insert_stock*(toolbar: PGtkToolbar, stock_id: cstring,
-                               tooltip_text: cstring,
-                               tooltip_private_text: cstring,
-                               callback: TGtkSignalFunc, user_data: gpointer,
-                               position: gint): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_insert_stock".}
-proc gtk_toolbar_append_space*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib,
-    importc: "gtk_toolbar_append_space".}
-proc gtk_toolbar_prepend_space*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib,
-    importc: "gtk_toolbar_prepend_space".}
-proc gtk_toolbar_insert_space*(toolbar: PGtkToolbar, position: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_insert_space".}
-proc gtk_toolbar_remove_space*(toolbar: PGtkToolbar, position: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_remove_space".}
-proc gtk_toolbar_append_element*(toolbar: PGtkToolbar,
-                                 thetype: TGtkToolbarChildType,
-                                 widget: PGtkWidget, text: cstring,
-                                 tooltip_text: cstring,
-                                 tooltip_private_text: cstring,
-                                 icon: PGtkWidget, callback: TGtkSignalFunc,
-                                 user_data: gpointer): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_append_element".}
-proc gtk_toolbar_prepend_element*(toolbar: PGtkToolbar,
-                                  thetype: TGtkToolbarChildType,
-                                  widget: PGtkWidget, text: cstring,
-                                  tooltip_text: cstring,
-                                  tooltip_private_text: cstring,
-                                  icon: PGtkWidget, callback: TGtkSignalFunc,
-                                  user_data: gpointer): PGtkWidget{.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_prepend_element".}
-proc gtk_toolbar_insert_element*(toolbar: PGtkToolbar,
-                                 thetype: TGtkToolbarChildType,
-                                 widget: PGtkWidget, text: cstring,
-                                 tooltip_text: cstring,
-                                 tooltip_private_text: cstring,
-                                 icon: PGtkWidget, callback: TGtkSignalFunc,
-                                 user_data: gpointer, position: gint): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_toolbar_insert_element".}
-proc gtk_toolbar_append_widget*(toolbar: PGtkToolbar, widget: PGtkWidget,
-                                tooltip_text: cstring,
-                                tooltip_private_text: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_append_widget".}
-proc gtk_toolbar_prepend_widget*(toolbar: PGtkToolbar, widget: PGtkWidget,
-                                 tooltip_text: cstring,
-                                 tooltip_private_text: cstring){.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_prepend_widget".}
-proc gtk_toolbar_insert_widget*(toolbar: PGtkToolbar, widget: PGtkWidget,
-                                tooltip_text: cstring,
-                                tooltip_private_text: cstring, position: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_toolbar_insert_widget".}
-proc gtk_toolbar_set_orientation*(toolbar: PGtkToolbar,
-                                  orientation: TGtkOrientation){.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_set_orientation".}
-proc gtk_toolbar_set_style*(toolbar: PGtkToolbar, style: TGtkToolbarStyle){.
-    cdecl, dynlib: gtklib, importc: "gtk_toolbar_set_style".}
-proc gtk_toolbar_set_icon_size*(toolbar: PGtkToolbar, icon_size: TGtkIconSize){.
-    cdecl, dynlib: gtklib, importc: "gtk_toolbar_set_icon_size".}
-proc gtk_toolbar_set_tooltips*(toolbar: PGtkToolbar, enable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_set_tooltips".}
-proc gtk_toolbar_unset_style*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib,
-    importc: "gtk_toolbar_unset_style".}
-proc gtk_toolbar_unset_icon_size*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib,
-    importc: "gtk_toolbar_unset_icon_size".}
-proc gtk_toolbar_get_orientation*(toolbar: PGtkToolbar): TGtkOrientation{.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_get_orientation".}
-proc gtk_toolbar_get_style*(toolbar: PGtkToolbar): TGtkToolbarStyle{.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_get_style".}
-proc gtk_toolbar_get_icon_size*(toolbar: PGtkToolbar): TGtkIconSize{.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_get_icon_size".}
-proc gtk_toolbar_get_tooltips*(toolbar: PGtkToolbar): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_toolbar_get_tooltips".}
-const
-  bm_TGtkTree_selection_mode* = 0x00000003'i16
-  bp_TGtkTree_selection_mode* = 0'i16
-  bm_TGtkTree_view_mode* = 0x00000004'i16
-  bp_TGtkTree_view_mode* = 2'i16
-  bm_TGtkTree_view_line* = 0x00000008'i16
-  bp_TGtkTree_view_line* = 3'i16
-
-proc GTK_TYPE_TREE*(): GType
-proc GTK_TREE*(obj: pointer): PGtkTree
-proc GTK_TREE_CLASS*(klass: pointer): PGtkTreeClass
-proc GTK_IS_TREE*(obj: pointer): bool
-proc GTK_IS_TREE_CLASS*(klass: pointer): bool
-proc GTK_TREE_GET_CLASS*(obj: pointer): PGtkTreeClass
-proc GTK_IS_ROOT_TREE*(obj: pointer): bool
-proc GTK_TREE_ROOT_TREE*(obj: pointer): PGtkTree
-proc GTK_TREE_SELECTION_OLD*(obj: pointer): PGList
-proc selection_mode*(a: var TGtkTree): guint
-proc set_selection_mode*(a: var TGtkTree, `selection_mode`: guint)
-proc view_mode*(a: var TGtkTree): guint
-proc set_view_mode*(a: var TGtkTree, `view_mode`: guint)
-proc view_line*(a: var TGtkTree): guint
-proc set_view_line*(a: var TGtkTree, `view_line`: guint)
-proc gtk_tree_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                     importc: "gtk_tree_get_type".}
-proc gtk_tree_new*(): PGtkTree{.cdecl, dynlib: gtklib, importc: "gtk_tree_new".}
-proc gtk_tree_append*(tree: PGtkTree, tree_item: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_append".}
-proc gtk_tree_prepend*(tree: PGtkTree, tree_item: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_prepend".}
-proc gtk_tree_insert*(tree: PGtkTree, tree_item: PGtkWidget, position: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_insert".}
-proc gtk_tree_remove_items*(tree: PGtkTree, items: PGList){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_remove_items".}
-proc gtk_tree_clear_items*(tree: PGtkTree, start: gint, theEnd: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_clear_items".}
-proc gtk_tree_select_item*(tree: PGtkTree, item: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_select_item".}
-proc gtk_tree_unselect_item*(tree: PGtkTree, item: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_unselect_item".}
-proc gtk_tree_select_child*(tree: PGtkTree, tree_item: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_select_child".}
-proc gtk_tree_unselect_child*(tree: PGtkTree, tree_item: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_unselect_child".}
-proc gtk_tree_child_position*(tree: PGtkTree, child: PGtkWidget): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_child_position".}
-proc gtk_tree_set_selection_mode*(tree: PGtkTree, mode: TGtkSelectionMode){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_set_selection_mode".}
-proc gtk_tree_set_view_mode*(tree: PGtkTree, mode: TGtkTreeViewMode){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_set_view_mode".}
-proc gtk_tree_set_view_lines*(tree: PGtkTree, flag: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_set_view_lines".}
-proc gtk_tree_remove_item*(tree: PGtkTree, child: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_remove_item".}
-proc GTK_TYPE_TREE_DRAG_SOURCE*(): GType
-proc GTK_TREE_DRAG_SOURCE*(obj: pointer): PGtkTreeDragSource
-proc GTK_IS_TREE_DRAG_SOURCE*(obj: pointer): bool
-proc GTK_TREE_DRAG_SOURCE_GET_IFACE*(obj: pointer): PGtkTreeDragSourceIface
-proc gtk_tree_drag_source_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_drag_source_get_type".}
-proc gtk_tree_drag_source_row_draggable*(drag_source: PGtkTreeDragSource,
-    path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_tree_drag_source_row_draggable".}
-proc gtk_tree_drag_source_drag_data_delete*(drag_source: PGtkTreeDragSource,
-    path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_tree_drag_source_drag_data_delete".}
-proc gtk_tree_drag_source_drag_data_get*(drag_source: PGtkTreeDragSource,
-    path: PGtkTreePath, selection_data: PGtkSelectionData): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_drag_source_drag_data_get".}
-proc GTK_TYPE_TREE_DRAG_DEST*(): GType
-proc GTK_TREE_DRAG_DEST*(obj: pointer): PGtkTreeDragDest
-proc GTK_IS_TREE_DRAG_DEST*(obj: pointer): bool
-proc GTK_TREE_DRAG_DEST_GET_IFACE*(obj: pointer): PGtkTreeDragDestIface
-proc gtk_tree_drag_dest_get_type*(): GType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_drag_dest_get_type".}
-proc gtk_tree_drag_dest_drag_data_received*(drag_dest: PGtkTreeDragDest,
-    dest: PGtkTreePath, selection_data: PGtkSelectionData): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_drag_dest_drag_data_received".}
-proc gtk_tree_drag_dest_row_drop_possible*(drag_dest: PGtkTreeDragDest,
-    dest_path: PGtkTreePath, selection_data: PGtkSelectionData): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_drag_dest_row_drop_possible".}
-proc gtk_tree_set_row_drag_data*(selection_data: PGtkSelectionData,
-                                 tree_model: PGtkTreeModel, path: PGtkTreePath): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_set_row_drag_data".}
-const
-  bm_TGtkTreeItem_expanded* = 0x00000001'i16
-  bp_TGtkTreeItem_expanded* = 0'i16
-
-proc GTK_TYPE_TREE_ITEM*(): GType
-proc GTK_TREE_ITEM*(obj: pointer): PGtkTreeItem
-proc GTK_TREE_ITEM_CLASS*(klass: pointer): PGtkTreeItemClass
-proc GTK_IS_TREE_ITEM*(obj: pointer): bool
-proc GTK_IS_TREE_ITEM_CLASS*(klass: pointer): bool
-proc GTK_TREE_ITEM_GET_CLASS*(obj: pointer): PGtkTreeItemClass
-proc GTK_TREE_ITEM_SUBTREE*(obj: pointer): PGtkWidget
-proc expanded*(a: var TGtkTreeItem): guint
-proc set_expanded*(a: var TGtkTreeItem, `expanded`: guint)
-proc gtk_tree_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_item_get_type".}
-proc gtk_tree_item_new*(): PGtkTreeItem{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_tree_item_new".}
-proc gtk_tree_item_new_with_label*(`label`: cstring): PGtkTreeItem{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_item_new_with_label".}
-proc gtk_tree_item_set_subtree*(tree_item: PGtkTreeItem, subtree: PGtkWidget){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_item_set_subtree".}
-proc gtk_tree_item_remove_subtree*(tree_item: PGtkTreeItem){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_item_remove_subtree".}
-proc gtk_tree_item_select*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_item_select".}
-proc gtk_tree_item_deselect*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_item_deselect".}
-proc gtk_tree_item_expand*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_item_expand".}
-proc gtk_tree_item_collapse*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_item_collapse".}
-proc GTK_TYPE_TREE_SELECTION*(): GType
-proc GTK_TREE_SELECTION*(obj: pointer): PGtkTreeSelection
-proc GTK_TREE_SELECTION_CLASS*(klass: pointer): PGtkTreeSelectionClass
-proc GTK_IS_TREE_SELECTION*(obj: pointer): bool
-proc GTK_IS_TREE_SELECTION_CLASS*(klass: pointer): bool
-proc GTK_TREE_SELECTION_GET_CLASS*(obj: pointer): PGtkTreeSelectionClass
-proc gtk_tree_selection_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_selection_get_type".}
-proc gtk_tree_selection_set_mode*(selection: PGtkTreeSelection,
-                                  thetype: TGtkSelectionMode){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_selection_set_mode".}
-proc gtk_tree_selection_get_mode*(selection: PGtkTreeSelection): TGtkSelectionMode{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_mode".}
-proc gtk_tree_selection_set_select_function*(selection: PGtkTreeSelection,
-    fun: TGtkTreeSelectionFunc, data: gpointer, destroy: TGtkDestroyNotify){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_selection_set_select_function".}
-proc gtk_tree_selection_get_user_data*(selection: PGtkTreeSelection): gpointer{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_user_data".}
-proc gtk_tree_selection_get_tree_view*(selection: PGtkTreeSelection): PGtkTreeView{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_tree_view".}
-proc gtk_tree_selection_get_selected*(selection: PGtkTreeSelection,
-                                      model: PPGtkTreeModel, iter: PGtkTreeIter): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_selected".}
-proc gtk_tree_selection_get_selected_rows*(selection: PGtkTreeSelection,
-    model: PPGtkTreeModel): PGList{.cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_selected_rows".}
-proc gtk_tree_selection_selected_foreach*(selection: PGtkTreeSelection,
-    fun: TGtkTreeSelectionForeachFunc, data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_selection_selected_foreach".}
-proc gtk_tree_selection_select_path*(selection: PGtkTreeSelection,
-                                     path: PGtkTreePath){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_selection_select_path".}
-proc gtk_tree_selection_unselect_path*(selection: PGtkTreeSelection,
-                                       path: PGtkTreePath){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_selection_unselect_path".}
-proc gtk_tree_selection_select_iter*(selection: PGtkTreeSelection,
-                                     iter: PGtkTreeIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_selection_select_iter".}
-proc gtk_tree_selection_unselect_iter*(selection: PGtkTreeSelection,
-                                       iter: PGtkTreeIter){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_selection_unselect_iter".}
-proc gtk_tree_selection_path_is_selected*(selection: PGtkTreeSelection,
-    path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_tree_selection_path_is_selected".}
-proc gtk_tree_selection_iter_is_selected*(selection: PGtkTreeSelection,
-    iter: PGtkTreeIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_tree_selection_iter_is_selected".}
-proc gtk_tree_selection_select_all*(selection: PGtkTreeSelection){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_selection_select_all".}
-proc gtk_tree_selection_unselect_all*(selection: PGtkTreeSelection){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_selection_unselect_all".}
-proc gtk_tree_selection_select_range*(selection: PGtkTreeSelection,
-                                      start_path: PGtkTreePath,
-                                      end_path: PGtkTreePath){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_selection_select_range".}
-const
-  bm_TGtkTreeStore_columns_dirty* = 0x00000001'i16
-  bp_TGtkTreeStore_columns_dirty* = 0'i16
-
-proc GTK_TYPE_TREE_STORE*(): GType
-proc GTK_TREE_STORE*(obj: pointer): PGtkTreeStore
-proc GTK_TREE_STORE_CLASS*(klass: pointer): PGtkTreeStoreClass
-proc GTK_IS_TREE_STORE*(obj: pointer): bool
-proc GTK_IS_TREE_STORE_CLASS*(klass: pointer): bool
-proc GTK_TREE_STORE_GET_CLASS*(obj: pointer): PGtkTreeStoreClass
-proc columns_dirty*(a: var TGtkTreeStore): guint
-proc set_columns_dirty*(a: var TGtkTreeStore, `columns_dirty`: guint)
-proc gtk_tree_store_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_store_get_type".}
-proc gtk_tree_store_newv*(n_columns: gint, types: PGType): PGtkTreeStore{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_store_newv".}
-proc gtk_tree_store_set_column_types*(tree_store: PGtkTreeStore,
-                                      n_columns: gint, types: PGType){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_store_set_column_types".}
-proc gtk_tree_store_set_value*(tree_store: PGtkTreeStore, iter: PGtkTreeIter,
-                               column: gint, value: PGValue){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_store_set_value".}
-proc gtk_tree_store_remove*(tree_store: PGtkTreeStore, iter: PGtkTreeIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_store_remove".}
-proc gtk_tree_store_insert*(tree_store: PGtkTreeStore, iter: PGtkTreeIter,
-                            parent: PGtkTreeIter, position: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_store_insert".}
-proc gtk_tree_store_insert_before*(tree_store: PGtkTreeStore,
-                                   iter: PGtkTreeIter, parent: PGtkTreeIter,
-                                   sibling: PGtkTreeIter){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_store_insert_before".}
-proc gtk_tree_store_insert_after*(tree_store: PGtkTreeStore, iter: PGtkTreeIter,
-                                  parent: PGtkTreeIter, sibling: PGtkTreeIter){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_store_insert_after".}
-proc gtk_tree_store_prepend*(tree_store: PGtkTreeStore, iter: PGtkTreeIter,
-                             parent: PGtkTreeIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_store_prepend".}
-proc gtk_tree_store_append*(tree_store: PGtkTreeStore, iter: PGtkTreeIter,
-                            parent: PGtkTreeIter){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_store_append".}
-proc gtk_tree_store_is_ancestor*(tree_store: PGtkTreeStore, iter: PGtkTreeIter,
-                                 descendant: PGtkTreeIter): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_store_is_ancestor".}
-proc gtk_tree_store_iter_depth*(tree_store: PGtkTreeStore, iter: PGtkTreeIter): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_store_iter_depth".}
-proc gtk_tree_store_clear*(tree_store: PGtkTreeStore){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_store_clear".}
-const
-  bm_TGtkTreeViewColumn_visible* = 0x00000001'i16
-  bp_TGtkTreeViewColumn_visible* = 0'i16
-  bm_TGtkTreeViewColumn_resizable* = 0x00000002'i16
-  bp_TGtkTreeViewColumn_resizable* = 1'i16
-  bm_TGtkTreeViewColumn_clickable* = 0x00000004'i16
-  bp_TGtkTreeViewColumn_clickable* = 2'i16
-  bm_TGtkTreeViewColumn_dirty* = 0x00000008'i16
-  bp_TGtkTreeViewColumn_dirty* = 3'i16
-  bm_TGtkTreeViewColumn_show_sort_indicator* = 0x00000010'i16
-  bp_TGtkTreeViewColumn_show_sort_indicator* = 4'i16
-  bm_TGtkTreeViewColumn_maybe_reordered* = 0x00000020'i16
-  bp_TGtkTreeViewColumn_maybe_reordered* = 5'i16
-  bm_TGtkTreeViewColumn_reorderable* = 0x00000040'i16
-  bp_TGtkTreeViewColumn_reorderable* = 6'i16
-  bm_TGtkTreeViewColumn_use_resized_width* = 0x00000080'i16
-  bp_TGtkTreeViewColumn_use_resized_width* = 7'i16
-
-proc GTK_TYPE_TREE_VIEW_COLUMN*(): GType
-proc GTK_TREE_VIEW_COLUMN*(obj: pointer): PGtkTreeViewColumn
-proc GTK_TREE_VIEW_COLUMN_CLASS*(klass: pointer): PGtkTreeViewColumnClass
-proc GTK_IS_TREE_VIEW_COLUMN*(obj: pointer): bool
-proc GTK_IS_TREE_VIEW_COLUMN_CLASS*(klass: pointer): bool
-proc GTK_TREE_VIEW_COLUMN_GET_CLASS*(obj: pointer): PGtkTreeViewColumnClass
-proc visible*(a: var TGtkTreeViewColumn): guint
-proc set_visible*(a: var TGtkTreeViewColumn, `visible`: guint)
-proc resizable*(a: var TGtkTreeViewColumn): guint
-proc set_resizable*(a: var TGtkTreeViewColumn, `resizable`: guint)
-proc clickable*(a: var TGtkTreeViewColumn): guint
-proc set_clickable*(a: var TGtkTreeViewColumn, `clickable`: guint)
-proc dirty*(a: var TGtkTreeViewColumn): guint
-proc set_dirty*(a: var TGtkTreeViewColumn, `dirty`: guint)
-proc show_sort_indicator*(a: var TGtkTreeViewColumn): guint
-proc set_show_sort_indicator*(a: var TGtkTreeViewColumn,
-                              `show_sort_indicator`: guint)
-proc maybe_reordered*(a: var TGtkTreeViewColumn): guint
-proc set_maybe_reordered*(a: var TGtkTreeViewColumn, `maybe_reordered`: guint)
-proc reorderable*(a: var TGtkTreeViewColumn): guint
-proc set_reorderable*(a: var TGtkTreeViewColumn, `reorderable`: guint)
-proc use_resized_width*(a: var TGtkTreeViewColumn): guint
-proc set_use_resized_width*(a: var TGtkTreeViewColumn,
-                            `use_resized_width`: guint)
-proc gtk_tree_view_column_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_column_get_type".}
-proc gtk_tree_view_column_new*(): PGtkTreeViewColumn{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_column_new".}
-proc gtk_tree_view_column_pack_start*(tree_column: PGtkTreeViewColumn,
-                                      cell: PGtkCellRenderer, expand: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_pack_start".}
-proc gtk_tree_view_column_pack_end*(tree_column: PGtkTreeViewColumn,
-                                    cell: PGtkCellRenderer, expand: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_pack_end".}
-proc gtk_tree_view_column_clear*(tree_column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_column_clear".}
-proc gtk_tree_view_column_get_cell_renderers*(tree_column: PGtkTreeViewColumn): PGList{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_cell_renderers".}
-proc gtk_tree_view_column_add_attribute*(tree_column: PGtkTreeViewColumn,
-    cell_renderer: PGtkCellRenderer, attribute: cstring, column: gint){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_column_add_attribute".}
-proc gtk_tree_view_column_set_cell_data_func*(tree_column: PGtkTreeViewColumn,
-    cell_renderer: PGtkCellRenderer, fun: TGtkTreeCellDataFunc,
-    func_data: gpointer, destroy: TGtkDestroyNotify){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_column_set_cell_data_func".}
-proc gtk_tree_view_column_clear_attributes*(tree_column: PGtkTreeViewColumn,
-    cell_renderer: PGtkCellRenderer){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_clear_attributes".}
-proc gtk_tree_view_column_set_spacing*(tree_column: PGtkTreeViewColumn,
-                                       spacing: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_column_set_spacing".}
-proc gtk_tree_view_column_get_spacing*(tree_column: PGtkTreeViewColumn): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_spacing".}
-proc gtk_tree_view_column_set_visible*(tree_column: PGtkTreeViewColumn,
-                                       visible: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_column_set_visible".}
-proc gtk_tree_view_column_get_visible*(tree_column: PGtkTreeViewColumn): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_visible".}
-proc gtk_tree_view_column_set_resizable*(tree_column: PGtkTreeViewColumn,
-    resizable: gboolean){.cdecl, dynlib: gtklib,
-                          importc: "gtk_tree_view_column_set_resizable".}
-proc gtk_tree_view_column_get_resizable*(tree_column: PGtkTreeViewColumn): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_resizable".}
-proc gtk_tree_view_column_set_sizing*(tree_column: PGtkTreeViewColumn,
-                                      thetype: TGtkTreeViewColumnSizing){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_column_set_sizing".}
-proc gtk_tree_view_column_get_sizing*(tree_column: PGtkTreeViewColumn): TGtkTreeViewColumnSizing{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_sizing".}
-proc gtk_tree_view_column_get_width*(tree_column: PGtkTreeViewColumn): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_width".}
-proc gtk_tree_view_column_get_fixed_width*(tree_column: PGtkTreeViewColumn): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_fixed_width".}
-proc gtk_tree_view_column_set_fixed_width*(tree_column: PGtkTreeViewColumn,
-    fixed_width: gint){.cdecl, dynlib: gtklib,
-                        importc: "gtk_tree_view_column_set_fixed_width".}
-proc gtk_tree_view_column_set_min_width*(tree_column: PGtkTreeViewColumn,
-    min_width: gint){.cdecl, dynlib: gtklib,
-                      importc: "gtk_tree_view_column_set_min_width".}
-proc gtk_tree_view_column_get_min_width*(tree_column: PGtkTreeViewColumn): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_min_width".}
-proc gtk_tree_view_column_set_max_width*(tree_column: PGtkTreeViewColumn,
-    max_width: gint){.cdecl, dynlib: gtklib,
-                      importc: "gtk_tree_view_column_set_max_width".}
-proc gtk_tree_view_column_get_max_width*(tree_column: PGtkTreeViewColumn): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_max_width".}
-proc gtk_tree_view_column_clicked*(tree_column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_column_clicked".}
-proc gtk_tree_view_column_set_title*(tree_column: PGtkTreeViewColumn,
-                                     title: cstring){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_column_set_title".}
-proc gtk_tree_view_column_get_title*(tree_column: PGtkTreeViewColumn): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_title".}
-proc gtk_tree_view_column_set_clickable*(tree_column: PGtkTreeViewColumn,
-    clickable: gboolean){.cdecl, dynlib: gtklib,
-                          importc: "gtk_tree_view_column_set_clickable".}
-proc gtk_tree_view_column_get_clickable*(tree_column: PGtkTreeViewColumn): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_clickable".}
-proc gtk_tree_view_column_set_widget*(tree_column: PGtkTreeViewColumn,
-                                      widget: PGtkWidget){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_column_set_widget".}
-proc gtk_tree_view_column_get_widget*(tree_column: PGtkTreeViewColumn): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_widget".}
-proc gtk_tree_view_column_set_alignment*(tree_column: PGtkTreeViewColumn,
-    xalign: gfloat){.cdecl, dynlib: gtklib,
-                     importc: "gtk_tree_view_column_set_alignment".}
-proc gtk_tree_view_column_get_alignment*(tree_column: PGtkTreeViewColumn): gfloat{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_alignment".}
-proc gtk_tree_view_column_set_reorderable*(tree_column: PGtkTreeViewColumn,
-    reorderable: gboolean){.cdecl, dynlib: gtklib,
-                            importc: "gtk_tree_view_column_set_reorderable".}
-proc gtk_tree_view_column_get_reorderable*(tree_column: PGtkTreeViewColumn): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_reorderable".}
-proc gtk_tree_view_column_set_sort_column_id*(tree_column: PGtkTreeViewColumn,
-    sort_column_id: gint){.cdecl, dynlib: gtklib,
-                           importc: "gtk_tree_view_column_set_sort_column_id".}
-proc gtk_tree_view_column_get_sort_column_id*(tree_column: PGtkTreeViewColumn): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_sort_column_id".}
-proc gtk_tree_view_column_set_sort_indicator*(tree_column: PGtkTreeViewColumn,
-    setting: gboolean){.cdecl, dynlib: gtklib,
-                        importc: "gtk_tree_view_column_set_sort_indicator".}
-proc gtk_tree_view_column_get_sort_indicator*(tree_column: PGtkTreeViewColumn): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_sort_indicator".}
-proc gtk_tree_view_column_set_sort_order*(tree_column: PGtkTreeViewColumn,
-    order: TGtkSortType){.cdecl, dynlib: gtklib,
-                          importc: "gtk_tree_view_column_set_sort_order".}
-proc gtk_tree_view_column_get_sort_order*(tree_column: PGtkTreeViewColumn): TGtkSortType{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_sort_order".}
-proc gtk_tree_view_column_cell_set_cell_data*(tree_column: PGtkTreeViewColumn,
-    tree_model: PGtkTreeModel, iter: PGtkTreeIter, is_expander: gboolean,
-    is_expanded: gboolean){.cdecl, dynlib: gtklib,
-                            importc: "gtk_tree_view_column_cell_set_cell_data".}
-proc gtk_tree_view_column_cell_get_size*(tree_column: PGtkTreeViewColumn,
-    cell_area: PGdkRectangle, x_offset: Pgint, y_offset: Pgint, width: Pgint,
-    height: Pgint){.cdecl, dynlib: gtklib,
-                    importc: "gtk_tree_view_column_cell_get_size".}
-proc gtk_tree_view_column_cell_is_visible*(tree_column: PGtkTreeViewColumn): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_cell_is_visible".}
-proc gtk_tree_view_column_focus_cell*(tree_column: PGtkTreeViewColumn,
-                                      cell: PGtkCellRenderer){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_column_focus_cell".}
-proc gtk_tree_view_column_set_expand*(tree_column: PGtkTreeViewColumn,
-                                      Expand: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_column_set_expand".}
-proc gtk_tree_view_column_get_expand*(tree_column: PGtkTreeViewColumn): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_expand".}
-const
-  GTK_RBNODE_BLACK* = 1 shl 0
-  GTK_RBNODE_RED* = 1 shl 1
-  GTK_RBNODE_IS_PARENT* = 1 shl 2
-  GTK_RBNODE_IS_SELECTED* = 1 shl 3
-  GTK_RBNODE_IS_PRELIT* = 1 shl 4
-  GTK_RBNODE_IS_SEMI_COLLAPSED* = 1 shl 5
-  GTK_RBNODE_IS_SEMI_EXPANDED* = 1 shl 6
-  GTK_RBNODE_INVALID* = 1 shl 7
-  GTK_RBNODE_COLUMN_INVALID* = 1 shl 8
-  GTK_RBNODE_DESCENDANTS_INVALID* = 1 shl 9
-  GTK_RBNODE_NON_COLORS* = GTK_RBNODE_IS_PARENT or GTK_RBNODE_IS_SELECTED or
-      GTK_RBNODE_IS_PRELIT or GTK_RBNODE_IS_SEMI_COLLAPSED or
-      GTK_RBNODE_IS_SEMI_EXPANDED or GTK_RBNODE_INVALID or
-      GTK_RBNODE_COLUMN_INVALID or GTK_RBNODE_DESCENDANTS_INVALID
-
-const
-  bm_TGtkRBNode_flags* = 0x00003FFF'i16
-  bp_TGtkRBNode_flags* = 0'i16
-  bm_TGtkRBNode_parity* = 0x00004000'i16
-  bp_TGtkRBNode_parity* = 14'i16
-
-proc flags*(a: PGtkRBNode): guint
-proc set_flags*(a: PGtkRBNode, `flags`: guint)
-proc parity*(a: PGtkRBNode): guint
-proc set_parity*(a: PGtkRBNode, `parity`: guint)
-proc GTK_RBNODE_GET_COLOR*(node: PGtkRBNode): guint
-proc GTK_RBNODE_SET_COLOR*(node: PGtkRBNode, color: guint)
-proc GTK_RBNODE_GET_HEIGHT*(node: PGtkRBNode): gint
-proc GTK_RBNODE_SET_FLAG*(node: PGtkRBNode, flag: guint16)
-proc GTK_RBNODE_UNSET_FLAG*(node: PGtkRBNode, flag: guint16)
-proc GTK_RBNODE_FLAG_SET*(node: PGtkRBNode, flag: guint): bool
-proc gtk_rbtree_push_allocator*(allocator: PGAllocator){.cdecl,
-    dynlib: gtklib, importc: "_gtk_rbtree_push_allocator".}
-proc gtk_rbtree_pop_allocator*(){.cdecl, dynlib: gtklib,
-                                    importc: "_gtk_rbtree_pop_allocator".}
-proc gtk_rbtree_new*(): PGtkRBTree{.cdecl, dynlib: gtklib,
-                                      importc: "_gtk_rbtree_new".}
-proc gtk_rbtree_free*(tree: PGtkRBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_rbtree_free".}
-proc gtk_rbtree_remove*(tree: PGtkRBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_rbtree_remove".}
-proc gtk_rbtree_destroy*(tree: PGtkRBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_rbtree_destroy".}
-proc gtk_rbtree_insert_before*(tree: PGtkRBTree, node: PGtkRBNode,
-                                 height: gint, valid: gboolean): PGtkRBNode{.
-    cdecl, dynlib: gtklib, importc: "_gtk_rbtree_insert_before".}
-proc gtk_rbtree_insert_after*(tree: PGtkRBTree, node: PGtkRBNode,
-                                height: gint, valid: gboolean): PGtkRBNode{.
-    cdecl, dynlib: gtklib, importc: "_gtk_rbtree_insert_after".}
-proc gtk_rbtree_remove_node*(tree: PGtkRBTree, node: PGtkRBNode){.cdecl,
-    dynlib: gtklib, importc: "_gtk_rbtree_remove_node".}
-proc gtk_rbtree_reorder*(tree: PGtkRBTree, new_order: Pgint, length: gint){.
-    cdecl, dynlib: gtklib, importc: "_gtk_rbtree_reorder".}
-proc gtk_rbtree_find_count*(tree: PGtkRBTree, count: gint): PGtkRBNode{.cdecl,
-    dynlib: gtklib, importc: "_gtk_rbtree_find_count".}
-proc gtk_rbtree_node_set_height*(tree: PGtkRBTree, node: PGtkRBNode,
-                                   height: gint){.cdecl, dynlib: gtklib,
-    importc: "_gtk_rbtree_node_set_height".}
-proc gtk_rbtree_node_mark_invalid*(tree: PGtkRBTree, node: PGtkRBNode){.
-    cdecl, dynlib: gtklib, importc: "_gtk_rbtree_node_mark_invalid".}
-proc gtk_rbtree_node_mark_valid*(tree: PGtkRBTree, node: PGtkRBNode){.cdecl,
-    dynlib: gtklib, importc: "_gtk_rbtree_node_mark_valid".}
-proc gtk_rbtree_column_invalid*(tree: PGtkRBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_rbtree_column_invalid".}
-proc gtk_rbtree_mark_invalid*(tree: PGtkRBTree){.cdecl, dynlib: gtklib,
-    importc: "_gtk_rbtree_mark_invalid".}
-proc gtk_rbtree_set_fixed_height*(tree: PGtkRBTree, height: gint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_rbtree_set_fixed_height".}
-proc gtk_rbtree_node_find_offset*(tree: PGtkRBTree, node: PGtkRBNode): gint{.
-    cdecl, dynlib: gtklib, importc: "_gtk_rbtree_node_find_offset".}
-proc gtk_rbtree_node_find_parity*(tree: PGtkRBTree, node: PGtkRBNode): gint{.
-    cdecl, dynlib: gtklib, importc: "_gtk_rbtree_node_find_parity".}
-proc gtk_rbtree_traverse*(tree: PGtkRBTree, node: PGtkRBNode,
-                            order: TGTraverseType,
-                            fun: TGtkRBTreeTraverseFunc, data: gpointer){.
-    cdecl, dynlib: gtklib, importc: "_gtk_rbtree_traverse".}
-proc gtk_rbtree_next*(tree: PGtkRBTree, node: PGtkRBNode): PGtkRBNode{.cdecl,
-    dynlib: gtklib, importc: "_gtk_rbtree_next".}
-proc gtk_rbtree_prev*(tree: PGtkRBTree, node: PGtkRBNode): PGtkRBNode{.cdecl,
-    dynlib: gtklib, importc: "_gtk_rbtree_prev".}
-proc gtk_rbtree_get_depth*(tree: PGtkRBTree): gint{.cdecl, dynlib: gtklib,
-    importc: "_gtk_rbtree_get_depth".}
-const
-  TREE_VIEW_DRAG_WIDTH* = 6
-  GTK_TREE_VIEW_IS_LIST* = 1 shl 0
-  GTK_TREE_VIEW_SHOW_EXPANDERS* = 1 shl 1
-  GTK_TREE_VIEW_IN_COLUMN_RESIZE* = 1 shl 2
-  GTK_TREE_VIEW_ARROW_PRELIT* = 1 shl 3
-  GTK_TREE_VIEW_HEADERS_VISIBLE* = 1 shl 4
-  GTK_TREE_VIEW_DRAW_KEYFOCUS* = 1 shl 5
-  GTK_TREE_VIEW_MODEL_SETUP* = 1 shl 6
-  GTK_TREE_VIEW_IN_COLUMN_DRAG* = 1 shl 7
-  DRAG_COLUMN_WINDOW_STATE_UNSET* = 0
-  DRAG_COLUMN_WINDOW_STATE_ORIGINAL* = 1
-  DRAG_COLUMN_WINDOW_STATE_ARROW* = 2
-  DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT* = 3
-  DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT* = 4
-
-proc GTK_TREE_VIEW_SET_FLAG*(tree_view: PGtkTreeView, flag: guint)
-proc GTK_TREE_VIEW_UNSET_FLAG*(tree_view: PGtkTreeView, flag: guint)
-proc GTK_TREE_VIEW_FLAG_SET*(tree_view: PGtkTreeView, flag: guint): bool
-proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PGtkTreeView): int32
-proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PGtkTreeViewColumn): int32
-proc TREE_VIEW_DRAW_EXPANDERS*(tree_view: PGtkTreeView): bool
-proc TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PGtkTreeView): int32
-const
-  bm_TGtkTreeViewPrivate_scroll_to_use_align* = 0x00000001'i16
-  bp_TGtkTreeViewPrivate_scroll_to_use_align* = 0'i16
-  bm_TGtkTreeViewPrivate_fixed_height_check* = 0x00000002'i16
-  bp_TGtkTreeViewPrivate_fixed_height_check* = 1'i16
-  bm_TGtkTreeViewPrivate_reorderable* = 0x00000004'i16
-  bp_TGtkTreeViewPrivate_reorderable* = 2'i16
-  bm_TGtkTreeViewPrivate_header_has_focus* = 0x00000008'i16
-  bp_TGtkTreeViewPrivate_header_has_focus* = 3'i16
-  bm_TGtkTreeViewPrivate_drag_column_window_state* = 0x00000070'i16
-  bp_TGtkTreeViewPrivate_drag_column_window_state* = 4'i16
-  bm_TGtkTreeViewPrivate_has_rules* = 0x00000080'i16
-  bp_TGtkTreeViewPrivate_has_rules* = 7'i16
-  bm_TGtkTreeViewPrivate_mark_rows_col_dirty* = 0x00000100'i16
-  bp_TGtkTreeViewPrivate_mark_rows_col_dirty* = 8'i16
-  bm_TGtkTreeViewPrivate_enable_search* = 0x00000200'i16
-  bp_TGtkTreeViewPrivate_enable_search* = 9'i16
-  bm_TGtkTreeViewPrivate_disable_popdown* = 0x00000400'i16
-  bp_TGtkTreeViewPrivate_disable_popdown* = 10'i16
-
-proc scroll_to_use_align*(a: var TGtkTreeViewPrivate): guint
-proc set_scroll_to_use_align*(a: var TGtkTreeViewPrivate,
-                              `scroll_to_use_align`: guint)
-proc fixed_height_check*(a: var TGtkTreeViewPrivate): guint
-proc set_fixed_height_check*(a: var TGtkTreeViewPrivate,
-                             `fixed_height_check`: guint)
-proc reorderable*(a: var TGtkTreeViewPrivate): guint
-proc set_reorderable*(a: var TGtkTreeViewPrivate, `reorderable`: guint)
-proc header_has_focus*(a: var TGtkTreeViewPrivate): guint
-proc set_header_has_focus*(a: var TGtkTreeViewPrivate, `header_has_focus`: guint)
-proc drag_column_window_state*(a: var TGtkTreeViewPrivate): guint
-proc set_drag_column_window_state*(a: var TGtkTreeViewPrivate,
-                                   `drag_column_window_state`: guint)
-proc has_rules*(a: var TGtkTreeViewPrivate): guint
-proc set_has_rules*(a: var TGtkTreeViewPrivate, `has_rules`: guint)
-proc mark_rows_col_dirty*(a: var TGtkTreeViewPrivate): guint
-proc set_mark_rows_col_dirty*(a: var TGtkTreeViewPrivate,
-                              `mark_rows_col_dirty`: guint)
-proc enable_search*(a: var TGtkTreeViewPrivate): guint
-proc set_enable_search*(a: var TGtkTreeViewPrivate, `enable_search`: guint)
-proc disable_popdown*(a: var TGtkTreeViewPrivate): guint
-proc set_disable_popdown*(a: var TGtkTreeViewPrivate, `disable_popdown`: guint)
-proc gtk_tree_selection_internal_select_node*(selection: PGtkTreeSelection,
-    node: PGtkRBNode, tree: PGtkRBTree, path: PGtkTreePath,
-    state: TGdkModifierType, override_browse_mode: gboolean){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_selection_internal_select_node".}
-proc gtk_tree_view_find_node*(tree_view: PGtkTreeView, path: PGtkTreePath,
-                                tree: var PGtkRBTree, node: var PGtkRBNode): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_view_find_node".}
-proc gtk_tree_view_find_path*(tree_view: PGtkTreeView, tree: PGtkRBTree,
-                                node: PGtkRBNode): PGtkTreePath{.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_find_path".}
-proc gtk_tree_view_child_move_resize*(tree_view: PGtkTreeView,
-                                        widget: PGtkWidget, x: gint, y: gint,
-                                        width: gint, height: gint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_child_move_resize".}
-proc gtk_tree_view_queue_draw_node*(tree_view: PGtkTreeView, tree: PGtkRBTree,
-                                      node: PGtkRBNode,
-                                      clip_rect: PGdkRectangle){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_queue_draw_node".}
-proc gtk_tree_view_column_realize_button*(column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_column_realize_button".}
-proc gtk_tree_view_column_unrealize_button*(column: PGtkTreeViewColumn){.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_unrealize_button".}
-proc gtk_tree_view_column_set_tree_view*(column: PGtkTreeViewColumn,
-    tree_view: PGtkTreeView){.cdecl, dynlib: gtklib,
-                              importc: "_gtk_tree_view_column_set_tree_view".}
-proc gtk_tree_view_column_unset_tree_view*(column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_column_unset_tree_view".}
-proc gtk_tree_view_column_set_width*(column: PGtkTreeViewColumn, width: gint){.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_set_width".}
-proc gtk_tree_view_column_start_drag*(tree_view: PGtkTreeView,
-                                        column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_column_start_drag".}
-proc gtk_tree_view_column_start_editing*(tree_column: PGtkTreeViewColumn,
-    editable_widget: PGtkCellEditable){.cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_start_editing".}
-proc gtk_tree_view_column_stop_editing*(tree_column: PGtkTreeViewColumn){.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_stop_editing".}
-proc gtk_tree_view_install_mark_rows_col_dirty*(tree_view: PGtkTreeView){.
-    cdecl, dynlib: gtklib,
-    importc: "_gtk_tree_view_install_mark_rows_col_dirty".}
-proc DOgtk_tree_view_column_autosize*(tree_view: PGtkTreeView,
-                                      column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_column_autosize".}
-proc gtk_tree_view_column_has_editable_cell*(column: PGtkTreeViewColumn): gboolean{.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_has_editable_cell".}
-proc gtk_tree_view_column_get_edited_cell*(column: PGtkTreeViewColumn): PGtkCellRenderer{.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_get_edited_cell".}
-proc gtk_tree_view_column_count_special_cells*(column: PGtkTreeViewColumn): gint{.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_count_special_cells".}
-proc gtk_tree_view_column_get_cell_at_pos*(column: PGtkTreeViewColumn, x: gint): PGtkCellRenderer{.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_get_cell_at_pos".}
-proc gtk_tree_selection_new*(): PGtkTreeSelection{.cdecl, dynlib: gtklib,
-    importc: "_gtk_tree_selection_new".}
-proc gtk_tree_selection_new_with_tree_view*(tree_view: PGtkTreeView): PGtkTreeSelection{.
-    cdecl, dynlib: gtklib, importc: "_gtk_tree_selection_new_with_tree_view".}
-proc gtk_tree_selection_set_tree_view*(selection: PGtkTreeSelection,
-    tree_view: PGtkTreeView){.cdecl, dynlib: gtklib,
-                              importc: "_gtk_tree_selection_set_tree_view".}
-proc gtk_tree_view_column_cell_render*(tree_column: PGtkTreeViewColumn,
-    window: PGdkWindow, background_area: PGdkRectangle,
-    cell_area: PGdkRectangle, expose_area: PGdkRectangle, flags: guint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_column_cell_render".}
-proc gtk_tree_view_column_cell_focus*(tree_column: PGtkTreeViewColumn,
-                                        direction: gint, left: gboolean,
-                                        right: gboolean): gboolean{.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_column_cell_focus".}
-proc gtk_tree_view_column_cell_draw_focus*(tree_column: PGtkTreeViewColumn,
-    window: PGdkWindow, background_area: PGdkRectangle,
-    cell_area: PGdkRectangle, expose_area: PGdkRectangle, flags: guint){.cdecl,
-    dynlib: gtklib, importc: "_gtk_tree_view_column_cell_draw_focus".}
-proc gtk_tree_view_column_cell_set_dirty*(tree_column: PGtkTreeViewColumn,
-    install_handler: gboolean){.cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_cell_set_dirty".}
-proc gtk_tree_view_column_get_neighbor_sizes*(column: PGtkTreeViewColumn,
-    cell: PGtkCellRenderer, left: Pgint, right: Pgint){.cdecl, dynlib: gtklib,
-    importc: "_gtk_tree_view_column_get_neighbor_sizes".}
-proc GTK_TYPE_TREE_VIEW*(): GType
-proc GTK_TREE_VIEW*(obj: pointer): PGtkTreeView
-proc GTK_TREE_VIEW_CLASS*(klass: pointer): PGtkTreeViewClass
-proc GTK_IS_TREE_VIEW*(obj: pointer): bool
-proc GTK_IS_TREE_VIEW_CLASS*(klass: pointer): bool
-proc GTK_TREE_VIEW_GET_CLASS*(obj: pointer): PGtkTreeViewClass
-proc gtk_tree_view_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_get_type".}
-proc gtk_tree_view_new*(): PGtkTreeView{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_tree_view_new".}
-proc gtk_tree_view_new_with_model*(model: PGtkTreeModel): PGtkTreeView{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_new_with_model".}
-proc gtk_tree_view_get_model*(tree_view: PGtkTreeView): PGtkTreeModel{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_model".}
-proc gtk_tree_view_set_model*(tree_view: PGtkTreeView, model: PGtkTreeModel){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_model".}
-proc gtk_tree_view_get_selection*(tree_view: PGtkTreeView): PGtkTreeSelection{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_selection".}
-proc gtk_tree_view_get_hadjustment*(tree_view: PGtkTreeView): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_hadjustment".}
-proc gtk_tree_view_set_hadjustment*(tree_view: PGtkTreeView,
-                                    adjustment: PGtkAdjustment){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_set_hadjustment".}
-proc gtk_tree_view_get_vadjustment*(tree_view: PGtkTreeView): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_vadjustment".}
-proc gtk_tree_view_set_vadjustment*(tree_view: PGtkTreeView,
-                                    adjustment: PGtkAdjustment){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_set_vadjustment".}
-proc gtk_tree_view_get_headers_visible*(tree_view: PGtkTreeView): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_headers_visible".}
-proc gtk_tree_view_set_headers_visible*(tree_view: PGtkTreeView,
-                                        headers_visible: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_set_headers_visible".}
-proc gtk_tree_view_columns_autosize*(tree_view: PGtkTreeView){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_columns_autosize".}
-proc gtk_tree_view_set_headers_clickable*(tree_view: PGtkTreeView,
-    setting: gboolean){.cdecl, dynlib: gtklib,
-                        importc: "gtk_tree_view_set_headers_clickable".}
-proc gtk_tree_view_set_rules_hint*(tree_view: PGtkTreeView, setting: gboolean){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_rules_hint".}
-proc gtk_tree_view_get_rules_hint*(tree_view: PGtkTreeView): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_rules_hint".}
-proc gtk_tree_view_append_column*(tree_view: PGtkTreeView,
-                                  column: PGtkTreeViewColumn): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_append_column".}
-proc gtk_tree_view_remove_column*(tree_view: PGtkTreeView,
-                                  column: PGtkTreeViewColumn): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_remove_column".}
-proc gtk_tree_view_insert_column*(tree_view: PGtkTreeView,
-                                  column: PGtkTreeViewColumn, position: gint): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_insert_column".}
-proc gtk_tree_view_insert_column_with_data_func*(tree_view: PGtkTreeView,
-    position: gint, title: cstring, cell: PGtkCellRenderer,
-    fun: TGtkTreeCellDataFunc, data: gpointer, dnotify: TGDestroyNotify): gint{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_insert_column_with_data_func".}
-proc gtk_tree_view_get_column*(tree_view: PGtkTreeView, n: gint): PGtkTreeViewColumn{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_column".}
-proc gtk_tree_view_get_columns*(tree_view: PGtkTreeView): PGList{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_columns".}
-proc gtk_tree_view_move_column_after*(tree_view: PGtkTreeView,
-                                      column: PGtkTreeViewColumn,
-                                      base_column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_move_column_after".}
-proc gtk_tree_view_set_expander_column*(tree_view: PGtkTreeView,
-                                        column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_set_expander_column".}
-proc gtk_tree_view_get_expander_column*(tree_view: PGtkTreeView): PGtkTreeViewColumn{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_expander_column".}
-proc gtk_tree_view_set_column_drag_function*(tree_view: PGtkTreeView,
-    fun: TGtkTreeViewColumnDropFunc, user_data: gpointer,
-    destroy: TGtkDestroyNotify){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_column_drag_function".}
-proc gtk_tree_view_scroll_to_point*(tree_view: PGtkTreeView, tree_x: gint,
-                                    tree_y: gint){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_scroll_to_point".}
-proc gtk_tree_view_scroll_to_cell*(tree_view: PGtkTreeView, path: PGtkTreePath,
-                                   column: PGtkTreeViewColumn,
-                                   use_align: gboolean, row_align: gfloat,
-                                   col_align: gfloat){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_scroll_to_cell".}
-proc gtk_tree_view_row_activated*(tree_view: PGtkTreeView, path: PGtkTreePath,
-                                  column: PGtkTreeViewColumn){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_row_activated".}
-proc gtk_tree_view_expand_all*(tree_view: PGtkTreeView){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_expand_all".}
-proc gtk_tree_view_collapse_all*(tree_view: PGtkTreeView){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_collapse_all".}
-proc gtk_tree_view_expand_row*(tree_view: PGtkTreeView, path: PGtkTreePath,
-                               open_all: gboolean): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_expand_row".}
-proc gtk_tree_view_collapse_row*(tree_view: PGtkTreeView, path: PGtkTreePath): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_collapse_row".}
-proc gtk_tree_view_map_expanded_rows*(tree_view: PGtkTreeView,
-                                      fun: TGtkTreeViewMappingFunc,
-                                      data: gpointer){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_map_expanded_rows".}
-proc gtk_tree_view_row_expanded*(tree_view: PGtkTreeView, path: PGtkTreePath): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_row_expanded".}
-proc gtk_tree_view_set_reorderable*(tree_view: PGtkTreeView,
-                                    reorderable: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_set_reorderable".}
-proc gtk_tree_view_get_reorderable*(tree_view: PGtkTreeView): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_reorderable".}
-proc gtk_tree_view_set_cursor*(tree_view: PGtkTreeView, path: PGtkTreePath,
-                               focus_column: PGtkTreeViewColumn,
-                               start_editing: gboolean){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_set_cursor".}
-proc gtk_tree_view_set_cursor_on_cell*(tree_view: PGtkTreeView,
-                                       path: PGtkTreePath,
-                                       focus_column: PGtkTreeViewColumn,
-                                       focus_cell: PGtkCellRenderer,
-                                       start_editing: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_set_cursor_on_cell".}
-proc gtk_tree_view_get_bin_window*(tree_view: PGtkTreeView): PGdkWindow{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_bin_window".}
-proc gtk_tree_view_get_cell_area*(tree_view: PGtkTreeView, path: PGtkTreePath,
-                                  column: PGtkTreeViewColumn,
-                                  rect: PGdkRectangle){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_get_cell_area".}
-proc gtk_tree_view_get_background_area*(tree_view: PGtkTreeView,
-                                        path: PGtkTreePath,
-                                        column: PGtkTreeViewColumn,
-                                        rect: PGdkRectangle){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_background_area".}
-proc gtk_tree_view_get_visible_rect*(tree_view: PGtkTreeView,
-                                     visible_rect: PGdkRectangle){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_visible_rect".}
-proc gtk_tree_view_widget_to_tree_coords*(tree_view: PGtkTreeView, wx: gint,
-    wy: gint, tx: Pgint, ty: Pgint){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_widget_to_tree_coords".}
-proc gtk_tree_view_tree_to_widget_coords*(tree_view: PGtkTreeView, tx: gint,
-    ty: gint, wx: Pgint, wy: Pgint){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_tree_to_widget_coords".}
-proc gtk_tree_view_enable_model_drag_source*(tree_view: PGtkTreeView,
-    start_button_mask: TGdkModifierType, targets: PGtkTargetEntry,
-    n_targets: gint, actions: TGdkDragAction){.cdecl, dynlib: gtklib,
-    importc: "gtk_tree_view_enable_model_drag_source".}
-proc gtk_tree_view_enable_model_drag_dest*(tree_view: PGtkTreeView,
-    targets: PGtkTargetEntry, n_targets: gint, actions: TGdkDragAction){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_enable_model_drag_dest".}
-proc gtk_tree_view_unset_rows_drag_source*(tree_view: PGtkTreeView){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_unset_rows_drag_source".}
-proc gtk_tree_view_unset_rows_drag_dest*(tree_view: PGtkTreeView){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_unset_rows_drag_dest".}
-proc gtk_tree_view_set_drag_dest_row*(tree_view: PGtkTreeView,
-                                      path: PGtkTreePath,
-                                      pos: TGtkTreeViewDropPosition){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_set_drag_dest_row".}
-proc gtk_tree_view_create_row_drag_icon*(tree_view: PGtkTreeView,
-    path: PGtkTreePath): PGdkPixmap{.cdecl, dynlib: gtklib, importc: "gtk_tree_view_create_row_drag_icon".}
-proc gtk_tree_view_set_enable_search*(tree_view: PGtkTreeView,
-                                      enable_search: gboolean){.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_set_enable_search".}
-proc gtk_tree_view_get_enable_search*(tree_view: PGtkTreeView): gboolean{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_enable_search".}
-proc gtk_tree_view_get_search_column*(tree_view: PGtkTreeView): gint{.cdecl,
-    dynlib: gtklib, importc: "gtk_tree_view_get_search_column".}
-proc gtk_tree_view_set_search_column*(tree_view: PGtkTreeView, column: gint){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_search_column".}
-proc gtk_tree_view_get_search_equal_func*(tree_view: PGtkTreeView): TGtkTreeViewSearchEqualFunc{.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_search_equal_func".}
-proc gtk_tree_view_set_search_equal_func*(tree_view: PGtkTreeView,
-    search_equal_func: TGtkTreeViewSearchEqualFunc, search_user_data: gpointer,
-    search_destroy: TGtkDestroyNotify){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_search_equal_func".}
-proc gtk_tree_view_set_destroy_count_func*(tree_view: PGtkTreeView,
-    fun: TGtkTreeDestroyCountFunc, data: gpointer, destroy: TGtkDestroyNotify){.
-    cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_destroy_count_func".}
-proc GTK_TYPE_VBUTTON_BOX*(): GType
-proc GTK_VBUTTON_BOX*(obj: pointer): PGtkVButtonBox
-proc GTK_VBUTTON_BOX_CLASS*(klass: pointer): PGtkVButtonBoxClass
-proc GTK_IS_VBUTTON_BOX*(obj: pointer): bool
-proc GTK_IS_VBUTTON_BOX_CLASS*(klass: pointer): bool
-proc GTK_VBUTTON_BOX_GET_CLASS*(obj: pointer): PGtkVButtonBoxClass
-proc gtk_vbutton_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_vbutton_box_get_type".}
-proc gtk_vbutton_box_new*(): PGtkVButtonBox{.cdecl, dynlib: gtklib,
-    importc: "gtk_vbutton_box_new".}
-proc GTK_TYPE_VIEWPORT*(): GType
-proc GTK_VIEWPORT*(obj: pointer): PGtkViewport
-proc GTK_VIEWPORT_CLASS*(klass: pointer): PGtkViewportClass
-proc GTK_IS_VIEWPORT*(obj: pointer): bool
-proc GTK_IS_VIEWPORT_CLASS*(klass: pointer): bool
-proc GTK_VIEWPORT_GET_CLASS*(obj: pointer): PGtkViewportClass
-proc gtk_viewport_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_viewport_get_type".}
-proc gtk_viewport_new*(hadjustment: PGtkAdjustment, vadjustment: PGtkAdjustment): PGtkViewport{.
-    cdecl, dynlib: gtklib, importc: "gtk_viewport_new".}
-proc gtk_viewport_get_hadjustment*(viewport: PGtkViewport): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_viewport_get_hadjustment".}
-proc gtk_viewport_get_vadjustment*(viewport: PGtkViewport): PGtkAdjustment{.
-    cdecl, dynlib: gtklib, importc: "gtk_viewport_get_vadjustment".}
-proc gtk_viewport_set_hadjustment*(viewport: PGtkViewport,
-                                   adjustment: PGtkAdjustment){.cdecl,
-    dynlib: gtklib, importc: "gtk_viewport_set_hadjustment".}
-proc gtk_viewport_set_vadjustment*(viewport: PGtkViewport,
-                                   adjustment: PGtkAdjustment){.cdecl,
-    dynlib: gtklib, importc: "gtk_viewport_set_vadjustment".}
-proc gtk_viewport_set_shadow_type*(viewport: PGtkViewport,
-                                   thetype: TGtkShadowType){.cdecl,
-    dynlib: gtklib, importc: "gtk_viewport_set_shadow_type".}
-proc gtk_viewport_get_shadow_type*(viewport: PGtkViewport): TGtkShadowType{.
-    cdecl, dynlib: gtklib, importc: "gtk_viewport_get_shadow_type".}
-proc GTK_TYPE_VPANED*(): GType
-proc GTK_VPANED*(obj: pointer): PGtkVPaned
-proc GTK_VPANED_CLASS*(klass: pointer): PGtkVPanedClass
-proc GTK_IS_VPANED*(obj: pointer): bool
-proc GTK_IS_VPANED_CLASS*(klass: pointer): bool
-proc GTK_VPANED_GET_CLASS*(obj: pointer): PGtkVPanedClass
-proc gtk_vpaned_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_vpaned_get_type".}
-proc gtk_vpaned_new*(): PGtkVPaned{.cdecl, dynlib: gtklib,
-                                    importc: "gtk_vpaned_new".}
-proc GTK_TYPE_VRULER*(): GType
-proc GTK_VRULER*(obj: pointer): PGtkVRuler
-proc GTK_VRULER_CLASS*(klass: pointer): PGtkVRulerClass
-proc GTK_IS_VRULER*(obj: pointer): bool
-proc GTK_IS_VRULER_CLASS*(klass: pointer): bool
-proc GTK_VRULER_GET_CLASS*(obj: pointer): PGtkVRulerClass
-proc gtk_vruler_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_vruler_get_type".}
-proc gtk_vruler_new*(): PGtkVRuler{.cdecl, dynlib: gtklib,
-                                    importc: "gtk_vruler_new".}
-proc GTK_TYPE_VSCALE*(): GType
-proc GTK_VSCALE*(obj: pointer): PGtkVScale
-proc GTK_VSCALE_CLASS*(klass: pointer): PGtkVScaleClass
-proc GTK_IS_VSCALE*(obj: pointer): bool
-proc GTK_IS_VSCALE_CLASS*(klass: pointer): bool
-proc GTK_VSCALE_GET_CLASS*(obj: pointer): PGtkVScaleClass
-proc gtk_vscale_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-                                       importc: "gtk_vscale_get_type".}
-proc gtk_vscale_new*(adjustment: PGtkAdjustment): PGtkVScale{.cdecl,
-    dynlib: gtklib, importc: "gtk_vscale_new".}
-proc gtk_vscale_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PGtkVScale{.
-    cdecl, dynlib: gtklib, importc: "gtk_vscale_new_with_range".}
-proc GTK_TYPE_VSCROLLBAR*(): GType
-proc GTK_VSCROLLBAR*(obj: pointer): PGtkVScrollbar
-proc GTK_VSCROLLBAR_CLASS*(klass: pointer): PGtkVScrollbarClass
-proc GTK_IS_VSCROLLBAR*(obj: pointer): bool
-proc GTK_IS_VSCROLLBAR_CLASS*(klass: pointer): bool
-proc GTK_VSCROLLBAR_GET_CLASS*(obj: pointer): PGtkVScrollbarClass
-proc gtk_vscrollbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_vscrollbar_get_type".}
-proc gtk_vscrollbar_new*(adjustment: PGtkAdjustment): PGtkVScrollbar{.cdecl,
-    dynlib: gtklib, importc: "gtk_vscrollbar_new".}
-proc GTK_TYPE_VSEPARATOR*(): GType
-proc GTK_VSEPARATOR*(obj: pointer): PGtkVSeparator
-proc GTK_VSEPARATOR_CLASS*(klass: pointer): PGtkVSeparatorClass
-proc GTK_IS_VSEPARATOR*(obj: pointer): bool
-proc GTK_IS_VSEPARATOR_CLASS*(klass: pointer): bool
-proc GTK_VSEPARATOR_GET_CLASS*(obj: pointer): PGtkVSeparatorClass
-proc gtk_vseparator_get_type*(): TGtkType{.cdecl, dynlib: gtklib,
-    importc: "gtk_vseparator_get_type".}
-proc gtk_vseparator_new*(): PGtkVSeparator{.cdecl, dynlib: gtklib,
-                                        importc: "gtk_vseparator_new".}
-proc GTK_TYPE_OBJECT*(): GType =
-  result = gtk_object_get_type()
-
-proc GTK_CHECK_CAST*(instance: Pointer, g_type: GType): PGTypeInstance =
-  result = G_TYPE_CHECK_INSTANCE_CAST(instance, g_type)
-
-proc GTK_CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer =
-  result = G_TYPE_CHECK_CLASS_CAST(g_class, g_type)
-
-proc GTK_CHECK_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass =
-  result = G_TYPE_INSTANCE_GET_CLASS(instance, g_type)
-
-proc GTK_CHECK_TYPE*(instance: Pointer, g_type: GType): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type)
-
-proc GTK_CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(g_class, g_type)
-
-proc GTK_OBJECT*(anObject: pointer): PGtkObject =
-  result = cast[PGtkObject](GTK_CHECK_CAST(anObject, GTK_TYPE_OBJECT()))
-
-proc GTK_OBJECT_CLASS*(klass: pointer): PGtkObjectClass =
-  result = cast[PGtkObjectClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_OBJECT()))
-
-proc GTK_IS_OBJECT*(anObject: pointer): bool =
-  result = GTK_CHECK_TYPE(anObject, GTK_TYPE_OBJECT())
-
-proc GTK_IS_OBJECT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OBJECT())
-
-proc GTK_OBJECT_GET_CLASS*(anObject: pointer): PGtkObjectClass =
-  result = cast[PGtkObjectClass](GTK_CHECK_GET_CLASS(anObject, GTK_TYPE_OBJECT()))
-
-proc GTK_OBJECT_TYPE*(anObject: pointer): GType =
-  result = G_TYPE_FROM_INSTANCE(anObject)
-
-proc GTK_OBJECT_TYPE_NAME*(anObject: pointer): cstring =
-  result = g_type_name(GTK_OBJECT_TYPE(anObject))
-
-proc GTK_OBJECT_FLAGS*(obj: pointer): guint32 =
-  result = (GTK_OBJECT(obj)).flags
-
-proc GTK_OBJECT_FLOATING*(obj: pointer): gboolean =
-  result = ((GTK_OBJECT_FLAGS(obj)) and cint(GTK_FLOATING)) != 0'i32
-
-proc GTK_OBJECT_SET_FLAGS*(obj: pointer, flag: guint32) =
-  GTK_OBJECT(obj).flags = GTK_OBJECT(obj).flags or flag
-
-proc GTK_OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32) =
-  GTK_OBJECT(obj) . flags = GTK_OBJECT(obj). flags and not (flag)
-
-proc gtk_object_data_try_key*(`string`: cstring): TGQuark =
-  result = g_quark_try_string(`string`)
-
-proc gtk_object_data_force_id*(`string`: cstring): TGQuark =
-  result = g_quark_from_string(`string`)
-
-proc GTK_CLASS_NAME*(`class`: pointer): cstring =
-  result = g_type_name(G_TYPE_FROM_CLASS(`class`))
-
-proc GTK_CLASS_TYPE*(`class`: pointer): GType =
-  result = G_TYPE_FROM_CLASS(`class`)
-
-proc GTK_TYPE_IS_OBJECT*(thetype: GType): gboolean =
-  result = g_type_is_a(thetype, GTK_TYPE_OBJECT())
-
-proc GTK_TYPE_IDENTIFIER*(): GType =
-  result = gtk_identifier_get_type()
-
-proc GTK_SIGNAL_FUNC*(f: pointer): TGtkSignalFunc =
-  result = cast[TGtkSignalFunc](f)
-
-proc gtk_type_name*(thetype: GType): cstring =
-  result = g_type_name(thetype)
-
-proc gtk_type_from_name*(name: cstring): GType =
-  result = g_type_from_name(name)
-
-proc gtk_type_parent*(thetype: GType): GType =
-  result = g_type_parent(thetype)
-
-proc gtk_type_is_a*(thetype, is_a_type: GType): gboolean =
-  result = g_type_is_a(thetype, is_a_type)
-
-proc GTK_FUNDAMENTAL_TYPE*(thetype: GType): GType =
-  result = G_TYPE_FUNDAMENTAL(thetype)
-
-proc GTK_VALUE_CHAR*(a: TGtkArg): gchar =
-  var a = a
-  Result = cast[ptr gchar](addr(a.d))^
-
-proc GTK_VALUE_UCHAR*(a: TGtkArg): guchar =
-  var a = a
-  Result = cast[ptr guchar](addr(a.d))^
-
-proc GTK_VALUE_BOOL*(a: TGtkArg): gboolean =
-  var a = a
-  Result = cast[ptr gboolean](addr(a.d))^
-
-proc GTK_VALUE_INT*(a: TGtkArg): gint =
-  var a = a
-  Result = cast[ptr gint](addr(a.d))^
-
-proc GTK_VALUE_UINT*(a: TGtkArg): guint =
-  var a = a
-  Result = cast[ptr guint](addr(a.d))^
-
-proc GTK_VALUE_LONG*(a: TGtkArg): glong =
-  var a = a
-  Result = cast[ptr glong](addr(a.d))^
-
-proc GTK_VALUE_ULONG*(a: TGtkArg): gulong =
-  var a = a
-  Result = cast[ptr gulong](addr(a.d))^
-
-proc GTK_VALUE_FLOAT*(a: TGtkArg): gfloat =
-  var a = a
-  Result = cast[ptr gfloat](addr(a.d))^
-
-proc GTK_VALUE_DOUBLE*(a: TGtkArg): gdouble =
-  var a = a
-  Result = cast[ptr gdouble](addr(a.d))^
-
-proc GTK_VALUE_STRING*(a: TGtkArg): cstring =
-  var a = a
-  Result = cast[ptr cstring](addr(a.d))^
-
-proc GTK_VALUE_ENUM*(a: TGtkArg): gint =
-  var a = a
-  Result = cast[ptr gint](addr(a.d))^
-
-proc GTK_VALUE_FLAGS*(a: TGtkArg): guint =
-  var a = a
-  Result = cast[ptr guint](addr(a.d))^
-
-proc GTK_VALUE_BOXED*(a: TGtkArg): gpointer =
-  var a = a
-  Result = cast[ptr gpointer](addr(a.d))^
-
-proc GTK_VALUE_OBJECT*(a: TGtkArg): PGtkObject =
-  var a = a
-  Result = cast[ptr PGtkObject](addr(a.d))^
-
-proc GTK_VALUE_POINTER*(a: TGtkArg): GPointer =
-  var a = a
-  Result = cast[ptr gpointer](addr(a.d))^
-
-proc GTK_VALUE_SIGNAL*(a: TGtkArg): TGtkArgSignalData =
-  var a = a
-  Result = cast[ptr TGtkArgSignalData](addr(a.d))^
-
-proc GTK_RETLOC_CHAR*(a: TGtkArg): cstring =
-  var a = a
-  Result = cast[ptr cstring](addr(a.d))^
-
-proc GTK_RETLOC_UCHAR*(a: TGtkArg): Pguchar =
-  var a = a
-  Result = cast[ptr pguchar](addr(a.d))^
-
-proc GTK_RETLOC_BOOL*(a: TGtkArg): Pgboolean =
-  var a = a
-  Result = cast[ptr pgboolean](addr(a.d))^
-
-proc GTK_RETLOC_INT*(a: TGtkArg): Pgint =
-  var a = a
-  Result = cast[ptr pgint](addr(a.d))^
-
-proc GTK_RETLOC_UINT*(a: TGtkArg): Pguint =
-  var a = a
-  Result = cast[ptr pguint](addr(a.d))^
-
-proc GTK_RETLOC_LONG*(a: TGtkArg): Pglong =
-  var a = a
-  Result = cast[ptr pglong](addr(a.d))^
-
-proc GTK_RETLOC_ULONG*(a: TGtkArg): Pgulong =
-  var a = a
-  Result = cast[ptr pgulong](addr(a.d))^
-
-proc GTK_RETLOC_FLOAT*(a: TGtkArg): Pgfloat =
-  var a = a
-  Result = cast[ptr pgfloat](addr(a.d))^
-
-proc GTK_RETLOC_DOUBLE*(a: TGtkArg): Pgdouble =
-  var a = a
-  Result = cast[ptr pgdouble](addr(a.d))^
-
-proc GTK_RETLOC_STRING*(a: TGtkArg): Ppgchar =
-  var a = a
-  Result = cast[ptr Ppgchar](addr(a.d))^
-
-proc GTK_RETLOC_ENUM*(a: TGtkArg): Pgint =
-  var a = a
-  Result = cast[ptr Pgint](addr(a.d))^
-
-proc GTK_RETLOC_FLAGS*(a: TGtkArg): Pguint =
-  var a = a
-  Result = cast[ptr pguint](addr(a.d))^
-
-proc GTK_RETLOC_BOXED*(a: TGtkArg): Pgpointer =
-  var a = a
-  Result = cast[ptr pgpointer](addr(a.d))^
-
-proc GTK_RETLOC_OBJECT*(a: TGtkArg): PPGtkObject =
-  var a = a
-  Result = cast[ptr ppgtkobject](addr(a.d))^
-
-proc GTK_RETLOC_POINTER*(a: TGtkArg): Pgpointer =
-  var a = a
-  Result = cast[ptr pgpointer](addr(a.d))^
-
-proc GTK_TYPE_WIDGET*(): GType =
-  result = gtk_widget_get_type()
-
-proc GTK_WIDGET*(widget: pointer): PGtkWidget =
-  result = cast[PGtkWidget](GTK_CHECK_CAST(widget, GTK_TYPE_WIDGET()))
-
-proc GTK_WIDGET_CLASS*(klass: pointer): PGtkWidgetClass =
-  result = cast[PGtkWidgetClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_WIDGET()))
-
-proc GTK_IS_WIDGET*(widget: pointer): bool =
-  result = GTK_CHECK_TYPE(widget, GTK_TYPE_WIDGET())
-
-proc GTK_IS_WIDGET_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_WIDGET())
-
-proc GTK_WIDGET_GET_CLASS*(obj: pointer): PGtkWidgetClass =
-  result = cast[PGtkWidgetClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_WIDGET()))
-
-proc GTK_WIDGET_TYPE*(wid: pointer): GType =
-  result = GTK_OBJECT_TYPE(wid)
-
-proc GTK_WIDGET_STATE*(wid: pointer): int32 =
-  result = (GTK_WIDGET(wid)) . state
-
-proc GTK_WIDGET_SAVED_STATE*(wid: pointer): int32 =
-  result = (GTK_WIDGET(wid)) . saved_state
-
-proc GTK_WIDGET_FLAGS*(wid: pointer): guint32 =
-  result = GTK_OBJECT_FLAGS(wid)
-
-proc GTK_WIDGET_TOPLEVEL*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_TOPLEVEL)) != 0'i32
-
-proc GTK_WIDGET_NO_WINDOW*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_NO_WINDOW)) != 0'i32
-
-proc GTK_WIDGET_REALIZED*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_REALIZED)) != 0'i32
-
-proc GTK_WIDGET_MAPPED*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_MAPPED)) != 0'i32
-
-proc GTK_WIDGET_VISIBLE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_VISIBLE)) != 0'i32
-
-proc GTK_WIDGET_DRAWABLE*(wid: pointer): gboolean =
-  result = (GTK_WIDGET_VISIBLE(wid)) and (GTK_WIDGET_MAPPED(wid))
-
-proc GTK_WIDGET_SENSITIVE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_SENSITIVE)) != 0'i32
-
-proc GTK_WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_PARENT_SENSITIVE)) != 0'i32
-
-proc GTK_WIDGET_IS_SENSITIVE*(wid: pointer): gboolean =
-  result = (GTK_WIDGET_SENSITIVE(wid)) and (GTK_WIDGET_PARENT_SENSITIVE(wid))
-
-proc GTK_WIDGET_CAN_FOCUS*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_CAN_FOCUS)) != 0'i32
-
-proc GTK_WIDGET_HAS_FOCUS*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_FOCUS)) != 0'i32
-
-proc GTK_WIDGET_CAN_DEFAULT*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_CAN_DEFAULT)) != 0'i32
-
-proc GTK_WIDGET_HAS_DEFAULT*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_DEFAULT)) != 0'i32
-
-proc GTK_WIDGET_HAS_GRAB*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_GRAB)) != 0'i32
-
-proc GTK_WIDGET_RC_STYLE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_RC_STYLE)) != 0'i32
-
-proc GTK_WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_COMPOSITE_CHILD)) != 0'i32
-
-proc GTK_WIDGET_APP_PAINTABLE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_APP_PAINTABLE)) != 0'i32
-
-proc GTK_WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_RECEIVES_DEFAULT)) != 0'i32
-
-proc GTK_WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_DOUBLE_BUFFERED)) != 0'i32
-
-proc GTK_TYPE_REQUISITION*(): GType =
-  result = gtk_requisition_get_type()
-
-proc x_set*(a: var TGtkWidgetAuxInfo): guint =
-  result = (a.flag0 and bm_TGtkWidgetAuxInfo_x_set) shr
-      bp_TGtkWidgetAuxInfo_x_set
-
-proc set_x_set*(a: var TGtkWidgetAuxInfo, `x_set`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`x_set` shl bp_TGtkWidgetAuxInfo_x_set) and
-      bm_TGtkWidgetAuxInfo_x_set)
-
-proc y_set*(a: var TGtkWidgetAuxInfo): guint =
-  result = (a.flag0 and bm_TGtkWidgetAuxInfo_y_set) shr
-      bp_TGtkWidgetAuxInfo_y_set
-
-proc set_y_set*(a: var TGtkWidgetAuxInfo, `y_set`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`y_set` shl bp_TGtkWidgetAuxInfo_y_set) and
-      bm_TGtkWidgetAuxInfo_y_set)
-
-proc gtk_widget_set_visual*(widget, visual: pointer) =
-  if (Widget != nil) and (visual != nil): nil
-
-proc gtk_widget_push_visual*(visual: pointer) =
-  if (visual != nil): nil
-
-proc gtk_widget_pop_visual*() =
-  nil
-
-proc gtk_widget_set_default_visual*(visual: pointer) =
-  if (visual != nil): nil
-
-proc gtk_widget_set_rc_style*(widget: pointer) =
-  gtk_widget_set_style(cast[PGtkWidget](widget), nil)
-
-proc gtk_widget_restore_default_style*(widget: pointer) =
-  gtk_widget_set_style(cast[PGtkWidget](widget), nil)
-
-proc GTK_WIDGET_SET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags =
-  cast[pGtkObject](wid).flags = cast[pGtkObject](wid).flags or (flags)
-  result = cast[pGtkObject](wid).flags
-
-proc GTK_WIDGET_UNSET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags =
-  cast[pGtkObject](wid).flags = cast[pGtkObject](wid).flags and (not (flags))
-  result = cast[pGtkObject](wid).flags
-
-proc GTK_TYPE_MISC*(): GType =
-  result = gtk_misc_get_type()
-
-proc GTK_MISC*(obj: pointer): PGtkMisc =
-  result = cast[PGtkMisc](GTK_CHECK_CAST(obj, GTK_TYPE_MISC()))
-
-proc GTK_MISC_CLASS*(klass: pointer): PGtkMiscClass =
-  result = cast[PGtkMiscClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MISC()))
-
-proc GTK_IS_MISC*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MISC())
-
-proc GTK_IS_MISC_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MISC())
-
-proc GTK_MISC_GET_CLASS*(obj: pointer): PGtkMiscClass =
-  result = cast[PGtkMiscClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MISC()))
-
-proc GTK_TYPE_ACCEL_GROUP*(): GType =
-  result = gtk_accel_group_get_type()
-
-proc GTK_ACCEL_GROUP*(anObject: pointer): PGtkAccelGroup =
-  result = cast[PGtkAccelGroup](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      GTK_TYPE_ACCEL_GROUP()))
-
-proc GTK_ACCEL_GROUP_CLASS*(klass: pointer): PGtkAccelGroupClass =
-  result = cast[PGtkAccelGroupClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_ACCEL_GROUP()))
-
-proc GTK_IS_ACCEL_GROUP*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_ACCEL_GROUP())
-
-proc GTK_IS_ACCEL_GROUP_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCEL_GROUP())
-
-proc GTK_ACCEL_GROUP_GET_CLASS*(obj: pointer): PGtkAccelGroupClass =
-  result = cast[PGtkAccelGroupClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GTK_TYPE_ACCEL_GROUP()))
-
-proc accel_flags*(a: var TGtkAccelKey): guint =
-  result = (a.flag0 and bm_TGtkAccelKey_accel_flags) shr
-      bp_TGtkAccelKey_accel_flags
-
-proc set_accel_flags*(a: var TGtkAccelKey, `accel_flags`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`accel_flags` shl bp_TGtkAccelKey_accel_flags) and
-      bm_TGtkAccelKey_accel_flags)
-
-proc gtk_accel_group_ref*(AccelGroup: PGtkAccelGroup) =
-  discard g_object_ref(AccelGroup)
-
-proc gtk_accel_group_unref*(AccelGroup: PGtkAccelGroup) =
-  g_object_unref(AccelGroup)
-
-proc GTK_TYPE_CONTAINER*(): GType =
-  result = gtk_container_get_type()
-
-proc GTK_CONTAINER*(obj: pointer): PGtkContainer =
-  result = cast[PGtkContainer](GTK_CHECK_CAST(obj, GTK_TYPE_CONTAINER()))
-
-proc GTK_CONTAINER_CLASS*(klass: pointer): PGtkContainerClass =
-  result = cast[PGtkContainerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CONTAINER()))
-
-proc GTK_IS_CONTAINER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CONTAINER())
-
-proc GTK_IS_CONTAINER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CONTAINER())
-
-proc GTK_CONTAINER_GET_CLASS*(obj: pointer): PGtkContainerClass =
-  result = cast[PGtkContainerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CONTAINER()))
-
-proc GTK_IS_RESIZE_CONTAINER*(widget: pointer): bool =
-  result = (GTK_IS_CONTAINER(widget)) and
-      ((resize_mode(cast[PGtkContainer](widget))) != cint(GTK_RESIZE_PARENT))
-
-proc border_width*(a: var TGtkContainer): guint =
-  result = (a.GtkContainer_flag0 and bm_TGtkContainer_border_width) shr
-      bp_TGtkContainer_border_width
-
-proc set_border_width*(a: var TGtkContainer, `border_width`: guint) =
-  a.GtkContainer_flag0 = a.GtkContainer_flag0 or
-      ((`border_width` shl bp_TGtkContainer_border_width) and
-      bm_TGtkContainer_border_width)
-
-proc need_resize*(a: var TGtkContainer): guint =
-  result = (a.GtkContainer_flag0 and bm_TGtkContainer_need_resize) shr
-      bp_TGtkContainer_need_resize
-
-proc set_need_resize*(a: var TGtkContainer, `need_resize`: guint) =
-  a.GtkContainer_flag0 = a.GtkContainer_flag0 or
-      ((`need_resize` shl bp_TGtkContainer_need_resize) and
-      bm_TGtkContainer_need_resize)
-
-proc resize_mode*(a: PGtkContainer): guint =
-  result = (a.GtkContainer_flag0 and bm_TGtkContainer_resize_mode) shr
-      bp_TGtkContainer_resize_mode
-
-proc set_resize_mode*(a: var TGtkContainer, `resize_mode`: guint) =
-  a.GtkContainerflag0 = a.GtkContainerflag0 or
-      ((`resize_mode` shl bp_TGtkContainer_resize_mode) and
-      bm_TGtkContainer_resize_mode)
-
-proc reallocate_redraws*(a: var TGtkContainer): guint =
-  result = (a.GtkContainerflag0 and bm_TGtkContainer_reallocate_redraws) shr
-      bp_TGtkContainer_reallocate_redraws
-
-proc set_reallocate_redraws*(a: var TGtkContainer, `reallocate_redraws`: guint) =
-  a.GtkContainerflag0 = a.GtkContainerflag0 or
-      ((`reallocate_redraws` shl bp_TGtkContainer_reallocate_redraws) and
-      bm_TGtkContainer_reallocate_redraws)
-
-proc has_focus_chain*(a: var TGtkContainer): guint =
-  result = (a.GtkContainerflag0 and bm_TGtkContainer_has_focus_chain) shr
-      bp_TGtkContainer_has_focus_chain
-
-proc set_has_focus_chain*(a: var TGtkContainer, `has_focus_chain`: guint) =
-  a.GtkContainerflag0 = a.GtkContainerflag0 or
-      ((`has_focus_chain` shl bp_TGtkContainer_has_focus_chain) and
-      bm_TGtkContainer_has_focus_chain)
-
-proc GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID*(anObject: pointer,
-    property_id: guint, pspec: pointer) =
-  write(stdout, "WARNING: invalid child property id\n")
-
-proc GTK_TYPE_BIN*(): GType =
-  result = gtk_bin_get_type()
-
-proc GTK_BIN*(obj: pointer): PGtkBin =
-  result = cast[PGtkBin](GTK_CHECK_CAST(obj, GTK_TYPE_BIN()))
-
-proc GTK_BIN_CLASS*(klass: pointer): PGtkBinClass =
-  result = cast[PGtkBinClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BIN()))
-
-proc GTK_IS_BIN*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_BIN())
-
-proc GTK_IS_BIN_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BIN())
-
-proc GTK_BIN_GET_CLASS*(obj: pointer): PGtkBinClass =
-  result = cast[PGtkBinClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BIN()))
-
-proc GTK_TYPE_WINDOW*(): GType =
-  result = gtk_window_get_type()
-
-proc GTK_WINDOW*(obj: pointer): PGtkWindow =
-  result = cast[PGtkWindow](GTK_CHECK_CAST(obj, GTK_TYPE_WINDOW()))
-
-proc GTK_WINDOW_CLASS*(klass: pointer): PGtkWindowClass =
-  result = cast[PGtkWindowClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_WINDOW()))
-
-proc GTK_IS_WINDOW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_WINDOW())
-
-proc GTK_IS_WINDOW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_WINDOW())
-
-proc GTK_WINDOW_GET_CLASS*(obj: pointer): PGtkWindowClass =
-  result = cast[PGtkWindowClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_WINDOW()))
-
-proc allow_shrink*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_allow_shrink) shr
-      bp_TGtkWindow_allow_shrink
-
-proc set_allow_shrink*(a: var TGtkWindow, `allow_shrink`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`allow_shrink` shl bp_TGtkWindow_allow_shrink) and
-      bm_TGtkWindow_allow_shrink)
-
-proc allow_grow*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_allow_grow) shr
-      bp_TGtkWindow_allow_grow
-
-proc set_allow_grow*(a: var TGtkWindow, `allow_grow`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`allow_grow` shl bp_TGtkWindow_allow_grow) and
-      bm_TGtkWindow_allow_grow)
-
-proc configure_notify_received*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_configure_notify_received) shr
-      bp_TGtkWindow_configure_notify_received
-
-proc set_configure_notify_received*(a: var TGtkWindow,
-                                    `configure_notify_received`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`configure_notify_received` shl
-      bp_TGtkWindow_configure_notify_received) and
-      bm_TGtkWindow_configure_notify_received)
-
-proc need_default_position*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_need_default_position) shr
-      bp_TGtkWindow_need_default_position
-
-proc set_need_default_position*(a: var TGtkWindow,
-                                `need_default_position`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`need_default_position` shl bp_TGtkWindow_need_default_position) and
-      bm_TGtkWindow_need_default_position)
-
-proc need_default_size*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_need_default_size) shr
-      bp_TGtkWindow_need_default_size
-
-proc set_need_default_size*(a: var TGtkWindow, `need_default_size`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`need_default_size` shl bp_TGtkWindow_need_default_size) and
-      bm_TGtkWindow_need_default_size)
-
-proc position*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_position) shr bp_TGtkWindow_position
-
-proc set_position*(a: var TGtkWindow, `position`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`position` shl bp_TGtkWindow_position) and bm_TGtkWindow_position)
-
-proc get_type*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_type) shr bp_TGtkWindow_type
-
-proc set_type*(a: var TGtkWindow, `type`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`type` shl bp_TGtkWindow_type) and bm_TGtkWindow_type)
-
-proc has_user_ref_count*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_has_user_ref_count) shr
-      bp_TGtkWindow_has_user_ref_count
-
-proc set_has_user_ref_count*(a: var TGtkWindow, `has_user_ref_count`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`has_user_ref_count` shl bp_TGtkWindow_has_user_ref_count) and
-      bm_TGtkWindow_has_user_ref_count)
-
-proc has_focus*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_has_focus) shr bp_TGtkWindow_has_focus
-
-proc set_has_focus*(a: var TGtkWindow, `has_focus`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`has_focus` shl bp_TGtkWindow_has_focus) and bm_TGtkWindow_has_focus)
-
-proc modal*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_modal) shr bp_TGtkWindow_modal
-
-proc set_modal*(a: var TGtkWindow, `modal`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
-      ((`modal` shl bp_TGtkWindow_modal) and bm_TGtkWindow_modal)
-
-proc destroy_with_parent*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_destroy_with_parent) shr
-      bp_TGtkWindow_destroy_with_parent
-
-proc set_destroy_with_parent*(a: var TGtkWindow, `destroy_with_parent`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
-      ((`destroy_with_parent` shl bp_TGtkWindow_destroy_with_parent) and
-      bm_TGtkWindow_destroy_with_parent)
-
-proc has_frame*(a: var TGtkWindow): guint =
-  result = (a.GtkWindowflag0 and bm_TGtkWindow_has_frame) shr bp_TGtkWindow_has_frame
-
-proc set_has_frame*(a: var TGtkWindow, `has_frame`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
-      ((`has_frame` shl bp_TGtkWindow_has_frame) and bm_TGtkWindow_has_frame)
-
-proc iconify_initially*(a: var TGtkWindow): guint =
-  result = (a.GtkWindowflag0 and bm_TGtkWindow_iconify_initially) shr
-      bp_TGtkWindow_iconify_initially
-
-proc set_iconify_initially*(a: var TGtkWindow, `iconify_initially`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
-      ((`iconify_initially` shl bp_TGtkWindow_iconify_initially) and
-      bm_TGtkWindow_iconify_initially)
-
-proc stick_initially*(a: var TGtkWindow): guint =
-  result = (a.GtkWindowflag0 and bm_TGtkWindow_stick_initially) shr
-      bp_TGtkWindow_stick_initially
-
-proc set_stick_initially*(a: var TGtkWindow, `stick_initially`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
-      ((`stick_initially` shl bp_TGtkWindow_stick_initially) and
-      bm_TGtkWindow_stick_initially)
-
-proc maximize_initially*(a: var TGtkWindow): guint =
-  result = (a.GtkWindowflag0 and bm_TGtkWindow_maximize_initially) shr
-      bp_TGtkWindow_maximize_initially
-
-proc set_maximize_initially*(a: var TGtkWindow, `maximize_initially`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
-      ((`maximize_initially` shl bp_TGtkWindow_maximize_initially) and
-      bm_TGtkWindow_maximize_initially)
-
-proc decorated*(a: var TGtkWindow): guint =
-  result = (a.GtkWindowflag0 and bm_TGtkWindow_decorated) shr bp_TGtkWindow_decorated
-
-proc set_decorated*(a: var TGtkWindow, `decorated`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
-      ((`decorated` shl bp_TGtkWindow_decorated) and bm_TGtkWindow_decorated)
-
-proc type_hint*(a: var TGtkWindow): guint =
-  result = (a.GtkWindowflag0 and bm_TGtkWindow_type_hint) shr bp_TGtkWindow_type_hint
-
-proc set_type_hint*(a: var TGtkWindow, `type_hint`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
-      ((`type_hint` shl bp_TGtkWindow_type_hint) and bm_TGtkWindow_type_hint)
-
-proc gravity*(a: var TGtkWindow): guint =
-  result = (a.GtkWindowflag0 and bm_TGtkWindow_gravity) shr bp_TGtkWindow_gravity
-
-proc set_gravity*(a: var TGtkWindow, `gravity`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
-      ((`gravity` shl bp_TGtkWindow_gravity) and bm_TGtkWindow_gravity)
-
-proc GTK_TYPE_WINDOW_GROUP*(): GType =
-  result = gtk_window_group_get_type()
-
-proc GTK_WINDOW_GROUP*(anObject: pointer): PGtkWindowGroup =
-  result = cast[PGtkWindowGroup](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      GTK_TYPE_WINDOW_GROUP()))
-
-proc GTK_WINDOW_GROUP_CLASS*(klass: pointer): PGtkWindowGroupClass =
-  result = cast[PGtkWindowGroupClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_WINDOW_GROUP()))
-
-proc GTK_IS_WINDOW_GROUP*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_WINDOW_GROUP())
-
-proc GTK_IS_WINDOW_GROUP_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_WINDOW_GROUP())
-
-proc GTK_WINDOW_GROUP_GET_CLASS*(obj: pointer): PGtkWindowGroupClass =
-  result = cast[PGtkWindowGroupClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GTK_TYPE_WINDOW_GROUP()))
-
-proc gtk_window_position*(window: PGtkWindow, position: TGtkWindowPosition) =
-  gtk_window_set_position(window, position)
-
-proc GTK_TYPE_LABEL*(): GType =
-  result = gtk_label_get_type()
-
-proc GTK_LABEL*(obj: pointer): PGtkLabel =
-  result = cast[PGtkLabel](GTK_CHECK_CAST(obj, GTK_TYPE_LABEL()))
-
-proc GTK_LABEL_CLASS*(klass: pointer): PGtkLabelClass =
-  result = cast[PGtkLabelClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LABEL()))
-
-proc GTK_IS_LABEL*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LABEL())
-
-proc GTK_IS_LABEL_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LABEL())
-
-proc GTK_LABEL_GET_CLASS*(obj: pointer): PGtkLabelClass =
-  result = cast[PGtkLabelClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LABEL()))
-
-proc jtype*(a: var TGtkLabel): guint =
-  result = (a.GtkLabelflag0 and bm_TGtkLabel_jtype) shr bp_TGtkLabel_jtype
-
-proc set_jtype*(a: var TGtkLabel, `jtype`: guint) =
-  a.GtkLabelflag0 = a.GtkLabelflag0 or
-      (int16(`jtype` shl bp_TGtkLabel_jtype) and bm_TGtkLabel_jtype)
-
-proc wrap*(a: var TGtkLabel): guint =
-  result = (a.GtkLabelflag0 and bm_TGtkLabel_wrap) shr bp_TGtkLabel_wrap
-
-proc set_wrap*(a: var TGtkLabel, `wrap`: guint) =
-  a.GtkLabelflag0 = a.GtkLabelflag0 or (int16(`wrap` shl bp_TGtkLabel_wrap) and bm_TGtkLabel_wrap)
-
-proc use_underline*(a: var TGtkLabel): guint =
-  result = (a.GtkLabelflag0 and bm_TGtkLabel_use_underline) shr
-      bp_TGtkLabel_use_underline
-
-proc set_use_underline*(a: var TGtkLabel, `use_underline`: guint) =
-  a.GtkLabelflag0 = a.GtkLabelflag0 or
-      (int16(`use_underline` shl bp_TGtkLabel_use_underline) and
-      bm_TGtkLabel_use_underline)
-
-proc use_markup*(a: var TGtkLabel): guint =
-  result = (a.GtkLabelflag0 and bm_TGtkLabel_use_markup) shr bp_TGtkLabel_use_markup
-
-proc set_use_markup*(a: var TGtkLabel, `use_markup`: guint) =
-  a.GtkLabelflag0 = a.GtkLabelflag0 or
-      (int16(`use_markup` shl bp_TGtkLabel_use_markup) and bm_TGtkLabel_use_markup)
-
-proc GTK_TYPE_ACCEL_LABEL*(): GType =
-  result = gtk_accel_label_get_type()
-
-proc GTK_ACCEL_LABEL*(obj: pointer): PGtkAccelLabel =
-  result = cast[PGtkAccelLabel](GTK_CHECK_CAST(obj, GTK_TYPE_ACCEL_LABEL()))
-
-proc GTK_ACCEL_LABEL_CLASS*(klass: pointer): PGtkAccelLabelClass =
-  result = cast[PGtkAccelLabelClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ACCEL_LABEL()))
-
-proc GTK_IS_ACCEL_LABEL*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ACCEL_LABEL())
-
-proc GTK_IS_ACCEL_LABEL_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCEL_LABEL())
-
-proc GTK_ACCEL_LABEL_GET_CLASS*(obj: pointer): PGtkAccelLabelClass =
-  result = cast[PGtkAccelLabelClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ACCEL_LABEL()))
-
-proc latin1_to_char*(a: var TGtkAccelLabelClass): guint =
-  result = (a.GtkAccelLabelClassflag0 and bm_TGtkAccelLabelClass_latin1_to_char) shr
-      bp_TGtkAccelLabelClass_latin1_to_char
-
-proc set_latin1_to_char*(a: var TGtkAccelLabelClass, `latin1_to_char`: guint) =
-  a.GtkAccelLabelClassflag0 = a.GtkAccelLabelClassflag0 or
-      (int16(`latin1_to_char` shl bp_TGtkAccelLabelClass_latin1_to_char) and
-      bm_TGtkAccelLabelClass_latin1_to_char)
-
-proc gtk_accel_label_accelerator_width*(accel_label: PGtkAccelLabel): guint =
-  result = gtk_accel_label_get_accel_width(accel_label)
-
-proc GTK_TYPE_ACCESSIBLE*(): GType =
-  result = gtk_accessible_get_type()
-
-proc GTK_ACCESSIBLE*(obj: pointer): PGtkAccessible =
-  result = cast[PGtkAccessible](GTK_CHECK_CAST(obj, GTK_TYPE_ACCESSIBLE()))
-
-proc GTK_ACCESSIBLE_CLASS*(klass: pointer): PGtkAccessibleClass =
-  result = cast[PGtkAccessibleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ACCESSIBLE()))
-
-proc GTK_IS_ACCESSIBLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ACCESSIBLE())
-
-proc GTK_IS_ACCESSIBLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCESSIBLE())
-
-proc GTK_ACCESSIBLE_GET_CLASS*(obj: pointer): PGtkAccessibleClass =
-  result = cast[PGtkAccessibleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ACCESSIBLE()))
-
-proc GTK_TYPE_ADJUSTMENT*(): GType =
-  result = gtk_adjustment_get_type()
-
-proc GTK_ADJUSTMENT*(obj: pointer): PGtkAdjustment =
-  result = cast[PGtkAdjustment](GTK_CHECK_CAST(obj, GTK_TYPE_ADJUSTMENT()))
-
-proc GTK_ADJUSTMENT_CLASS*(klass: pointer): PGtkAdjustmentClass =
-  result = cast[PGtkAdjustmentClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ADJUSTMENT()))
-
-proc GTK_IS_ADJUSTMENT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ADJUSTMENT())
-
-proc GTK_IS_ADJUSTMENT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ADJUSTMENT())
-
-proc GTK_ADJUSTMENT_GET_CLASS*(obj: pointer): PGtkAdjustmentClass =
-  result = cast[PGtkAdjustmentClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ADJUSTMENT()))
-
-proc GTK_TYPE_ALIGNMENT*(): GType =
-  result = gtk_alignment_get_type()
-
-proc GTK_ALIGNMENT*(obj: pointer): PGtkAlignment =
-  result = cast[PGtkAlignment](GTK_CHECK_CAST(obj, GTK_TYPE_ALIGNMENT()))
-
-proc GTK_ALIGNMENT_CLASS*(klass: pointer): PGtkAlignmentClass =
-  result = cast[PGtkAlignmentClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ALIGNMENT()))
-
-proc GTK_IS_ALIGNMENT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ALIGNMENT())
-
-proc GTK_IS_ALIGNMENT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ALIGNMENT())
-
-proc GTK_ALIGNMENT_GET_CLASS*(obj: pointer): PGtkAlignmentClass =
-  result = cast[PGtkAlignmentClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ALIGNMENT()))
-
-proc GTK_TYPE_FRAME*(): GType =
-  result = gtk_frame_get_type()
-
-proc GTK_FRAME*(obj: pointer): PGtkFrame =
-  result = cast[PGtkFrame](GTK_CHECK_CAST(obj, GTK_TYPE_FRAME()))
-
-proc GTK_FRAME_CLASS*(klass: pointer): PGtkFrameClass =
-  result = cast[PGtkFrameClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_FRAME()))
-
-proc GTK_IS_FRAME*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FRAME())
-
-proc GTK_IS_FRAME_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FRAME())
-
-proc GTK_FRAME_GET_CLASS*(obj: pointer): PGtkFrameClass =
-  result = cast[PGtkFrameClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_FRAME()))
-
-proc GTK_TYPE_ASPECT_FRAME*(): GType =
-  result = gtk_aspect_frame_get_type()
-
-proc GTK_ASPECT_FRAME*(obj: pointer): PGtkAspectFrame =
-  result = cast[PGtkAspectFrame](GTK_CHECK_CAST(obj, GTK_TYPE_ASPECT_FRAME()))
-
-proc GTK_ASPECT_FRAME_CLASS*(klass: pointer): PGtkAspectFrameClass =
-  result = cast[PGtkAspectFrameClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_ASPECT_FRAME()))
-
-proc GTK_IS_ASPECT_FRAME*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ASPECT_FRAME())
-
-proc GTK_IS_ASPECT_FRAME_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ASPECT_FRAME())
-
-proc GTK_ASPECT_FRAME_GET_CLASS*(obj: pointer): PGtkAspectFrameClass =
-  result = cast[PGtkAspectFrameClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ASPECT_FRAME()))
-
-proc GTK_TYPE_ARROW*(): GType =
-  result = gtk_arrow_get_type()
-
-proc GTK_ARROW*(obj: pointer): PGtkArrow =
-  result = cast[PGtkArrow](GTK_CHECK_CAST(obj, GTK_TYPE_ARROW()))
-
-proc GTK_ARROW_CLASS*(klass: pointer): PGtkArrowClass =
-  result = cast[PGtkArrowClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ARROW()))
-
-proc GTK_IS_ARROW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ARROW())
-
-proc GTK_IS_ARROW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ARROW())
-
-proc GTK_ARROW_GET_CLASS*(obj: pointer): PGtkArrowClass =
-  result = cast[PGtkArrowClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ARROW()))
-
-proc parsed*(a: var TGtkBindingSet): guint =
-  result = (a.flag0 and bm_TGtkBindingSet_parsed) shr
-      bp_TGtkBindingSet_parsed
-
-proc set_parsed*(a: var TGtkBindingSet, `parsed`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`parsed` shl bp_TGtkBindingSet_parsed) and bm_TGtkBindingSet_parsed)
-
-proc destroyed*(a: var TGtkBindingEntry): guint =
-  result = (a.flag0 and bm_TGtkBindingEntry_destroyed) shr
-      bp_TGtkBindingEntry_destroyed
-
-proc set_destroyed*(a: var TGtkBindingEntry, `destroyed`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`destroyed` shl bp_TGtkBindingEntry_destroyed) and
-      bm_TGtkBindingEntry_destroyed)
-
-proc in_emission*(a: var TGtkBindingEntry): guint =
-  result = (a.flag0 and bm_TGtkBindingEntry_in_emission) shr
-      bp_TGtkBindingEntry_in_emission
-
-proc set_in_emission*(a: var TGtkBindingEntry, `in_emission`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`in_emission` shl bp_TGtkBindingEntry_in_emission) and
-      bm_TGtkBindingEntry_in_emission)
-
-proc gtk_binding_entry_add*(binding_set: PGtkBindingSet, keyval: guint,
-                            modifiers: TGdkModifierType) =
-  gtk_binding_entry_clear(binding_set, keyval, modifiers)
-
-proc GTK_TYPE_BOX*(): GType =
-  result = gtk_box_get_type()
-
-proc GTK_BOX*(obj: pointer): PGtkBox =
-  result = cast[PGtkBox](GTK_CHECK_CAST(obj, GTK_TYPE_BOX()))
-
-proc GTK_BOX_CLASS*(klass: pointer): PGtkBoxClass =
-  result = cast[PGtkBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BOX()))
-
-proc GTK_IS_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_BOX())
-
-proc GTK_IS_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BOX())
-
-proc GTK_BOX_GET_CLASS*(obj: pointer): PGtkBoxClass =
-  result = cast[PGtkBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BOX()))
-
-proc homogeneous*(a: var TGtkBox): guint =
-  result = (a.GtkBoxflag0 and bm_TGtkBox_homogeneous) shr bp_TGtkBox_homogeneous
-
-proc set_homogeneous*(a: var TGtkBox, `homogeneous`: guint) =
-  a.GtkBoxflag0 = a.GtkBoxflag0 or
-      (int16(`homogeneous` shl bp_TGtkBox_homogeneous) and bm_TGtkBox_homogeneous)
-
-proc expand*(a: var TGtkBoxChild): guint =
-  result = (a.flag0 and bm_TGtkBoxChild_expand) shr bp_TGtkBoxChild_expand
-
-proc set_expand*(a: var TGtkBoxChild, `expand`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`expand` shl bp_TGtkBoxChild_expand) and bm_TGtkBoxChild_expand)
-
-proc fill*(a: var TGtkBoxChild): guint =
-  result = (a.flag0 and bm_TGtkBoxChild_fill) shr bp_TGtkBoxChild_fill
-
-proc set_fill*(a: var TGtkBoxChild, `fill`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`fill` shl bp_TGtkBoxChild_fill) and bm_TGtkBoxChild_fill)
-
-proc pack*(a: var TGtkBoxChild): guint =
-  result = (a.flag0 and bm_TGtkBoxChild_pack) shr bp_TGtkBoxChild_pack
-
-proc set_pack*(a: var TGtkBoxChild, `pack`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pack` shl bp_TGtkBoxChild_pack) and bm_TGtkBoxChild_pack)
-
-proc is_secondary*(a: var TGtkBoxChild): guint =
-  result = (a.flag0 and bm_TGtkBoxChild_is_secondary) shr
-      bp_TGtkBoxChild_is_secondary
-
-proc set_is_secondary*(a: var TGtkBoxChild, `is_secondary`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_secondary` shl bp_TGtkBoxChild_is_secondary) and
-      bm_TGtkBoxChild_is_secondary)
-
-proc GTK_TYPE_BUTTON_BOX*(): GType =
-  result = gtk_button_box_get_type()
-
-proc GTK_BUTTON_BOX*(obj: pointer): PGtkButtonBox =
-  result = cast[PGtkButtonBox](GTK_CHECK_CAST(obj, GTK_TYPE_BUTTON_BOX()))
-
-proc GTK_BUTTON_BOX_CLASS*(klass: pointer): PGtkButtonBoxClass =
-  result = cast[PGtkButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BUTTON_BOX()))
-
-proc GTK_IS_BUTTON_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_BUTTON_BOX())
-
-proc GTK_IS_BUTTON_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BUTTON_BOX())
-
-proc GTK_BUTTON_BOX_GET_CLASS*(obj: pointer): PGtkButtonBoxClass =
-  result = cast[PGtkButtonBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BUTTON_BOX()))
-
-proc gtk_button_box_set_spacing*(b: pointer, s: gint) =
-  gtk_box_set_spacing(GTK_BOX(b), s)
-
-proc gtk_button_box_get_spacing*(b: pointer): gint =
-  result = gtk_box_get_spacing(GTK_BOX(b))
-
-proc GTK_TYPE_BUTTON*(): GType =
-  result = gtk_button_get_type()
-
-proc GTK_BUTTON*(obj: pointer): PGtkButton =
-  result = cast[PGtkButton](GTK_CHECK_CAST(obj, GTK_TYPE_BUTTON()))
-
-proc GTK_BUTTON_CLASS*(klass: pointer): PGtkButtonClass =
-  result = cast[PGtkButtonClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BUTTON()))
-
-proc GTK_IS_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_BUTTON())
-
-proc GTK_IS_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BUTTON())
-
-proc GTK_BUTTON_GET_CLASS*(obj: pointer): PGtkButtonClass =
-  result = cast[PGtkButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BUTTON()))
-
-proc constructed*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_constructed) shr
-      bp_TGtkButton_constructed
-
-proc set_constructed*(a: var TGtkButton, `constructed`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
-      (int16(`constructed` shl bp_TGtkButton_constructed) and
-      bm_TGtkButton_constructed)
-
-proc in_button*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_in_button) shr bp_TGtkButton_in_button
-
-proc set_in_button*(a: var TGtkButton, `in_button`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
-      (int16(`in_button` shl bp_TGtkButton_in_button) and bm_TGtkButton_in_button)
-
-proc button_down*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_button_down) shr
-      bp_TGtkButton_button_down
-
-proc set_button_down*(a: var TGtkButton, `button_down`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
-      (int16(`button_down` shl bp_TGtkButton_button_down) and
-      bm_TGtkButton_button_down)
-
-proc relief*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_relief) shr bp_TGtkButton_relief
-
-proc set_relief*(a: var TGtkButton, `relief`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
-      (int16(`relief` shl bp_TGtkButton_relief) and bm_TGtkButton_relief)
-
-proc use_underline*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_use_underline) shr
-      bp_TGtkButton_use_underline
-
-proc set_use_underline*(a: var TGtkButton, `use_underline`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
-      (int16(`use_underline` shl bp_TGtkButton_use_underline) and
-      bm_TGtkButton_use_underline)
-
-proc use_stock*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_use_stock) shr bp_TGtkButton_use_stock
-
-proc set_use_stock*(a: var TGtkButton, `use_stock`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
-      (int16(`use_stock` shl bp_TGtkButton_use_stock) and bm_TGtkButton_use_stock)
-
-proc depressed*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_depressed) shr bp_TGtkButton_depressed
-
-proc set_depressed*(a: var TGtkButton, `depressed`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
-      (int16(`depressed` shl bp_TGtkButton_depressed) and bm_TGtkButton_depressed)
-
-proc depress_on_activate*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_depress_on_activate) shr
-      bp_TGtkButton_depress_on_activate
-
-proc set_depress_on_activate*(a: var TGtkButton, `depress_on_activate`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
-      (int16(`depress_on_activate` shl bp_TGtkButton_depress_on_activate) and
-      bm_TGtkButton_depress_on_activate)
-
-proc GTK_TYPE_CALENDAR*(): GType =
-  result = gtk_calendar_get_type()
-
-proc GTK_CALENDAR*(obj: pointer): PGtkCalendar =
-  result = cast[PGtkCalendar](GTK_CHECK_CAST(obj, GTK_TYPE_CALENDAR()))
-
-proc GTK_CALENDAR_CLASS*(klass: pointer): PGtkCalendarClass =
-  result = cast[PGtkCalendarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CALENDAR()))
-
-proc GTK_IS_CALENDAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CALENDAR())
-
-proc GTK_IS_CALENDAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CALENDAR())
-
-proc GTK_CALENDAR_GET_CLASS*(obj: pointer): PGtkCalendarClass =
-  result = cast[PGtkCalendarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CALENDAR()))
-
-proc GTK_TYPE_CELL_EDITABLE*(): GType =
-  result = gtk_cell_editable_get_type()
-
-proc GTK_CELL_EDITABLE*(obj: pointer): PGtkCellEditable =
-  result = cast[PGtkCellEditable](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      GTK_TYPE_CELL_EDITABLE()))
-
-proc GTK_CELL_EDITABLE_CLASS*(obj: pointer): PGtkCellEditableIface =
-  result = cast[PGtkCellEditableIface](G_TYPE_CHECK_CLASS_CAST(obj,
-      GTK_TYPE_CELL_EDITABLE()))
-
-proc GTK_IS_CELL_EDITABLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_CELL_EDITABLE())
-
-proc GTK_CELL_EDITABLE_GET_IFACE*(obj: pointer): PGtkCellEditableIface =
-  result = cast[PGtkCellEditableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      GTK_TYPE_CELL_EDITABLE()))
-
-proc GTK_TYPE_CELL_RENDERER*(): GType =
-  result = gtk_cell_renderer_get_type()
-
-proc GTK_CELL_RENDERER*(obj: pointer): PGtkCellRenderer =
-  result = cast[PGtkCellRenderer](GTK_CHECK_CAST(obj, GTK_TYPE_CELL_RENDERER()))
-
-proc GTK_CELL_RENDERER_CLASS*(klass: pointer): PGtkCellRendererClass =
-  result = cast[PGtkCellRendererClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_CELL_RENDERER()))
-
-proc GTK_IS_CELL_RENDERER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER())
-
-proc GTK_IS_CELL_RENDERER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER())
-
-proc GTK_CELL_RENDERER_GET_CLASS*(obj: pointer): PGtkCellRendererClass =
-  result = cast[PGtkCellRendererClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CELL_RENDERER()))
-
-proc mode*(a: var TGtkCellRenderer): guint =
-  result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_mode) shr
-      bp_TGtkCellRenderer_mode
-
-proc set_mode*(a: var TGtkCellRenderer, `mode`: guint) =
-  a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      (int16(`mode` shl bp_TGtkCellRenderer_mode) and bm_TGtkCellRenderer_mode)
-
-proc visible*(a: var TGtkCellRenderer): guint =
-  result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_visible) shr
-      bp_TGtkCellRenderer_visible
-
-proc set_visible*(a: var TGtkCellRenderer, `visible`: guint) =
-  a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      (int16(`visible` shl bp_TGtkCellRenderer_visible) and
-      bm_TGtkCellRenderer_visible)
-
-proc is_expander*(a: var TGtkCellRenderer): guint =
-  result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_is_expander) shr
-      bp_TGtkCellRenderer_is_expander
-
-proc set_is_expander*(a: var TGtkCellRenderer, `is_expander`: guint) =
-  a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      (int16(`is_expander` shl bp_TGtkCellRenderer_is_expander) and
-      bm_TGtkCellRenderer_is_expander)
-
-proc is_expanded*(a: var TGtkCellRenderer): guint =
-  result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_is_expanded) shr
-      bp_TGtkCellRenderer_is_expanded
-
-proc set_is_expanded*(a: var TGtkCellRenderer, `is_expanded`: guint) =
-  a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      (int16(`is_expanded` shl bp_TGtkCellRenderer_is_expanded) and
-      bm_TGtkCellRenderer_is_expanded)
-
-proc cell_background_set*(a: var TGtkCellRenderer): guint =
-  result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_cell_background_set) shr
-      bp_TGtkCellRenderer_cell_background_set
-
-proc set_cell_background_set*(a: var TGtkCellRenderer,
-                              `cell_background_set`: guint) =
-  a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
-      (int16(`cell_background_set` shl bp_TGtkCellRenderer_cell_background_set) and
-      bm_TGtkCellRenderer_cell_background_set)
-
-proc GTK_TYPE_CELL_RENDERER_TEXT*(): GType =
-  result = gtk_cell_renderer_text_get_type()
-
-proc GTK_CELL_RENDERER_TEXT*(obj: pointer): PGtkCellRendererText =
-  result = cast[PGtkCellRendererText](GTK_CHECK_CAST(obj, GTK_TYPE_CELL_RENDERER_TEXT()))
-
-proc GTK_CELL_RENDERER_TEXT_CLASS*(klass: pointer): PGtkCellRendererTextClass =
-  result = cast[PGtkCellRendererTextClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_CELL_RENDERER_TEXT()))
-
-proc GTK_IS_CELL_RENDERER_TEXT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_TEXT())
-
-proc GTK_IS_CELL_RENDERER_TEXT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER_TEXT())
-
-proc GTK_CELL_RENDERER_TEXT_GET_CLASS*(obj: pointer): PGtkCellRendererTextClass =
-  result = cast[PGtkCellRendererTextClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_CELL_RENDERER_TEXT()))
-
-proc strikethrough*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_strikethrough) shr
-      bp_TGtkCellRendererText_strikethrough
-
-proc set_strikethrough*(a: var TGtkCellRendererText, `strikethrough`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`strikethrough` shl bp_TGtkCellRendererText_strikethrough) and
-      bm_TGtkCellRendererText_strikethrough)
-
-proc editable*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_editable) shr
-      bp_TGtkCellRendererText_editable
-
-proc set_editable*(a: var TGtkCellRendererText, `editable`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`editable` shl bp_TGtkCellRendererText_editable) and
-      bm_TGtkCellRendererText_editable)
-
-proc scale_set*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_scale_set) shr
-      bp_TGtkCellRendererText_scale_set
-
-proc set_scale_set*(a: var TGtkCellRendererText, `scale_set`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`scale_set` shl bp_TGtkCellRendererText_scale_set) and
-      bm_TGtkCellRendererText_scale_set)
-
-proc foreground_set*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_foreground_set) shr
-      bp_TGtkCellRendererText_foreground_set
-
-proc set_foreground_set*(a: var TGtkCellRendererText, `foreground_set`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`foreground_set` shl bp_TGtkCellRendererText_foreground_set) and
-      bm_TGtkCellRendererText_foreground_set)
-
-proc background_set*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_background_set) shr
-      bp_TGtkCellRendererText_background_set
-
-proc set_background_set*(a: var TGtkCellRendererText, `background_set`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`background_set` shl bp_TGtkCellRendererText_background_set) and
-      bm_TGtkCellRendererText_background_set)
-
-proc underline_set*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_underline_set) shr
-      bp_TGtkCellRendererText_underline_set
-
-proc set_underline_set*(a: var TGtkCellRendererText, `underline_set`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`underline_set` shl bp_TGtkCellRendererText_underline_set) and
-      bm_TGtkCellRendererText_underline_set)
-
-proc rise_set*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_rise_set) shr
-      bp_TGtkCellRendererText_rise_set
-
-proc set_rise_set*(a: var TGtkCellRendererText, `rise_set`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`rise_set` shl bp_TGtkCellRendererText_rise_set) and
-      bm_TGtkCellRendererText_rise_set)
-
-proc strikethrough_set*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_strikethrough_set) shr
-      bp_TGtkCellRendererText_strikethrough_set
-
-proc set_strikethrough_set*(a: var TGtkCellRendererText,
-                            `strikethrough_set`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`strikethrough_set` shl bp_TGtkCellRendererText_strikethrough_set) and
-      bm_TGtkCellRendererText_strikethrough_set)
-
-proc editable_set*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_editable_set) shr
-      bp_TGtkCellRendererText_editable_set
-
-proc set_editable_set*(a: var TGtkCellRendererText, `editable_set`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`editable_set` shl bp_TGtkCellRendererText_editable_set) and
-      bm_TGtkCellRendererText_editable_set)
-
-proc calc_fixed_height*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_calc_fixed_height) shr
-      bp_TGtkCellRendererText_calc_fixed_height
-
-proc set_calc_fixed_height*(a: var TGtkCellRendererText,
-                            `calc_fixed_height`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
-      (int16(`calc_fixed_height` shl bp_TGtkCellRendererText_calc_fixed_height) and
-      bm_TGtkCellRendererText_calc_fixed_height)
-
-proc GTK_TYPE_CELL_RENDERER_TOGGLE*(): GType =
-  result = gtk_cell_renderer_toggle_get_type()
-
-proc GTK_CELL_RENDERER_TOGGLE*(obj: pointer): PGtkCellRendererToggle =
-  result = cast[PGtkCellRendererToggle](GTK_CHECK_CAST(obj,
-      GTK_TYPE_CELL_RENDERER_TOGGLE()))
-
-proc GTK_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): PGtkCellRendererToggleClass =
-  result = cast[PGtkCellRendererToggleClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_CELL_RENDERER_TOGGLE()))
-
-proc GTK_IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_TOGGLE())
-
-proc GTK_IS_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER_TOGGLE())
-
-proc GTK_CELL_RENDERER_TOGGLE_GET_CLASS*(obj: pointer): PGtkCellRendererToggleClass =
-  result = cast[PGtkCellRendererToggleClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_CELL_RENDERER_TOGGLE()))
-
-proc active*(a: var TGtkCellRendererToggle): guint =
-  result = (a.GtkCellRendererToggleflag0 and bm_TGtkCellRendererToggle_active) shr
-      bp_TGtkCellRendererToggle_active
-
-proc set_active*(a: var TGtkCellRendererToggle, `active`: guint) =
-  a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
-      (int16(`active` shl bp_TGtkCellRendererToggle_active) and
-      bm_TGtkCellRendererToggle_active)
-
-proc activatable*(a: var TGtkCellRendererToggle): guint =
-  result = (a.GtkCellRendererToggleflag0 and bm_TGtkCellRendererToggle_activatable) shr
-      bp_TGtkCellRendererToggle_activatable
-
-proc set_activatable*(a: var TGtkCellRendererToggle, `activatable`: guint) =
-  a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
-      (int16(`activatable` shl bp_TGtkCellRendererToggle_activatable) and
-      bm_TGtkCellRendererToggle_activatable)
-
-proc radio*(a: var TGtkCellRendererToggle): guint =
-  result = (a.GtkCellRendererToggleflag0 and bm_TGtkCellRendererToggle_radio) shr
-      bp_TGtkCellRendererToggle_radio
-
-proc set_radio*(a: var TGtkCellRendererToggle, `radio`: guint) =
-  a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
-      (int16(`radio` shl bp_TGtkCellRendererToggle_radio) and
-      bm_TGtkCellRendererToggle_radio)
-
-proc GTK_TYPE_CELL_RENDERER_PIXBUF*(): GType =
-  result = gtk_cell_renderer_pixbuf_get_type()
-
-proc GTK_CELL_RENDERER_PIXBUF*(obj: pointer): PGtkCellRendererPixbuf =
-  result = cast[PGtkCellRendererPixbuf](GTK_CHECK_CAST(obj,
-      GTK_TYPE_CELL_RENDERER_PIXBUF()))
-
-proc GTK_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): PGtkCellRendererPixbufClass =
-  result = cast[PGtkCellRendererPixbufClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_CELL_RENDERER_PIXBUF()))
-
-proc GTK_IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_PIXBUF())
-
-proc GTK_IS_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER_PIXBUF())
-
-proc GTK_CELL_RENDERER_PIXBUF_GET_CLASS*(obj: pointer): PGtkCellRendererPixbufClass =
-  result = cast[PGtkCellRendererPixbufClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_CELL_RENDERER_PIXBUF()))
-
-proc GTK_TYPE_ITEM*(): GType =
-  result = gtk_item_get_type()
-
-proc GTK_ITEM*(obj: pointer): PGtkItem =
-  result = cast[PGtkItem](GTK_CHECK_CAST(obj, GTK_TYPE_ITEM()))
-
-proc GTK_ITEM_CLASS*(klass: pointer): PGtkItemClass =
-  result = cast[PGtkItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ITEM()))
-
-proc GTK_IS_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ITEM())
-
-proc GTK_IS_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ITEM())
-
-proc GTK_ITEM_GET_CLASS*(obj: pointer): PGtkItemClass =
-  result = cast[PGtkItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ITEM()))
-
-proc GTK_TYPE_MENU_ITEM*(): GType =
-  result = gtk_menu_item_get_type()
-
-proc GTK_MENU_ITEM*(obj: pointer): PGtkMenuItem =
-  result = cast[PGtkMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_ITEM()))
-
-proc GTK_MENU_ITEM_CLASS*(klass: pointer): PGtkMenuItemClass =
-  result = cast[PGtkMenuItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_ITEM()))
-
-proc GTK_IS_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_ITEM())
-
-proc GTK_IS_MENU_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_ITEM())
-
-proc GTK_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkMenuItemClass =
-  result = cast[PGtkMenuItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU_ITEM()))
-
-proc show_submenu_indicator*(a: var TGtkMenuItem): guint =
-  result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_show_submenu_indicator) shr
-      bp_TGtkMenuItem_show_submenu_indicator
-
-proc set_show_submenu_indicator*(a: var TGtkMenuItem,
-                                 `show_submenu_indicator`: guint) =
-  a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      (int16(`show_submenu_indicator` shl bp_TGtkMenuItem_show_submenu_indicator) and
-      bm_TGtkMenuItem_show_submenu_indicator)
-
-proc submenu_placement*(a: var TGtkMenuItem): guint =
-  result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_submenu_placement) shr
-      bp_TGtkMenuItem_submenu_placement
-
-proc set_submenu_placement*(a: var TGtkMenuItem, `submenu_placement`: guint) =
-  a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      (int16(`submenu_placement` shl bp_TGtkMenuItem_submenu_placement) and
-      bm_TGtkMenuItem_submenu_placement)
-
-proc submenu_direction*(a: var TGtkMenuItem): guint =
-  result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_submenu_direction) shr
-      bp_TGtkMenuItem_submenu_direction
-
-proc set_submenu_direction*(a: var TGtkMenuItem, `submenu_direction`: guint) =
-  a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      (int16(`submenu_direction` shl bp_TGtkMenuItem_submenu_direction) and
-      bm_TGtkMenuItem_submenu_direction)
-
-proc right_justify*(a: var TGtkMenuItem): guint =
-  result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_right_justify) shr
-      bp_TGtkMenuItem_right_justify
-
-proc set_right_justify*(a: var TGtkMenuItem, `right_justify`: guint) =
-  a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      (int16(`right_justify` shl bp_TGtkMenuItem_right_justify) and
-      bm_TGtkMenuItem_right_justify)
-
-proc timer_from_keypress*(a: var TGtkMenuItem): guint =
-  result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_timer_from_keypress) shr
-      bp_TGtkMenuItem_timer_from_keypress
-
-proc set_timer_from_keypress*(a: var TGtkMenuItem, `timer_from_keypress`: guint) =
-  a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or
-      (int16(`timer_from_keypress` shl bp_TGtkMenuItem_timer_from_keypress) and
-      bm_TGtkMenuItem_timer_from_keypress)
-
-proc hide_on_activate*(a: var TGtkMenuItemClass): guint =
-  result = (a.GtkMenuItemClassflag0 and bm_TGtkMenuItemClass_hide_on_activate) shr
-      bp_TGtkMenuItemClass_hide_on_activate
-
-proc set_hide_on_activate*(a: var TGtkMenuItemClass, `hide_on_activate`: guint) =
-  a.GtkMenuItemClassflag0 = a.GtkMenuItemClassflag0 or
-      (int16(`hide_on_activate` shl bp_TGtkMenuItemClass_hide_on_activate) and
-      bm_TGtkMenuItemClass_hide_on_activate)
-
-proc gtk_menu_item_right_justify*(menu_item: PGtkMenuItem) =
-  gtk_menu_item_set_right_justified(menu_item, true)
-
-proc GTK_TYPE_TOGGLE_BUTTON*(): GType =
-  result = gtk_toggle_button_get_type()
-
-proc GTK_TOGGLE_BUTTON*(obj: pointer): PGtkToggleButton =
-  result = cast[PGtkToggleButton](GTK_CHECK_CAST(obj, GTK_TYPE_TOGGLE_BUTTON()))
-
-proc GTK_TOGGLE_BUTTON_CLASS*(klass: pointer): PGtkToggleButtonClass =
-  result = cast[PGtkToggleButtonClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TOGGLE_BUTTON()))
-
-proc GTK_IS_TOGGLE_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOGGLE_BUTTON())
-
-proc GTK_IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOGGLE_BUTTON())
-
-proc GTK_TOGGLE_BUTTON_GET_CLASS*(obj: pointer): PGtkToggleButtonClass =
-  result = cast[PGtkToggleButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TOGGLE_BUTTON()))
-
-proc active*(a: var TGtkToggleButton): guint =
-  result = (a.GtkToggleButtonflag0 and bm_TGtkToggleButton_active) shr
-      bp_TGtkToggleButton_active
-
-proc set_active*(a: var TGtkToggleButton, `active`: guint) =
-  a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or
-      (int16(`active` shl bp_TGtkToggleButton_active) and
-      bm_TGtkToggleButton_active)
-
-proc draw_indicator*(a: var TGtkToggleButton): guint =
-  result = (a.GtkToggleButtonflag0 and bm_TGtkToggleButton_draw_indicator) shr
-      bp_TGtkToggleButton_draw_indicator
-
-proc set_draw_indicator*(a: var TGtkToggleButton, `draw_indicator`: guint) =
-  a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or
-      (int16(`draw_indicator` shl bp_TGtkToggleButton_draw_indicator) and
-      bm_TGtkToggleButton_draw_indicator)
-
-proc inconsistent*(a: var TGtkToggleButton): guint =
-  result = (a.GtkToggleButtonflag0 and bm_TGtkToggleButton_inconsistent) shr
-      bp_TGtkToggleButton_inconsistent
-
-proc set_inconsistent*(a: var TGtkToggleButton, `inconsistent`: guint) =
-  a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or
-      (int16(`inconsistent` shl bp_TGtkToggleButton_inconsistent) and
-      bm_TGtkToggleButton_inconsistent)
-
-proc GTK_TYPE_CHECK_BUTTON*(): GType =
-  result = gtk_check_button_get_type()
-
-proc GTK_CHECK_BUTTON*(obj: pointer): PGtkCheckButton =
-  result = cast[PGtkCheckButton](GTK_CHECK_CAST(obj, GTK_TYPE_CHECK_BUTTON()))
-
-proc GTK_CHECK_BUTTON_CLASS*(klass: pointer): PGtkCheckButtonClass =
-  result = cast[PGtkCheckButtonClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_CHECK_BUTTON()))
-
-proc GTK_IS_CHECK_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CHECK_BUTTON())
-
-proc GTK_IS_CHECK_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CHECK_BUTTON())
-
-proc GTK_CHECK_BUTTON_GET_CLASS*(obj: pointer): PGtkCheckButtonClass =
-  result = cast[PGtkCheckButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CHECK_BUTTON()))
-
-proc GTK_TYPE_CHECK_MENU_ITEM*(): GType =
-  result = gtk_check_menu_item_get_type()
-
-proc GTK_CHECK_MENU_ITEM*(obj: pointer): PGtkCheckMenuItem =
-  result = cast[PGtkCheckMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_CHECK_MENU_ITEM()))
-
-proc GTK_CHECK_MENU_ITEM_CLASS*(klass: pointer): PGtkCheckMenuItemClass =
-  result = cast[PGtkCheckMenuItemClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_CHECK_MENU_ITEM()))
-
-proc GTK_IS_CHECK_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CHECK_MENU_ITEM())
-
-proc GTK_IS_CHECK_MENU_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CHECK_MENU_ITEM())
-
-proc GTK_CHECK_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkCheckMenuItemClass =
-  result = cast[PGtkCheckMenuItemClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_CHECK_MENU_ITEM()))
-
-proc active*(a: var TGtkCheckMenuItem): guint =
-  result = (a.GtkCheckMenuItemflag0 and bm_TGtkCheckMenuItem_active) shr
-      bp_TGtkCheckMenuItem_active
-
-proc set_active*(a: var TGtkCheckMenuItem, `active`: guint) =
-  a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or
-      (int16(`active` shl bp_TGtkCheckMenuItem_active) and
-      bm_TGtkCheckMenuItem_active)
-
-proc always_show_toggle*(a: var TGtkCheckMenuItem): guint =
-  result = (a.GtkCheckMenuItemflag0 and bm_TGtkCheckMenuItem_always_show_toggle) shr
-      bp_TGtkCheckMenuItem_always_show_toggle
-
-proc set_always_show_toggle*(a: var TGtkCheckMenuItem,
-                             `always_show_toggle`: guint) =
-  a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or
-      (int16(`always_show_toggle` shl bp_TGtkCheckMenuItem_always_show_toggle) and
-      bm_TGtkCheckMenuItem_always_show_toggle)
-
-proc inconsistent*(a: var TGtkCheckMenuItem): guint =
-  result = (a.GtkCheckMenuItemflag0 and bm_TGtkCheckMenuItem_inconsistent) shr
-      bp_TGtkCheckMenuItem_inconsistent
-
-proc set_inconsistent*(a: var TGtkCheckMenuItem, `inconsistent`: guint) =
-  a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or
-      (int16(`inconsistent` shl bp_TGtkCheckMenuItem_inconsistent) and
-      bm_TGtkCheckMenuItem_inconsistent)
-
-proc GTK_TYPE_CLIST*(): GType =
-  result = gtk_clist_get_type()
-
-proc GTK_CLIST*(obj: pointer): PGtkCList =
-  result = cast[PGtkCList](GTK_CHECK_CAST(obj, GTK_TYPE_CLIST()))
-
-proc GTK_CLIST_CLASS*(klass: pointer): PGtkCListClass =
-  result = cast[PGtkCListClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CLIST()))
-
-proc GTK_IS_CLIST*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CLIST())
-
-proc GTK_IS_CLIST_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CLIST())
-
-proc GTK_CLIST_GET_CLASS*(obj: pointer): PGtkCListClass =
-  result = cast[PGtkCListClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CLIST()))
-
-proc GTK_CLIST_FLAGS*(clist: pointer): guint16 =
-  result = toU16(GTK_CLIST(clist).flags)
-
-proc GTK_CLIST_SET_FLAG*(clist: PGtkCList, flag: guint16) =
-  clist.flags = GTK_CLIST(clist).flags or (flag)
-
-proc GTK_CLIST_UNSET_FLAG*(clist: PGtkCList, flag: guint16) =
-  clist.flags = GTK_CLIST(clist).flags and not (flag)
-
-proc GTK_CLIST_IN_DRAG_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_IN_DRAG)) != 0'i32
-
-proc GTK_CLIST_ROW_HEIGHT_SET_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_ROW_HEIGHT_SET)) != 0'i32
-
-proc GTK_CLIST_SHOW_TITLES_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_SHOW_TITLES)) != 0'i32
-
-proc GTK_CLIST_ADD_MODE_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_ADD_MODE)) != 0'i32
-
-proc GTK_CLIST_AUTO_SORT_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_AUTO_SORT)) != 0'i32
-
-proc GTK_CLIST_AUTO_RESIZE_BLOCKED_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_AUTO_RESIZE_BLOCKED)) != 0'i32
-
-proc GTK_CLIST_REORDERABLE_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_REORDERABLE)) != 0'i32
-
-proc GTK_CLIST_USE_DRAG_ICONS_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_USE_DRAG_ICONS)) != 0'i32
-
-proc GTK_CLIST_DRAW_DRAG_LINE_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_DRAW_DRAG_LINE)) != 0'i32
-
-proc GTK_CLIST_DRAW_DRAG_RECT_get*(clist: pointer): bool =
-  result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_DRAW_DRAG_RECT)) != 0'i32
-
-proc GTK_CLIST_ROW_get*(glist: PGList): PGtkCListRow =
-  result = cast[PGtkCListRow](glist . data)
-
-when false:
-  proc GTK_CELL_TEXT_get*(cell: pointer): PGtkCellText =
-    result = cast[PGtkCellText](addr((cell)))
-
-  proc GTK_CELL_PIXMAP_get*(cell: pointer): PGtkCellPixmap =
-    result = cast[PGtkCellPixmap](addr((cell)))
-
-  proc GTK_CELL_PIXTEXT_get*(cell: pointer): PGtkCellPixText =
-    result = cast[PGtkCellPixText](addr((cell)))
-
-  proc GTK_CELL_WIDGET_get*(cell: pointer): PGtkCellWidget =
-    result = cast[PGtkCellWidget](addr((cell)))
-
-proc visible*(a: var TGtkCListColumn): guint =
-  result = (a.flag0 and bm_TGtkCListColumn_visible) shr
-      bp_TGtkCListColumn_visible
-
-proc set_visible*(a: var TGtkCListColumn, `visible`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`visible` shl bp_TGtkCListColumn_visible) and
-      bm_TGtkCListColumn_visible)
-
-proc width_set*(a: var TGtkCListColumn): guint =
-  result = (a.flag0 and bm_TGtkCListColumn_width_set) shr
-      bp_TGtkCListColumn_width_set
-
-proc set_width_set*(a: var TGtkCListColumn, `width_set`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`width_set` shl bp_TGtkCListColumn_width_set) and
-      bm_TGtkCListColumn_width_set)
-
-proc resizeable*(a: var TGtkCListColumn): guint =
-  result = (a.flag0 and bm_TGtkCListColumn_resizeable) shr
-      bp_TGtkCListColumn_resizeable
-
-proc set_resizeable*(a: var TGtkCListColumn, `resizeable`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`resizeable` shl bp_TGtkCListColumn_resizeable) and
-      bm_TGtkCListColumn_resizeable)
-
-proc auto_resize*(a: var TGtkCListColumn): guint =
-  result = (a.flag0 and bm_TGtkCListColumn_auto_resize) shr
-      bp_TGtkCListColumn_auto_resize
-
-proc set_auto_resize*(a: var TGtkCListColumn, `auto_resize`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`auto_resize` shl bp_TGtkCListColumn_auto_resize) and
-      bm_TGtkCListColumn_auto_resize)
-
-proc button_passive*(a: var TGtkCListColumn): guint =
-  result = (a.flag0 and bm_TGtkCListColumn_button_passive) shr
-      bp_TGtkCListColumn_button_passive
-
-proc set_button_passive*(a: var TGtkCListColumn, `button_passive`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`button_passive` shl bp_TGtkCListColumn_button_passive) and
-      bm_TGtkCListColumn_button_passive)
-
-proc fg_set*(a: var TGtkCListRow): guint =
-  result = (a.flag0 and bm_TGtkCListRow_fg_set) shr bp_TGtkCListRow_fg_set
-
-proc set_fg_set*(a: var TGtkCListRow, `fg_set`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`fg_set` shl bp_TGtkCListRow_fg_set) and bm_TGtkCListRow_fg_set)
-
-proc bg_set*(a: var TGtkCListRow): guint =
-  result = (a.flag0 and bm_TGtkCListRow_bg_set) shr bp_TGtkCListRow_bg_set
-
-proc set_bg_set*(a: var TGtkCListRow, `bg_set`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`bg_set` shl bp_TGtkCListRow_bg_set) and bm_TGtkCListRow_bg_set)
-
-proc selectable*(a: var TGtkCListRow): guint =
-  result = (a.flag0 and bm_TGtkCListRow_selectable) shr
-      bp_TGtkCListRow_selectable
-
-proc set_selectable*(a: var TGtkCListRow, `selectable`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`selectable` shl bp_TGtkCListRow_selectable) and
-      bm_TGtkCListRow_selectable)
-
-proc GTK_TYPE_DIALOG*(): GType =
-  result = gtk_dialog_get_type()
-
-proc GTK_DIALOG*(obj: pointer): PGtkDialog =
-  result = cast[PGtkDialog](GTK_CHECK_CAST(obj, GTK_TYPE_DIALOG()))
-
-proc GTK_DIALOG_CLASS*(klass: pointer): PGtkDialogClass =
-  result = cast[PGtkDialogClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_DIALOG()))
-
-proc GTK_IS_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_DIALOG())
-
-proc GTK_IS_DIALOG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_DIALOG())
-
-proc GTK_DIALOG_GET_CLASS*(obj: pointer): PGtkDialogClass =
-  result = cast[PGtkDialogClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_DIALOG()))
-
-proc GTK_TYPE_VBOX*(): GType =
-  result = gtk_vbox_get_type()
-
-proc GTK_VBOX*(obj: pointer): PGtkVBox =
-  result = cast[PGtkVBox](GTK_CHECK_CAST(obj, GTK_TYPE_VBOX()))
-
-proc GTK_VBOX_CLASS*(klass: pointer): PGtkVBoxClass =
-  result = cast[PGtkVBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VBOX()))
-
-proc GTK_IS_VBOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VBOX())
-
-proc GTK_IS_VBOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VBOX())
-
-proc GTK_VBOX_GET_CLASS*(obj: pointer): PGtkVBoxClass =
-  result = cast[PGtkVBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VBOX()))
-
-proc GTK_TYPE_COLOR_SELECTION*(): GType =
-  result = gtk_color_selection_get_type()
-
-proc GTK_COLOR_SELECTION*(obj: pointer): PGtkColorSelection =
-  result = cast[PGtkColorSelection](GTK_CHECK_CAST(obj, GTK_TYPE_COLOR_SELECTION()))
-
-proc GTK_COLOR_SELECTION_CLASS*(klass: pointer): PGtkColorSelectionClass =
-  result = cast[PGtkColorSelectionClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_COLOR_SELECTION()))
-
-proc GTK_IS_COLOR_SELECTION*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_COLOR_SELECTION())
-
-proc GTK_IS_COLOR_SELECTION_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_COLOR_SELECTION())
-
-proc GTK_COLOR_SELECTION_GET_CLASS*(obj: pointer): PGtkColorSelectionClass =
-  result = cast[PGtkColorSelectionClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_COLOR_SELECTION()))
-
-proc GTK_TYPE_COLOR_SELECTION_DIALOG*(): GType =
-  result = gtk_color_selection_dialog_get_type()
-
-proc GTK_COLOR_SELECTION_DIALOG*(obj: pointer): PGtkColorSelectionDialog =
-  result = cast[PGtkColorSelectionDialog](GTK_CHECK_CAST(obj,
-      GTK_TYPE_COLOR_SELECTION_DIALOG()))
-
-proc GTK_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): PGtkColorSelectionDialogClass =
-  result = cast[PGtkColorSelectionDialogClass](
-      GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_COLOR_SELECTION_DIALOG()))
-
-proc GTK_IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_COLOR_SELECTION_DIALOG())
-
-proc GTK_IS_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_COLOR_SELECTION_DIALOG())
-
-proc GTK_COLOR_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PGtkColorSelectionDialogClass =
-  result = cast[PGtkColorSelectionDialogClass](
-      GTK_CHECK_GET_CLASS(obj, GTK_TYPE_COLOR_SELECTION_DIALOG()))
-
-proc GTK_TYPE_HBOX*(): GType =
-  result = gtk_hbox_get_type()
-
-proc GTK_HBOX*(obj: pointer): PGtkHBox =
-  result = cast[PGtkHBox](GTK_CHECK_CAST(obj, GTK_TYPE_HBOX()))
-
-proc GTK_HBOX_CLASS*(klass: pointer): PGtkHBoxClass =
-  result = cast[PGtkHBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HBOX()))
-
-proc GTK_IS_HBOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HBOX())
-
-proc GTK_IS_HBOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HBOX())
-
-proc GTK_HBOX_GET_CLASS*(obj: pointer): PGtkHBoxClass =
-  result = cast[PGtkHBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HBOX()))
-
-proc GTK_TYPE_COMBO*(): GType =
-  result = gtk_combo_get_type()
-
-proc GTK_COMBO*(obj: pointer): PGtkCombo =
-  result = cast[PGtkCombo](GTK_CHECK_CAST(obj, GTK_TYPE_COMBO()))
-
-proc GTK_COMBO_CLASS*(klass: pointer): PGtkComboClass =
-  result = cast[PGtkComboClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_COMBO()))
-
-proc GTK_IS_COMBO*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_COMBO())
-
-proc GTK_IS_COMBO_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_COMBO())
-
-proc GTK_COMBO_GET_CLASS*(obj: pointer): PGtkComboClass =
-  result = cast[PGtkComboClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_COMBO()))
-
-proc value_in_list*(a: var TGtkCombo): guint =
-  result = (a.GtkComboflag0 and bm_TGtkCombo_value_in_list) shr
-      bp_TGtkCombo_value_in_list
-
-proc set_value_in_list*(a: var TGtkCombo, `value_in_list`: guint) =
-  a.GtkComboflag0 = a.GtkComboflag0 or
-      (int16(`value_in_list` shl bp_TGtkCombo_value_in_list) and
-      bm_TGtkCombo_value_in_list)
-
-proc ok_if_empty*(a: var TGtkCombo): guint =
-  result = (a.GtkComboflag0 and bm_TGtkCombo_ok_if_empty) shr
-      bp_TGtkCombo_ok_if_empty
-
-proc set_ok_if_empty*(a: var TGtkCombo, `ok_if_empty`: guint) =
-  a.GtkComboflag0 = a.GtkComboflag0 or
-      (int16(`ok_if_empty` shl bp_TGtkCombo_ok_if_empty) and
-      bm_TGtkCombo_ok_if_empty)
-
-proc case_sensitive*(a: var TGtkCombo): guint =
-  result = (a.GtkComboflag0 and bm_TGtkCombo_case_sensitive) shr
-      bp_TGtkCombo_case_sensitive
-
-proc set_case_sensitive*(a: var TGtkCombo, `case_sensitive`: guint) =
-  a.GtkComboflag0 = a.GtkComboflag0 or
-      (int16(`case_sensitive` shl bp_TGtkCombo_case_sensitive) and
-      bm_TGtkCombo_case_sensitive)
-
-proc use_arrows*(a: var TGtkCombo): guint =
-  result = (a.GtkComboflag0 and bm_TGtkCombo_use_arrows) shr bp_TGtkCombo_use_arrows
-
-proc set_use_arrows*(a: var TGtkCombo, `use_arrows`: guint) =
-  a.GtkComboflag0 = a.GtkComboflag0 or
-      (int16(`use_arrows` shl bp_TGtkCombo_use_arrows) and bm_TGtkCombo_use_arrows)
-
-proc use_arrows_always*(a: var TGtkCombo): guint =
-  result = (a.GtkComboflag0 and bm_TGtkCombo_use_arrows_always) shr
-      bp_TGtkCombo_use_arrows_always
-
-proc set_use_arrows_always*(a: var TGtkCombo, `use_arrows_always`: guint) =
-  a.GtkComboflag0 = a.GtkComboflag0 or
-      (int16(`use_arrows_always` shl bp_TGtkCombo_use_arrows_always) and
-      bm_TGtkCombo_use_arrows_always)
-
-proc GTK_TYPE_CTREE*(): GType =
-  result = gtk_ctree_get_type()
-
-proc GTK_CTREE*(obj: pointer): PGtkCTree =
-  result = cast[PGtkCTree](GTK_CHECK_CAST(obj, GTK_TYPE_CTREE()))
-
-proc GTK_CTREE_CLASS*(klass: pointer): PGtkCTreeClass =
-  result = cast[PGtkCTreeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CTREE()))
-
-proc GTK_IS_CTREE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CTREE())
-
-proc GTK_IS_CTREE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CTREE())
-
-proc GTK_CTREE_GET_CLASS*(obj: pointer): PGtkCTreeClass =
-  result = cast[PGtkCTreeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CTREE()))
-
-proc GTK_CTREE_ROW*(node: TAddress): PGtkCTreeRow =
-  result = cast[PGtkCTreeRow]((cast[PGList](node)) . data)
-
-proc GTK_CTREE_NODE*(node: TAddress): PGtkCTreeNode =
-  result = cast[PGtkCTreeNode](node)
-
-proc GTK_CTREE_NODE_NEXT*(nnode: TAddress): PGtkCTreeNode =
-  result = cast[PGtkCTreeNode]((cast[PGList](nnode)) . next)
-
-proc GTK_CTREE_NODE_PREV*(`pnode`: TAddress): PGtkCTreeNode =
-  result = cast[PGtkCTreeNode]((cast[PGList](`pnode`)) . prev)
-
-proc GTK_CTREE_FUNC*(`func`: TAddress): TGtkCTreeFunc =
-  result = cast[TGtkCTreeFunc](`func`)
-
-proc GTK_TYPE_CTREE_NODE*(): GType =
-  result = gtk_ctree_node_get_type()
-
-proc line_style*(a: var TGtkCTree): guint =
-  result = (a.GtkCTreeflag0 and bm_TGtkCTree_line_style) shr bp_TGtkCTree_line_style
-
-proc set_line_style*(a: var TGtkCTree, `line_style`: guint) =
-  a.GtkCTreeflag0 = a.GtkCTreeflag0 or
-      (int16(`line_style` shl bp_TGtkCTree_line_style) and bm_TGtkCTree_line_style)
-
-proc expander_style*(a: var TGtkCTree): guint =
-  result = (a.GtkCTreeflag0 and bm_TGtkCTree_expander_style) shr
-      bp_TGtkCTree_expander_style
-
-proc set_expander_style*(a: var TGtkCTree, `expander_style`: guint) =
-  a.GtkCTreeflag0 = a.GtkCTreeflag0 or
-      (int16(`expander_style` shl bp_TGtkCTree_expander_style) and
-      bm_TGtkCTree_expander_style)
-
-proc show_stub*(a: var TGtkCTree): guint =
-  result = (a.GtkCTreeflag0 and bm_TGtkCTree_show_stub) shr bp_TGtkCTree_show_stub
-
-proc set_show_stub*(a: var TGtkCTree, `show_stub`: guint) =
-  a.GtkCTreeflag0 = a.GtkCTreeflag0 or
-      (int16(`show_stub` shl bp_TGtkCTree_show_stub) and bm_TGtkCTree_show_stub)
-
-proc is_leaf*(a: var TGtkCTreeRow): guint =
-  result = (a.GtkCTreeRow_flag0 and bm_TGtkCTreeRow_is_leaf) shr bp_TGtkCTreeRow_is_leaf
-
-proc set_is_leaf*(a: var TGtkCTreeRow, `is_leaf`: guint) =
-  a.GtkCTreeRow_flag0 = a.GtkCTreeRow_flag0 or
-      (int16(`is_leaf` shl bp_TGtkCTreeRow_is_leaf) and bm_TGtkCTreeRow_is_leaf)
-
-proc expanded*(a: var TGtkCTreeRow): guint =
-  result = (a.GtkCTreeRow_flag0 and bm_TGtkCTreeRow_expanded) shr
-      bp_TGtkCTreeRow_expanded
-
-proc set_expanded*(a: var TGtkCTreeRow, `expanded`: guint) =
-  a.GtkCTreeRow_flag0 = a.GtkCTreeRowflag0 or
-      (int16(`expanded` shl bp_TGtkCTreeRow_expanded) and bm_TGtkCTreeRow_expanded)
-
-proc gtk_ctree_set_reorderable*(t: pointer, r: bool) =
-  gtk_clist_set_reorderable(cast[PGtkCList](t), r)
-
-proc GTK_TYPE_DRAWING_AREA*(): GType =
-  result = gtk_drawing_area_get_type()
-
-proc GTK_DRAWING_AREA*(obj: pointer): PGtkDrawingArea =
-  result = cast[PGtkDrawingArea](GTK_CHECK_CAST(obj, GTK_TYPE_DRAWING_AREA()))
-
-proc GTK_DRAWING_AREA_CLASS*(klass: pointer): PGtkDrawingAreaClass =
-  result = cast[PGtkDrawingAreaClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_DRAWING_AREA()))
-
-proc GTK_IS_DRAWING_AREA*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_DRAWING_AREA())
-
-proc GTK_IS_DRAWING_AREA_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_DRAWING_AREA())
-
-proc GTK_DRAWING_AREA_GET_CLASS*(obj: pointer): PGtkDrawingAreaClass =
-  result = cast[PGtkDrawingAreaClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_DRAWING_AREA()))
-
-proc GTK_TYPE_CURVE*(): GType =
-  result = gtk_curve_get_type()
-
-proc GTK_CURVE*(obj: pointer): PGtkCurve =
-  result = cast[PGtkCurve](GTK_CHECK_CAST(obj, GTK_TYPE_CURVE()))
-
-proc GTK_CURVE_CLASS*(klass: pointer): PGtkCurveClass =
-  result = cast[PGtkCurveClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CURVE()))
-
-proc GTK_IS_CURVE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CURVE())
-
-proc GTK_IS_CURVE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CURVE())
-
-proc GTK_CURVE_GET_CLASS*(obj: pointer): PGtkCurveClass =
-  result = cast[PGtkCurveClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CURVE()))
-
-proc GTK_TYPE_EDITABLE*(): GType =
-  result = gtk_editable_get_type()
-
-proc GTK_EDITABLE*(obj: pointer): PGtkEditable =
-  result = cast[PGtkEditable](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_EDITABLE()))
-
-proc GTK_EDITABLE_CLASS*(vtable: pointer): PGtkEditableClass =
-  result = cast[PGtkEditableClass](G_TYPE_CHECK_CLASS_CAST(vtable, GTK_TYPE_EDITABLE()))
-
-proc GTK_IS_EDITABLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_EDITABLE())
-
-proc GTK_IS_EDITABLE_CLASS*(vtable: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(vtable, GTK_TYPE_EDITABLE())
-
-proc GTK_EDITABLE_GET_CLASS*(inst: pointer): PGtkEditableClass =
-  result = cast[PGtkEditableClass](G_TYPE_INSTANCE_GET_INTERFACE(inst,
-      GTK_TYPE_EDITABLE()))
-
-proc GTK_TYPE_IM_CONTEXT*(): GType =
-  result = gtk_im_context_get_type()
-
-proc GTK_IM_CONTEXT*(obj: pointer): PGtkIMContext =
-  result = cast[PGtkIMContext](GTK_CHECK_CAST(obj, GTK_TYPE_IM_CONTEXT()))
-
-proc GTK_IM_CONTEXT_CLASS*(klass: pointer): PGtkIMContextClass =
-  result = cast[PGtkIMContextClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_IM_CONTEXT()))
-
-proc GTK_IS_IM_CONTEXT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_CONTEXT())
-
-proc GTK_IS_IM_CONTEXT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IM_CONTEXT())
-
-proc GTK_IM_CONTEXT_GET_CLASS*(obj: pointer): PGtkIMContextClass =
-  result = cast[PGtkIMContextClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_IM_CONTEXT()))
-
-proc GTK_TYPE_MENU_SHELL*(): GType =
-  result = gtk_menu_shell_get_type()
-
-proc GTK_MENU_SHELL*(obj: pointer): PGtkMenuShell =
-  result = cast[PGtkMenuShell](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_SHELL()))
-
-proc GTK_MENU_SHELL_CLASS*(klass: pointer): PGtkMenuShellClass =
-  result = cast[PGtkMenuShellClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_SHELL()))
-
-proc GTK_IS_MENU_SHELL*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_SHELL())
-
-proc GTK_IS_MENU_SHELL_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_SHELL())
-
-proc GTK_MENU_SHELL_GET_CLASS*(obj: pointer): PGtkMenuShellClass =
-  result = cast[PGtkMenuShellClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU_SHELL()))
-
-proc active*(a: var TGtkMenuShell): guint =
-  result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_active) shr bp_TGtkMenuShell_active
-
-proc set_active*(a: var TGtkMenuShell, `active`: guint) =
-  a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      (int16(`active` shl bp_TGtkMenuShell_active) and bm_TGtkMenuShell_active)
-
-proc have_grab*(a: var TGtkMenuShell): guint =
-  result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_have_grab) shr
-      bp_TGtkMenuShell_have_grab
-
-proc set_have_grab*(a: var TGtkMenuShell, `have_grab`: guint) =
-  a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      (int16(`have_grab` shl bp_TGtkMenuShell_have_grab) and
-      bm_TGtkMenuShell_have_grab)
-
-proc have_xgrab*(a: var TGtkMenuShell): guint =
-  result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_have_xgrab) shr
-      bp_TGtkMenuShell_have_xgrab
-
-proc set_have_xgrab*(a: var TGtkMenuShell, `have_xgrab`: guint) =
-  a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      (int16(`have_xgrab` shl bp_TGtkMenuShell_have_xgrab) and
-      bm_TGtkMenuShell_have_xgrab)
-
-proc ignore_leave*(a: var TGtkMenuShell): guint =
-  result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_ignore_leave) shr
-      bp_TGtkMenuShell_ignore_leave
-
-proc set_ignore_leave*(a: var TGtkMenuShell, `ignore_leave`: guint) =
-  a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      (int16(`ignore_leave` shl bp_TGtkMenuShell_ignore_leave) and
-      bm_TGtkMenuShell_ignore_leave)
-
-proc menu_flag*(a: var TGtkMenuShell): guint =
-  result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_menu_flag) shr
-      bp_TGtkMenuShell_menu_flag
-
-proc set_menu_flag*(a: var TGtkMenuShell, `menu_flag`: guint) =
-  a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      (int16(`menu_flag` shl bp_TGtkMenuShell_menu_flag) and
-      bm_TGtkMenuShell_menu_flag)
-
-proc ignore_enter*(a: var TGtkMenuShell): guint =
-  result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_ignore_enter) shr
-      bp_TGtkMenuShell_ignore_enter
-
-proc set_ignore_enter*(a: var TGtkMenuShell, `ignore_enter`: guint) =
-  a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or
-      (int16(`ignore_enter` shl bp_TGtkMenuShell_ignore_enter) and
-      bm_TGtkMenuShell_ignore_enter)
-
-proc submenu_placement*(a: var TGtkMenuShellClass): guint =
-  result = (a.GtkMenuShellClassflag0 and bm_TGtkMenuShellClass_submenu_placement) shr
-      bp_TGtkMenuShellClass_submenu_placement
-
-proc set_submenu_placement*(a: var TGtkMenuShellClass,
-                            `submenu_placement`: guint) =
-  a.GtkMenuShellClassflag0 = a.GtkMenuShellClassflag0 or
-      (int16(`submenu_placement` shl bp_TGtkMenuShellClass_submenu_placement) and
-      bm_TGtkMenuShellClass_submenu_placement)
-
-proc GTK_TYPE_MENU*(): GType =
-  result = gtk_menu_get_type()
-
-proc GTK_MENU*(obj: pointer): PGtkMenu =
-  result = cast[PGtkMenu](GTK_CHECK_CAST(obj, GTK_TYPE_MENU()))
-
-proc GTK_MENU_CLASS*(klass: pointer): PGtkMenuClass =
-  result = cast[PGtkMenuClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU()))
-
-proc GTK_IS_MENU*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU())
-
-proc GTK_IS_MENU_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU())
-
-proc GTK_MENU_GET_CLASS*(obj: pointer): PGtkMenuClass =
-  result = cast[PGtkMenuClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU()))
-
-proc needs_destruction_ref_count*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_needs_destruction_ref_count) shr
-      bp_TGtkMenu_needs_destruction_ref_count
-
-proc set_needs_destruction_ref_count*(a: var TGtkMenu,
-                                      `needs_destruction_ref_count`: guint) =
-  a.GtkMenuflag0 = a.GtkMenuflag0 or
-      (int16(`needs_destruction_ref_count` shl
-      bp_TGtkMenu_needs_destruction_ref_count) and
-      bm_TGtkMenu_needs_destruction_ref_count)
-
-proc torn_off*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_torn_off) shr bp_TGtkMenu_torn_off
-
-proc set_torn_off*(a: var TGtkMenu, `torn_off`: guint) =
-  a.GtkMenuflag0 = a.GtkMenuflag0 or
-      (int16(`torn_off` shl bp_TGtkMenu_torn_off) and bm_TGtkMenu_torn_off)
-
-proc tearoff_active*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_tearoff_active) shr
-      bp_TGtkMenu_tearoff_active
-
-proc set_tearoff_active*(a: var TGtkMenu, `tearoff_active`: guint) =
-  a.GtkMenuflag0 = a.GtkMenuflag0 or
-      (int16(`tearoff_active` shl bp_TGtkMenu_tearoff_active) and
-      bm_TGtkMenu_tearoff_active)
-
-proc scroll_fast*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_scroll_fast) shr bp_TGtkMenu_scroll_fast
-
-proc set_scroll_fast*(a: var TGtkMenu, `scroll_fast`: guint) =
-  a.GtkMenuflag0 = a.GtkMenuflag0 or
-      (int16(`scroll_fast` shl bp_TGtkMenu_scroll_fast) and
-      bm_TGtkMenu_scroll_fast)
-
-proc upper_arrow_visible*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_upper_arrow_visible) shr
-      bp_TGtkMenu_upper_arrow_visible
-
-proc set_upper_arrow_visible*(a: var TGtkMenu, `upper_arrow_visible`: guint) =
-  a.GtkMenuflag0 = a.GtkMenuflag0 or
-      (int16(`upper_arrow_visible` shl bp_TGtkMenu_upper_arrow_visible) and
-      bm_TGtkMenu_upper_arrow_visible)
-
-proc lower_arrow_visible*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_lower_arrow_visible) shr
-      bp_TGtkMenu_lower_arrow_visible
-
-proc set_lower_arrow_visible*(a: var TGtkMenu, `lower_arrow_visible`: guint) =
-  a.GtkMenuflag0 = a.GtkMenuflag0 or
-      (int16(`lower_arrow_visible` shl bp_TGtkMenu_lower_arrow_visible) and
-      bm_TGtkMenu_lower_arrow_visible)
-
-proc upper_arrow_prelight*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_upper_arrow_prelight) shr
-      bp_TGtkMenu_upper_arrow_prelight
-
-proc set_upper_arrow_prelight*(a: var TGtkMenu, `upper_arrow_prelight`: guint) =
-  a.GtkMenuflag0 = a.GtkMenuflag0 or
-      (int16(`upper_arrow_prelight` shl bp_TGtkMenu_upper_arrow_prelight) and
-      bm_TGtkMenu_upper_arrow_prelight)
-
-proc lower_arrow_prelight*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_lower_arrow_prelight) shr
-      bp_TGtkMenu_lower_arrow_prelight
-
-proc set_lower_arrow_prelight*(a: var TGtkMenu, `lower_arrow_prelight`: guint) =
-  a.GtkMenuflag0 = a.GtkMenuflag0 or
-      (int16(`lower_arrow_prelight` shl bp_TGtkMenu_lower_arrow_prelight) and
-      bm_TGtkMenu_lower_arrow_prelight)
-
-proc gtk_menu_append*(menu, child: PGtkWidget) =
-  gtk_menu_shell_append(cast[PGtkMenuShell](menu), child)
-
-proc gtk_menu_prepend*(menu, child: PGtkWidget) =
-  gtk_menu_shell_prepend(cast[PGtkMenuShell](menu), child)
-
-proc gtk_menu_insert*(menu, child: PGtkWidget, pos: gint) =
-  gtk_menu_shell_insert(cast[PGtkMenuShell](menu), child, pos)
-
-proc GTK_TYPE_ENTRY*(): GType =
-  result = gtk_entry_get_type()
-
-proc GTK_ENTRY*(obj: pointer): PGtkEntry =
-  result = cast[PGtkEntry](GTK_CHECK_CAST(obj, GTK_TYPE_ENTRY()))
-
-proc GTK_ENTRY_CLASS*(klass: pointer): PGtkEntryClass =
-  result = cast[PGtkEntryClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ENTRY()))
-
-proc GTK_IS_ENTRY*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ENTRY())
-
-proc GTK_IS_ENTRY_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ENTRY())
-
-proc GTK_ENTRY_GET_CLASS*(obj: pointer): PGtkEntryClass =
-  result = cast[PGtkEntryClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ENTRY()))
-
-proc editable*(a: var TGtkEntry): guint =
-  result = (a.GtkEntryflag0 and bm_TGtkEntry_editable) shr bp_TGtkEntry_editable
-
-proc set_editable*(a: var TGtkEntry, `editable`: guint) =
-  a.GtkEntryflag0 = a.GtkEntryflag0 or
-      (int16(`editable` shl bp_TGtkEntry_editable) and bm_TGtkEntry_editable)
-
-proc visible*(a: var TGtkEntry): guint =
-  result = (a.GtkEntryflag0 and bm_TGtkEntry_visible) shr bp_TGtkEntry_visible
-
-proc set_visible*(a: var TGtkEntry, `visible`: guint) =
-  a.GtkEntryflag0 = a.GtkEntryflag0 or
-      (int16(`visible` shl bp_TGtkEntry_visible) and bm_TGtkEntry_visible)
-
-proc overwrite_mode*(a: var TGtkEntry): guint =
-  result = (a.GtkEntryflag0 and bm_TGtkEntry_overwrite_mode) shr
-      bp_TGtkEntry_overwrite_mode
-
-proc set_overwrite_mode*(a: var TGtkEntry, `overwrite_mode`: guint) =
-  a.GtkEntryflag0 = a.GtkEntryflag0 or
-      (int16(`overwrite_mode` shl bp_TGtkEntry_overwrite_mode) and
-      bm_TGtkEntry_overwrite_mode)
-
-proc in_drag*(a: var TGtkEntry): guint =
-  result = (a.GtkEntryflag0 and bm_TGtkEntry_in_drag) shr bp_TGtkEntry_in_drag
-
-proc set_in_drag*(a: var TGtkEntry, `in_drag`: guint) =
-  a.GtkEntryflag0 = a.GtkEntryflag0 or
-      (int16(`in_drag` shl bp_TGtkEntry_in_drag) and bm_TGtkEntry_in_drag)
-
-proc cache_includes_preedit*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_cache_includes_preedit) shr
-      bp_TGtkEntry_cache_includes_preedit
-
-proc set_cache_includes_preedit*(a: var TGtkEntry,
-                                 `cache_includes_preedit`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`cache_includes_preedit` shl bp_TGtkEntry_cache_includes_preedit) and
-      bm_TGtkEntry_cache_includes_preedit)
-
-proc need_im_reset*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_need_im_reset) shr
-      bp_TGtkEntry_need_im_reset
-
-proc set_need_im_reset*(a: var TGtkEntry, `need_im_reset`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`need_im_reset` shl bp_TGtkEntry_need_im_reset) and
-      bm_TGtkEntry_need_im_reset)
-
-proc has_frame*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_has_frame) shr bp_TGtkEntry_has_frame
-
-proc set_has_frame*(a: var TGtkEntry, `has_frame`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`has_frame` shl bp_TGtkEntry_has_frame) and bm_TGtkEntry_has_frame)
-
-proc activates_default*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_activates_default) shr
-      bp_TGtkEntry_activates_default
-
-proc set_activates_default*(a: var TGtkEntry, `activates_default`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`activates_default` shl bp_TGtkEntry_activates_default) and
-      bm_TGtkEntry_activates_default)
-
-proc cursor_visible*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_cursor_visible) shr
-      bp_TGtkEntry_cursor_visible
-
-proc set_cursor_visible*(a: var TGtkEntry, `cursor_visible`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`cursor_visible` shl bp_TGtkEntry_cursor_visible) and
-      bm_TGtkEntry_cursor_visible)
-
-proc in_click*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_in_click) shr bp_TGtkEntry_in_click
-
-proc set_in_click*(a: var TGtkEntry, `in_click`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`in_click` shl bp_TGtkEntry_in_click) and bm_TGtkEntry_in_click)
-
-proc is_cell_renderer*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_is_cell_renderer) shr
-      bp_TGtkEntry_is_cell_renderer
-
-proc set_is_cell_renderer*(a: var TGtkEntry, `is_cell_renderer`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`is_cell_renderer` shl bp_TGtkEntry_is_cell_renderer) and
-      bm_TGtkEntry_is_cell_renderer)
-
-proc editing_canceled*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_editing_canceled) shr
-      bp_TGtkEntry_editing_canceled
-
-proc set_editing_canceled*(a: var TGtkEntry, `editing_canceled`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`editing_canceled` shl bp_TGtkEntry_editing_canceled) and
-      bm_TGtkEntry_editing_canceled)
-
-proc mouse_cursor_obscured*(a: var TGtkEntry): guint =
-  result = (a.flag1 and bm_TGtkEntry_mouse_cursor_obscured) shr
-      bp_TGtkEntry_mouse_cursor_obscured
-
-proc set_mouse_cursor_obscured*(a: var TGtkEntry, `mouse_cursor_obscured`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`mouse_cursor_obscured` shl bp_TGtkEntry_mouse_cursor_obscured) and
-      bm_TGtkEntry_mouse_cursor_obscured)
-
-proc GTK_TYPE_EVENT_BOX*(): GType =
-  result = gtk_event_box_get_type()
-
-proc GTK_EVENT_BOX*(obj: pointer): PGtkEventBox =
-  result = cast[PGtkEventBox](GTK_CHECK_CAST(obj, GTK_TYPE_EVENT_BOX()))
-
-proc GTK_EVENT_BOX_CLASS*(klass: pointer): PGtkEventBoxClass =
-  result = cast[PGtkEventBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_EVENT_BOX()))
-
-proc GTK_IS_EVENT_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_EVENT_BOX())
-
-proc GTK_IS_EVENT_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_EVENT_BOX())
-
-proc GTK_EVENT_BOX_GET_CLASS*(obj: pointer): PGtkEventBoxClass =
-  result = cast[PGtkEventBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_EVENT_BOX()))
-
-proc GTK_TYPE_FILE_SELECTION*(): GType =
-  result = gtk_file_selection_get_type()
-
-proc GTK_FILE_SELECTION*(obj: pointer): PGtkFileSelection =
-  result = cast[PGtkFileSelection](GTK_CHECK_CAST(obj, GTK_TYPE_FILE_SELECTION()))
-
-proc GTK_FILE_SELECTION_CLASS*(klass: pointer): PGtkFileSelectionClass =
-  result = cast[PGtkFileSelectionClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_FILE_SELECTION()))
-
-proc GTK_IS_FILE_SELECTION*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FILE_SELECTION())
-
-proc GTK_IS_FILE_SELECTION_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FILE_SELECTION())
-
-proc GTK_FILE_SELECTION_GET_CLASS*(obj: pointer): PGtkFileSelectionClass =
-  result = cast[PGtkFileSelectionClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_FILE_SELECTION()))
-
-proc GTK_TYPE_FIXED*(): GType =
-  result = gtk_fixed_get_type()
-
-proc GTK_FIXED*(obj: pointer): PGtkFixed =
-  result = cast[PGtkFixed](GTK_CHECK_CAST(obj, GTK_TYPE_FIXED()))
-
-proc GTK_FIXED_CLASS*(klass: pointer): PGtkFixedClass =
-  result = cast[PGtkFixedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_FIXED()))
-
-proc GTK_IS_FIXED*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FIXED())
-
-proc GTK_IS_FIXED_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FIXED())
-
-proc GTK_FIXED_GET_CLASS*(obj: pointer): PGtkFixedClass =
-  result = cast[PGtkFixedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_FIXED()))
-
-proc GTK_TYPE_FONT_SELECTION*(): GType =
-  result = gtk_font_selection_get_type()
-
-proc GTK_FONT_SELECTION*(obj: pointer): PGtkFontSelection =
-  result = cast[PGtkFontSelection](GTK_CHECK_CAST(obj, GTK_TYPE_FONT_SELECTION()))
-
-proc GTK_FONT_SELECTION_CLASS*(klass: pointer): PGtkFontSelectionClass =
-  result = cast[PGtkFontSelectionClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_FONT_SELECTION()))
-
-proc GTK_IS_FONT_SELECTION*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FONT_SELECTION())
-
-proc GTK_IS_FONT_SELECTION_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FONT_SELECTION())
-
-proc GTK_FONT_SELECTION_GET_CLASS*(obj: pointer): PGtkFontSelectionClass =
-  result = cast[PGtkFontSelectionClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_FONT_SELECTION()))
-
-proc GTK_TYPE_FONT_SELECTION_DIALOG*(): GType =
-  result = gtk_font_selection_dialog_get_type()
-
-proc GTK_FONT_SELECTION_DIALOG*(obj: pointer): PGtkFontSelectionDialog =
-  result = cast[PGtkFontSelectionDialog](GTK_CHECK_CAST(obj,
-      GTK_TYPE_FONT_SELECTION_DIALOG()))
-
-proc GTK_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): PGtkFontSelectionDialogClass =
-  result = cast[PGtkFontSelectionDialogClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_FONT_SELECTION_DIALOG()))
-
-proc GTK_IS_FONT_SELECTION_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FONT_SELECTION_DIALOG())
-
-proc GTK_IS_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FONT_SELECTION_DIALOG())
-
-proc GTK_FONT_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PGtkFontSelectionDialogClass =
-  result = cast[PGtkFontSelectionDialogClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_FONT_SELECTION_DIALOG()))
-
-proc GTK_TYPE_GAMMA_CURVE*(): GType =
-  result = gtk_gamma_curve_get_type()
-
-proc GTK_GAMMA_CURVE*(obj: pointer): PGtkGammaCurve =
-  result = cast[PGtkGammaCurve](GTK_CHECK_CAST(obj, GTK_TYPE_GAMMA_CURVE()))
-
-proc GTK_GAMMA_CURVE_CLASS*(klass: pointer): PGtkGammaCurveClass =
-  result = cast[PGtkGammaCurveClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_GAMMA_CURVE()))
-
-proc GTK_IS_GAMMA_CURVE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_GAMMA_CURVE())
-
-proc GTK_IS_GAMMA_CURVE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_GAMMA_CURVE())
-
-proc GTK_GAMMA_CURVE_GET_CLASS*(obj: pointer): PGtkGammaCurveClass =
-  result = cast[PGtkGammaCurveClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_GAMMA_CURVE()))
-
-proc GTK_TYPE_HANDLE_BOX*(): GType =
-  result = gtk_handle_box_get_type()
-
-proc GTK_HANDLE_BOX*(obj: pointer): PGtkHandleBox =
-  result = cast[PGtkHandleBox](GTK_CHECK_CAST(obj, GTK_TYPE_HANDLE_BOX()))
-
-proc GTK_HANDLE_BOX_CLASS*(klass: pointer): PGtkHandleBoxClass =
-  result = cast[PGtkHandleBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HANDLE_BOX()))
-
-proc GTK_IS_HANDLE_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HANDLE_BOX())
-
-proc GTK_IS_HANDLE_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HANDLE_BOX())
-
-proc GTK_HANDLE_BOX_GET_CLASS*(obj: pointer): PGtkHandleBoxClass =
-  result = cast[PGtkHandleBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HANDLE_BOX()))
-
-proc handle_position*(a: var TGtkHandleBox): guint =
-  result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_handle_position) shr
-      bp_TGtkHandleBox_handle_position
-
-proc set_handle_position*(a: var TGtkHandleBox, `handle_position`: guint) =
-  a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      (int16(`handle_position` shl bp_TGtkHandleBox_handle_position) and
-      bm_TGtkHandleBox_handle_position)
-
-proc float_window_mapped*(a: var TGtkHandleBox): guint =
-  result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_float_window_mapped) shr
-      bp_TGtkHandleBox_float_window_mapped
-
-proc set_float_window_mapped*(a: var TGtkHandleBox, `float_window_mapped`: guint) =
-  a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      (int16(`float_window_mapped` shl bp_TGtkHandleBox_float_window_mapped) and
-      bm_TGtkHandleBox_float_window_mapped)
-
-proc child_detached*(a: var TGtkHandleBox): guint =
-  result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_child_detached) shr
-      bp_TGtkHandleBox_child_detached
-
-proc set_child_detached*(a: var TGtkHandleBox, `child_detached`: guint) =
-  a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      (int16(`child_detached` shl bp_TGtkHandleBox_child_detached) and
-      bm_TGtkHandleBox_child_detached)
-
-proc in_drag*(a: var TGtkHandleBox): guint =
-  result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_in_drag) shr
-      bp_TGtkHandleBox_in_drag
-
-proc set_in_drag*(a: var TGtkHandleBox, `in_drag`: guint) =
-  a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      (int16(`in_drag` shl bp_TGtkHandleBox_in_drag) and bm_TGtkHandleBox_in_drag)
-
-proc shrink_on_detach*(a: var TGtkHandleBox): guint =
-  result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_shrink_on_detach) shr
-      bp_TGtkHandleBox_shrink_on_detach
-
-proc set_shrink_on_detach*(a: var TGtkHandleBox, `shrink_on_detach`: guint) =
-  a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      (int16(`shrink_on_detach` shl bp_TGtkHandleBox_shrink_on_detach) and
-      bm_TGtkHandleBox_shrink_on_detach)
-
-proc snap_edge*(a: var TGtkHandleBox): gint =
-  result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_snap_edge) shr
-      bp_TGtkHandleBox_snap_edge
-
-proc set_snap_edge*(a: var TGtkHandleBox, `snap_edge`: gint) =
-  a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or
-      (int16(`snap_edge` shl bp_TGtkHandleBox_snap_edge) and
-      bm_TGtkHandleBox_snap_edge)
-
-proc GTK_TYPE_PANED*(): GType =
-  result = gtk_paned_get_type()
-
-proc GTK_PANED*(obj: pointer): PGtkPaned =
-  result = cast[PGtkPaned](GTK_CHECK_CAST(obj, GTK_TYPE_PANED()))
-
-proc GTK_PANED_CLASS*(klass: pointer): PGtkPanedClass =
-  result = cast[PGtkPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PANED()))
-
-proc GTK_IS_PANED*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PANED())
-
-proc GTK_IS_PANED_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PANED())
-
-proc GTK_PANED_GET_CLASS*(obj: pointer): PGtkPanedClass =
-  result = cast[PGtkPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PANED()))
-
-proc position_set*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_position_set) shr
-      bp_TGtkPaned_position_set
-
-proc set_position_set*(a: var TGtkPaned, `position_set`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`position_set` shl bp_TGtkPaned_position_set) and
-      bm_TGtkPaned_position_set)
-
-proc in_drag*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_in_drag) shr bp_TGtkPaned_in_drag
-
-proc set_in_drag*(a: var TGtkPaned, `in_drag`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`in_drag` shl bp_TGtkPaned_in_drag) and bm_TGtkPaned_in_drag)
-
-proc child1_shrink*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_child1_shrink) shr
-      bp_TGtkPaned_child1_shrink
-
-proc set_child1_shrink*(a: var TGtkPaned, `child1_shrink`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`child1_shrink` shl bp_TGtkPaned_child1_shrink) and
-      bm_TGtkPaned_child1_shrink)
-
-proc child1_resize*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_child1_resize) shr
-      bp_TGtkPaned_child1_resize
-
-proc set_child1_resize*(a: var TGtkPaned, `child1_resize`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`child1_resize` shl bp_TGtkPaned_child1_resize) and
-      bm_TGtkPaned_child1_resize)
-
-proc child2_shrink*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_child2_shrink) shr
-      bp_TGtkPaned_child2_shrink
-
-proc set_child2_shrink*(a: var TGtkPaned, `child2_shrink`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`child2_shrink` shl bp_TGtkPaned_child2_shrink) and
-      bm_TGtkPaned_child2_shrink)
-
-proc child2_resize*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_child2_resize) shr
-      bp_TGtkPaned_child2_resize
-
-proc set_child2_resize*(a: var TGtkPaned, `child2_resize`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`child2_resize` shl bp_TGtkPaned_child2_resize) and
-      bm_TGtkPaned_child2_resize)
-
-proc orientation*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_orientation) shr
-      bp_TGtkPaned_orientation
-
-proc set_orientation*(a: var TGtkPaned, `orientation`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`orientation` shl bp_TGtkPaned_orientation) and
-      bm_TGtkPaned_orientation)
-
-proc in_recursion*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_in_recursion) shr
-      bp_TGtkPaned_in_recursion
-
-proc set_in_recursion*(a: var TGtkPaned, `in_recursion`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`in_recursion` shl bp_TGtkPaned_in_recursion) and
-      bm_TGtkPaned_in_recursion)
-
-proc handle_prelit*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_handle_prelit) shr
-      bp_TGtkPaned_handle_prelit
-
-proc set_handle_prelit*(a: var TGtkPaned, `handle_prelit`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
-      (int16(`handle_prelit` shl bp_TGtkPaned_handle_prelit) and
-      bm_TGtkPaned_handle_prelit)
-
-proc gtk_paned_gutter_size*(p: pointer, s: gint) =
-  if (p != nil) and (s != 0'i32): nil
-
-proc gtk_paned_set_gutter_size*(p: pointer, s: gint) =
-  if (p != nil) and (s != 0'i32): nil
-
-proc GTK_TYPE_HBUTTON_BOX*(): GType =
-  result = gtk_hbutton_box_get_type()
-
-proc GTK_HBUTTON_BOX*(obj: pointer): PGtkHButtonBox =
-  result = cast[PGtkHButtonBox](GTK_CHECK_CAST(obj, GTK_TYPE_HBUTTON_BOX()))
-
-proc GTK_HBUTTON_BOX_CLASS*(klass: pointer): PGtkHButtonBoxClass =
-  result = cast[PGtkHButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HBUTTON_BOX()))
-
-proc GTK_IS_HBUTTON_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HBUTTON_BOX())
-
-proc GTK_IS_HBUTTON_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HBUTTON_BOX())
-
-proc GTK_HBUTTON_BOX_GET_CLASS*(obj: pointer): PGtkHButtonBoxClass =
-  result = cast[PGtkHButtonBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HBUTTON_BOX()))
-
-proc GTK_TYPE_HPANED*(): GType =
-  result = gtk_hpaned_get_type()
-
-proc GTK_HPANED*(obj: pointer): PGtkHPaned =
-  result = cast[PGtkHPaned](GTK_CHECK_CAST(obj, GTK_TYPE_HPANED()))
-
-proc GTK_HPANED_CLASS*(klass: pointer): PGtkHPanedClass =
-  result = cast[PGtkHPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HPANED()))
-
-proc GTK_IS_HPANED*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HPANED())
-
-proc GTK_IS_HPANED_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HPANED())
-
-proc GTK_HPANED_GET_CLASS*(obj: pointer): PGtkHPanedClass =
-  result = cast[PGtkHPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HPANED()))
-
-proc GTK_TYPE_RULER*(): GType =
-  result = gtk_ruler_get_type()
-
-proc GTK_RULER*(obj: pointer): PGtkRuler =
-  result = cast[PGtkRuler](GTK_CHECK_CAST(obj, GTK_TYPE_RULER()))
-
-proc GTK_RULER_CLASS*(klass: pointer): PGtkRulerClass =
-  result = cast[PGtkRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_RULER()))
-
-proc GTK_IS_RULER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_RULER())
-
-proc GTK_IS_RULER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RULER())
-
-proc GTK_RULER_GET_CLASS*(obj: pointer): PGtkRulerClass =
-  result = cast[PGtkRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_RULER()))
-
-proc GTK_TYPE_HRULER*(): GType =
-  result = gtk_hruler_get_type()
-
-proc GTK_HRULER*(obj: pointer): PGtkHRuler =
-  result = cast[PGtkHRuler](GTK_CHECK_CAST(obj, GTK_TYPE_HRULER()))
-
-proc GTK_HRULER_CLASS*(klass: pointer): PGtkHRulerClass =
-  result = cast[PGtkHRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HRULER()))
-
-proc GTK_IS_HRULER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HRULER())
-
-proc GTK_IS_HRULER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HRULER())
-
-proc GTK_HRULER_GET_CLASS*(obj: pointer): PGtkHRulerClass =
-  result = cast[PGtkHRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HRULER()))
-
-proc GTK_TYPE_SETTINGS*(): GType =
-  result = gtk_settings_get_type()
-
-proc GTK_SETTINGS*(obj: pointer): PGtkSettings =
-  result = cast[PGtkSettings](GTK_CHECK_CAST(obj, GTK_TYPE_SETTINGS()))
-
-proc GTK_SETTINGS_CLASS*(klass: pointer): PGtkSettingsClass =
-  result = cast[PGtkSettingsClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SETTINGS()))
-
-proc GTK_IS_SETTINGS*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SETTINGS())
-
-proc GTK_IS_SETTINGS_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SETTINGS())
-
-proc GTK_SETTINGS_GET_CLASS*(obj: pointer): PGtkSettingsClass =
-  result = cast[PGtkSettingsClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SETTINGS()))
-
-proc GTK_TYPE_RC_STYLE*(): GType =
-  result = gtk_rc_style_get_type()
-
-proc GTK_RC_STYLE_get*(anObject: pointer): PGtkRcStyle =
-  result = cast[PGtkRcStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, GTK_TYPE_RC_STYLE()))
-
-proc GTK_RC_STYLE_CLASS*(klass: pointer): PGtkRcStyleClass =
-  result = cast[PGtkRcStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_RC_STYLE()))
-
-proc GTK_IS_RC_STYLE*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_RC_STYLE())
-
-proc GTK_IS_RC_STYLE_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_RC_STYLE())
-
-proc GTK_RC_STYLE_GET_CLASS*(obj: pointer): PGtkRcStyleClass =
-  result = cast[PGtkRcStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_RC_STYLE()))
-
-proc engine_specified*(a: var TGtkRcStyle): guint =
-  result = (a.GtkRcStyleflag0 and bm_TGtkRcStyle_engine_specified) shr
-      bp_TGtkRcStyle_engine_specified
-
-proc set_engine_specified*(a: var TGtkRcStyle, `engine_specified`: guint) =
-  a.GtkRcStyleflag0 = a.GtkRcStyleflag0 or
-      (int16(`engine_specified` shl bp_TGtkRcStyle_engine_specified) and
-      bm_TGtkRcStyle_engine_specified)
-
-proc GTK_TYPE_STYLE*(): GType =
-  result = gtk_style_get_type()
-
-proc GTK_STYLE*(anObject: pointer): PGtkStyle =
-  result = cast[PGtkStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, GTK_TYPE_STYLE()))
-
-proc GTK_STYLE_CLASS*(klass: pointer): PGtkStyleClass =
-  result = cast[PGtkStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_STYLE()))
-
-proc GTK_IS_STYLE*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_STYLE())
-
-proc GTK_IS_STYLE_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_STYLE())
-
-proc GTK_STYLE_GET_CLASS*(obj: pointer): PGtkStyleClass =
-  result = cast[PGtkStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_STYLE()))
-
-proc GTK_TYPE_BORDER*(): GType =
-  result = gtk_border_get_type()
-
-proc GTK_STYLE_ATTACHED*(style: pointer): bool =
-  result = ((GTK_STYLE(style)).attach_count) > 0'i32
-
-proc gtk_style_apply_default_pixmap*(style: PGtkStyle, window: PGdkWindow,
-                                     state_type: TGtkStateType,
-                                     area: PGdkRectangle, x: gint, y: gint,
-                                     width: gint, height: gint) =
-  gtk_style_apply_default_background(style, window, true, state_type, area, x,
-                                     y, width, height)
-
-proc GTK_TYPE_RANGE*(): GType =
-  result = gtk_range_get_type()
-
-proc GTK_RANGE*(obj: pointer): PGtkRange =
-  result = cast[PGtkRange](GTK_CHECK_CAST(obj, GTK_TYPE_RANGE()))
-
-proc GTK_RANGE_CLASS*(klass: pointer): PGtkRangeClass =
-  result = cast[PGtkRangeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_RANGE()))
-
-proc GTK_IS_RANGE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_RANGE())
-
-proc GTK_IS_RANGE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RANGE())
-
-proc GTK_RANGE_GET_CLASS*(obj: pointer): PGtkRangeClass =
-  result = cast[PGtkRangeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_RANGE()))
-
-proc inverted*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_inverted) shr bp_TGtkRange_inverted
-
-proc set_inverted*(a: var TGtkRange, `inverted`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
-      (int16(`inverted` shl bp_TGtkRange_inverted) and bm_TGtkRange_inverted)
-
-proc flippable*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_flippable) shr bp_TGtkRange_flippable
-
-proc set_flippable*(a: var TGtkRange, `flippable`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
-      (int16(`flippable` shl bp_TGtkRange_flippable) and bm_TGtkRange_flippable)
-
-proc has_stepper_a*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_a) shr
-      bp_TGtkRange_has_stepper_a
-
-proc set_has_stepper_a*(a: var TGtkRange, `has_stepper_a`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
-      (int16(`has_stepper_a` shl bp_TGtkRange_has_stepper_a) and
-      bm_TGtkRange_has_stepper_a)
-
-proc has_stepper_b*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_b) shr
-      bp_TGtkRange_has_stepper_b
-
-proc set_has_stepper_b*(a: var TGtkRange, `has_stepper_b`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
-      (int16(`has_stepper_b` shl bp_TGtkRange_has_stepper_b) and
-      bm_TGtkRange_has_stepper_b)
-
-proc has_stepper_c*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_c) shr
-      bp_TGtkRange_has_stepper_c
-
-proc set_has_stepper_c*(a: var TGtkRange, `has_stepper_c`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
-      (int16(`has_stepper_c` shl bp_TGtkRange_has_stepper_c) and
-      bm_TGtkRange_has_stepper_c)
-
-proc has_stepper_d*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_d) shr
-      bp_TGtkRange_has_stepper_d
-
-proc set_has_stepper_d*(a: var TGtkRange, `has_stepper_d`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
-      (int16(`has_stepper_d` shl bp_TGtkRange_has_stepper_d) and
-      bm_TGtkRange_has_stepper_d)
-
-proc need_recalc*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_need_recalc) shr
-      bp_TGtkRange_need_recalc
-
-proc set_need_recalc*(a: var TGtkRange, `need_recalc`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
-      (int16(`need_recalc` shl bp_TGtkRange_need_recalc) and
-      bm_TGtkRange_need_recalc)
-
-proc slider_size_fixed*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_slider_size_fixed) shr
-      bp_TGtkRange_slider_size_fixed
-
-proc set_slider_size_fixed*(a: var TGtkRange, `slider_size_fixed`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
-      (int16(`slider_size_fixed` shl bp_TGtkRange_slider_size_fixed) and
-      bm_TGtkRange_slider_size_fixed)
-
-proc trough_click_forward*(a: var TGtkRange): guint =
-  result = (a.flag1 and bm_TGtkRange_trough_click_forward) shr
-      bp_TGtkRange_trough_click_forward
-
-proc set_trough_click_forward*(a: var TGtkRange, `trough_click_forward`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`trough_click_forward` shl bp_TGtkRange_trough_click_forward) and
-      bm_TGtkRange_trough_click_forward)
-
-proc update_pending*(a: var TGtkRange): guint =
-  result = (a.flag1 and bm_TGtkRange_update_pending) shr
-      bp_TGtkRange_update_pending
-
-proc set_update_pending*(a: var TGtkRange, `update_pending`: guint) =
-  a.flag1 = a.flag1 or
-      (int16(`update_pending` shl bp_TGtkRange_update_pending) and
-      bm_TGtkRange_update_pending)
-
-proc GTK_TYPE_SCALE*(): GType =
-  result = gtk_scale_get_type()
-
-proc GTK_SCALE*(obj: pointer): PGtkScale =
-  result = cast[PGtkScale](GTK_CHECK_CAST(obj, GTK_TYPE_SCALE()))
-
-proc GTK_SCALE_CLASS*(klass: pointer): PGtkScaleClass =
-  result = cast[PGtkScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SCALE()))
-
-proc GTK_IS_SCALE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCALE())
-
-proc GTK_IS_SCALE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCALE())
-
-proc GTK_SCALE_GET_CLASS*(obj: pointer): PGtkScaleClass =
-  result = cast[PGtkScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SCALE()))
-
-proc draw_value*(a: var TGtkScale): guint =
-  result = (a.GtkScaleflag0 and bm_TGtkScale_draw_value) shr bp_TGtkScale_draw_value
-
-proc set_draw_value*(a: var TGtkScale, `draw_value`: guint) =
-  a.GtkScaleflag0 = a.GtkScaleflag0 or
-      (int16(`draw_value` shl bp_TGtkScale_draw_value) and bm_TGtkScale_draw_value)
-
-proc value_pos*(a: var TGtkScale): guint =
-  result = (a.GtkScaleflag0 and bm_TGtkScale_value_pos) shr bp_TGtkScale_value_pos
-
-proc set_value_pos*(a: var TGtkScale, `value_pos`: guint) =
-  a.GtkScaleflag0 = a.GtkScaleflag0 or
-      (int16(`value_pos` shl bp_TGtkScale_value_pos) and bm_TGtkScale_value_pos)
-
-proc GTK_TYPE_HSCALE*(): GType =
-  result = gtk_hscale_get_type()
-
-proc GTK_HSCALE*(obj: pointer): PGtkHScale =
-  result = cast[PGtkHScale](GTK_CHECK_CAST(obj, GTK_TYPE_HSCALE()))
-
-proc GTK_HSCALE_CLASS*(klass: pointer): PGtkHScaleClass =
-  result = cast[PGtkHScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSCALE()))
-
-proc GTK_IS_HSCALE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSCALE())
-
-proc GTK_IS_HSCALE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSCALE())
-
-proc GTK_HSCALE_GET_CLASS*(obj: pointer): PGtkHScaleClass =
-  result = cast[PGtkHScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSCALE()))
-
-proc GTK_TYPE_SCROLLBAR*(): GType =
-  result = gtk_scrollbar_get_type()
-
-proc GTK_SCROLLBAR*(obj: pointer): PGtkScrollbar =
-  result = cast[PGtkScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_SCROLLBAR()))
-
-proc GTK_SCROLLBAR_CLASS*(klass: pointer): PGtkScrollbarClass =
-  result = cast[PGtkScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SCROLLBAR()))
-
-proc GTK_IS_SCROLLBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCROLLBAR())
-
-proc GTK_IS_SCROLLBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCROLLBAR())
-
-proc GTK_SCROLLBAR_GET_CLASS*(obj: pointer): PGtkScrollbarClass =
-  result = cast[PGtkScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SCROLLBAR()))
-
-proc GTK_TYPE_HSCROLLBAR*(): GType =
-  result = gtk_hscrollbar_get_type()
-
-proc GTK_HSCROLLBAR*(obj: pointer): PGtkHScrollbar =
-  result = cast[PGtkHScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_HSCROLLBAR()))
-
-proc GTK_HSCROLLBAR_CLASS*(klass: pointer): PGtkHScrollbarClass =
-  result = cast[PGtkHScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSCROLLBAR()))
-
-proc GTK_IS_HSCROLLBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSCROLLBAR())
-
-proc GTK_IS_HSCROLLBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSCROLLBAR())
-
-proc GTK_HSCROLLBAR_GET_CLASS*(obj: pointer): PGtkHScrollbarClass =
-  result = cast[PGtkHScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSCROLLBAR()))
-
-proc GTK_TYPE_SEPARATOR*(): GType =
-  result = gtk_separator_get_type()
-
-proc GTK_SEPARATOR*(obj: pointer): PGtkSeparator =
-  result = cast[PGtkSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_SEPARATOR()))
-
-proc GTK_SEPARATOR_CLASS*(klass: pointer): PGtkSeparatorClass =
-  result = cast[PGtkSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SEPARATOR()))
-
-proc GTK_IS_SEPARATOR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SEPARATOR())
-
-proc GTK_IS_SEPARATOR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SEPARATOR())
-
-proc GTK_SEPARATOR_GET_CLASS*(obj: pointer): PGtkSeparatorClass =
-  result = cast[PGtkSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SEPARATOR()))
-
-proc GTK_TYPE_HSEPARATOR*(): GType =
-  result = gtk_hseparator_get_type()
-
-proc GTK_HSEPARATOR*(obj: pointer): PGtkHSeparator =
-  result = cast[PGtkHSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_HSEPARATOR()))
-
-proc GTK_HSEPARATOR_CLASS*(klass: pointer): PGtkHSeparatorClass =
-  result = cast[PGtkHSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSEPARATOR()))
-
-proc GTK_IS_HSEPARATOR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSEPARATOR())
-
-proc GTK_IS_HSEPARATOR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSEPARATOR())
-
-proc GTK_HSEPARATOR_GET_CLASS*(obj: pointer): PGtkHSeparatorClass =
-  result = cast[PGtkHSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSEPARATOR()))
-
-proc GTK_TYPE_ICON_FACTORY*(): GType =
-  result = gtk_icon_factory_get_type()
-
-proc GTK_ICON_FACTORY*(anObject: pointer): PGtkIconFactory =
-  result = cast[PGtkIconFactory](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      GTK_TYPE_ICON_FACTORY()))
-
-proc GTK_ICON_FACTORY_CLASS*(klass: pointer): PGtkIconFactoryClass =
-  result = cast[PGtkIconFactoryClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_ICON_FACTORY()))
-
-proc GTK_IS_ICON_FACTORY*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_ICON_FACTORY())
-
-proc GTK_IS_ICON_FACTORY_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_ICON_FACTORY())
-
-proc GTK_ICON_FACTORY_GET_CLASS*(obj: pointer): PGtkIconFactoryClass =
-  result = cast[PGtkIconFactoryClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GTK_TYPE_ICON_FACTORY()))
-
-proc GTK_TYPE_ICON_SET*(): GType =
-  result = gtk_icon_set_get_type()
-
-proc GTK_TYPE_ICON_SOURCE*(): GType =
-  result = gtk_icon_source_get_type()
-
-proc GTK_TYPE_IMAGE*(): GType =
-  result = gtk_image_get_type()
-
-proc GTK_IMAGE*(obj: pointer): PGtkImage =
-  result = cast[PGtkImage](GTK_CHECK_CAST(obj, GTK_TYPE_IMAGE()))
-
-proc GTK_IMAGE_CLASS*(klass: pointer): PGtkImageClass =
-  result = cast[PGtkImageClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_IMAGE()))
-
-proc GTK_IS_IMAGE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IMAGE())
-
-proc GTK_IS_IMAGE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IMAGE())
-
-proc GTK_IMAGE_GET_CLASS*(obj: pointer): PGtkImageClass =
-  result = cast[PGtkImageClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_IMAGE()))
-
-proc GTK_TYPE_IMAGE_MENU_ITEM*(): GType =
-  result = gtk_image_menu_item_get_type()
-
-proc GTK_IMAGE_MENU_ITEM*(obj: pointer): PGtkImageMenuItem =
-  result = cast[PGtkImageMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_IMAGE_MENU_ITEM()))
-
-proc GTK_IMAGE_MENU_ITEM_CLASS*(klass: pointer): PGtkImageMenuItemClass =
-  result = cast[PGtkImageMenuItemClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_IMAGE_MENU_ITEM()))
-
-proc GTK_IS_IMAGE_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IMAGE_MENU_ITEM())
-
-proc GTK_IS_IMAGE_MENU_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IMAGE_MENU_ITEM())
-
-proc GTK_IMAGE_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkImageMenuItemClass =
-  result = cast[PGtkImageMenuItemClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_IMAGE_MENU_ITEM()))
-
-proc GTK_TYPE_IM_CONTEXT_SIMPLE*(): GType =
-  result = gtk_im_context_simple_get_type()
-
-proc GTK_IM_CONTEXT_SIMPLE*(obj: pointer): PGtkIMContextSimple =
-  result = cast[PGtkIMContextSimple](GTK_CHECK_CAST(obj, GTK_TYPE_IM_CONTEXT_SIMPLE()))
-
-proc GTK_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): PGtkIMContextSimpleClass =
-  result = cast[PGtkIMContextSimpleClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_IM_CONTEXT_SIMPLE()))
-
-proc GTK_IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_CONTEXT_SIMPLE())
-
-proc GTK_IS_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IM_CONTEXT_SIMPLE())
-
-proc GTK_IM_CONTEXT_SIMPLE_GET_CLASS*(obj: pointer): PGtkIMContextSimpleClass =
-  result = cast[PGtkIMContextSimpleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_IM_CONTEXT_SIMPLE()))
-
-proc in_hex_sequence*(a: var TGtkIMContextSimple): guint =
-  result = (a.GtkIMContextSimpleflag0 and bm_TGtkIMContextSimple_in_hex_sequence) shr
-      bp_TGtkIMContextSimple_in_hex_sequence
-
-proc set_in_hex_sequence*(a: var TGtkIMContextSimple, `in_hex_sequence`: guint) =
-  a.GtkIMContextSimpleflag0 = a.GtkIMContextSimpleflag0 or
-      (int16(`in_hex_sequence` shl bp_TGtkIMContextSimple_in_hex_sequence) and
-      bm_TGtkIMContextSimple_in_hex_sequence)
-
-proc GTK_TYPE_IM_MULTICONTEXT*(): GType =
-  result = gtk_im_multicontext_get_type()
-
-proc GTK_IM_MULTICONTEXT*(obj: pointer): PGtkIMMulticontext =
-  result = cast[PGtkIMMulticontext](GTK_CHECK_CAST(obj, GTK_TYPE_IM_MULTICONTEXT()))
-
-proc GTK_IM_MULTICONTEXT_CLASS*(klass: pointer): PGtkIMMulticontextClass =
-  result = cast[PGtkIMMulticontextClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_IM_MULTICONTEXT()))
-
-proc GTK_IS_IM_MULTICONTEXT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_MULTICONTEXT())
-
-proc GTK_IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IM_MULTICONTEXT())
-
-proc GTK_IM_MULTICONTEXT_GET_CLASS*(obj: pointer): PGtkIMMulticontextClass =
-  result = cast[PGtkIMMulticontextClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_IM_MULTICONTEXT()))
-
-proc GTK_TYPE_INPUT_DIALOG*(): GType =
-  result = gtk_input_dialog_get_type()
-
-proc GTK_INPUT_DIALOG*(obj: pointer): PGtkInputDialog =
-  result = cast[PGtkInputDialog](GTK_CHECK_CAST(obj, GTK_TYPE_INPUT_DIALOG()))
-
-proc GTK_INPUT_DIALOG_CLASS*(klass: pointer): PGtkInputDialogClass =
-  result = cast[PGtkInputDialogClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_INPUT_DIALOG()))
-
-proc GTK_IS_INPUT_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_INPUT_DIALOG())
-
-proc GTK_IS_INPUT_DIALOG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_INPUT_DIALOG())
-
-proc GTK_INPUT_DIALOG_GET_CLASS*(obj: pointer): PGtkInputDialogClass =
-  result = cast[PGtkInputDialogClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_INPUT_DIALOG()))
-
-proc GTK_TYPE_INVISIBLE*(): GType =
-  result = gtk_invisible_get_type()
-
-proc GTK_INVISIBLE*(obj: pointer): PGtkInvisible =
-  result = cast[PGtkInvisible](GTK_CHECK_CAST(obj, GTK_TYPE_INVISIBLE()))
-
-proc GTK_INVISIBLE_CLASS*(klass: pointer): PGtkInvisibleClass =
-  result = cast[PGtkInvisibleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_INVISIBLE()))
-
-proc GTK_IS_INVISIBLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_INVISIBLE())
-
-proc GTK_IS_INVISIBLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_INVISIBLE())
-
-proc GTK_INVISIBLE_GET_CLASS*(obj: pointer): PGtkInvisibleClass =
-  result = cast[PGtkInvisibleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_INVISIBLE()))
-
-proc GTK_TYPE_ITEM_FACTORY*(): GType =
-  result = gtk_item_factory_get_type()
-
-proc GTK_ITEM_FACTORY*(anObject: pointer): PGtkItemFactory =
-  result = cast[PGtkItemFactory](GTK_CHECK_CAST(anObject, GTK_TYPE_ITEM_FACTORY()))
-
-proc GTK_ITEM_FACTORY_CLASS*(klass: pointer): PGtkItemFactoryClass =
-  result = cast[PGtkItemFactoryClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_ITEM_FACTORY()))
-
-proc GTK_IS_ITEM_FACTORY*(anObject: pointer): bool =
-  result = GTK_CHECK_TYPE(anObject, GTK_TYPE_ITEM_FACTORY())
-
-proc GTK_IS_ITEM_FACTORY_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ITEM_FACTORY())
-
-proc GTK_ITEM_FACTORY_GET_CLASS*(obj: pointer): PGtkItemFactoryClass =
-  result = cast[PGtkItemFactoryClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ITEM_FACTORY()))
-
-proc GTK_TYPE_LAYOUT*(): GType =
-  result = gtk_layout_get_type()
-
-proc GTK_LAYOUT*(obj: pointer): PGtkLayout =
-  result = cast[PGtkLayout](GTK_CHECK_CAST(obj, GTK_TYPE_LAYOUT()))
-
-proc GTK_LAYOUT_CLASS*(klass: pointer): PGtkLayoutClass =
-  result = cast[PGtkLayoutClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LAYOUT()))
-
-proc GTK_IS_LAYOUT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LAYOUT())
-
-proc GTK_IS_LAYOUT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LAYOUT())
-
-proc GTK_LAYOUT_GET_CLASS*(obj: pointer): PGtkLayoutClass =
-  result = cast[PGtkLayoutClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LAYOUT()))
-
-proc GTK_TYPE_LIST*(): GType =
-  result = gtk_list_get_type()
-
-proc GTK_LIST*(obj: pointer): PGtkList =
-  result = cast[PGtkList](GTK_CHECK_CAST(obj, GTK_TYPE_LIST()))
-
-proc GTK_LIST_CLASS*(klass: pointer): PGtkListClass =
-  result = cast[PGtkListClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST()))
-
-proc GTK_IS_LIST*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST())
-
-proc GTK_IS_LIST_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST())
-
-proc GTK_LIST_GET_CLASS*(obj: pointer): PGtkListClass =
-  result = cast[PGtkListClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LIST()))
-
-proc selection_mode*(a: var TGtkList): guint =
-  result = (a.GtkListflag0 and bm_TGtkList_selection_mode) shr
-      bp_TGtkList_selection_mode
-
-proc set_selection_mode*(a: var TGtkList, `selection_mode`: guint) =
-  a.GtkListflag0 = a.GtkListflag0 or
-      (int16(`selection_mode` shl bp_TGtkList_selection_mode) and
-      bm_TGtkList_selection_mode)
-
-proc drag_selection*(a: var TGtkList): guint =
-  result = (a.GtkListflag0 and bm_TGtkList_drag_selection) shr
-      bp_TGtkList_drag_selection
-
-proc set_drag_selection*(a: var TGtkList, `drag_selection`: guint) =
-  a.GtkListflag0 = a.GtkListflag0 or
-      (int16(`drag_selection` shl bp_TGtkList_drag_selection) and
-      bm_TGtkList_drag_selection)
-
-proc add_mode*(a: var TGtkList): guint =
-  result = (a.GtkListflag0 and bm_TGtkList_add_mode) shr bp_TGtkList_add_mode
-
-proc set_add_mode*(a: var TGtkList, `add_mode`: guint) =
-  a.GtkListflag0 = a.GtkListflag0 or
-      (int16(`add_mode` shl bp_TGtkList_add_mode) and bm_TGtkList_add_mode)
-
-proc gtk_list_item_get_type(): GType {.importc, cdecl, dynlib: gtklib.}
-
-proc GTK_TYPE_LIST_ITEM*(): GType =
-  result = gtk_list_item_get_type()
-
-type
-  TGtkListItem = object of TGtkItem
-  TGtkListItemClass = object of TGtkItemClass
-  PGtkListItem = ptr TGtkListItem
-  PGtkListItemClass = ptr TGtkListItemClass
-
-proc GTK_LIST_ITEM*(obj: pointer): PGtkListItem =
-  result = cast[PGtkListItem](GTK_CHECK_CAST(obj, GTK_TYPE_LIST_ITEM()))
-
-proc GTK_LIST_ITEM_CLASS*(klass: pointer): PGtkListItemClass =
-  result = cast[PGtkListItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST_ITEM()))
-
-proc GTK_IS_LIST_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST_ITEM())
-
-proc GTK_IS_LIST_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST_ITEM())
-
-proc GTK_LIST_ITEM_GET_CLASS*(obj: pointer): PGtkListItemClass =
-  result = cast[PGtkListItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LIST_ITEM()))
-
-#proc gtk_tree_model_get_type(): GType {.importc, cdecl, dynlib: gtklib.}
-
-proc GTK_TYPE_TREE_MODEL*(): GType =
-  result = gtk_tree_model_get_type()
-
-proc GTK_TREE_MODEL*(obj: pointer): PGtkTreeModel =
-  result = cast[PGtkTreeModel](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_TREE_MODEL()))
-
-proc GTK_IS_TREE_MODEL*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_MODEL())
-
-proc GTK_TREE_MODEL_GET_IFACE*(obj: pointer): PGtkTreeModelIface =
-  result = cast[PGtkTreeModelIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      GTK_TYPE_TREE_MODEL()))
-
-proc GTK_TYPE_TREE_ITER*(): GType =
-  result = gtk_tree_iter_get_type()
-
-proc GTK_TYPE_TREE_PATH*(): GType =
-  result = gtk_tree_path_get_type()
-
-proc gtk_tree_path_new_root*(): PGtkTreePath =
-  result = gtk_tree_path_new_first()
-
-proc gtk_tree_model_get_iter_root*(tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean =
-  result = gtk_tree_model_get_iter_first(tree_model, iter)
-
-proc GTK_TYPE_TREE_SORTABLE*(): GType =
-  result = gtk_tree_sortable_get_type()
-
-proc GTK_TREE_SORTABLE*(obj: pointer): PGtkTreeSortable =
-  result = cast[PGtkTreeSortable](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      GTK_TYPE_TREE_SORTABLE()))
-
-proc GTK_TREE_SORTABLE_CLASS*(obj: pointer): PGtkTreeSortableIface =
-  result = cast[PGtkTreeSortableIface](G_TYPE_CHECK_CLASS_CAST(obj,
-      GTK_TYPE_TREE_SORTABLE()))
-
-proc GTK_IS_TREE_SORTABLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_SORTABLE())
-
-proc GTK_TREE_SORTABLE_GET_IFACE*(obj: pointer): PGtkTreeSortableIface =
-  result = cast[PGtkTreeSortableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      GTK_TYPE_TREE_SORTABLE()))
-
-proc GTK_TYPE_TREE_MODEL_SORT*(): GType =
-  result = gtk_tree_model_sort_get_type()
-
-proc GTK_TREE_MODEL_SORT*(obj: pointer): PGtkTreeModelSort =
-  result = cast[PGtkTreeModelSort](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_MODEL_SORT()))
-
-proc GTK_TREE_MODEL_SORT_CLASS*(klass: pointer): PGtkTreeModelSortClass =
-  result = cast[PGtkTreeModelSortClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TREE_MODEL_SORT()))
-
-proc GTK_IS_TREE_MODEL_SORT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_MODEL_SORT())
-
-proc GTK_IS_TREE_MODEL_SORT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_MODEL_SORT())
-
-proc GTK_TREE_MODEL_SORT_GET_CLASS*(obj: pointer): PGtkTreeModelSortClass =
-  result = cast[PGtkTreeModelSortClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_TREE_MODEL_SORT()))
-
-proc GTK_TYPE_LIST_STORE*(): GType =
-  result = gtk_list_store_get_type()
-
-proc GTK_LIST_STORE*(obj: pointer): PGtkListStore =
-  result = cast[PGtkListStore](GTK_CHECK_CAST(obj, GTK_TYPE_LIST_STORE()))
-
-proc GTK_LIST_STORE_CLASS*(klass: pointer): PGtkListStoreClass =
-  result = cast[PGtkListStoreClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST_STORE()))
-
-proc GTK_IS_LIST_STORE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST_STORE())
-
-proc GTK_IS_LIST_STORE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST_STORE())
-
-proc GTK_LIST_STORE_GET_CLASS*(obj: pointer): PGtkListStoreClass =
-  result = cast[PGtkListStoreClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LIST_STORE()))
-
-proc columns_dirty*(a: var TGtkListStore): guint =
-  result = (a.GtkListStoreflag0 and bm_TGtkListStore_columns_dirty) shr
-      bp_TGtkListStore_columns_dirty
-
-proc set_columns_dirty*(a: var TGtkListStore, `columns_dirty`: guint) =
-  a.GtkListStoreflag0 = a.GtkListStoreflag0 or
-      (int16(`columns_dirty` shl bp_TGtkListStore_columns_dirty) and
-      bm_TGtkListStore_columns_dirty)
-
-proc GTK_TYPE_MENU_BAR*(): GType =
-  result = gtk_menu_bar_get_type()
-
-proc GTK_MENU_BAR*(obj: pointer): PGtkMenuBar =
-  result = cast[PGtkMenuBar](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_BAR()))
-
-proc GTK_MENU_BAR_CLASS*(klass: pointer): PGtkMenuBarClass =
-  result = cast[PGtkMenuBarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_BAR()))
-
-proc GTK_IS_MENU_BAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_BAR())
-
-proc GTK_IS_MENU_BAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_BAR())
-
-proc GTK_MENU_BAR_GET_CLASS*(obj: pointer): PGtkMenuBarClass =
-  result = cast[PGtkMenuBarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU_BAR()))
-
-proc gtk_menu_bar_append*(menu, child: PGtkWidget) =
-  gtk_menu_shell_append(cast[PGtkMenuShell](menu), child)
-
-proc gtk_menu_bar_prepend*(menu, child: PGtkWidget) =
-  gtk_menu_shell_prepend(cast[PGtkMenuShell](menu), child)
-
-proc gtk_menu_bar_insert*(menu, child: PGtkWidget, pos: gint) =
-  gtk_menu_shell_insert(cast[PGtkMenuShell](menu), child, pos)
-
-proc GTK_TYPE_MESSAGE_DIALOG*(): GType =
-  result = gtk_message_dialog_get_type()
-
-proc GTK_MESSAGE_DIALOG*(obj: pointer): PGtkMessageDialog =
-  result = cast[PGtkMessageDialog](GTK_CHECK_CAST(obj, GTK_TYPE_MESSAGE_DIALOG()))
-
-proc GTK_MESSAGE_DIALOG_CLASS*(klass: pointer): PGtkMessageDialogClass =
-  result = cast[PGtkMessageDialogClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_MESSAGE_DIALOG()))
-
-proc GTK_IS_MESSAGE_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MESSAGE_DIALOG())
-
-proc GTK_IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MESSAGE_DIALOG())
-
-proc GTK_MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PGtkMessageDialogClass =
-  result = cast[PGtkMessageDialogClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_MESSAGE_DIALOG()))
-
-proc GTK_TYPE_NOTEBOOK*(): GType =
-  result = gtk_notebook_get_type()
-
-proc GTK_NOTEBOOK*(obj: pointer): PGtkNotebook =
-  result = cast[PGtkNotebook](GTK_CHECK_CAST(obj, GTK_TYPE_NOTEBOOK()))
-
-proc GTK_NOTEBOOK_CLASS*(klass: pointer): PGtkNotebookClass =
-  result = cast[PGtkNotebookClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_NOTEBOOK()))
-
-proc GTK_IS_NOTEBOOK*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_NOTEBOOK())
-
-proc GTK_IS_NOTEBOOK_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_NOTEBOOK())
-
-proc GTK_NOTEBOOK_GET_CLASS*(obj: pointer): PGtkNotebookClass =
-  result = cast[PGtkNotebookClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_NOTEBOOK()))
-
-proc show_tabs*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_show_tabs) shr
-      bp_TGtkNotebook_show_tabs
-
-proc set_show_tabs*(a: var TGtkNotebook, `show_tabs`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`show_tabs` shl bp_TGtkNotebook_show_tabs) and
-      bm_TGtkNotebook_show_tabs)
-
-proc homogeneous*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_homogeneous) shr
-      bp_TGtkNotebook_homogeneous
-
-proc set_homogeneous*(a: var TGtkNotebook, `homogeneous`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`homogeneous` shl bp_TGtkNotebook_homogeneous) and
-      bm_TGtkNotebook_homogeneous)
-
-proc show_border*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_show_border) shr
-      bp_TGtkNotebook_show_border
-
-proc set_show_border*(a: var TGtkNotebook, `show_border`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`show_border` shl bp_TGtkNotebook_show_border) and
-      bm_TGtkNotebook_show_border)
-
-proc tab_pos*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_tab_pos) shr bp_TGtkNotebook_tab_pos
-
-proc set_tab_pos*(a: var TGtkNotebook, `tab_pos`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`tab_pos` shl bp_TGtkNotebook_tab_pos) and bm_TGtkNotebook_tab_pos)
-
-proc scrollable*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_scrollable) shr
-      bp_TGtkNotebook_scrollable
-
-proc set_scrollable*(a: var TGtkNotebook, `scrollable`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`scrollable` shl bp_TGtkNotebook_scrollable) and
-      bm_TGtkNotebook_scrollable)
-
-proc in_child*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_in_child) shr
-      bp_TGtkNotebook_in_child
-
-proc set_in_child*(a: var TGtkNotebook, `in_child`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`in_child` shl bp_TGtkNotebook_in_child) and bm_TGtkNotebook_in_child)
-
-proc click_child*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_click_child) shr
-      bp_TGtkNotebook_click_child
-
-proc set_click_child*(a: var TGtkNotebook, `click_child`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`click_child` shl bp_TGtkNotebook_click_child) and
-      bm_TGtkNotebook_click_child)
-
-proc button*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_button) shr bp_TGtkNotebook_button
-
-proc set_button*(a: var TGtkNotebook, `button`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`button` shl bp_TGtkNotebook_button) and bm_TGtkNotebook_button)
-
-proc need_timer*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_need_timer) shr
-      bp_TGtkNotebook_need_timer
-
-proc set_need_timer*(a: var TGtkNotebook, `need_timer`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`need_timer` shl bp_TGtkNotebook_need_timer) and
-      bm_TGtkNotebook_need_timer)
-
-proc child_has_focus*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_child_has_focus) shr
-      bp_TGtkNotebook_child_has_focus
-
-proc set_child_has_focus*(a: var TGtkNotebook, `child_has_focus`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`child_has_focus` shl bp_TGtkNotebook_child_has_focus) and
-      bm_TGtkNotebook_child_has_focus)
-
-proc have_visible_child*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_have_visible_child) shr
-      bp_TGtkNotebook_have_visible_child
-
-proc set_have_visible_child*(a: var TGtkNotebook, `have_visible_child`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`have_visible_child` shl bp_TGtkNotebook_have_visible_child) and
-      bm_TGtkNotebook_have_visible_child)
-
-proc focus_out*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_focus_out) shr
-      bp_TGtkNotebook_focus_out
-
-proc set_focus_out*(a: var TGtkNotebook, `focus_out`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
-      (int16(`focus_out` shl bp_TGtkNotebook_focus_out) and
-      bm_TGtkNotebook_focus_out)
-
-proc GTK_TYPE_OLD_EDITABLE*(): GType =
-  result = gtk_old_editable_get_type()
-
-proc GTK_OLD_EDITABLE*(obj: pointer): PGtkOldEditable =
-  result = cast[PGtkOldEditable](GTK_CHECK_CAST(obj, GTK_TYPE_OLD_EDITABLE()))
-
-proc GTK_OLD_EDITABLE_CLASS*(klass: pointer): PGtkOldEditableClass =
-  result = cast[PGtkOldEditableClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_OLD_EDITABLE()))
-
-proc GTK_IS_OLD_EDITABLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_OLD_EDITABLE())
-
-proc GTK_IS_OLD_EDITABLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OLD_EDITABLE())
-
-proc GTK_OLD_EDITABLE_GET_CLASS*(obj: pointer): PGtkOldEditableClass =
-  result = cast[PGtkOldEditableClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_OLD_EDITABLE()))
-
-proc has_selection*(a: var TGtkOldEditable): guint =
-  result = (a.GtkOldEditableflag0 and bm_TGtkOldEditable_has_selection) shr
-      bp_TGtkOldEditable_has_selection
-
-proc set_has_selection*(a: var TGtkOldEditable, `has_selection`: guint) =
-  a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or
-      (int16(`has_selection` shl bp_TGtkOldEditable_has_selection) and
-      bm_TGtkOldEditable_has_selection)
-
-proc editable*(a: var TGtkOldEditable): guint =
-  result = (a.GtkOldEditableflag0 and bm_TGtkOldEditable_editable) shr
-      bp_TGtkOldEditable_editable
-
-proc set_editable*(a: var TGtkOldEditable, `editable`: guint) =
-  a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or
-      (int16(`editable` shl bp_TGtkOldEditable_editable) and
-      bm_TGtkOldEditable_editable)
-
-proc visible*(a: var TGtkOldEditable): guint =
-  result = (a.GtkOldEditableflag0 and bm_TGtkOldEditable_visible) shr
-      bp_TGtkOldEditable_visible
-
-proc set_visible*(a: var TGtkOldEditable, `visible`: guint) =
-  a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or
-      (int16(`visible` shl bp_TGtkOldEditable_visible) and
-      bm_TGtkOldEditable_visible)
-
-proc GTK_TYPE_OPTION_MENU*(): GType =
-  result = gtk_option_menu_get_type()
-
-proc GTK_OPTION_MENU*(obj: pointer): PGtkOptionMenu =
-  result = cast[PGtkOptionMenu](GTK_CHECK_CAST(obj, GTK_TYPE_OPTION_MENU()))
-
-proc GTK_OPTION_MENU_CLASS*(klass: pointer): PGtkOptionMenuClass =
-  result = cast[PGtkOptionMenuClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_OPTION_MENU()))
-
-proc GTK_IS_OPTION_MENU*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_OPTION_MENU())
-
-proc GTK_IS_OPTION_MENU_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OPTION_MENU())
-
-proc GTK_OPTION_MENU_GET_CLASS*(obj: pointer): PGtkOptionMenuClass =
-  result = cast[PGtkOptionMenuClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_OPTION_MENU()))
-
-proc GTK_TYPE_PIXMAP*(): GType =
-  result = gtk_pixmap_get_type()
-
-proc GTK_PIXMAP*(obj: pointer): PGtkPixmap =
-  result = cast[PGtkPixmap](GTK_CHECK_CAST(obj, GTK_TYPE_PIXMAP()))
-
-proc GTK_PIXMAP_CLASS*(klass: pointer): PGtkPixmapClass =
-  result = cast[PGtkPixmapClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PIXMAP()))
-
-proc GTK_IS_PIXMAP*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PIXMAP())
-
-proc GTK_IS_PIXMAP_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PIXMAP())
-
-proc GTK_PIXMAP_GET_CLASS*(obj: pointer): PGtkPixmapClass =
-  result = cast[PGtkPixmapClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PIXMAP()))
-
-proc build_insensitive*(a: var TGtkPixmap): guint =
-  result = (a.GtkPixmapflag0 and bm_TGtkPixmap_build_insensitive) shr
-      bp_TGtkPixmap_build_insensitive
-
-proc set_build_insensitive*(a: var TGtkPixmap, `build_insensitive`: guint) =
-  a.GtkPixmapflag0 = a.GtkPixmapflag0 or
-      (int16(`build_insensitive` shl bp_TGtkPixmap_build_insensitive) and
-      bm_TGtkPixmap_build_insensitive)
-
-proc GTK_TYPE_PLUG*(): GType =
-  result = gtk_plug_get_type()
-
-proc GTK_PLUG*(obj: pointer): PGtkPlug =
-  result = cast[PGtkPlug](GTK_CHECK_CAST(obj, GTK_TYPE_PLUG()))
-
-proc GTK_PLUG_CLASS*(klass: pointer): PGtkPlugClass =
-  result = cast[PGtkPlugClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PLUG()))
-
-proc GTK_IS_PLUG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PLUG())
-
-proc GTK_IS_PLUG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PLUG())
-
-proc GTK_PLUG_GET_CLASS*(obj: pointer): PGtkPlugClass =
-  result = cast[PGtkPlugClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PLUG()))
-
-proc same_app*(a: var TGtkPlug): guint =
-  result = (a.GtkPlugflag0 and bm_TGtkPlug_same_app) shr bp_TGtkPlug_same_app
-
-proc set_same_app*(a: var TGtkPlug, `same_app`: guint) =
-  a.GtkPlugflag0 = a.GtkPlugflag0 or
-      (int16(`same_app` shl bp_TGtkPlug_same_app) and bm_TGtkPlug_same_app)
-
-proc GTK_TYPE_PREVIEW*(): GType =
-  result = gtk_preview_get_type()
-
-proc GTK_PREVIEW*(obj: pointer): PGtkPreview =
-  result = cast[PGtkPreview](GTK_CHECK_CAST(obj, GTK_TYPE_PREVIEW()))
-
-proc GTK_PREVIEW_CLASS*(klass: pointer): PGtkPreviewClass =
-  result = cast[PGtkPreviewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PREVIEW()))
-
-proc GTK_IS_PREVIEW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PREVIEW())
-
-proc GTK_IS_PREVIEW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PREVIEW())
-
-proc GTK_PREVIEW_GET_CLASS*(obj: pointer): PGtkPreviewClass =
-  result = cast[PGtkPreviewClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PREVIEW()))
-
-proc get_type*(a: var TGtkPreview): guint =
-  result = (a.GtkPreviewflag0 and bm_TGtkPreview_type) shr bp_TGtkPreview_type
-
-proc set_type*(a: var TGtkPreview, `type`: guint) =
-  a.GtkPreviewflag0 = a.GtkPreviewflag0 or
-      (int16(`type` shl bp_TGtkPreview_type) and bm_TGtkPreview_type)
-
-proc get_expand*(a: var TGtkPreview): guint =
-  result = (a.GtkPreviewflag0 and bm_TGtkPreview_expand) shr bp_TGtkPreview_expand
-
-proc set_expand*(a: var TGtkPreview, `expand`: guint) =
-  a.GtkPreviewflag0 = a.GtkPreviewflag0 or
-      (int16(`expand` shl bp_TGtkPreview_expand) and bm_TGtkPreview_expand)
-
-proc gtk_progress_get_type(): GType {.importc, cdecl, dynlib: gtklib.}
-
-proc GTK_TYPE_PROGRESS*(): GType =
-  result = gtk_progress_get_type()
-
-proc GTK_PROGRESS*(obj: pointer): PGtkProgress =
-  result = cast[PGtkProgress](GTK_CHECK_CAST(obj, GTK_TYPE_PROGRESS()))
-
-proc GTK_PROGRESS_CLASS*(klass: pointer): PGtkProgressClass =
-  result = cast[PGtkProgressClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PROGRESS()))
-
-proc GTK_IS_PROGRESS*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PROGRESS())
-
-proc GTK_IS_PROGRESS_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PROGRESS())
-
-proc GTK_PROGRESS_GET_CLASS*(obj: pointer): PGtkProgressClass =
-  result = cast[PGtkProgressClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PROGRESS()))
-
-proc show_text*(a: var TGtkProgress): guint =
-  result = (a.GtkProgressflag0 and bm_TGtkProgress_show_text) shr
-      bp_TGtkProgress_show_text
-
-proc set_show_text*(a: var TGtkProgress, `show_text`: guint) =
-  a.GtkProgressflag0 = a.GtkProgressflag0 or
-      (int16(`show_text` shl bp_TGtkProgress_show_text) and
-      bm_TGtkProgress_show_text)
-
-proc activity_mode*(a: var TGtkProgress): guint =
-  result = (a.GtkProgressflag0 and bm_TGtkProgress_activity_mode) shr
-      bp_TGtkProgress_activity_mode
-
-proc set_activity_mode*(a: var TGtkProgress, `activity_mode`: guint) =
-  a.GtkProgressflag0 = a.GtkProgressflag0 or
-      (int16(`activity_mode` shl bp_TGtkProgress_activity_mode) and
-      bm_TGtkProgress_activity_mode)
-
-proc use_text_format*(a: var TGtkProgress): guint =
-  result = (a.GtkProgressflag0 and bm_TGtkProgress_use_text_format) shr
-      bp_TGtkProgress_use_text_format
-
-proc set_use_text_format*(a: var TGtkProgress, `use_text_format`: guint) =
-  a.GtkProgressflag0 = a.GtkProgressflag0 or
-      (int16(`use_text_format` shl bp_TGtkProgress_use_text_format) and
-      bm_TGtkProgress_use_text_format)
-
-proc GTK_TYPE_PROGRESS_BAR*(): GType =
-  result = gtk_progress_bar_get_type()
-
-proc GTK_PROGRESS_BAR*(obj: pointer): PGtkProgressBar =
-  result = cast[PGtkProgressBar](GTK_CHECK_CAST(obj, GTK_TYPE_PROGRESS_BAR()))
-
-proc GTK_PROGRESS_BAR_CLASS*(klass: pointer): PGtkProgressBarClass =
-  result = cast[PGtkProgressBarClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_PROGRESS_BAR()))
-
-proc GTK_IS_PROGRESS_BAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PROGRESS_BAR())
-
-proc GTK_IS_PROGRESS_BAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PROGRESS_BAR())
-
-proc GTK_PROGRESS_BAR_GET_CLASS*(obj: pointer): PGtkProgressBarClass =
-  result = cast[PGtkProgressBarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PROGRESS_BAR()))
-
-proc activity_dir*(a: var TGtkProgressBar): guint =
-  result = (a.GtkProgressBarflag0 and bm_TGtkProgressBar_activity_dir) shr
-      bp_TGtkProgressBar_activity_dir
-
-proc set_activity_dir*(a: var TGtkProgressBar, `activity_dir`: guint) =
-  a.GtkProgressBarflag0 = a.GtkProgressBarflag0 or
-      (int16(`activity_dir` shl bp_TGtkProgressBar_activity_dir) and
-      bm_TGtkProgressBar_activity_dir)
-
-proc GTK_TYPE_RADIO_BUTTON*(): GType =
-  result = gtk_radio_button_get_type()
-
-proc GTK_RADIO_BUTTON*(obj: pointer): PGtkRadioButton =
-  result = cast[PGtkRadioButton](GTK_CHECK_CAST(obj, GTK_TYPE_RADIO_BUTTON()))
-
-proc GTK_RADIO_BUTTON_CLASS*(klass: pointer): PGtkRadioButtonClass =
-  result = cast[PGtkRadioButtonClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_RADIO_BUTTON()))
-
-proc GTK_IS_RADIO_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_RADIO_BUTTON())
-
-proc GTK_IS_RADIO_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RADIO_BUTTON())
-
-proc GTK_RADIO_BUTTON_GET_CLASS*(obj: pointer): PGtkRadioButtonClass =
-  result = cast[PGtkRadioButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_RADIO_BUTTON()))
-
-proc GTK_TYPE_RADIO_MENU_ITEM*(): GType =
-  result = gtk_radio_menu_item_get_type()
-
-proc GTK_RADIO_MENU_ITEM*(obj: pointer): PGtkRadioMenuItem =
-  result = cast[PGtkRadioMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_RADIO_MENU_ITEM()))
-
-proc GTK_RADIO_MENU_ITEM_CLASS*(klass: pointer): PGtkRadioMenuItemClass =
-  result = cast[PGtkRadioMenuItemClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_RADIO_MENU_ITEM()))
-
-proc GTK_IS_RADIO_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_RADIO_MENU_ITEM())
-
-proc GTK_IS_RADIO_MENU_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RADIO_MENU_ITEM())
-
-proc GTK_RADIO_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkRadioMenuItemClass =
-  result = cast[PGtkRadioMenuItemClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_RADIO_MENU_ITEM()))
-
-proc GTK_TYPE_SCROLLED_WINDOW*(): GType =
-  result = gtk_scrolled_window_get_type()
-
-proc GTK_SCROLLED_WINDOW*(obj: pointer): PGtkScrolledWindow =
-  result = cast[PGtkScrolledWindow](GTK_CHECK_CAST(obj, GTK_TYPE_SCROLLED_WINDOW()))
-
-proc GTK_SCROLLED_WINDOW_CLASS*(klass: pointer): PGtkScrolledWindowClass =
-  result = cast[PGtkScrolledWindowClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_SCROLLED_WINDOW()))
-
-proc GTK_IS_SCROLLED_WINDOW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCROLLED_WINDOW())
-
-proc GTK_IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCROLLED_WINDOW())
-
-proc GTK_SCROLLED_WINDOW_GET_CLASS*(obj: pointer): PGtkScrolledWindowClass =
-  result = cast[PGtkScrolledWindowClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_SCROLLED_WINDOW()))
-
-proc hscrollbar_policy*(a: var TGtkScrolledWindow): guint =
-  result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_hscrollbar_policy) shr
-      bp_TGtkScrolledWindow_hscrollbar_policy
-
-proc set_hscrollbar_policy*(a: var TGtkScrolledWindow,
-                            `hscrollbar_policy`: guint) =
-  a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      (int16(`hscrollbar_policy` shl bp_TGtkScrolledWindow_hscrollbar_policy) and
-      bm_TGtkScrolledWindow_hscrollbar_policy)
-
-proc vscrollbar_policy*(a: var TGtkScrolledWindow): guint =
-  result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_vscrollbar_policy) shr
-      bp_TGtkScrolledWindow_vscrollbar_policy
-
-proc set_vscrollbar_policy*(a: var TGtkScrolledWindow,
-                            `vscrollbar_policy`: guint) =
-  a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      (int16(`vscrollbar_policy` shl bp_TGtkScrolledWindow_vscrollbar_policy) and
-      bm_TGtkScrolledWindow_vscrollbar_policy)
-
-proc hscrollbar_visible*(a: var TGtkScrolledWindow): guint =
-  result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_hscrollbar_visible) shr
-      bp_TGtkScrolledWindow_hscrollbar_visible
-
-proc set_hscrollbar_visible*(a: var TGtkScrolledWindow,
-                             `hscrollbar_visible`: guint) =
-  a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      (int16(`hscrollbar_visible` shl bp_TGtkScrolledWindow_hscrollbar_visible) and
-      bm_TGtkScrolledWindow_hscrollbar_visible)
-
-proc vscrollbar_visible*(a: var TGtkScrolledWindow): guint =
-  result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_vscrollbar_visible) shr
-      bp_TGtkScrolledWindow_vscrollbar_visible
-
-proc set_vscrollbar_visible*(a: var TGtkScrolledWindow,
-                             `vscrollbar_visible`: guint) =
-  a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      int16((`vscrollbar_visible` shl bp_TGtkScrolledWindow_vscrollbar_visible) and
-      bm_TGtkScrolledWindow_vscrollbar_visible)
-
-proc window_placement*(a: var TGtkScrolledWindow): guint =
-  result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_window_placement) shr
-      bp_TGtkScrolledWindow_window_placement
-
-proc set_window_placement*(a: var TGtkScrolledWindow, `window_placement`: guint) =
-  a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      (int16(`window_placement` shl bp_TGtkScrolledWindow_window_placement) and
-      bm_TGtkScrolledWindow_window_placement)
-
-proc focus_out*(a: var TGtkScrolledWindow): guint =
-  result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_focus_out) shr
-      bp_TGtkScrolledWindow_focus_out
-
-proc set_focus_out*(a: var TGtkScrolledWindow, `focus_out`: guint) =
-  a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or
-      (int16(`focus_out` shl bp_TGtkScrolledWindow_focus_out) and
-      bm_TGtkScrolledWindow_focus_out)
-
-proc GTK_TYPE_SELECTION_DATA*(): GType =
-  result = gtk_selection_data_get_type()
-
-proc GTK_TYPE_SEPARATOR_MENU_ITEM*(): GType =
-  result = gtk_separator_menu_item_get_type()
-
-proc GTK_SEPARATOR_MENU_ITEM*(obj: pointer): PGtkSeparatorMenuItem =
-  result = cast[PGtkSeparatorMenuItem](GTK_CHECK_CAST(obj,
-      GTK_TYPE_SEPARATOR_MENU_ITEM()))
-
-proc GTK_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): PGtkSeparatorMenuItemClass =
-  result = cast[PGtkSeparatorMenuItemClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_SEPARATOR_MENU_ITEM()))
-
-proc GTK_IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SEPARATOR_MENU_ITEM())
-
-proc GTK_IS_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SEPARATOR_MENU_ITEM())
-
-proc GTK_SEPARATOR_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkSeparatorMenuItemClass =
-  result = cast[PGtkSeparatorMenuItemClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_SEPARATOR_MENU_ITEM()))
-
-proc gtk_signal_lookup*(name: cstring, object_type: GType): guint =
-  result = g_signal_lookup(name, object_type)
-
-proc gtk_signal_name*(signal_id: guint): cstring =
-  result = g_signal_name(signal_id)
-
-proc gtk_signal_emit_stop*(instance: gpointer, signal_id: guint, detail: TGQuark) =
-  if detail != 0'i32: g_signal_stop_emission(instance, signal_id, 0)
-
-proc gtk_signal_connect_full*(anObject: PGtkObject, name: cstring,
-                         fun: TGtkSignalFunc, unknown1: pointer,
-                         func_data: gpointer, unknown2: pointer,
-                         unknown3, unknown4: int): gulong {.
-  importc, cdecl, dynlib: gtklib.}
-
-proc gtk_signal_compat_matched*(anObject: PGtkObject, fun: TGtkSignalFunc,
-                                data: gpointer, m: TGSignalMatchType,
-                                u: int) {.importc, cdecl, dynlib: gtklib.}
-
-proc gtk_signal_connect*(anObject: PGtkObject, name: cstring,
-                         fun: TGtkSignalFunc, func_data: gpointer): gulong =
-  result = gtk_signal_connect_full(anObject, name, fun, nil, func_data, nil,
-                                   0, 0)
-
-proc gtk_signal_connect_after*(anObject: PGtkObject, name: cstring,
-                               fun: TGtkSignalFunc, func_data: gpointer): gulong =
-  result = gtk_signal_connect_full(anObject, name, fun, nil, func_data, nil,
-                                   0, 1)
-
-proc gtk_signal_connect_object*(anObject: PGtkObject, name: cstring,
-                                fun: TGtkSignalFunc, slot_object: gpointer): gulong =
-  result = gtk_signal_connect_full(anObject, name, fun, nil, slot_object, nil,
-                                   1, 0)
-
-proc gtk_signal_connect_object_after*(anObject: PGtkObject, name: cstring,
-                                      fun: TGtkSignalFunc,
-                                      slot_object: gpointer): gulong =
-  result = gtk_signal_connect_full(anObject, name, fun, nil, slot_object, nil,
-                                   1, 1)
-
-proc gtk_signal_disconnect*(anObject: gpointer, handler_id: gulong) =
-  g_signal_handler_disconnect(anObject, handler_id)
-
-proc gtk_signal_handler_block*(anObject: gpointer, handler_id: gulong) =
-  g_signal_handler_block(anObject, handler_id)
-
-proc gtk_signal_handler_unblock*(anObject: gpointer, handler_id: gulong) =
-  g_signal_handler_unblock(anObject, handler_id)
-
-proc gtk_signal_disconnect_by_data*(anObject: PGtkObject, data: gpointer) =
-  gtk_signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 0)
-
-proc gtk_signal_disconnect_by_func*(anObject: PGtkObject, fun: TGtkSignalFunc,
-                                    data: gpointer) =
-  gtk_signal_compat_matched(anObject, fun, data, cast[TGSignalMatchType](
-      G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0)
-
-proc gtk_signal_handler_block_by_func*(anObject: PGtkObject,
-                                       fun: TGtkSignalFunc, data: gpointer) =
-  gtk_signal_compat_matched(anObject, fun, data, TGSignalMatchType(
-      G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0)
-
-proc gtk_signal_handler_block_by_data*(anObject: PGtkObject, data: gpointer) =
-  gtk_signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 1)
-
-proc gtk_signal_handler_unblock_by_func*(anObject: PGtkObject,
-    fun: TGtkSignalFunc, data: gpointer) =
-  gtk_signal_compat_matched(anObject, fun, data, cast[TGSignalMatchType](
-      G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0)
-
-proc gtk_signal_handler_unblock_by_data*(anObject: PGtkObject, data: gpointer) =
-  gtk_signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 2)
-
-proc gtk_signal_handler_pending*(anObject: PGtkObject, signal_id: guint,
-                                 may_be_blocked: gboolean): gboolean =
-  Result = g_signal_has_handler_pending(anObject, signal_id, 0, may_be_blocked)
-
-proc gtk_signal_handler_pending_by_func*(anObject: PGtkObject, signal_id: guint,
-    may_be_blocked: gboolean, fun: TGtkSignalFunc, data: gpointer): gboolean =
-  var t: TGSignalMatchType
-  t = cast[TGSignalMatchType](G_SIGNAL_MATCH_ID or G_SIGNAL_MATCH_FUNC or
-      G_SIGNAL_MATCH_DATA)
-  if not may_be_blocked:
-    t = t or cast[TGSignalMatchType](G_SIGNAL_MATCH_UNBLOCKED)
-  Result = g_signal_handler_find(anObject, t, signal_id, 0, nil, fun,
-                                 data) != 0
-
-proc GTK_TYPE_SIZE_GROUP*(): GType =
-  result = gtk_size_group_get_type()
-
-proc GTK_SIZE_GROUP*(obj: pointer): PGtkSizeGroup =
-  result = cast[PGtkSizeGroup](GTK_CHECK_CAST(obj, GTK_TYPE_SIZE_GROUP()))
-
-proc GTK_SIZE_GROUP_CLASS*(klass: pointer): PGtkSizeGroupClass =
-  result = cast[PGtkSizeGroupClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SIZE_GROUP()))
-
-proc GTK_IS_SIZE_GROUP*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SIZE_GROUP())
-
-proc GTK_IS_SIZE_GROUP_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SIZE_GROUP())
-
-proc GTK_SIZE_GROUP_GET_CLASS*(obj: pointer): PGtkSizeGroupClass =
-  result = cast[PGtkSizeGroupClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SIZE_GROUP()))
-
-proc have_width*(a: var TGtkSizeGroup): guint =
-  result = (a.GtkSizeGroupflag0 and bm_TGtkSizeGroup_have_width) shr
-      bp_TGtkSizeGroup_have_width
-
-proc set_have_width*(a: var TGtkSizeGroup, `have_width`: guint) =
-  a.GtkSizeGroupflag0 = a.GtkSizeGroupflag0 or
-      (int16(`have_width` shl bp_TGtkSizeGroup_have_width) and
-      bm_TGtkSizeGroup_have_width)
-
-proc have_height*(a: var TGtkSizeGroup): guint =
-  result = (a.GtkSizeGroupflag0 and bm_TGtkSizeGroup_have_height) shr
-      bp_TGtkSizeGroup_have_height
-
-proc set_have_height*(a: var TGtkSizeGroup, `have_height`: guint) =
-  a.GtkSizeGroupflag0 = a.GtkSizeGroupflag0 or
-      (int16(`have_height` shl bp_TGtkSizeGroup_have_height) and
-      bm_TGtkSizeGroup_have_height)
-
-proc GTK_TYPE_SOCKET*(): GType =
-  result = gtk_socket_get_type()
-
-proc GTK_SOCKET*(obj: pointer): PGtkSocket =
-  result = cast[PGtkSocket](GTK_CHECK_CAST(obj, GTK_TYPE_SOCKET()))
-
-proc GTK_SOCKET_CLASS*(klass: pointer): PGtkSocketClass =
-  result = cast[PGtkSocketClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SOCKET()))
-
-proc GTK_IS_SOCKET*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SOCKET())
-
-proc GTK_IS_SOCKET_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SOCKET())
-
-proc GTK_SOCKET_GET_CLASS*(obj: pointer): PGtkSocketClass =
-  result = cast[PGtkSocketClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SOCKET()))
-
-proc same_app*(a: var TGtkSocket): guint =
-  result = (a.GtkSocketflag0 and bm_TGtkSocket_same_app) shr bp_TGtkSocket_same_app
-
-proc set_same_app*(a: var TGtkSocket, `same_app`: guint) =
-  a.GtkSocketflag0 = a.GtkSocketflag0 or
-      (int16(`same_app` shl bp_TGtkSocket_same_app) and bm_TGtkSocket_same_app)
-
-proc focus_in*(a: var TGtkSocket): guint =
-  result = (a.GtkSocketflag0 and bm_TGtkSocket_focus_in) shr bp_TGtkSocket_focus_in
-
-proc set_focus_in*(a: var TGtkSocket, `focus_in`: guint) =
-  a.GtkSocketflag0 = a.GtkSocketflag0 or
-      (int16(`focus_in` shl bp_TGtkSocket_focus_in) and bm_TGtkSocket_focus_in)
-
-proc have_size*(a: var TGtkSocket): guint =
-  result = (a.GtkSocketflag0 and bm_TGtkSocket_have_size) shr bp_TGtkSocket_have_size
-
-proc set_have_size*(a: var TGtkSocket, `have_size`: guint) =
-  a.GtkSocketflag0 = a.GtkSocketflag0 or
-      (int16(`have_size` shl bp_TGtkSocket_have_size) and bm_TGtkSocket_have_size)
-
-proc need_map*(a: var TGtkSocket): guint =
-  result = (a.GtkSocketflag0 and bm_TGtkSocket_need_map) shr bp_TGtkSocket_need_map
-
-proc set_need_map*(a: var TGtkSocket, `need_map`: guint) =
-  a.GtkSocketflag0 = a.GtkSocketflag0 or
-      (int16(`need_map` shl bp_TGtkSocket_need_map) and bm_TGtkSocket_need_map)
-
-proc is_mapped*(a: var TGtkSocket): guint =
-  result = (a.GtkSocketflag0 and bm_TGtkSocket_is_mapped) shr bp_TGtkSocket_is_mapped
-
-proc set_is_mapped*(a: var TGtkSocket, `is_mapped`: guint) =
-  a.GtkSocketflag0 = a.GtkSocketflag0 or
-      (int16(`is_mapped` shl bp_TGtkSocket_is_mapped) and bm_TGtkSocket_is_mapped)
-
-proc GTK_TYPE_SPIN_BUTTON*(): GType =
-  result = gtk_spin_button_get_type()
-
-proc GTK_SPIN_BUTTON*(obj: pointer): PGtkSpinButton =
-  result = cast[PGtkSpinButton](GTK_CHECK_CAST(obj, GTK_TYPE_SPIN_BUTTON()))
-
-proc GTK_SPIN_BUTTON_CLASS*(klass: pointer): PGtkSpinButtonClass =
-  result = cast[PGtkSpinButtonClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SPIN_BUTTON()))
-
-proc GTK_IS_SPIN_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SPIN_BUTTON())
-
-proc GTK_IS_SPIN_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SPIN_BUTTON())
-
-proc GTK_SPIN_BUTTON_GET_CLASS*(obj: pointer): PGtkSpinButtonClass =
-  result = cast[PGtkSpinButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SPIN_BUTTON()))
-
-proc in_child*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_in_child) shr
-      bp_TGtkSpinButton_in_child
-
-proc set_in_child*(a: var TGtkSpinButton, `in_child`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`in_child` shl bp_TGtkSpinButton_in_child) and
-      bm_TGtkSpinButton_in_child)
-
-proc click_child*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_click_child) shr
-      bp_TGtkSpinButton_click_child
-
-proc set_click_child*(a: var TGtkSpinButton, `click_child`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`click_child` shl bp_TGtkSpinButton_click_child) and
-      bm_TGtkSpinButton_click_child)
-
-proc button*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_button) shr
-      bp_TGtkSpinButton_button
-
-proc set_button*(a: var TGtkSpinButton, `button`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`button` shl bp_TGtkSpinButton_button) and bm_TGtkSpinButton_button)
-
-proc need_timer*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_need_timer) shr
-      bp_TGtkSpinButton_need_timer
-
-proc set_need_timer*(a: var TGtkSpinButton, `need_timer`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`need_timer` shl bp_TGtkSpinButton_need_timer) and
-      bm_TGtkSpinButton_need_timer)
-
-proc timer_calls*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_timer_calls) shr
-      bp_TGtkSpinButton_timer_calls
-
-proc set_timer_calls*(a: var TGtkSpinButton, `timer_calls`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`timer_calls` shl bp_TGtkSpinButton_timer_calls) and
-      bm_TGtkSpinButton_timer_calls)
-
-proc digits*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_digits) shr
-      bp_TGtkSpinButton_digits
-
-proc set_digits*(a: var TGtkSpinButton, `digits`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`digits` shl bp_TGtkSpinButton_digits) and bm_TGtkSpinButton_digits)
-
-proc numeric*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_numeric) shr
-      bp_TGtkSpinButton_numeric
-
-proc set_numeric*(a: var TGtkSpinButton, `numeric`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`numeric` shl bp_TGtkSpinButton_numeric) and
-      bm_TGtkSpinButton_numeric)
-
-proc wrap*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_wrap) shr bp_TGtkSpinButton_wrap
-
-proc set_wrap*(a: var TGtkSpinButton, `wrap`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`wrap` shl bp_TGtkSpinButton_wrap) and bm_TGtkSpinButton_wrap)
-
-proc snap_to_ticks*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_snap_to_ticks) shr
-      bp_TGtkSpinButton_snap_to_ticks
-
-proc set_snap_to_ticks*(a: var TGtkSpinButton, `snap_to_ticks`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
-      ((`snap_to_ticks` shl bp_TGtkSpinButton_snap_to_ticks) and
-      bm_TGtkSpinButton_snap_to_ticks)
-
-proc GTK_TYPE_STATUSBAR*(): GType =
-  result = gtk_statusbar_get_type()
-
-proc GTK_STATUSBAR*(obj: pointer): PGtkStatusbar =
-  result = cast[PGtkStatusbar](GTK_CHECK_CAST(obj, GTK_TYPE_STATUSBAR()))
-
-proc GTK_STATUSBAR_CLASS*(klass: pointer): PGtkStatusbarClass =
-  result = cast[PGtkStatusbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_STATUSBAR()))
-
-proc GTK_IS_STATUSBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_STATUSBAR())
-
-proc GTK_IS_STATUSBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_STATUSBAR())
-
-proc GTK_STATUSBAR_GET_CLASS*(obj: pointer): PGtkStatusbarClass =
-  result = cast[PGtkStatusbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_STATUSBAR()))
-
-proc has_resize_grip*(a: var TGtkStatusbar): guint =
-  result = (a.GtkStatusbarflag0 and bm_TGtkStatusbar_has_resize_grip) shr
-      bp_TGtkStatusbar_has_resize_grip
-
-proc set_has_resize_grip*(a: var TGtkStatusbar, `has_resize_grip`: guint) =
-  a.GtkStatusbarflag0 = a.GtkStatusbarflag0 or
-      (int16(`has_resize_grip` shl bp_TGtkStatusbar_has_resize_grip) and
-      bm_TGtkStatusbar_has_resize_grip)
-
-proc GTK_TYPE_TABLE*(): GType =
-  result = gtk_table_get_type()
-
-proc GTK_TABLE*(obj: pointer): PGtkTable =
-  result = cast[PGtkTable](GTK_CHECK_CAST(obj, GTK_TYPE_TABLE()))
-
-proc GTK_TABLE_CLASS*(klass: pointer): PGtkTableClass =
-  result = cast[PGtkTableClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TABLE()))
-
-proc GTK_IS_TABLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TABLE())
-
-proc GTK_IS_TABLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TABLE())
-
-proc GTK_TABLE_GET_CLASS*(obj: pointer): PGtkTableClass =
-  result = cast[PGtkTableClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TABLE()))
-
-proc homogeneous*(a: var TGtkTable): guint =
-  result = (a.GtkTableflag0 and bm_TGtkTable_homogeneous) shr
-      bp_TGtkTable_homogeneous
-
-proc set_homogeneous*(a: var TGtkTable, `homogeneous`: guint) =
-  a.GtkTableflag0 = a.GtkTableflag0 or
-      (int16(`homogeneous` shl bp_TGtkTable_homogeneous) and
-      bm_TGtkTable_homogeneous)
-
-proc xexpand*(a: var TGtkTableChild): guint =
-  result = (a.GtkTableChildflag0 and bm_TGtkTableChild_xexpand) shr
-      bp_TGtkTableChild_xexpand
-
-proc set_xexpand*(a: var TGtkTableChild, `xexpand`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      (int16(`xexpand` shl bp_TGtkTableChild_xexpand) and
-      bm_TGtkTableChild_xexpand)
-
-proc yexpand*(a: var TGtkTableChild): guint =
-  result = (a.GtkTableChildflag0 and bm_TGtkTableChild_yexpand) shr
-      bp_TGtkTableChild_yexpand
-
-proc set_yexpand*(a: var TGtkTableChild, `yexpand`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      (int16(`yexpand` shl bp_TGtkTableChild_yexpand) and
-      bm_TGtkTableChild_yexpand)
-
-proc xshrink*(a: var TGtkTableChild): guint =
-  result = (a.GtkTableChildflag0 and bm_TGtkTableChild_xshrink) shr
-      bp_TGtkTableChild_xshrink
-
-proc set_xshrink*(a: var TGtkTableChild, `xshrink`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      (int16(`xshrink` shl bp_TGtkTableChild_xshrink) and
-      bm_TGtkTableChild_xshrink)
-
-proc yshrink*(a: var TGtkTableChild): guint =
-  result = (a.GtkTableChildflag0 and bm_TGtkTableChild_yshrink) shr
-      bp_TGtkTableChild_yshrink
-
-proc set_yshrink*(a: var TGtkTableChild, `yshrink`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      (int16(`yshrink` shl bp_TGtkTableChild_yshrink) and
-      bm_TGtkTableChild_yshrink)
-
-proc xfill*(a: var TGtkTableChild): guint =
-  result = (a.GtkTableChildflag0 and bm_TGtkTableChild_xfill) shr bp_TGtkTableChild_xfill
-
-proc set_xfill*(a: var TGtkTableChild, `xfill`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      (int16(`xfill` shl bp_TGtkTableChild_xfill) and bm_TGtkTableChild_xfill)
-
-proc yfill*(a: var TGtkTableChild): guint =
-  result = (a.GtkTableChildflag0 and bm_TGtkTableChild_yfill) shr bp_TGtkTableChild_yfill
-
-proc set_yfill*(a: var TGtkTableChild, `yfill`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
-      (int16(`yfill` shl bp_TGtkTableChild_yfill) and bm_TGtkTableChild_yfill)
-
-proc need_expand*(a: var TGtkTableRowCol): guint =
-  result = (a.flag0 and bm_TGtkTableRowCol_need_expand) shr
-      bp_TGtkTableRowCol_need_expand
-
-proc set_need_expand*(a: var TGtkTableRowCol, `need_expand`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`need_expand` shl bp_TGtkTableRowCol_need_expand) and
-      bm_TGtkTableRowCol_need_expand)
-
-proc need_shrink*(a: var TGtkTableRowCol): guint =
-  result = (a.flag0 and bm_TGtkTableRowCol_need_shrink) shr
-      bp_TGtkTableRowCol_need_shrink
-
-proc set_need_shrink*(a: var TGtkTableRowCol, `need_shrink`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`need_shrink` shl bp_TGtkTableRowCol_need_shrink) and
-      bm_TGtkTableRowCol_need_shrink)
-
-proc expand*(a: var TGtkTableRowCol): guint =
-  result = (a.flag0 and bm_TGtkTableRowCol_expand) shr
-      bp_TGtkTableRowCol_expand
-
-proc set_expand*(a: var TGtkTableRowCol, `expand`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`expand` shl bp_TGtkTableRowCol_expand) and bm_TGtkTableRowCol_expand)
-
-proc shrink*(a: var TGtkTableRowCol): guint =
-  result = (a.flag0 and bm_TGtkTableRowCol_shrink) shr
-      bp_TGtkTableRowCol_shrink
-
-proc set_shrink*(a: var TGtkTableRowCol, `shrink`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`shrink` shl bp_TGtkTableRowCol_shrink) and bm_TGtkTableRowCol_shrink)
-
-proc empty*(a: var TGtkTableRowCol): guint =
-  result = (a.flag0 and bm_TGtkTableRowCol_empty) shr
-      bp_TGtkTableRowCol_empty
-
-proc set_empty*(a: var TGtkTableRowCol, `empty`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`empty` shl bp_TGtkTableRowCol_empty) and bm_TGtkTableRowCol_empty)
-
-proc GTK_TYPE_TEAROFF_MENU_ITEM*(): GType =
-  result = gtk_tearoff_menu_item_get_type()
-
-proc GTK_TEAROFF_MENU_ITEM*(obj: pointer): PGtkTearoffMenuItem =
-  result = cast[PGtkTearoffMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_TEAROFF_MENU_ITEM()))
-
-proc GTK_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): PGtkTearoffMenuItemClass =
-  result = cast[PGtkTearoffMenuItemClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TEAROFF_MENU_ITEM()))
-
-proc GTK_IS_TEAROFF_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEAROFF_MENU_ITEM())
-
-proc GTK_IS_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEAROFF_MENU_ITEM())
-
-proc GTK_TEAROFF_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkTearoffMenuItemClass =
-  result = cast[PGtkTearoffMenuItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TEAROFF_MENU_ITEM()))
-
-proc torn_off*(a: var TGtkTearoffMenuItem): guint =
-  result = (a.GtkTearoffMenuItemflag0 and bm_TGtkTearoffMenuItem_torn_off) shr
-      bp_TGtkTearoffMenuItem_torn_off
-
-proc set_torn_off*(a: var TGtkTearoffMenuItem, `torn_off`: guint) =
-  a.GtkTearoffMenuItemflag0 = a.GtkTearoffMenuItemflag0 or
-      (int16(`torn_off` shl bp_TGtkTearoffMenuItem_torn_off) and
-      bm_TGtkTearoffMenuItem_torn_off)
-
-proc GTK_TYPE_TEXT*(): GType =
-  result = gtk_text_get_type()
-
-proc GTK_TEXT*(obj: pointer): PGtkText =
-  result = cast[PGtkText](GTK_CHECK_CAST(obj, GTK_TYPE_TEXT()))
-
-proc GTK_TEXT_CLASS*(klass: pointer): PGtkTextClass =
-  result = cast[PGtkTextClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT()))
-
-proc GTK_IS_TEXT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEXT())
-
-proc GTK_IS_TEXT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT())
-
-proc GTK_TEXT_GET_CLASS*(obj: pointer): PGtkTextClass =
-  result = cast[PGtkTextClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TEXT()))
-
-proc line_wrap*(a: PGtkText): guint =
-  result = (a.GtkTextflag0 and bm_TGtkText_line_wrap) shr bp_TGtkText_line_wrap
-
-proc set_line_wrap*(a: PGtkText, `line_wrap`: guint) =
-  a.GtkTextflag0 = a.GtkTextflag0 or
-      (int16(`line_wrap` shl bp_TGtkText_line_wrap) and bm_TGtkText_line_wrap)
-
-proc word_wrap*(a: PGtkText): guint =
-  result = (a . GtkTextflag0 and bm_TGtkText_word_wrap) shr bp_TGtkText_word_wrap
-
-proc set_word_wrap*(a: PGtkText, `word_wrap`: guint) =
-  a.GtkTextflag0 = a.GtkTextflag0 or
-      (int16(`word_wrap` shl bp_TGtkText_word_wrap) and bm_TGtkText_word_wrap)
-
-proc use_wchar*(a: PGtkText): gboolean =
-  result = ((a.GtkTextflag0 and bm_TGtkText_use_wchar) shr bp_TGtkText_use_wchar) >
-      0'i16
-
-proc set_use_wchar*(a: PGtkText, `use_wchar`: gboolean) =
-  if `use_wchar`:
-    a . GtkTextflag0 = a . GtkTextflag0 or bm_TGtkText_use_wchar
-  else:
-    a . GtkTextflag0 = a . GtkTextflag0 and not bm_TGtkText_use_wchar
-
-proc GTK_TEXT_INDEX_WCHAR*(t: PGtkText, index: guint): guint32 =
-  nil
-
-proc GTK_TEXT_INDEX_UCHAR*(t: PGtkText, index: guint): GUChar =
-  nil
-
-proc GTK_TYPE_TEXT_ITER*(): GType =
-  result = gtk_text_iter_get_type()
-
-proc GTK_TYPE_TEXT_TAG*(): GType =
-  result = gtk_text_tag_get_type()
-
-proc GTK_TEXT_TAG*(obj: pointer): PGtkTextTag =
-  result = cast[PGtkTextTag](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_TEXT_TAG()))
-
-proc GTK_TEXT_TAG_CLASS*(klass: pointer): PGtkTextTagClass =
-  result = cast[PGtkTextTagClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_TAG()))
-
-proc GTK_IS_TEXT_TAG*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_TAG())
-
-proc GTK_IS_TEXT_TAG_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_TAG())
-
-proc GTK_TEXT_TAG_GET_CLASS*(obj: pointer): PGtkTextTagClass =
-  result = cast[PGtkTextTagClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_TEXT_TAG()))
-
-proc GTK_TYPE_TEXT_ATTRIBUTES*(): GType =
-  result = gtk_text_attributes_get_type()
-
-proc bg_color_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_bg_color_set) shr
-      bp_TGtkTextTag_bg_color_set
-
-proc set_bg_color_set*(a: var TGtkTextTag, `bg_color_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`bg_color_set` shl bp_TGtkTextTag_bg_color_set) and
-      bm_TGtkTextTag_bg_color_set)
-
-proc bg_stipple_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_bg_stipple_set) shr
-      bp_TGtkTextTag_bg_stipple_set
-
-proc set_bg_stipple_set*(a: var TGtkTextTag, `bg_stipple_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`bg_stipple_set` shl bp_TGtkTextTag_bg_stipple_set) and
-      bm_TGtkTextTag_bg_stipple_set)
-
-proc fg_color_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_fg_color_set) shr
-      bp_TGtkTextTag_fg_color_set
-
-proc set_fg_color_set*(a: var TGtkTextTag, `fg_color_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`fg_color_set` shl bp_TGtkTextTag_fg_color_set) and
-      bm_TGtkTextTag_fg_color_set)
-
-proc scale_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_scale_set) shr
-      bp_TGtkTextTag_scale_set
-
-proc set_scale_set*(a: var TGtkTextTag, `scale_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`scale_set` shl bp_TGtkTextTag_scale_set) and
-      bm_TGtkTextTag_scale_set)
-
-proc fg_stipple_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_fg_stipple_set) shr
-      bp_TGtkTextTag_fg_stipple_set
-
-proc set_fg_stipple_set*(a: var TGtkTextTag, `fg_stipple_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`fg_stipple_set` shl bp_TGtkTextTag_fg_stipple_set) and
-      bm_TGtkTextTag_fg_stipple_set)
-
-proc justification_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_justification_set) shr
-      bp_TGtkTextTag_justification_set
-
-proc set_justification_set*(a: var TGtkTextTag, `justification_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`justification_set` shl bp_TGtkTextTag_justification_set) and
-      bm_TGtkTextTag_justification_set)
-
-proc left_margin_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_left_margin_set) shr
-      bp_TGtkTextTag_left_margin_set
-
-proc set_left_margin_set*(a: var TGtkTextTag, `left_margin_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`left_margin_set` shl bp_TGtkTextTag_left_margin_set) and
-      bm_TGtkTextTag_left_margin_set)
-
-proc indent_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_indent_set) shr
-      bp_TGtkTextTag_indent_set
-
-proc set_indent_set*(a: var TGtkTextTag, `indent_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`indent_set` shl bp_TGtkTextTag_indent_set) and
-      bm_TGtkTextTag_indent_set)
-
-proc rise_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_rise_set) shr bp_TGtkTextTag_rise_set
-
-proc set_rise_set*(a: var TGtkTextTag, `rise_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`rise_set` shl bp_TGtkTextTag_rise_set) and bm_TGtkTextTag_rise_set)
-
-proc strikethrough_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_strikethrough_set) shr
-      bp_TGtkTextTag_strikethrough_set
-
-proc set_strikethrough_set*(a: var TGtkTextTag, `strikethrough_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`strikethrough_set` shl bp_TGtkTextTag_strikethrough_set) and
-      bm_TGtkTextTag_strikethrough_set)
-
-proc right_margin_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_right_margin_set) shr
-      bp_TGtkTextTag_right_margin_set
-
-proc set_right_margin_set*(a: var TGtkTextTag, `right_margin_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`right_margin_set` shl bp_TGtkTextTag_right_margin_set) and
-      bm_TGtkTextTag_right_margin_set)
-
-proc pixels_above_lines_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pixels_above_lines_set) shr
-      bp_TGtkTextTag_pixels_above_lines_set
-
-proc set_pixels_above_lines_set*(a: var TGtkTextTag,
-                                 `pixels_above_lines_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`pixels_above_lines_set` shl bp_TGtkTextTag_pixels_above_lines_set) and
-      bm_TGtkTextTag_pixels_above_lines_set)
-
-proc pixels_below_lines_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pixels_below_lines_set) shr
-      bp_TGtkTextTag_pixels_below_lines_set
-
-proc set_pixels_below_lines_set*(a: var TGtkTextTag,
-                                 `pixels_below_lines_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`pixels_below_lines_set` shl bp_TGtkTextTag_pixels_below_lines_set) and
-      bm_TGtkTextTag_pixels_below_lines_set)
-
-proc pixels_inside_wrap_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pixels_inside_wrap_set) shr
-      bp_TGtkTextTag_pixels_inside_wrap_set
-
-proc set_pixels_inside_wrap_set*(a: var TGtkTextTag,
-                                 `pixels_inside_wrap_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`pixels_inside_wrap_set` shl bp_TGtkTextTag_pixels_inside_wrap_set) and
-      bm_TGtkTextTag_pixels_inside_wrap_set)
-
-proc tabs_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_tabs_set) shr bp_TGtkTextTag_tabs_set
-
-proc set_tabs_set*(a: var TGtkTextTag, `tabs_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`tabs_set` shl bp_TGtkTextTag_tabs_set) and bm_TGtkTextTag_tabs_set)
-
-proc underline_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_underline_set) shr
-      bp_TGtkTextTag_underline_set
-
-proc set_underline_set*(a: var TGtkTextTag, `underline_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`underline_set` shl bp_TGtkTextTag_underline_set) and
-      bm_TGtkTextTag_underline_set)
-
-proc wrap_mode_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_wrap_mode_set) shr
-      bp_TGtkTextTag_wrap_mode_set
-
-proc set_wrap_mode_set*(a: var TGtkTextTag, `wrap_mode_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`wrap_mode_set` shl bp_TGtkTextTag_wrap_mode_set) and
-      bm_TGtkTextTag_wrap_mode_set)
-
-proc bg_full_height_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_bg_full_height_set) shr
-      bp_TGtkTextTag_bg_full_height_set
-
-proc set_bg_full_height_set*(a: var TGtkTextTag, `bg_full_height_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`bg_full_height_set` shl bp_TGtkTextTag_bg_full_height_set) and
-      bm_TGtkTextTag_bg_full_height_set)
-
-proc invisible_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_invisible_set) shr
-      bp_TGtkTextTag_invisible_set
-
-proc set_invisible_set*(a: var TGtkTextTag, `invisible_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`invisible_set` shl bp_TGtkTextTag_invisible_set) and
-      bm_TGtkTextTag_invisible_set)
-
-proc editable_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_editable_set) shr
-      bp_TGtkTextTag_editable_set
-
-proc set_editable_set*(a: var TGtkTextTag, `editable_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`editable_set` shl bp_TGtkTextTag_editable_set) and
-      bm_TGtkTextTag_editable_set)
-
-proc language_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_language_set) shr
-      bp_TGtkTextTag_language_set
-
-proc set_language_set*(a: var TGtkTextTag, `language_set`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`language_set` shl bp_TGtkTextTag_language_set) and
-      bm_TGtkTextTag_language_set)
-
-proc pad1*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pad1) shr bp_TGtkTextTag_pad1
-
-proc set_pad1*(a: var TGtkTextTag, `pad1`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`pad1` shl bp_TGtkTextTag_pad1) and bm_TGtkTextTag_pad1)
-
-proc pad2*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pad2) shr bp_TGtkTextTag_pad2
-
-proc set_pad2*(a: var TGtkTextTag, `pad2`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`pad2` shl bp_TGtkTextTag_pad2) and bm_TGtkTextTag_pad2)
-
-proc pad3*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pad3) shr bp_TGtkTextTag_pad3
-
-proc set_pad3*(a: var TGtkTextTag, `pad3`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
-      ((`pad3` shl bp_TGtkTextTag_pad3) and bm_TGtkTextTag_pad3)
-
-proc underline*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_underline) shr
-      bp_TGtkTextAppearance_underline
-
-proc set_underline*(a: var TGtkTextAppearance, `underline`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`underline` shl bp_TGtkTextAppearance_underline) and
-      bm_TGtkTextAppearance_underline)
-
-proc strikethrough*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_strikethrough) shr
-      bp_TGtkTextAppearance_strikethrough
-
-proc set_strikethrough*(a: var TGtkTextAppearance, `strikethrough`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`strikethrough` shl bp_TGtkTextAppearance_strikethrough) and
-      bm_TGtkTextAppearance_strikethrough)
-
-proc draw_bg*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_draw_bg) shr
-      bp_TGtkTextAppearance_draw_bg
-
-proc set_draw_bg*(a: var TGtkTextAppearance, `draw_bg`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`draw_bg` shl bp_TGtkTextAppearance_draw_bg) and
-      bm_TGtkTextAppearance_draw_bg)
-
-proc inside_selection*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_inside_selection) shr
-      bp_TGtkTextAppearance_inside_selection
-
-proc set_inside_selection*(a: var TGtkTextAppearance, `inside_selection`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`inside_selection` shl bp_TGtkTextAppearance_inside_selection) and
-      bm_TGtkTextAppearance_inside_selection)
-
-proc is_text*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_is_text) shr
-      bp_TGtkTextAppearance_is_text
-
-proc set_is_text*(a: var TGtkTextAppearance, `is_text`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_text` shl bp_TGtkTextAppearance_is_text) and
-      bm_TGtkTextAppearance_is_text)
-
-proc pad1*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_pad1) shr
-      bp_TGtkTextAppearance_pad1
-
-proc set_pad1*(a: var TGtkTextAppearance, `pad1`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pad1` shl bp_TGtkTextAppearance_pad1) and bm_TGtkTextAppearance_pad1)
-
-proc pad2*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_pad2) shr
-      bp_TGtkTextAppearance_pad2
-
-proc set_pad2*(a: var TGtkTextAppearance, `pad2`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pad2` shl bp_TGtkTextAppearance_pad2) and bm_TGtkTextAppearance_pad2)
-
-proc pad3*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_pad3) shr
-      bp_TGtkTextAppearance_pad3
-
-proc set_pad3*(a: var TGtkTextAppearance, `pad3`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pad3` shl bp_TGtkTextAppearance_pad3) and bm_TGtkTextAppearance_pad3)
-
-proc pad4*(a: var TGtkTextAppearance): guint =
-  result = (a.flag0 and bm_TGtkTextAppearance_pad4) shr
-      bp_TGtkTextAppearance_pad4
-
-proc set_pad4*(a: var TGtkTextAppearance, `pad4`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pad4` shl bp_TGtkTextAppearance_pad4) and bm_TGtkTextAppearance_pad4)
-
-proc invisible*(a: var TGtkTextAttributes): guint =
-  result = (a.flag0 and bm_TGtkTextAttributes_invisible) shr
-      bp_TGtkTextAttributes_invisible
-
-proc set_invisible*(a: var TGtkTextAttributes, `invisible`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`invisible` shl bp_TGtkTextAttributes_invisible) and
-      bm_TGtkTextAttributes_invisible)
-
-proc bg_full_height*(a: var TGtkTextAttributes): guint =
-  result = (a.flag0 and bm_TGtkTextAttributes_bg_full_height) shr
-      bp_TGtkTextAttributes_bg_full_height
-
-proc set_bg_full_height*(a: var TGtkTextAttributes, `bg_full_height`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`bg_full_height` shl bp_TGtkTextAttributes_bg_full_height) and
-      bm_TGtkTextAttributes_bg_full_height)
-
-proc editable*(a: var TGtkTextAttributes): guint =
-  result = (a.flag0 and bm_TGtkTextAttributes_editable) shr
-      bp_TGtkTextAttributes_editable
-
-proc set_editable*(a: var TGtkTextAttributes, `editable`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`editable` shl bp_TGtkTextAttributes_editable) and
-      bm_TGtkTextAttributes_editable)
-
-proc realized*(a: var TGtkTextAttributes): guint =
-  result = (a.flag0 and bm_TGtkTextAttributes_realized) shr
-      bp_TGtkTextAttributes_realized
-
-proc set_realized*(a: var TGtkTextAttributes, `realized`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`realized` shl bp_TGtkTextAttributes_realized) and
-      bm_TGtkTextAttributes_realized)
-
-proc pad1*(a: var TGtkTextAttributes): guint =
-  result = (a.flag0 and bm_TGtkTextAttributes_pad1) shr
-      bp_TGtkTextAttributes_pad1
-
-proc set_pad1*(a: var TGtkTextAttributes, `pad1`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pad1` shl bp_TGtkTextAttributes_pad1) and bm_TGtkTextAttributes_pad1)
-
-proc pad2*(a: var TGtkTextAttributes): guint =
-  result = (a.flag0 and bm_TGtkTextAttributes_pad2) shr
-      bp_TGtkTextAttributes_pad2
-
-proc set_pad2*(a: var TGtkTextAttributes, `pad2`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pad2` shl bp_TGtkTextAttributes_pad2) and bm_TGtkTextAttributes_pad2)
-
-proc pad3*(a: var TGtkTextAttributes): guint =
-  result = (a.flag0 and bm_TGtkTextAttributes_pad3) shr
-      bp_TGtkTextAttributes_pad3
-
-proc set_pad3*(a: var TGtkTextAttributes, `pad3`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pad3` shl bp_TGtkTextAttributes_pad3) and bm_TGtkTextAttributes_pad3)
-
-proc pad4*(a: var TGtkTextAttributes): guint =
-  result = (a.flag0 and bm_TGtkTextAttributes_pad4) shr
-      bp_TGtkTextAttributes_pad4
-
-proc set_pad4*(a: var TGtkTextAttributes, `pad4`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`pad4` shl bp_TGtkTextAttributes_pad4) and bm_TGtkTextAttributes_pad4)
-
-proc GTK_TYPE_TEXT_TAG_TABLE*(): GType =
-  result = gtk_text_tag_table_get_type()
-
-proc GTK_TEXT_TAG_TABLE*(obj: pointer): PGtkTextTagTable =
-  result = cast[PGtkTextTagTable](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      GTK_TYPE_TEXT_TAG_TABLE()))
-
-proc GTK_TEXT_TAG_TABLE_CLASS*(klass: pointer): PGtkTextTagTableClass =
-  result = cast[PGtkTextTagTableClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TEXT_TAG_TABLE()))
-
-proc GTK_IS_TEXT_TAG_TABLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_TAG_TABLE())
-
-proc GTK_IS_TEXT_TAG_TABLE_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_TAG_TABLE())
-
-proc GTK_TEXT_TAG_TABLE_GET_CLASS*(obj: pointer): PGtkTextTagTableClass =
-  result = cast[PGtkTextTagTableClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_TEXT_TAG_TABLE()))
-
-proc GTK_TYPE_TEXT_MARK*(): GType =
-  result = gtk_text_mark_get_type()
-
-proc GTK_TEXT_MARK*(anObject: pointer): PGtkTextMark =
-  result = cast[PGtkTextMark](G_TYPE_CHECK_INSTANCE_CAST(anObject, GTK_TYPE_TEXT_MARK()))
-
-proc GTK_TEXT_MARK_CLASS*(klass: pointer): PGtkTextMarkClass =
-  result = cast[PGtkTextMarkClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_MARK()))
-
-proc GTK_IS_TEXT_MARK*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_TEXT_MARK())
-
-proc GTK_IS_TEXT_MARK_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_MARK())
-
-proc GTK_TEXT_MARK_GET_CLASS*(obj: pointer): PGtkTextMarkClass =
-  result = cast[PGtkTextMarkClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_TEXT_MARK()))
-
-proc visible*(a: var TGtkTextMarkBody): guint =
-  result = (a.flag0 and bm_TGtkTextMarkBody_visible) shr
-      bp_TGtkTextMarkBody_visible
-
-proc set_visible*(a: var TGtkTextMarkBody, `visible`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`visible` shl bp_TGtkTextMarkBody_visible) and
-      bm_TGtkTextMarkBody_visible)
-
-proc not_deleteable*(a: var TGtkTextMarkBody): guint =
-  result = (a.flag0 and bm_TGtkTextMarkBody_not_deleteable) shr
-      bp_TGtkTextMarkBody_not_deleteable
-
-proc set_not_deleteable*(a: var TGtkTextMarkBody, `not_deleteable`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`not_deleteable` shl bp_TGtkTextMarkBody_not_deleteable) and
-      bm_TGtkTextMarkBody_not_deleteable)
-
-proc GTK_TYPE_TEXT_CHILD_ANCHOR*(): GType =
-  result = gtk_text_child_anchor_get_type()
-
-proc GTK_TEXT_CHILD_ANCHOR*(anObject: pointer): PGtkTextChildAnchor =
-  result = cast[PGtkTextChildAnchor](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      GTK_TYPE_TEXT_CHILD_ANCHOR()))
-
-proc GTK_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): PGtkTextChildAnchorClass =
-  result = cast[PGtkTextChildAnchorClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_CHILD_ANCHOR()))
-
-proc GTK_IS_TEXT_CHILD_ANCHOR*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_TEXT_CHILD_ANCHOR())
-
-proc GTK_IS_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_CHILD_ANCHOR())
-
-proc GTK_TEXT_CHILD_ANCHOR_GET_CLASS*(obj: pointer): PGtkTextChildAnchorClass =
-  result = cast[PGtkTextChildAnchorClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GTK_TYPE_TEXT_CHILD_ANCHOR()))
-
-proc width*(a: PGtkTextLineData): gint =
-  result = a . flag0 and bm_TGtkTextLineData_width
-
-proc set_width*(a: PGtkTextLineData, NewWidth: gint) =
-  a . flag0 = (bm_TGtkTextLineData_width and NewWidth) or a . flag0
-
-proc valid*(a: PGtkTextLineData): gint =
-  result = (a . flag0 and bm_TGtkTextLineData_valid) shr
-      bp_TGtkTextLineData_valid
-
-proc set_valid*(a: PGtkTextLineData, `valid`: gint) =
-  a . flag0 = a .
-      flag0 or
-      ((`valid` shl bp_TGtkTextLineData_valid) and bm_TGtkTextLineData_valid)
-
-proc GTK_TYPE_TEXT_BUFFER*(): GType =
-  result = gtk_text_buffer_get_type()
-
-proc GTK_TEXT_BUFFER*(obj: pointer): PGtkTextBuffer =
-  result = cast[PGtkTextBuffer](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_TEXT_BUFFER()))
-
-proc GTK_TEXT_BUFFER_CLASS*(klass: pointer): PGtkTextBufferClass =
-  result = cast[PGtkTextBufferClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TEXT_BUFFER()))
-
-proc GTK_IS_TEXT_BUFFER*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_BUFFER())
-
-proc GTK_IS_TEXT_BUFFER_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_BUFFER())
-
-proc GTK_TEXT_BUFFER_GET_CLASS*(obj: pointer): PGtkTextBufferClass =
-  result = cast[PGtkTextBufferClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GTK_TYPE_TEXT_BUFFER()))
-
-proc modified*(a: var TGtkTextBuffer): guint =
-  result = (a.GtkTextBufferflag0 and bm_TGtkTextBuffer_modified) shr
-      bp_TGtkTextBuffer_modified
-
-proc set_modified*(a: var TGtkTextBuffer, `modified`: guint) =
-  a.GtkTextBufferflag0 = a.GtkTextBufferflag0 or
-      (int16(`modified` shl bp_TGtkTextBuffer_modified) and
-      bm_TGtkTextBuffer_modified)
-
-proc GTK_TYPE_TEXT_LAYOUT*(): GType =
-  result = gtk_text_layout_get_type()
-
-proc GTK_TEXT_LAYOUT*(obj: pointer): PGtkTextLayout =
-  result = cast[PGtkTextLayout](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_TEXT_LAYOUT()))
-
-proc GTK_TEXT_LAYOUT_CLASS*(klass: pointer): PGtkTextLayoutClass =
-  result = cast[PGtkTextLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TEXT_LAYOUT()))
-
-proc GTK_IS_TEXT_LAYOUT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_LAYOUT())
-
-proc GTK_IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_LAYOUT())
-
-proc GTK_TEXT_LAYOUT_GET_CLASS*(obj: pointer): PGtkTextLayoutClass =
-  result = cast[PGtkTextLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      GTK_TYPE_TEXT_LAYOUT()))
-
-proc cursor_visible*(a: var TGtkTextLayout): guint =
-  result = (a.GtkTextLayoutflag0 and bm_TGtkTextLayout_cursor_visible) shr
-      bp_TGtkTextLayout_cursor_visible
-
-proc set_cursor_visible*(a: var TGtkTextLayout, `cursor_visible`: guint) =
-  a.GtkTextLayoutflag0 = a.GtkTextLayoutflag0 or
-      (int16(`cursor_visible` shl bp_TGtkTextLayout_cursor_visible) and
-      bm_TGtkTextLayout_cursor_visible)
-
-proc cursor_direction*(a: var TGtkTextLayout): gint =
-  result = (a.GtkTextLayoutflag0 and bm_TGtkTextLayout_cursor_direction) shr
-      bp_TGtkTextLayout_cursor_direction
-
-proc set_cursor_direction*(a: var TGtkTextLayout, `cursor_direction`: gint) =
-  a.GtkTextLayoutflag0 = a.GtkTextLayoutflag0 or
-      (int16(`cursor_direction` shl bp_TGtkTextLayout_cursor_direction) and
-      bm_TGtkTextLayout_cursor_direction)
-
-proc is_strong*(a: var TGtkTextCursorDisplay): guint =
-  result = (a.flag0 and bm_TGtkTextCursorDisplay_is_strong) shr
-      bp_TGtkTextCursorDisplay_is_strong
-
-proc set_is_strong*(a: var TGtkTextCursorDisplay, `is_strong`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_strong` shl bp_TGtkTextCursorDisplay_is_strong) and
-      bm_TGtkTextCursorDisplay_is_strong)
-
-proc is_weak*(a: var TGtkTextCursorDisplay): guint =
-  result = (a.flag0 and bm_TGtkTextCursorDisplay_is_weak) shr
-      bp_TGtkTextCursorDisplay_is_weak
-
-proc set_is_weak*(a: var TGtkTextCursorDisplay, `is_weak`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_weak` shl bp_TGtkTextCursorDisplay_is_weak) and
-      bm_TGtkTextCursorDisplay_is_weak)
-
-proc GTK_TYPE_TEXT_VIEW*(): GType =
-  result = gtk_text_view_get_type()
-
-proc GTK_TEXT_VIEW*(obj: pointer): PGtkTextView =
-  result = cast[PGtkTextView](GTK_CHECK_CAST(obj, GTK_TYPE_TEXT_VIEW()))
-
-proc GTK_TEXT_VIEW_CLASS*(klass: pointer): PGtkTextViewClass =
-  result = cast[PGtkTextViewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_VIEW()))
-
-proc GTK_IS_TEXT_VIEW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEXT_VIEW())
-
-proc GTK_IS_TEXT_VIEW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_VIEW())
-
-proc GTK_TEXT_VIEW_GET_CLASS*(obj: pointer): PGtkTextViewClass =
-  result = cast[PGtkTextViewClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TEXT_VIEW()))
-
-proc editable*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_editable) shr
-      bp_TGtkTextView_editable
-
-proc set_editable*(a: var TGtkTextView, `editable`: guint) =
-  a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      (int16(`editable` shl bp_TGtkTextView_editable) and bm_TGtkTextView_editable)
-
-proc overwrite_mode*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_overwrite_mode) shr
-      bp_TGtkTextView_overwrite_mode
-
-proc set_overwrite_mode*(a: var TGtkTextView, `overwrite_mode`: guint) =
-  a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      (int16(`overwrite_mode` shl bp_TGtkTextView_overwrite_mode) and
-      bm_TGtkTextView_overwrite_mode)
-
-proc cursor_visible*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_cursor_visible) shr
-      bp_TGtkTextView_cursor_visible
-
-proc set_cursor_visible*(a: var TGtkTextView, `cursor_visible`: guint) =
-  a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      (int16(`cursor_visible` shl bp_TGtkTextView_cursor_visible) and
-      bm_TGtkTextView_cursor_visible)
-
-proc need_im_reset*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_need_im_reset) shr
-      bp_TGtkTextView_need_im_reset
-
-proc set_need_im_reset*(a: var TGtkTextView, `need_im_reset`: guint) =
-  a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      (int16(`need_im_reset` shl bp_TGtkTextView_need_im_reset) and
-      bm_TGtkTextView_need_im_reset)
-
-proc just_selected_element*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_just_selected_element) shr
-      bp_TGtkTextView_just_selected_element
-
-proc set_just_selected_element*(a: var TGtkTextView,
-                                `just_selected_element`: guint) =
-  a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      (int16(`just_selected_element` shl bp_TGtkTextView_just_selected_element) and
-      bm_TGtkTextView_just_selected_element)
-
-proc disable_scroll_on_focus*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_disable_scroll_on_focus) shr
-      bp_TGtkTextView_disable_scroll_on_focus
-
-proc set_disable_scroll_on_focus*(a: var TGtkTextView,
-                                  `disable_scroll_on_focus`: guint) =
-  a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      (int16(`disable_scroll_on_focus` shl bp_TGtkTextView_disable_scroll_on_focus) and
-      bm_TGtkTextView_disable_scroll_on_focus)
-
-proc onscreen_validated*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_onscreen_validated) shr
-      bp_TGtkTextView_onscreen_validated
-
-proc set_onscreen_validated*(a: var TGtkTextView, `onscreen_validated`: guint) =
-  a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      (int16(`onscreen_validated` shl bp_TGtkTextView_onscreen_validated) and
-      bm_TGtkTextView_onscreen_validated)
-
-proc mouse_cursor_obscured*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_mouse_cursor_obscured) shr
-      bp_TGtkTextView_mouse_cursor_obscured
-
-proc set_mouse_cursor_obscured*(a: var TGtkTextView,
-                                `mouse_cursor_obscured`: guint) =
-  a.GtkTextViewflag0 = a.GtkTextViewflag0 or
-      (int16(`mouse_cursor_obscured` shl bp_TGtkTextView_mouse_cursor_obscured) and
-      bm_TGtkTextView_mouse_cursor_obscured)
-
-proc GTK_TYPE_TIPS_QUERY*(): GType =
-  result = gtk_tips_query_get_type()
-
-proc GTK_TIPS_QUERY*(obj: pointer): PGtkTipsQuery =
-  result = cast[PGtkTipsQuery](GTK_CHECK_CAST(obj, GTK_TYPE_TIPS_QUERY()))
-
-proc GTK_TIPS_QUERY_CLASS*(klass: pointer): PGtkTipsQueryClass =
-  result = cast[PGtkTipsQueryClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TIPS_QUERY()))
-
-proc GTK_IS_TIPS_QUERY*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TIPS_QUERY())
-
-proc GTK_IS_TIPS_QUERY_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TIPS_QUERY())
-
-proc GTK_TIPS_QUERY_GET_CLASS*(obj: pointer): PGtkTipsQueryClass =
-  result = cast[PGtkTipsQueryClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TIPS_QUERY()))
-
-proc emit_always*(a: var TGtkTipsQuery): guint =
-  result = (a.GtkTipsQueryflag0 and bm_TGtkTipsQuery_emit_always) shr
-      bp_TGtkTipsQuery_emit_always
-
-proc set_emit_always*(a: var TGtkTipsQuery, `emit_always`: guint) =
-  a.GtkTipsQueryflag0 = a.GtkTipsQueryflag0 or
-      (int16(`emit_always` shl bp_TGtkTipsQuery_emit_always) and
-      bm_TGtkTipsQuery_emit_always)
-
-proc in_query*(a: var TGtkTipsQuery): guint =
-  result = (a.GtkTipsQueryflag0 and bm_TGtkTipsQuery_in_query) shr
-      bp_TGtkTipsQuery_in_query
-
-proc set_in_query*(a: var TGtkTipsQuery, `in_query`: guint) =
-  a.GtkTipsQueryflag0 = a.GtkTipsQueryflag0 or
-      (int16(`in_query` shl bp_TGtkTipsQuery_in_query) and
-      bm_TGtkTipsQuery_in_query)
-
-proc GTK_TYPE_TOOLTIPS*(): GType =
-  result = gtk_tooltips_get_type()
-
-proc GTK_TOOLTIPS*(obj: pointer): PGtkTooltips =
-  result = cast[PGtkTooltips](GTK_CHECK_CAST(obj, GTK_TYPE_TOOLTIPS()))
-
-proc GTK_TOOLTIPS_CLASS*(klass: pointer): PGtkTooltipsClass =
-  result = cast[PGtkTooltipsClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TOOLTIPS()))
-
-proc GTK_IS_TOOLTIPS*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOOLTIPS())
-
-proc GTK_IS_TOOLTIPS_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOOLTIPS())
-
-proc GTK_TOOLTIPS_GET_CLASS*(obj: pointer): PGtkTooltipsClass =
-  result = cast[PGtkTooltipsClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TOOLTIPS()))
-
-proc delay*(a: var TGtkTooltips): guint =
-  result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_delay) shr bp_TGtkTooltips_delay
-
-proc set_delay*(a: var TGtkTooltips, `delay`: guint) =
-  a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or
-      ((`delay` shl bp_TGtkTooltips_delay) and bm_TGtkTooltips_delay)
-
-proc enabled*(a: var TGtkTooltips): guint =
-  result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_enabled) shr bp_TGtkTooltips_enabled
-
-proc set_enabled*(a: var TGtkTooltips, `enabled`: guint) =
-  a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or
-      ((`enabled` shl bp_TGtkTooltips_enabled) and bm_TGtkTooltips_enabled)
-
-proc have_grab*(a: var TGtkTooltips): guint =
-  result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_have_grab) shr
-      bp_TGtkTooltips_have_grab
-
-proc set_have_grab*(a: var TGtkTooltips, `have_grab`: guint) =
-  a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or
-      ((`have_grab` shl bp_TGtkTooltips_have_grab) and
-      bm_TGtkTooltips_have_grab)
-
-proc use_sticky_delay*(a: var TGtkTooltips): guint =
-  result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_use_sticky_delay) shr
-      bp_TGtkTooltips_use_sticky_delay
-
-proc set_use_sticky_delay*(a: var TGtkTooltips, `use_sticky_delay`: guint) =
-  a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or
-      ((`use_sticky_delay` shl bp_TGtkTooltips_use_sticky_delay) and
-      bm_TGtkTooltips_use_sticky_delay)
-
-proc GTK_TYPE_TOOLBAR*(): GType =
-  result = gtk_toolbar_get_type()
-
-proc GTK_TOOLBAR*(obj: pointer): PGtkToolbar =
-  result = cast[PGtkToolbar](GTK_CHECK_CAST(obj, GTK_TYPE_TOOLBAR()))
-
-proc GTK_TOOLBAR_CLASS*(klass: pointer): PGtkToolbarClass =
-  result = cast[PGtkToolbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TOOLBAR()))
-
-proc GTK_IS_TOOLBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOOLBAR())
-
-proc GTK_IS_TOOLBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOOLBAR())
-
-proc GTK_TOOLBAR_GET_CLASS*(obj: pointer): PGtkToolbarClass =
-  result = cast[PGtkToolbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TOOLBAR()))
-
-proc style_set*(a: var TGtkToolbar): guint =
-  result = (a.GtkToolbarflag0 and bm_TGtkToolbar_style_set) shr
-      bp_TGtkToolbar_style_set
-
-proc set_style_set*(a: var TGtkToolbar, `style_set`: guint) =
-  a.GtkToolbarflag0 = a.GtkToolbarflag0 or
-      (int16(`style_set` shl bp_TGtkToolbar_style_set) and
-      bm_TGtkToolbar_style_set)
-
-proc icon_size_set*(a: var TGtkToolbar): guint =
-  result = (a.GtkToolbarflag0 and bm_TGtkToolbar_icon_size_set) shr
-      bp_TGtkToolbar_icon_size_set
-
-proc set_icon_size_set*(a: var TGtkToolbar, `icon_size_set`: guint) =
-  a.GtkToolbarflag0 = a.GtkToolbarflag0 or
-      (int16(`icon_size_set` shl bp_TGtkToolbar_icon_size_set) and
-      bm_TGtkToolbar_icon_size_set)
-
-proc GTK_TYPE_TREE*(): GType =
-  result = gtk_tree_get_type()
-
-proc GTK_TREE*(obj: pointer): PGtkTree =
-  result = cast[PGtkTree](GTK_CHECK_CAST(obj, GTK_TYPE_TREE()))
-
-proc GTK_TREE_CLASS*(klass: pointer): PGtkTreeClass =
-  result = cast[PGtkTreeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE()))
-
-proc GTK_IS_TREE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE())
-
-proc GTK_IS_TREE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE())
-
-proc GTK_TREE_GET_CLASS*(obj: pointer): PGtkTreeClass =
-  result = cast[PGtkTreeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE()))
-
-proc GTK_IS_ROOT_TREE*(obj: pointer): bool =
-  result = (cast[PGtkObject]((GTK_TREE(obj)) . root_tree)) ==
-     (cast[PGtkObject](obj))
-
-proc GTK_TREE_ROOT_TREE*(obj: pointer): PGtkTree =
-  result = GTK_TREE(obj).root_tree
-
-proc GTK_TREE_SELECTION_OLD*(obj: pointer): PGList =
-  result = (GTK_TREE_ROOT_TREE(obj)).selection
-
-proc selection_mode*(a: var TGtkTree): guint =
-  result = (a.GtkTreeflag0 and bm_TGtkTree_selection_mode) shr
-      bp_TGtkTree_selection_mode
-
-proc set_selection_mode*(a: var TGtkTree, `selection_mode`: guint) =
-  a.GtkTreeflag0 = a.GtkTreeflag0 or
-      (int16(`selection_mode` shl bp_TGtkTree_selection_mode) and
-      bm_TGtkTree_selection_mode)
-
-proc view_mode*(a: var TGtkTree): guint =
-  result = (a.GtkTreeflag0 and bm_TGtkTree_view_mode) shr bp_TGtkTree_view_mode
-
-proc set_view_mode*(a: var TGtkTree, `view_mode`: guint) =
-  a.GtkTreeflag0 = a.GtkTreeflag0 or
-      (int16(`view_mode` shl bp_TGtkTree_view_mode) and bm_TGtkTree_view_mode)
-
-proc view_line*(a: var TGtkTree): guint =
-  result = (a.GtkTreeflag0 and bm_TGtkTree_view_line) shr bp_TGtkTree_view_line
-
-proc set_view_line*(a: var TGtkTree, `view_line`: guint) =
-  a.GtkTreeflag0 = a.GtkTreeflag0 or
-      (int16(`view_line` shl bp_TGtkTree_view_line) and bm_TGtkTree_view_line)
-
-proc GTK_TYPE_TREE_DRAG_SOURCE*(): GType =
-  result = gtk_tree_drag_source_get_type()
-
-proc GTK_TREE_DRAG_SOURCE*(obj: pointer): PGtkTreeDragSource =
-  result = cast[PGtkTreeDragSource](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      GTK_TYPE_TREE_DRAG_SOURCE()))
-
-proc GTK_IS_TREE_DRAG_SOURCE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_DRAG_SOURCE())
-
-proc GTK_TREE_DRAG_SOURCE_GET_IFACE*(obj: pointer): PGtkTreeDragSourceIface =
-  result = cast[PGtkTreeDragSourceIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      GTK_TYPE_TREE_DRAG_SOURCE()))
-
-proc GTK_TYPE_TREE_DRAG_DEST*(): GType =
-  result = gtk_tree_drag_dest_get_type()
-
-proc GTK_TREE_DRAG_DEST*(obj: pointer): PGtkTreeDragDest =
-  result = cast[PGtkTreeDragDest](G_TYPE_CHECK_INSTANCE_CAST(obj,
-      GTK_TYPE_TREE_DRAG_DEST()))
-
-proc GTK_IS_TREE_DRAG_DEST*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_DRAG_DEST())
-
-proc GTK_TREE_DRAG_DEST_GET_IFACE*(obj: pointer): PGtkTreeDragDestIface =
-  result = cast[PGtkTreeDragDestIface](G_TYPE_INSTANCE_GET_INTERFACE(obj,
-      GTK_TYPE_TREE_DRAG_DEST()))
-
-proc GTK_TYPE_TREE_ITEM*(): GType =
-  result = gtk_tree_item_get_type()
-
-proc GTK_TREE_ITEM*(obj: pointer): PGtkTreeItem =
-  result = cast[PGtkTreeItem](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_ITEM()))
-
-proc GTK_TREE_ITEM_CLASS*(klass: pointer): PGtkTreeItemClass =
-  result = cast[PGtkTreeItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_ITEM()))
-
-proc GTK_IS_TREE_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_ITEM())
-
-proc GTK_IS_TREE_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_ITEM())
-
-proc GTK_TREE_ITEM_GET_CLASS*(obj: pointer): PGtkTreeItemClass =
-  result = cast[PGtkTreeItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE_ITEM()))
-
-proc GTK_TREE_ITEM_SUBTREE*(obj: pointer): PGtkWidget =
-  result = (GTK_TREE_ITEM(obj)).subtree
-
-proc expanded*(a: var TGtkTreeItem): guint =
-  result = (a.GtkTreeItemflag0 and bm_TGtkTreeItem_expanded) shr
-      bp_TGtkTreeItem_expanded
-
-proc set_expanded*(a: var TGtkTreeItem, `expanded`: guint) =
-  a.GtkTreeItemflag0 = a.GtkTreeItemflag0 or
-      (int16(`expanded` shl bp_TGtkTreeItem_expanded) and bm_TGtkTreeItem_expanded)
-
-proc GTK_TYPE_TREE_SELECTION*(): GType =
-  result = gtk_tree_selection_get_type()
-
-proc GTK_TREE_SELECTION*(obj: pointer): PGtkTreeSelection =
-  result = cast[PGtkTreeSelection](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_SELECTION()))
-
-proc GTK_TREE_SELECTION_CLASS*(klass: pointer): PGtkTreeSelectionClass =
-  result = cast[PGtkTreeSelectionClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TREE_SELECTION()))
-
-proc GTK_IS_TREE_SELECTION*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_SELECTION())
-
-proc GTK_IS_TREE_SELECTION_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_SELECTION())
-
-proc GTK_TREE_SELECTION_GET_CLASS*(obj: pointer): PGtkTreeSelectionClass =
-  result = cast[PGtkTreeSelectionClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_TREE_SELECTION()))
-
-proc GTK_TYPE_TREE_STORE*(): GType =
-  result = gtk_tree_store_get_type()
-
-proc GTK_TREE_STORE*(obj: pointer): PGtkTreeStore =
-  result = cast[PGtkTreeStore](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_STORE()))
-
-proc GTK_TREE_STORE_CLASS*(klass: pointer): PGtkTreeStoreClass =
-  result = cast[PGtkTreeStoreClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_STORE()))
-
-proc GTK_IS_TREE_STORE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_STORE())
-
-proc GTK_IS_TREE_STORE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_STORE())
-
-proc GTK_TREE_STORE_GET_CLASS*(obj: pointer): PGtkTreeStoreClass =
-  result = cast[PGtkTreeStoreClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE_STORE()))
-
-proc columns_dirty*(a: var TGtkTreeStore): guint =
-  result = (a.GtkTreeStoreflag0 and bm_TGtkTreeStore_columns_dirty) shr
-      bp_TGtkTreeStore_columns_dirty
-
-proc set_columns_dirty*(a: var TGtkTreeStore, `columns_dirty`: guint) =
-  a.GtkTreeStoreflag0 = a.GtkTreeStoreflag0 or
-      (int16(`columns_dirty` shl bp_TGtkTreeStore_columns_dirty) and
-      bm_TGtkTreeStore_columns_dirty)
-
-proc GTK_TYPE_TREE_VIEW_COLUMN*(): GType =
-  result = gtk_tree_view_column_get_type()
-
-proc GTK_TREE_VIEW_COLUMN*(obj: pointer): PGtkTreeViewColumn =
-  result = cast[PGtkTreeViewColumn](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_VIEW_COLUMN()))
-
-proc GTK_TREE_VIEW_COLUMN_CLASS*(klass: pointer): PGtkTreeViewColumnClass =
-  result = cast[PGtkTreeViewColumnClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TREE_VIEW_COLUMN()))
-
-proc GTK_IS_TREE_VIEW_COLUMN*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_VIEW_COLUMN())
-
-proc GTK_IS_TREE_VIEW_COLUMN_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_VIEW_COLUMN())
-
-proc GTK_TREE_VIEW_COLUMN_GET_CLASS*(obj: pointer): PGtkTreeViewColumnClass =
-  result = cast[PGtkTreeViewColumnClass](GTK_CHECK_GET_CLASS(obj,
-      GTK_TYPE_TREE_VIEW_COLUMN()))
-
-proc visible*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_visible) shr
-      bp_TGtkTreeViewColumn_visible
-
-proc set_visible*(a: var TGtkTreeViewColumn, `visible`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      (int16(`visible` shl bp_TGtkTreeViewColumn_visible) and
-      bm_TGtkTreeViewColumn_visible)
-
-proc resizable*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_resizable) shr
-      bp_TGtkTreeViewColumn_resizable
-
-proc set_resizable*(a: var TGtkTreeViewColumn, `resizable`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      (int16(`resizable` shl bp_TGtkTreeViewColumn_resizable) and
-      bm_TGtkTreeViewColumn_resizable)
-
-proc clickable*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_clickable) shr
-      bp_TGtkTreeViewColumn_clickable
-
-proc set_clickable*(a: var TGtkTreeViewColumn, `clickable`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      (int16(`clickable` shl bp_TGtkTreeViewColumn_clickable) and
-      bm_TGtkTreeViewColumn_clickable)
-
-proc dirty*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_dirty) shr
-      bp_TGtkTreeViewColumn_dirty
-
-proc set_dirty*(a: var TGtkTreeViewColumn, `dirty`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      (int16(`dirty` shl bp_TGtkTreeViewColumn_dirty) and
-      bm_TGtkTreeViewColumn_dirty)
-
-proc show_sort_indicator*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_show_sort_indicator) shr
-      bp_TGtkTreeViewColumn_show_sort_indicator
-
-proc set_show_sort_indicator*(a: var TGtkTreeViewColumn,
-                              `show_sort_indicator`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      (int16(`show_sort_indicator` shl bp_TGtkTreeViewColumn_show_sort_indicator) and
-      bm_TGtkTreeViewColumn_show_sort_indicator)
-
-proc maybe_reordered*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_maybe_reordered) shr
-      bp_TGtkTreeViewColumn_maybe_reordered
-
-proc set_maybe_reordered*(a: var TGtkTreeViewColumn, `maybe_reordered`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      (int16(`maybe_reordered` shl bp_TGtkTreeViewColumn_maybe_reordered) and
-      bm_TGtkTreeViewColumn_maybe_reordered)
-
-proc reorderable*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_reorderable) shr
-      bp_TGtkTreeViewColumn_reorderable
-
-proc set_reorderable*(a: var TGtkTreeViewColumn, `reorderable`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      (int16(`reorderable` shl bp_TGtkTreeViewColumn_reorderable) and
-      bm_TGtkTreeViewColumn_reorderable)
-
-proc use_resized_width*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_use_resized_width) shr
-      bp_TGtkTreeViewColumn_use_resized_width
-
-proc set_use_resized_width*(a: var TGtkTreeViewColumn,
-                            `use_resized_width`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
-      (int16(`use_resized_width` shl bp_TGtkTreeViewColumn_use_resized_width) and
-      bm_TGtkTreeViewColumn_use_resized_width)
-
-proc flags*(a: PGtkRBNode): guint =
-  result = (a . flag0 and bm_TGtkRBNode_flags) shr bp_TGtkRBNode_flags
-
-proc set_flags*(a: PGtkRBNode, `flags`: guint) =
-  a . flag0 = a .
-      flag0 or (int16(`flags` shl bp_TGtkRBNode_flags) and bm_TGtkRBNode_flags)
-
-proc parity*(a: PGtkRBNode): guint =
-  result = (a . flag0 and bm_TGtkRBNode_parity) shr bp_TGtkRBNode_parity
-
-proc set_parity*(a: PGtkRBNode, `parity`: guint) =
-  a . flag0 = a .
-      flag0 or (int16(`parity` shl bp_TGtkRBNode_parity) and bm_TGtkRBNode_parity)
-
-proc GTK_RBNODE_GET_COLOR*(node: PGtkRBNode): guint =
-  if node == nil:
-    Result = GTK_RBNODE_BLACK
-  elif (int(flags(node)) and GTK_RBNODE_RED) == GTK_RBNODE_RED:
-    Result = GTK_RBNODE_RED
-  else:
-    Result = GTK_RBNODE_BLACK
-
-proc GTK_RBNODE_SET_COLOR*(node: PGtkRBNode, color: guint) =
-  if node == nil:
-    return
-  if ((flags(node) and (color)) != color):
-    set_flags(node, flags(node) xor cint(GTK_RBNODE_RED or GTK_RBNODE_BLACK))
-
-proc GTK_RBNODE_GET_HEIGHT*(node: PGtkRBNode): gint =
-  var if_local1: gint
-  if node.children != nil:
-    if_local1 = node.children.root.offset
-  else:
-    if_local1 = 0
-  result = node.offset - ((node.left.offset) + node.right.offset + if_local1)
-
-proc GTK_RBNODE_FLAG_SET*(node: PGtkRBNode, flag: guint): bool =
-  result = (node != nil) and ((flags(node) and (flag)) == flag)
-
-proc GTK_RBNODE_SET_FLAG*(node: PGtkRBNode, flag: guint16) =
-  set_flags(node, (flag) or flags(node))
-
-proc GTK_RBNODE_UNSET_FLAG*(node: PGtkRBNode, flag: guint16) =
-  set_flags(node, (not (flag)) and flags(node))
-
-proc GTK_TREE_VIEW_FLAG_SET*(tree_view: PGtkTreeView, flag: guint): bool =
-  result = ((tree_view.priv.flags) and (flag)) == flag
-
-proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PGtkTreeView): int32 =
-  var if_local1: int32
-  if GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE):
-    if_local1 = tree_view.priv.header_height
-  else:
-    if_local1 = 0
-  result = if_local1
-
-proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PGtkTreeViewColumn): int32 =
-  var MinWidth, MaxWidth: int
-  if column.min_width != -1'i32:
-    MinWidth = column.min_width
-  else:
-    MinWidth = column.requested_width
-  if column.max_width != - 1'i32:
-    MaxWidth = column.max_width
-  else:
-    MaxWidth = column.requested_width
-  result = CLAMP(column.requested_width, MinWidth, MaxWidth)
-
-proc TREE_VIEW_DRAW_EXPANDERS*(tree_view: PGtkTreeView): bool =
-  result = (not (GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_IS_LIST))) and
-      (GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS))
-
-proc TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PGtkTreeView): int32 =
-  result = 10'i32 * (TREE_VIEW_HEADER_HEIGHT(tree_view))
-
-proc scroll_to_use_align*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_scroll_to_use_align) shr
-      bp_TGtkTreeViewPrivate_scroll_to_use_align
-
-proc set_scroll_to_use_align*(a: var TGtkTreeViewPrivate,
-                              `scroll_to_use_align`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`scroll_to_use_align` shl bp_TGtkTreeViewPrivate_scroll_to_use_align) and
-      bm_TGtkTreeViewPrivate_scroll_to_use_align)
-
-proc fixed_height_check*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_fixed_height_check) shr
-      bp_TGtkTreeViewPrivate_fixed_height_check
-
-proc set_fixed_height_check*(a: var TGtkTreeViewPrivate,
-                             `fixed_height_check`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`fixed_height_check` shl bp_TGtkTreeViewPrivate_fixed_height_check) and
-      bm_TGtkTreeViewPrivate_fixed_height_check)
-
-proc reorderable*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_reorderable) shr
-      bp_TGtkTreeViewPrivate_reorderable
-
-proc set_reorderable*(a: var TGtkTreeViewPrivate, `reorderable`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`reorderable` shl bp_TGtkTreeViewPrivate_reorderable) and
-      bm_TGtkTreeViewPrivate_reorderable)
-
-proc header_has_focus*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_header_has_focus) shr
-      bp_TGtkTreeViewPrivate_header_has_focus
-
-proc set_header_has_focus*(a: var TGtkTreeViewPrivate, `header_has_focus`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`header_has_focus` shl bp_TGtkTreeViewPrivate_header_has_focus) and
-      bm_TGtkTreeViewPrivate_header_has_focus)
-
-proc drag_column_window_state*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_drag_column_window_state) shr
-      bp_TGtkTreeViewPrivate_drag_column_window_state
-
-proc set_drag_column_window_state*(a: var TGtkTreeViewPrivate,
-                                   `drag_column_window_state`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`drag_column_window_state` shl
-      bp_TGtkTreeViewPrivate_drag_column_window_state) and
-      bm_TGtkTreeViewPrivate_drag_column_window_state)
-
-proc has_rules*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_has_rules) shr
-      bp_TGtkTreeViewPrivate_has_rules
-
-proc set_has_rules*(a: var TGtkTreeViewPrivate, `has_rules`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`has_rules` shl bp_TGtkTreeViewPrivate_has_rules) and
-      bm_TGtkTreeViewPrivate_has_rules)
-
-proc mark_rows_col_dirty*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_mark_rows_col_dirty) shr
-      bp_TGtkTreeViewPrivate_mark_rows_col_dirty
-
-proc set_mark_rows_col_dirty*(a: var TGtkTreeViewPrivate,
-                              `mark_rows_col_dirty`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`mark_rows_col_dirty` shl bp_TGtkTreeViewPrivate_mark_rows_col_dirty) and
-      bm_TGtkTreeViewPrivate_mark_rows_col_dirty)
-
-proc enable_search*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_enable_search) shr
-      bp_TGtkTreeViewPrivate_enable_search
-
-proc set_enable_search*(a: var TGtkTreeViewPrivate, `enable_search`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`enable_search` shl bp_TGtkTreeViewPrivate_enable_search) and
-      bm_TGtkTreeViewPrivate_enable_search)
-
-proc disable_popdown*(a: var TGtkTreeViewPrivate): guint =
-  result = (a.flag0 and bm_TGtkTreeViewPrivate_disable_popdown) shr
-      bp_TGtkTreeViewPrivate_disable_popdown
-
-proc set_disable_popdown*(a: var TGtkTreeViewPrivate, `disable_popdown`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`disable_popdown` shl bp_TGtkTreeViewPrivate_disable_popdown) and
-      bm_TGtkTreeViewPrivate_disable_popdown)
-
-proc GTK_TREE_VIEW_SET_FLAG*(tree_view: PGtkTreeView, flag: guint) =
-  tree_view . priv . flags = tree_view . priv . flags or (flag)
-
-proc GTK_TREE_VIEW_UNSET_FLAG*(tree_view: PGtkTreeView, flag: guint) =
-  tree_view . priv . flags = tree_view . priv . flags and not (flag)
-
-proc GTK_TYPE_TREE_VIEW*(): GType =
-  result = gtk_tree_view_get_type()
-
-proc GTK_TREE_VIEW*(obj: pointer): PGtkTreeView =
-  result = cast[PGtkTreeView](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_VIEW()))
-
-proc GTK_TREE_VIEW_CLASS*(klass: pointer): PGtkTreeViewClass =
-  result = cast[PGtkTreeViewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_VIEW()))
-
-proc GTK_IS_TREE_VIEW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_VIEW())
-
-proc GTK_IS_TREE_VIEW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_VIEW())
-
-proc GTK_TREE_VIEW_GET_CLASS*(obj: pointer): PGtkTreeViewClass =
-  result = cast[PGtkTreeViewClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE_VIEW()))
-
-proc GTK_TYPE_VBUTTON_BOX*(): GType =
-  result = gtk_vbutton_box_get_type()
-
-proc GTK_VBUTTON_BOX*(obj: pointer): PGtkVButtonBox =
-  result = cast[PGtkVButtonBox](GTK_CHECK_CAST(obj, GTK_TYPE_VBUTTON_BOX()))
-
-proc GTK_VBUTTON_BOX_CLASS*(klass: pointer): PGtkVButtonBoxClass =
-  result = cast[PGtkVButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VBUTTON_BOX()))
-
-proc GTK_IS_VBUTTON_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VBUTTON_BOX())
-
-proc GTK_IS_VBUTTON_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VBUTTON_BOX())
-
-proc GTK_VBUTTON_BOX_GET_CLASS*(obj: pointer): PGtkVButtonBoxClass =
-  result = cast[PGtkVButtonBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VBUTTON_BOX()))
-
-proc GTK_TYPE_VIEWPORT*(): GType =
-  result = gtk_viewport_get_type()
-
-proc GTK_VIEWPORT*(obj: pointer): PGtkViewport =
-  result = cast[PGtkViewport](GTK_CHECK_CAST(obj, GTK_TYPE_VIEWPORT()))
-
-proc GTK_VIEWPORT_CLASS*(klass: pointer): PGtkViewportClass =
-  result = cast[PGtkViewportClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VIEWPORT()))
-
-proc GTK_IS_VIEWPORT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VIEWPORT())
-
-proc GTK_IS_VIEWPORT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VIEWPORT())
-
-proc GTK_VIEWPORT_GET_CLASS*(obj: pointer): PGtkViewportClass =
-  result = cast[PGtkViewportClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VIEWPORT()))
-
-proc GTK_TYPE_VPANED*(): GType =
-  result = gtk_vpaned_get_type()
-
-proc GTK_VPANED*(obj: pointer): PGtkVPaned =
-  result = cast[PGtkVPaned](GTK_CHECK_CAST(obj, GTK_TYPE_VPANED()))
-
-proc GTK_VPANED_CLASS*(klass: pointer): PGtkVPanedClass =
-  result = cast[PGtkVPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VPANED()))
-
-proc GTK_IS_VPANED*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VPANED())
-
-proc GTK_IS_VPANED_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VPANED())
-
-proc GTK_VPANED_GET_CLASS*(obj: pointer): PGtkVPanedClass =
-  result = cast[PGtkVPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VPANED()))
-
-proc GTK_TYPE_VRULER*(): GType =
-  result = gtk_vruler_get_type()
-
-proc GTK_VRULER*(obj: pointer): PGtkVRuler =
-  result = cast[PGtkVRuler](GTK_CHECK_CAST(obj, GTK_TYPE_VRULER()))
-
-proc GTK_VRULER_CLASS*(klass: pointer): PGtkVRulerClass =
-  result = cast[PGtkVRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VRULER()))
-
-proc GTK_IS_VRULER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VRULER())
-
-proc GTK_IS_VRULER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VRULER())
-
-proc GTK_VRULER_GET_CLASS*(obj: pointer): PGtkVRulerClass =
-  result = cast[PGtkVRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VRULER()))
-
-proc GTK_TYPE_VSCALE*(): GType =
-  result = gtk_vscale_get_type()
-
-proc GTK_VSCALE*(obj: pointer): PGtkVScale =
-  result = cast[PGtkVScale](GTK_CHECK_CAST(obj, GTK_TYPE_VSCALE()))
-
-proc GTK_VSCALE_CLASS*(klass: pointer): PGtkVScaleClass =
-  result = cast[PGtkVScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSCALE()))
-
-proc GTK_IS_VSCALE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSCALE())
-
-proc GTK_IS_VSCALE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSCALE())
-
-proc GTK_VSCALE_GET_CLASS*(obj: pointer): PGtkVScaleClass =
-  result = cast[PGtkVScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSCALE()))
-
-proc GTK_TYPE_VSCROLLBAR*(): GType =
-  result = gtk_vscrollbar_get_type()
-
-proc GTK_VSCROLLBAR*(obj: pointer): PGtkVScrollbar =
-  result = cast[PGtkVScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_VSCROLLBAR()))
-
-proc GTK_VSCROLLBAR_CLASS*(klass: pointer): PGtkVScrollbarClass =
-  result = cast[PGtkVScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSCROLLBAR()))
-
-proc GTK_IS_VSCROLLBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSCROLLBAR())
-
-proc GTK_IS_VSCROLLBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSCROLLBAR())
-
-proc GTK_VSCROLLBAR_GET_CLASS*(obj: pointer): PGtkVScrollbarClass =
-  result = cast[PGtkVScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSCROLLBAR()))
-
-proc GTK_TYPE_VSEPARATOR*(): GType =
-  result = gtk_vseparator_get_type()
-
-proc GTK_VSEPARATOR*(obj: pointer): PGtkVSeparator =
-  result = cast[PGtkVSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_VSEPARATOR()))
-
-proc GTK_VSEPARATOR_CLASS*(klass: pointer): PGtkVSeparatorClass =
-  result = cast[PGtkVSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSEPARATOR()))
-
-proc GTK_IS_VSEPARATOR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSEPARATOR())
-
-proc GTK_IS_VSEPARATOR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSEPARATOR())
-
-proc GTK_VSEPARATOR_GET_CLASS*(obj: pointer): PGtkVSeparatorClass =
-  result = cast[PGtkVSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSEPARATOR()))
-
-
-# these were missing:
-type
-   PGtkCellLayout* = pointer
-   PPGtkCellLayout* = ptr PGtkCellLayout
-   PGtkSignalRunType* = ptr TGtkSignalRunType
-   TGtkSignalRunType* =  int32
-   PGtkFileChooserAction* = ptr TGtkFileChooserAction
-   TGtkFileChooserAction* = enum 
-     GTK_FILE_CHOOSER_ACTION_OPEN,
-     GTK_FILE_CHOOSER_ACTION_SAVE,
-     GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
-     GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
-   PGtkFileChooserError* = ptr TGtkFileChooserError
-   TGtkFileChooserError* = enum
-     GTK_FILE_CHOOSER_ERROR_NONEXISTENT,
-     GTK_FILE_CHOOSER_ERROR_BAD_FILENAME
-
-
-const 
-  GTK_ARG_READWRITE* = GTK_ARG_READABLE or GTK_ARG_WRITABLE
-
-proc gtk_binding_entry_add_signal*(binding_set: PGtkBindingSet, keyval: guint, 
-                                   modifiers: TGdkModifierType, 
-                                   signal_name: cstring, n_args: guint){.varargs, 
-    importc, cdecl, dynlib: gtklib.}
-proc gtk_clist_new_with_titles*(columns: gint): PGtkCList{.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_clist_prepend*(clist: PGtkCList): gint{.importc, varargs, cdecl, dynlib: gtklib.}
-proc gtk_clist_append*(clist: PGtkCList): gint{.importc, varargs, cdecl, dynlib: gtklib.}
-proc gtk_clist_insert*(clist: PGtkCList, row: gint): gint{.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_cell_layout_set_attributes*(cell_layout: PGtkCellLayout, 
-                                     cell: PGtkCellRenderer){.cdecl, varargs, 
-    importc, dynlib: gtklib, importc: "gtk_cell_layout_set_attributes".}
-proc gtk_container_add_with_properties*(container: PGtkContainer, 
-                                        widget: PGtkWidget, 
-                                        first_prop_name: cstring){.varargs, 
-    importc, cdecl, dynlib: gtklib.}
-proc gtk_container_child_set*(container: PGtkContainer, child: PGtkWidget, 
-                              first_prop_name: cstring){.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_container_child_get*(container: PGtkContainer, child: PGtkWidget, 
-                              first_prop_name: cstring){.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_container_child_set_valist*(container: PGtkContainer, 
-                                     child: PGtkWidget, 
-                                     first_property_name: cstring){.varargs, 
-    importc, cdecl, dynlib: gtklib.}
-proc gtk_container_child_get_valist*(container: PGtkContainer, 
-                                     child: PGtkWidget, 
-                                     first_property_name: cstring){.varargs, 
-    importc, cdecl, dynlib: gtklib.}
-proc gtk_ctree_new_with_titles*(columns: gint, tree_column: gint): PGtkCTree{.
-    importc, varargs, cdecl, dynlib: gtklib.}
-proc gtk_curve_get_vector*(curve: PGtkCurve, veclen: int32){.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_curve_set_vector*(curve: PGtkCurve, veclen: int32){.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_dialog_add_buttons*(dialog: PGtkDialog, first_button_text: cstring){.
-    varargs, cdecl, importc, dynlib: gtklib.}
-proc gtk_dialog_new_with_buttons*(title: cstring, parent: PGtkWindow, 
-                                  flags: TGtkDialogFlags, 
-                                  first_button_text: cstring): PGtkDialog{.
-    varargs, cdecl, importc, dynlib: gtklib.}
-proc gtk_list_store_new*(n_columns: gint): PGtkListStore{.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_list_store_set*(list_store: PGtkListStore, iter: PGtkTreeIter){.
-    varargs, cdecl, importc, dynlib: gtklib.}
-proc gtk_list_store_set_valist*(list_store: PGtkListStore, iter: PGtkTreeIter){.
-    varargs, cdecl, importc, dynlib: gtklib.}
-proc gtk_message_dialog_new*(parent: PGtkWindow, flags: TGtkDialogFlags, 
-                             thetype: TGtkMessageType, buttons: TGtkButtonsType, 
-                             message_format: cstring): PGtkMessageDialog{.varargs, 
-    cdecl, importc, dynlib: gtklib.}
-proc gtk_signal_new*(name: cstring, signal_flags: TGtkSignalRunType, 
-                     object_type: TGtkType, function_offset: guint, 
-                     marshaller: TGtkSignalMarshaller, return_val: TGtkType, 
-                     n_args: guint): guint{.
-                     varargs, importc, cdecl, dynlib: gtklib.}
-proc gtk_signal_emit*(anObject: PGtkObject, signal_id: guint){.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_signal_emit_by_name*(anObject: PGtkObject, name: cstring){.varargs, 
-    cdecl, importc, dynlib: gtklib.}
-proc gtk_text_buffer_insert_with_tags*(buffer: PGtkTextBuffer, 
-                                       iter: PGtkTextIter, text: cstring, 
-                                       length: gint, first_tag: PGtkTextTag){.
-    varargs, importc, cdecl, dynlib: gtklib.}
-proc gtk_text_buffer_insert_with_tags_by_name*(buffer: PGtkTextBuffer, 
-    iter: PGtkTextIter, text: cstring, length: gint, first_tag_name: cstring){.
-    varargs, importc, cdecl, dynlib: gtklib.}
-proc gtk_text_buffer_create_tag*(buffer: PGtkTextBuffer, tag_name: cstring, 
-                                 first_property_name: cstring): PGtkTextTag{.
-    varargs, importc, cdecl, dynlib: gtklib.}
-proc gtk_tree_model_get*(tree_model: PGtkTreeModel, iter: PGtkTreeIter){.
-    varargs, importc, cdecl, dynlib: gtklib.}
-proc gtk_tree_model_get_valist*(tree_model: PGtkTreeModel, iter: PGtkTreeIter){.
-    varargs, importc, cdecl, dynlib: gtklib.}
-proc gtk_tree_store_new*(n_columns: gint): PGtkTreeStore{.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_tree_store_set*(tree_store: PGtkTreeStore, iter: PGtkTreeIter){.
-    varargs, cdecl, importc, dynlib: gtklib.}
-proc gtk_tree_store_set_valist*(tree_store: PGtkTreeStore, iter: PGtkTreeIter){.
-    varargs, cdecl, importc, dynlib: gtklib.}
-proc gtk_tree_store_iter_is_valid*(tree_store: PGtkTreeStore, iter: PGtkTreeIter): gboolean{.
-    cdecl, importc, dynlib: gtklib.}
-proc gtk_tree_store_reorder*(tree_store: PGtkTreeStore, parent: PGtkTreeIter, 
-                             new_order: pgint){.cdecl, importc, dynlib: gtklib.}
-proc gtk_tree_store_swap*(tree_store: PGtkTreeStore, a: PGtkTreeIter, 
-                          b: PGtkTreeIter){.cdecl, importc, dynlib: gtklib.}
-proc gtk_tree_store_move_before*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, 
-                                 position: PGtkTreeIter){.cdecl,importc,  dynlib: gtklib.}
-proc gtk_tree_store_move_after*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, 
-                                position: PGtkTreeIter){.cdecl,importc,  dynlib: gtklib.}
-proc gtk_tree_view_insert_column_with_attributes*(tree_view: PGtkTreeView, 
-    position: gint, title: cstring, cell: PGtkCellRenderer): gint{.varargs, 
-    importc, cdecl, dynlib: gtklib.}
-proc gtk_tree_view_column_new_with_attributes*(title: cstring, 
-    cell: PGtkCellRenderer): PGtkTreeViewColumn{.importc, varargs, cdecl, dynlib: gtklib.}
-proc gtk_tree_view_column_set_attributes*(tree_column: PGtkTreeViewColumn, 
-    cell_renderer: PGtkCellRenderer){.importc, varargs, cdecl, dynlib: gtklib.}
-proc gtk_widget_new*(thetype: TGtkType, first_property_name: cstring): PGtkWidget{.
-    importc, varargs, cdecl, dynlib: gtklib.}
-proc gtk_widget_set*(widget: PGtkWidget, first_property_name: cstring){.varargs, 
-    importc, cdecl, dynlib: gtklib.}
-proc gtk_widget_queue_clear*(widget: PGtkWidget){.importc, cdecl, dynlib: gtklib.}
-proc gtk_widget_queue_clear_area*(widget: PGtkWidget, x: gint, y: gint, 
-                                  width: gint, height: gint){.cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_widget_draw*(widget: PGtkWidget, area: PGdkRectangle){.cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_widget_style_get_valist*(widget: PGtkWidget, 
-                                  first_property_name: cstring){.varargs, cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_widget_style_get*(widget: PGtkWidget, first_property_name: cstring){.
-    varargs, cdecl, importc, dynlib: gtklib.}
-proc gtk_file_chooser_dialog_new*(title: cstring, parent: PGtkWindow, 
-                                  action: TGtkFileChooserAction, 
-                                  first_button_text: cstring): PGtkDialog {.cdecl, 
-    varargs, dynlib: gtklib, importc: "gtk_file_chooser_dialog_new".}
-proc gtk_file_chooser_dialog_new_with_backend*(title: cstring, 
-    parent: PGtkWindow, action: TGtkFileChooserAction, backend: cstring, 
-    first_button_text: cstring): PGtkDialog {.varargs, cdecl, dynlib: gtklib, 
-    importc: "gtk_file_chooser_dialog_new_with_backend".}
-proc gtk_object_ref*(anObject: PGtkObject): PGtkObject{.cdecl,importc,  dynlib: gtklib.}
-proc gtk_object_unref*(anObject: PGtkObject){.cdecl, importc, dynlib: gtklib.}
-proc gtk_object_weakref*(anObject: PGtkObject, notify: TGtkDestroyNotify, 
-                         data: gpointer){.cdecl, importc, dynlib: gtklib.}
-proc gtk_object_weakunref*(anObject: PGtkObject, notify: TGtkDestroyNotify, 
-                           data: gpointer){.cdecl, importc, dynlib: gtklib.}
-proc gtk_object_set_data*(anObject: PGtkObject, key: cstring, data: gpointer){.
-    cdecl, importc, dynlib: gtklib.}
-proc gtk_object_set_data_full*(anObject: PGtkObject, key: cstring, 
-                               data: gpointer, destroy: TGtkDestroyNotify){.
-    importc, cdecl, dynlib: gtklib.}
-proc gtk_object_remove_data*(anObject: PGtkObject, key: cstring){.cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_object_get_data*(anObject: PGtkObject, key: cstring): gpointer{.cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_object_remove_no_notify*(anObject: PGtkObject, key: cstring){.cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_object_set_user_data*(anObject: PGtkObject, data: gpointer){.cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_object_get_user_data*(anObject: PGtkObject): gpointer{.cdecl, 
-    importc, dynlib: gtklib.}
-proc gtk_object_set_data_by_id*(anObject: PGtkObject, data_id: TGQuark, 
-                                data: gpointer){.cdecl, importc, dynlib: gtklib.}
-proc gtk_object_set_data_by_id_full*(anObject: PGtkObject, data_id: TGQuark, 
-                                     data: gpointer, destroy: TGtkDestroyNotify){.
-    cdecl, importc, dynlib: gtklib.}
-proc gtk_object_get_data_by_id*(anObject: PGtkObject, data_id: TGQuark): gpointer{.
-    cdecl, importc, dynlib: gtklib.}
-proc gtk_object_remove_data_by_id*(anObject: PGtkObject, data_id: TGQuark){.
-    cdecl, importc, dynlib: gtklib.}
-proc gtk_object_remove_no_notify_by_id*(anObject: PGtkObject, key_id: TGQuark){.
-    cdecl, importc, dynlib: gtklib.}
-proc gtk_object_data_try_key*(str: cstring): TGQuark{.cdecl, importc, dynlib: gtklib.}
-proc gtk_object_data_force_id*(str: cstring): TGQuark{.cdecl, importc, dynlib: gtklib.}
-proc gtk_object_get*(anObject: PGtkObject, first_property_name: cstring){.cdecl, 
-    importc, varargs, dynlib: gtklib.}
-proc gtk_object_set*(anObject: PGtkObject, first_property_name: cstring){.cdecl, 
-    importc, varargs, dynlib: gtklib.}
-proc gtk_object_add_arg_type*(arg_name: cstring, arg_type: TGtkType, 
-                              arg_flags: guint, arg_id: guint){.cdecl, 
-    importc, dynlib: gtklib.}
-
-
-type
-  PGtkFileChooser* = pointer
-  PPGtkFileChooser* = ptr PGtkFileChooser
-
-type 
-  PGtkFileFilter* = pointer
-  PPGtkFileFilter* = ref PGtkFileFilter
-  PGtkFileFilterFlags* = ref TGtkFileFilterFlags
-  TGtkFileFilterFlags* = enum 
-    GTK_FILE_FILTER_FILENAME = 1 shl 0, GTK_FILE_FILTER_URI = 1 shl 1, 
-    GTK_FILE_FILTER_DISPLAY_NAME = 1 shl 2, GTK_FILE_FILTER_MIME_TYPE = 1 shl 3
-  PGtkFileFilterInfo* = ref TGtkFileFilterInfo
-  TGtkFileFilterInfo* {.final, pure.} = object 
-    contains*: TGtkFileFilterFlags
-    filename*: cstring
-    uri*: cstring
-    display_name*: cstring
-    mime_type*: cstring
-
-  TGtkFileFilterFunc* = proc (filter_info: PGtkFileFilterInfo, data: gpointer): gboolean{.
-      cdecl.}
-
-proc GTK_TYPE_FILE_FILTER*(): GType
-proc GTK_FILE_FILTER*(obj: pointer): PGtkFileFilter
-proc GTK_IS_FILE_FILTER*(obj: pointer): gboolean
-proc gtk_file_filter_get_type*(): GType{.cdecl, dynlib: gtklib, 
-    importc: "gtk_file_filter_get_type".}
-proc gtk_file_filter_new*(): PGtkFileFilter{.cdecl, dynlib: gtklib, 
-    importc: "gtk_file_filter_new".}
-proc gtk_file_filter_set_name*(filter: PGtkFileFilter, name: cstring){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_filter_set_name".}
-proc gtk_file_filter_get_name*(filter: PGtkFileFilter): cstring{.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_filter_get_name".}
-proc gtk_file_filter_add_mime_type*(filter: PGtkFileFilter, mime_type: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_file_filter_add_mime_type".}
-proc gtk_file_filter_add_pattern*(filter: PGtkFileFilter, pattern: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_file_filter_add_pattern".}
-proc gtk_file_filter_add_custom*(filter: PGtkFileFilter, 
-                                 needed: TGtkFileFilterFlags, 
-                                 func: TGtkFileFilterFunc, data: gpointer, 
-                                 notify: TGDestroyNotify){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_filter_add_custom".}
-proc gtk_file_filter_get_needed*(filter: PGtkFileFilter): TGtkFileFilterFlags{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_filter_get_needed".}
-proc gtk_file_filter_filter*(filter: PGtkFileFilter, 
-                             filter_info: PGtkFileFilterInfo): gboolean{.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_filter_filter".}
-
-proc GTK_TYPE_FILE_FILTER(): GType = 
-  result = gtk_file_filter_get_type()
-
-proc GTK_FILE_FILTER(obj: pointer): PGtkFileFilter = 
-  result = cast[PGtkFileFilter](G_TYPE_CHECK_INSTANCE_CAST(obj, 
-                                GTK_TYPE_FILE_FILTER()))
-
-proc GTK_IS_FILE_FILTER(obj: pointer): gboolean = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_FILE_FILTER())
-
-
-proc gtk_file_chooser_get_type*():GType {.
-  cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_type".}
-
-proc gtk_file_chooser_error_quark*(): TGQuark {.
-  cdecl, dynlib: gtklib, importc: "gtk_file_chooser_error_quark".}
-
-proc GTK_TYPE_FILE_CHOOSER*(): GType =
-  result = gtk_file_chooser_get_type()
-
-proc GTK_FILE_CHOOSER*(obj: pointer): PGtkFileChooser =
-  result = cast[PGtkFileChooser](G_TYPE_CHECK_INSTANCE_CAST(obj, 
-    GTK_TYPE_FILE_CHOOSER()))
-
-proc GTK_IS_FILE_CHOOSER*(obj: pointer): gboolean =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_FILE_CHOOSER())
-
-proc gtk_file_chooser_set_action*(chooser: PGtkFileChooser, 
-                                  action: TGtkFileChooserAction){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_set_action".}
-proc gtk_file_chooser_get_action*(chooser: PGtkFileChooser): TGtkFileChooserAction{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_action".}
-proc gtk_file_chooser_set_local_only*(chooser: PGtkFileChooser, 
-                                      local_only: gboolean){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_set_local_only".}
-proc gtk_file_chooser_get_local_only*(chooser: PGtkFileChooser): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_local_only".}
-proc gtk_file_chooser_set_select_multiple*(chooser: PGtkFileChooser, 
-    select_multiple: gboolean){.cdecl, dynlib: gtklib, 
-                                importc: "gtk_file_chooser_set_select_multiple".}
-proc gtk_file_chooser_get_select_multiple*(chooser: PGtkFileChooser): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_select_multiple".}
-proc gtk_file_chooser_set_current_name*(chooser: PGtkFileChooser, name: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_set_current_name".}
-proc gtk_file_chooser_get_filename*(chooser: PGtkFileChooser): cstring{.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_get_filename".}
-proc gtk_file_chooser_set_filename*(chooser: PGtkFileChooser, filename: cstring): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_set_filename".}
-proc gtk_file_chooser_select_filename*(chooser: PGtkFileChooser, 
-                                       filename: cstring): gboolean{.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_select_filename".}
-proc gtk_file_chooser_unselect_filename*(chooser: PGtkFileChooser, 
-    filename: cstring){.cdecl, dynlib: gtklib, 
-                        importc: "gtk_file_chooser_unselect_filename".}
-proc gtk_file_chooser_select_all*(chooser: PGtkFileChooser){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_select_all".}
-proc gtk_file_chooser_unselect_all*(chooser: PGtkFileChooser){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_unselect_all".}
-proc gtk_file_chooser_get_filenames*(chooser: PGtkFileChooser): PGSList{.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_get_filenames".}
-proc gtk_file_chooser_set_current_folder*(chooser: PGtkFileChooser, 
-    filename: cstring): gboolean{.cdecl, dynlib: gtklib, 
-                                 importc: "gtk_file_chooser_set_current_folder".}
-proc gtk_file_chooser_get_current_folder*(chooser: PGtkFileChooser): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_current_folder".}
-proc gtk_file_chooser_get_uri*(chooser: PGtkFileChooser): cstring{.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_get_uri".}
-proc gtk_file_chooser_set_uri*(chooser: PGtkFileChooser, uri: cstring): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_set_uri".}
-proc gtk_file_chooser_select_uri*(chooser: PGtkFileChooser, uri: cstring): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_select_uri".}
-proc gtk_file_chooser_unselect_uri*(chooser: PGtkFileChooser, uri: cstring){.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_unselect_uri".}
-proc gtk_file_chooser_get_uris*(chooser: PGtkFileChooser): PGSList{.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_get_uris".}
-proc gtk_file_chooser_set_current_folder_uri*(chooser: PGtkFileChooser, 
-    uri: cstring): gboolean{.cdecl, dynlib: gtklib, 
-                            importc: "gtk_file_chooser_set_current_folder_uri".}
-proc gtk_file_chooser_get_current_folder_uri*(chooser: PGtkFileChooser): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_current_folder_uri".}
-proc gtk_file_chooser_set_preview_widget*(chooser: PGtkFileChooser, 
-    preview_widget: PGtkWidget){.cdecl, dynlib: gtklib, 
-                                 importc: "gtk_file_chooser_set_preview_widget".}
-proc gtk_file_chooser_get_preview_widget*(chooser: PGtkFileChooser): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_preview_widget".}
-proc gtk_file_chooser_set_preview_widget_active*(chooser: PGtkFileChooser, 
-    active: gboolean){.cdecl, dynlib: gtklib, 
-                       importc: "gtk_file_chooser_set_preview_widget_active".}
-proc gtk_file_chooser_get_preview_widget_active*(chooser: PGtkFileChooser): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_preview_widget_active".}
-proc gtk_file_chooser_set_use_preview_label*(chooser: PGtkFileChooser, 
-    use_label: gboolean){.cdecl, dynlib: gtklib, 
-                          importc: "gtk_file_chooser_set_use_preview_label".}
-proc gtk_file_chooser_get_use_preview_label*(chooser: PGtkFileChooser): gboolean{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_use_preview_label".}
-proc gtk_file_chooser_get_preview_filename*(chooser: PGtkFileChooser): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_preview_filename".}
-proc gtk_file_chooser_get_preview_uri*(chooser: PGtkFileChooser): cstring{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_preview_uri".}
-proc gtk_file_chooser_set_extra_widget*(chooser: PGtkFileChooser, 
-                                        extra_widget: PGtkWidget){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_set_extra_widget".}
-proc gtk_file_chooser_get_extra_widget*(chooser: PGtkFileChooser): PGtkWidget{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_extra_widget".}
-proc gtk_file_chooser_add_filter*(chooser: PGtkFileChooser, 
-                                  filter: PGtkFileFilter){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_add_filter".}
-proc gtk_file_chooser_remove_filter*(chooser: PGtkFileChooser, 
-                                     filter: PGtkFileFilter){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_remove_filter".}
-proc gtk_file_chooser_list_filters*(chooser: PGtkFileChooser): PGSList{.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_list_filters".}
-proc gtk_file_chooser_set_filter*(chooser: PGtkFileChooser, 
-                                  filter: PGtkFileFilter){.cdecl, 
-    dynlib: gtklib, importc: "gtk_file_chooser_set_filter".}
-proc gtk_file_chooser_get_filter*(chooser: PGtkFileChooser): PGtkFileFilter{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_filter".}
-proc gtk_file_chooser_add_shortcut_folder*(chooser: PGtkFileChooser, 
-    folder: cstring, error: pointer): gboolean{.cdecl, dynlib: gtklib, 
-    importc: "gtk_file_chooser_add_shortcut_folder".}
-proc gtk_file_chooser_remove_shortcut_folder*(chooser: PGtkFileChooser, 
-    folder: cstring, error: pointer): gboolean{.cdecl, dynlib: gtklib, 
-    importc: "gtk_file_chooser_remove_shortcut_folder".}
-proc gtk_file_chooser_list_shortcut_folders*(chooser: PGtkFileChooser): PGSList{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_list_shortcut_folders".}
-proc gtk_file_chooser_add_shortcut_folder_uri*(chooser: PGtkFileChooser, 
-    uri: cstring, error: pointer): gboolean{.cdecl, dynlib: gtklib, 
-    importc: "gtk_file_chooser_add_shortcut_folder_uri".}
-proc gtk_file_chooser_remove_shortcut_folder_uri*(chooser: PGtkFileChooser, 
-    uri: cstring, error: pointer): gboolean{.cdecl, dynlib: gtklib, 
-    importc: "gtk_file_chooser_remove_shortcut_folder_uri".}
-proc gtk_file_chooser_list_shortcut_folder_uris*(chooser: PGtkFileChooser): PGSList{.
-    cdecl, dynlib: gtklib, importc: "gtk_file_chooser_list_shortcut_folder_uris".}
-
-proc gtk_file_chooser_set_do_overwrite_confirmation*(chooser: PGtkFileChooser,
-    do_overwrite_confirmation: gboolean) {.cdecl, dynlib: gtklib, 
-    importc: "gtk_file_chooser_set_do_overwrite_confirmation".}
-
-proc gtk_nimrod_init*() =
-  var
-    cmdLine {.importc: "cmdLine".}: array [0..255, cstring]
-    cmdCount {.importc: "cmdCount".}: cint
-  gtk_init(addr(cmdLine), addr(cmdCount))
diff --git a/lib/oldwrappers/gtk/gtkglext.nim b/lib/oldwrappers/gtk/gtkglext.nim
deleted file mode 100755
index 38da5d25e..000000000
--- a/lib/oldwrappers/gtk/gtkglext.nim
+++ /dev/null
@@ -1,50 +0,0 @@
-{.deadCodeElim: on.}
-
-import 
-  Glib2, Gdk2, Gtk2, GdkGLExt
-
-const 
-  GtkGLExtLib* = if defined(WIN32): "libgtkglext-win32-1.0-0.dll" else: "libgtkglext-x11-1.0.so"
-
-const 
-  HEADER_GTKGLEXT_MAJOR_VERSION* = 1
-  HEADER_GTKGLEXT_MINOR_VERSION* = 0
-  HEADER_GTKGLEXT_MICRO_VERSION* = 6
-  HEADER_GTKGLEXT_INTERFACE_AGE* = 4
-  HEADER_GTKGLEXT_BINARY_AGE* = 6
-
-proc gtk_gl_parse_args*(argc: Plongint, argv: PPPChar): gboolean{.cdecl, 
-    dynlib: GtkGLExtLib, importc: "gtk_gl_parse_args".}
-proc gtk_gl_init_check*(argc: Plongint, argv: PPPChar): gboolean{.cdecl, 
-    dynlib: GtkGLExtLib, importc: "gtk_gl_init_check".}
-proc gtk_gl_init*(argc: Plongint, argv: PPPChar){.cdecl, dynlib: GtkGLExtLib, 
-    importc: "gtk_gl_init".}
-proc gtk_widget_set_gl_capability*(widget: PGtkWidget, glconfig: PGdkGLConfig, 
-                                   share_list: PGdkGLContext, direct: gboolean, 
-                                   render_type: int): gboolean{.cdecl, 
-    dynlib: GtkGLExtLib, importc: "gtk_widget_set_gl_capability".}
-proc gtk_widget_is_gl_capable*(widget: PGtkWidget): gboolean{.cdecl, 
-    dynlib: GtkGLExtLib, importc: "gtk_widget_is_gl_capable".}
-proc gtk_widget_get_gl_config*(widget: PGtkWidget): PGdkGLConfig{.cdecl, 
-    dynlib: GtkGLExtLib, importc: "gtk_widget_get_gl_config".}
-proc gtk_widget_create_gl_context*(widget: PGtkWidget, 
-                                   share_list: PGdkGLContext, direct: gboolean, 
-                                   render_type: int): PGdkGLContext{.cdecl, 
-    dynlib: GtkGLExtLib, importc: "gtk_widget_create_gl_context".}
-proc gtk_widget_get_gl_context*(widget: PGtkWidget): PGdkGLContext{.cdecl, 
-    dynlib: GtkGLExtLib, importc: "gtk_widget_get_gl_context".}
-proc gtk_widget_get_gl_window*(widget: PGtkWidget): PGdkGLWindow{.cdecl, 
-    dynlib: GtkGLExtLib, importc: "gtk_widget_get_gl_window".}
-proc gtk_widget_get_gl_drawable*(widget: PGtkWidget): PGdkGLDrawable = 
-  nil
-
-proc HEADER_GTKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool = 
-  result = (HEADER_GTKGLEXT_MAJOR_VERSION > major) or
-      ((HEADER_GTKGLEXT_MAJOR_VERSION == major) and
-      (HEADER_GTKGLEXT_MINOR_VERSION > minor)) or
-      ((HEADER_GTKGLEXT_MAJOR_VERSION == major) and
-      (HEADER_GTKGLEXT_MINOR_VERSION == minor) and
-      (HEADER_GTKGLEXT_MICRO_VERSION >= micro))
-
-proc gtk_widget_get_gl_drawable*(widget: PGtkWidget): PGdkGLDrawable = 
-  result = GDK_GL_DRAWABLE(gtk_widget_get_gl_window(widget))
diff --git a/lib/oldwrappers/gtk/gtkhtml.nim b/lib/oldwrappers/gtk/gtkhtml.nim
deleted file mode 100755
index c9ccc3595..000000000
--- a/lib/oldwrappers/gtk/gtkhtml.nim
+++ /dev/null
@@ -1,499 +0,0 @@
-{.deadCodeElim: on.}
-
-import 
-  gtk2, glib2, atk, pango, gdk2pixbuf, gdk2
-
-when defined(windows): 
-  {.define: GTK_WINDOWING_WIN32.}
-  const 
-    gtkhtmllib = "libgtkhtml-win32-2.0-0.dll"
-else: 
-  const 
-    gtkhtmllib = "libgtkhtml-2.so"
-const 
-  DOM_UNSPECIFIED_EVENT_TYPE_ERR* = 0
-  DOM_INDEX_SIZE_ERR* = 1
-  DOM_DOMSTRING_SIZE_ERR* = 2
-  DOM_HIERARCHY_REQUEST_ERR* = 3
-  DOM_WRONG_DOCUMENT_ERR* = 4
-  DOM_INVALID_CHARACTER_ERR* = 5
-  DOM_NO_DATA_ALLOWED_ERR* = 6
-  DOM_NO_MODIFICATION_ALLOWED_ERR* = 7
-  DOM_NOT_FOUND_ERR* = 8
-  DOM_NOT_SUPPORTED_ERR* = 9
-  DOM_INUSE_ATTRIBUTE_ERR* = 10
-  DOM_INVALID_STATE_ERR* = 11
-  DOM_SYNTAX_ERR* = 12
-  DOM_INVALID_MODIFICATION_ERR* = 13
-  DOM_NAMESPACE_ERR* = 14
-  DOM_INVALID_ACCESS_ERR* = 15
-  DOM_NO_EXCEPTION* = 255
-  DOM_ELEMENT_NODE* = 1
-  DOM_ATTRIBUTE_NODE* = 2
-  DOM_TEXT_NODE* = 3
-  DOM_CDATA_SECTION_NODE* = 4
-  DOM_ENTITY_REFERENCE_NODE* = 5
-  DOM_ENTITY_NODE* = 6
-  DOM_PROCESSING_INSTRUCTION_NODE* = 7
-  DOM_COMMENT_NODE* = 8
-  DOM_DOCUMENT_NODE* = 9
-  DOM_DOCUMENT_TYPE_NODE* = 10
-  DOM_DOCUMENT_FRAGMENT_NODE* = 11
-  DOM_NOTATION_NODE* = 12
-  bm_HtmlFontSpecification_weight = 0x0000000F
-  bp_HtmlFontSpecification_weight = 0
-  bm_HtmlFontSpecification_style = 0x00000030
-  bp_HtmlFontSpecification_style = 4
-  bm_HtmlFontSpecification_variant = 0x000000C0
-  bp_HtmlFontSpecification_variant = 6
-  bm_HtmlFontSpecification_stretch = 0x00000F00
-  bp_HtmlFontSpecification_stretch = 8
-  bm_HtmlFontSpecification_decoration = 0x00007000
-  bp_HtmlFontSpecification_decoration = 12
-
-type 
-  TDomString* = gchar
-  TDomBoolean* = gboolean
-  TDomException* = gushort
-  TDomTimeStamp* = guint64
-  PDomNode* = ptr TDomNode
-  TDomNode* = object of TGObject
-    xmlnode*: pointer
-    style*: pointer
-
-  PDomNodeClass* = ptr TDomNodeClass
-  TDomNodeClass* = object of TGObjectClass
-    `get_nodeName`*: proc (node: PDomNode): PDomString{.cdecl.}
-    `get_nodeValue`*: proc (node: PDomNode, exc: PDomException): PDomString {.
-        cdecl.}
-    `set_nodeValue`*: proc (node: PDomNode, value: PDomString, 
-                            exc: PDomException): PDomString{.cdecl.}
-
-  PDomDocument* = ptr TDomDocument
-  TDomDocument* {.final, pure.} = object 
-    parent*: PDomNode
-    iterators*: PGSList
-
-  PDomDocumentClass* = ptr TDomDocumentClass
-  TDomDocumentClass* {.final, pure.} = object 
-    parent_class*: PDomNodeClass
-
-  PHtmlFocusIterator* = ptr THtmlFocusIterator
-  THtmlFocusIterator* = object of TGObject
-    document*: PDomDocument
-    current_node*: PDomNode
-
-  PHtmlFocusIteratorClass* = ptr THtmlFocusIteratorClass
-  THtmlFocusIteratorClass* = object of TGObjectClass
-
-  THtmlParserType* = enum 
-    HTML_PARSER_TYPE_HTML, HTML_PARSER_TYPE_XML
-  PHtmlParser* = ptr THtmlParser
-  THtmlParser* = object of TGObject
-    parser_type*: THtmlParserType
-    document*: PHtmlDocument
-    stream*: PHtmlStream
-    xmlctxt*: xmlParserCtxtPtr
-    res*: int32
-    chars*: array[0..9, char]
-    blocking*: gboolean
-    blocking_node*: PDomNode
-
-  PHtmlParserClass* = ptr THtmlParserClass
-  THtmlParserClass* = object of TGtkObjectClass
-    done_parsing*: proc (parser: PHtmlParser){.cdecl.}
-    new_node*: proc (parser: PHtmlParser, node: PDomNode)
-    parsed_document_node*: proc (parser: PHtmlParser, document: PDomDocument)
-
-  PHtmlStream* = ptr THtmlStream
-  THtmlStreamCloseFunc* = proc (stream: PHtmlStream, user_data: gpointer){.cdecl.}
-  THtmlStreamWriteFunc* = proc (stream: PHtmlStream, buffer: Pgchar, 
-                                size: guint, user_data: gpointer){.cdecl.}
-  THtmlStreamCancelFunc* = proc (stream: PHtmlStream, user_data: gpointer, 
-                                 cancel_data: gpointer){.cdecl.}
-  THtmlStream* = object of TGObject
-    write_func*: THtmlStreamWriteFunc
-    close_func*: THtmlStreamCloseFunc
-    cancel_func*: THtmlStreamCancelFunc
-    user_data*: gpointer
-    cancel_data*: gpointer
-    written*: gint
-    mime_type*: cstring
-
-  PHtmlStreamClass* = ptr THtmlStreamClass
-  THtmlStreamClass* = object of TGObjectClass
-
-  THtmlStreamBufferCloseFunc* = proc (str: Pgchar, len: gint, 
-                                      user_data: gpointer){.cdecl.}
-  PGtkHtmlContext* = ptr TGtkHtmlContext
-  TGtkHtmlContext* = object of TGObject
-    documents*: PGSList
-    standard_font*: PHtmlFontSpecification
-    fixed_font*: PHtmlFontSpecification
-    debug_painting*: gboolean
-
-  PGtkHtmlContextClass* = ptr TGtkHtmlContextClass
-  TGtkHtmlContextClass* = object of TGObjectClass
-
-  THtmlDocumentState* = enum 
-    HTML_DOCUMENT_STATE_DONE, HTML_DOCUMENT_STATE_PARSING
-  PHtmlDocument* = ptr THtmlDocument
-  THtmlDocument* = object of TGObject
-    stylesheets*: PGSList
-    current_stream*: PHtmlStream
-    state*: THtmlDocumentState
-
-  PHtmlDocumentClass* = ptr THtmlDocumentClass
-  THtmlDocumentClass* = object of TGObjectClass
-    request_url*: proc (document: PHtmlDocument, url: Pgchar, 
-                        stream: PHtmlStream){.cdecl.}
-    link_clicked*: proc (document: PHtmlDocument, url: Pgchar){.cdecl.}
-    set_base*: proc (document: PHtmlDocument, url: Pgchar){.cdecl.}
-    title_changed*: proc (document: PHtmlDocument, new_title: Pgchar){.cdecl.}
-    submit*: proc (document: PHtmlDocument, `method`: Pgchar, url: Pgchar, 
-                   encoding: Pgchar){.cdecl.}
-
-  PHtmlView* = ptr THtmlView
-  THtmlView* = object of TGtkLayout
-    document*: PHtmlDocument
-    node_table*: PGHashTable
-    relayout_idle_id*: guint
-    relayout_timeout_id*: guint
-    mouse_down_x*: gint
-    mouse_down_y*: gint
-    mouse_detail*: gint
-    sel_start_ypos*: gint
-    sel_start_index*: gint
-    sel_end_ypos*: gint
-    sel_end_index*: gint
-    sel_flag*: gboolean
-    sel_backwards*: gboolean
-    sel_start_found*: gboolean
-    sel_list*: PGSList
-    jump_to_anchor*: pgchar
-    magnification*: gdouble
-    magnification_modified*: gboolean
-    on_url*: gboolean
-
-  PHtmlViewClass* = ptr THtmlViewClass
-  THtmlViewClass* = object of TGtkLayoutClass
-    move_cursor*: proc (html_view: PHtmlView, step: TGtkMovementStep, 
-                        count: gint, extend_selection: gboolean){.cdecl.}
-    on_url*: proc (html_view: PHtmlView, url: Pgchar)
-    activate*: proc (html_view: PHtmlView)
-    move_focus_out*: proc (html_view: PHtmlView, direction: TGtkDirectionType)
-
-
-proc DOM_TYPE_NODE*(): GType
-proc DOM_NODE*(theobject: pointer): PDomNode
-proc DOM_NODE_CLASS*(klass: pointer): PDomNodeClass
-proc DOM_IS_NODE*(theobject: pointer): bool
-proc DOM_IS_NODE_CLASS*(klass: pointer): bool
-proc DOM_NODE_GET_CLASS*(obj: pointer): int32
-proc dom_node_get_type*(): GType{.cdecl, dynlib: gtkhtmllib, 
-                                  importc: "dom_node_get_type".}
-proc dom_Node_mkref*(node: pointer): PDomNode{.cdecl, dynlib: gtkhtmllib, 
-    importc: "dom_Node_mkref".}
-proc dom_Node_get_childNodes*(node: PDomNode): PDomNodeList{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_childNodes".}
-proc dom_Node_removeChild*(node: PDomNode, oldChild: PDomNode, 
-                           exc: PDomException): PDomNode{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node_removeChild".}
-proc dom_Node_get_nodeValue*(node: PDomNode, exc: PDomException): PDomString{.
-    cdecl, dynlib: gtkhtmllib, importc: "dom_Node__get_nodeValue".}
-proc dom_Node_get_firstChild*(node: PDomNode): PDomNode{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_firstChild".}
-proc dom_Node_get_nodeName*(node: PDomNode): PDomString{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_nodeName".}
-proc dom_Node_get_attributes*(node: PDomNode): PDomNamedNodeMap{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_attributes".}
-proc dom_Document_get_doctype*(doc: PDomDocument): PDomDocumentType{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Document__get_doctype".}
-proc dom_Node_hasChildNodes*(node: PDomNode): DomBoolean{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node_hasChildNodes".}
-proc dom_Node_get_parentNode*(node: PDomNode): PDomNode{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_parentNode".}
-proc dom_Node_get_nextSibling*(node: PDomNode): PDomNode{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_nextSibling".}
-proc dom_Node_get_nodeType*(node: PDomNode): gushort{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_nodeType".}
-proc dom_Node_hasAttributes*(node: PDomNode): DomBoolean{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node_hasAttributes".}
-proc dom_Node_cloneNode*(node: PDomNode, deep: DomBoolean): PDomNode{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node_cloneNode".}
-proc dom_Node_appendChild*(node: PDomNode, newChild: PDomNode, 
-                           exc: PDomException): PDomNode{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node_appendChild".}
-proc dom_Node_get_localName*(node: PDomNode): PDomString{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_localName".}
-proc dom_Node_get_namespaceURI*(node: PDomNode): PDomString{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_namespaceURI".}
-proc dom_Node_get_previousSibling*(node: PDomNode): PDomNode{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_previousSibling".}
-proc dom_Node_get_lastChild*(node: PDomNode): PDomNode{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_lastChild".}
-proc dom_Node_set_nodeValue*(node: PDomNode, value: PDomString, 
-                             exc: PDomException){.cdecl, dynlib: gtkhtmllib, 
-    importc: "dom_Node__set_nodeValue".}
-proc dom_Node_get_ownerDocument*(node: PDomNode): PDomDocument{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node__get_ownerDocument".}
-proc dom_Node_hasAttributes*(node: PDomNode): gboolean{.cdecl, 
-    dynlib: gtkhtmllib, importc: "dom_Node_hasAttributes".}
-proc DOM_TYPE_DOCUMENT*(): GType
-proc DOM_DOCUMENT*(theobject: pointer): PDomDocument
-proc DOM_DOCUMENT_CLASS*(klass: pointer): PDomDocumentClass
-proc DOM_IS_DOCUMENT*(theobject: pointer): bool
-proc DOM_IS_DOCUMENT_CLASS*(klass: pointer): bool
-proc DOM_DOCUMENT_GET_CLASS*(obj: pointer): PDomDocumentClass
-proc dom_document_get_type*(): GType
-proc dom_Document_get_documentElement*(doc: PDomDocument): PDomElement
-proc dom_Document_createElement*(doc: PDomDocument, tagName: PDomString): PDomElement
-proc dom_Document_createTextNode*(doc: PDomDocument, data: PDomString): PDomText
-proc dom_Document_createComment*(doc: PDomDocument, data: PDomString): PDomComment
-proc dom_Document_importNode*(doc: PDomDocument, importedNode: PDomNode, 
-                              deep: DomBoolean, exc: PDomException): PDomNode
-proc HTML_TYPE_FOCUS_ITERATOR*(): GType
-proc HTML_FOCUS_ITERATOR*(theobject: pointer): PHtmlFocusIterator
-proc HTML_FOCUS_ITERATOR_CLASS*(klass: pointer): PHtmlFocusIteratorClass
-proc HTML_IS_FOCUS_ITERATOR*(theobject: pointer): bool
-proc HTML_IS_FOCUS_ITERATOR_CLASS*(klass: pointer): bool
-proc HTML_FOCUS_ITERATOR_GET_CLASS*(obj: pointer): PHtmlFocusIteratorClass
-proc html_focus_iterator_next_element*(document: PDomDocument, 
-                                       element: PDomElement): PDomElement{.
-    cdecl, dynlib: gtkhtmllib, importc: "html_focus_iterator_next_element".}
-proc html_focus_iterator_prev_element*(document: PDomDocument, 
-                                       element: PDomElement): PDomElement{.
-    cdecl, dynlib: gtkhtmllib, importc: "html_focus_iterator_prev_element".}
-proc HTML_PARSER_TYPE*(): GType
-proc HTML_PARSER*(obj: pointer): PHtmlParser
-proc HTML_PARSER_CLASS*(klass: pointer): PHtmlParserClass
-proc HTML_IS_PARSER*(obj: pointer): bool
-proc html_parser_get_type*(): GType
-proc html_parser_new*(document: PHtmlDocument, parser_type: THtmlParserType): PHtmlParser
-proc HTML_TYPE_STREAM*(): GType
-proc HTML_STREAM*(obj: pointer): PHtmlStream
-proc HTML_STREAM_CLASS*(klass: pointer): PHtmlStreamClass
-proc HTML_IS_STREAM*(obj: pointer): bool
-proc HTML_IS_STREAM_CLASS*(klass: pointer): bool
-proc HTML_STREAM_GET_CLASS*(obj: pointer): PHtmlStreamClass
-proc html_stream_get_type*(): GType{.cdecl, dynlib: gtkhtmllib, 
-                                     importc: "html_stream_get_type".}
-proc html_stream_new*(write_func: THtmlStreamWriteFunc, 
-                      close_func: THtmlStreamCloseFunc, user_data: gpointer): PHtmlStream{.
-    cdecl, dynlib: gtkhtmllib, importc: "html_stream_new".}
-proc html_stream_write*(stream: PHtmlStream, buffer: Pgchar, size: guint){.
-    cdecl, dynlib: gtkhtmllib, importc: "html_stream_write".}
-proc html_stream_close*(stream: PHtmlStream){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_stream_close".}
-proc html_stream_destroy*(stream: PHtmlStream){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_stream_destroy".}
-proc html_stream_get_written*(stream: PHtmlStream): gint{.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_stream_get_written".}
-proc html_stream_cancel*(stream: PHtmlStream){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_stream_cancel".}
-proc html_stream_set_cancel_func*(stream: PHtmlStream, 
-                                  abort_func: THtmlStreamCancelFunc, 
-                                  cancel_data: gpointer){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_stream_set_cancel_func".}
-proc html_stream_get_mime_type*(stream: PHtmlStream): cstring{.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_stream_get_mime_type".}
-proc html_stream_set_mime_type*(stream: PHtmlStream, mime_type: cstring){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_stream_set_mime_type".}
-proc html_stream_buffer_new*(close_func: THtmlStreamBufferCloseFunc, 
-                             user_data: gpointer): PHtmlStream{.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_stream_buffer_new".}
-proc html_event_mouse_move*(view: PHtmlView, event: PGdkEventMotion){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_event_mouse_move".}
-proc html_event_button_press*(view: PHtmlView, button: PGdkEventButton){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_event_button_press".}
-proc html_event_button_release*(view: PHtmlView, event: PGdkEventButton){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_event_button_release".}
-proc html_event_activate*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_event_activate".}
-proc html_event_key_press*(view: PHtmlView, event: PGdkEventKey): gboolean{.
-    cdecl, dynlib: gtkhtmllib, importc: "html_event_key_press".}
-proc html_event_find_root_box*(self: PHtmlBox, x: gint, y: gint): PHtmlBox{.
-    cdecl, dynlib: gtkhtmllib, importc: "html_event_find_root_box".}
-proc html_selection_start*(view: PHtmlView, event: PGdkEventButton){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_selection_start".}
-proc html_selection_end*(view: PHtmlView, event: PGdkEventButton){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_selection_end".}
-proc html_selection_update*(view: PHtmlView, event: PGdkEventMotion){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_selection_update".}
-proc html_selection_clear*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_selection_clear".}
-proc html_selection_set*(view: PHtmlView, start: PDomNode, offset: int32, 
-                         len: int32){.cdecl, dynlib: gtkhtmllib, 
-                                      importc: "html_selection_set".}
-proc GTK_HTML_CONTEXT_TYPE*(): GType
-proc GTK_HTML_CONTEXT*(obj: pointer): PGtkHtmlContext
-proc GTK_HTML_CONTEXT_CLASS*(klass: pointer): PGtkHtmlContextClass
-proc GTK_HTML_IS_CONTEXT*(obj: pointer): bool
-proc GTK_HTML_IS_CONTEXT_CLASS*(klass: pointer): bool
-proc gtk_html_context_get_type*(): GType
-proc gtk_html_context_get*(): PGtkHtmlContext
-proc HTML_TYPE_DOCUMENT*(): GType
-proc HTML_DOCUMENT*(obj: pointer): PHtmlDocument
-proc HTML_DOCUMENT_CLASS*(klass: pointer): PHtmlDocumentClass
-proc HTML_IS_DOCUMENT*(obj: pointer): bool
-proc html_document_get_type*(): GType{.cdecl, dynlib: gtkhtmllib, 
-                                       importc: "html_document_get_type".}
-proc html_document_new*(): PHtmlDocument{.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_document_new".}
-proc html_document_open_stream*(document: PHtmlDocument, mime_type: Pgchar): gboolean{.
-    cdecl, dynlib: gtkhtmllib, importc: "html_document_open_stream".}
-proc html_document_write_stream*(document: PHtmlDocument, buffer: Pgchar, 
-                                 len: gint){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_document_write_stream".}
-proc html_document_close_stream*(document: PHtmlDocument){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_document_close_stream".}
-proc html_document_clear*(document: PHtmlDocument){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_document_clear".}
-proc HTML_TYPE_VIEW*(): GType
-proc HTML_VIEW*(obj: pointer): PHtmlView
-proc HTML_VIEW_CLASS*(klass: pointer): PHtmlViewClass
-proc HTML_IS_VIEW*(obj: pointer): bool
-proc html_view_get_type*(): GType{.cdecl, dynlib: gtkhtmllib, 
-                                   importc: "html_view_get_type".}
-proc html_view_new*(): PGtkWidget{.cdecl, dynlib: gtkhtmllib, 
-                                   importc: "html_view_new".}
-proc html_view_set_document*(view: PHtmlView, document: PHtmlDocument){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_view_set_document".}
-proc html_view_jump_to_anchor*(view: PHtmlView, anchor: Pgchar){.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_view_jump_to_anchor".}
-proc html_view_get_magnification*(view: PHtmlView): gdouble{.cdecl, 
-    dynlib: gtkhtmllib, importc: "html_view_get_magnification".}
-proc html_view_set_magnification*(view: PHtmlView, magnification: gdouble){.
-    cdecl, dynlib: gtkhtmllib, importc: "html_view_set_magnification".}
-proc html_view_zoom_in*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_view_zoom_in".}
-proc html_view_zoom_out*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_view_zoom_out".}
-proc html_view_zoom_reset*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, 
-    importc: "html_view_zoom_reset".}
-proc DOM_TYPE_NODE*(): GType = 
-  result = dom_node_get_type()
-
-proc DOM_NODE*(theobject: pointer): PDomNode = 
-  result = G_TYPE_CHECK_INSTANCE_CAST(theobject, DOM_TYPE_NODE(), TDomNode)
-
-proc DOM_NODE_CLASS*(klass: pointer): PDomNodeClass = 
-  result = G_TYPE_CHECK_CLASS_CAST(klass, DOM_TYPE_NODE(), TDomNodeClass)
-
-proc DOM_IS_NODE*(theobject: pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, DOM_TYPE_NODE())
-
-proc DOM_IS_NODE_CLASS*(klass: pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, DOM_TYPE_NODE())
-
-proc DOM_NODE_GET_CLASS*(obj: pointer): PDomNodeClass = 
-  result = G_TYPE_INSTANCE_GET_CLASS(obj, DOM_TYPE_NODE(), TDomNodeClass)
-
-proc DOM_TYPE_DOCUMENT*(): GType = 
-  result = dom_document_get_type()
-
-proc DOM_DOCUMENT*(theobject: pointer): PDomDocument = 
-  result = G_TYPE_CHECK_INSTANCE_CAST(theobject, DOM_TYPE_DOCUMENT(), TDomDocument)
-
-proc DOM_DOCUMENT_CLASS*(klass: pointer): PDomDocumentClass = 
-  result = G_TYPE_CHECK_CLASS_CAST(klass, DOM_TYPE_DOCUMENT(), TDomDocumentClass)
-
-proc DOM_IS_DOCUMENT*(theobject: pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, DOM_TYPE_DOCUMENT())
-
-proc DOM_IS_DOCUMENT_CLASS*(klass: pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, DOM_TYPE_DOCUMENT())
-
-proc DOM_DOCUMENT_GET_CLASS*(obj: pointer): PDomDocumentClass = 
-  result = G_TYPE_INSTANCE_GET_CLASS(obj, DOM_TYPE_DOCUMENT(), TDomDocumentClass)
-
-proc HTML_TYPE_FOCUS_ITERATOR*(): GType = 
-  result = html_focus_iterator_get_type()
-
-proc HTML_FOCUS_ITERATOR*(theobject: pointer): PHtmlFocusIterator = 
-  result = G_TYPE_CHECK_INSTANCE_CAST(theobject, HTML_TYPE_FOCUS_ITERATOR(), 
-                                      HtmlFocusIterator)
-
-proc HTML_FOCUS_ITERATOR_CLASS*(klass: pointer): PHtmlFocusIteratorClass = 
-  result = G_TYPE_CHECK_CLASS_CAST(klass, HTML_TYPE_FOCUS_ITERATOR(), 
-                                   HtmlFocusIteratorClass)
-
-proc HTML_IS_FOCUS_ITERATOR*(theobject: pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, HTML_TYPE_FOCUS_ITERATOR())
-
-proc HTML_IS_FOCUS_ITERATOR_CLASS*(klass: pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, HTML_TYPE_FOCUS_ITERATOR())
-
-proc HTML_FOCUS_ITERATOR_GET_CLASS*(obj: pointer): PHtmlFocusIteratorClass = 
-  result = G_TYPE_INSTANCE_GET_CLASS(obj, HTML_TYPE_FOCUS_ITERATOR(), 
-                                     HtmlFocusIteratorClass)
-
-proc HTML_PARSER_TYPE*(): GType = 
-  result = html_parser_get_type()
-
-proc HTML_PARSER*(obj: pointer): PHtmlParser = 
-  result = GTK_CHECK_CAST(obj, HTML_PARSER_TYPE(), THtmlParser)
-
-proc HTML_PARSER_CLASS*(klass: pointer): PHtmlParserClass = 
-  result = GTK_CHECK_CLASS_CAST(klass, HTML_PARSER_TYPE(), THtmlParserClass)
-
-proc HTML_IS_PARSER*(obj: pointer): bool = 
-  result = GTK_CHECK_TYPE(obj, HTML_PARSER_TYPE())
-
-proc HTML_TYPE_STREAM*(): GType = 
-  result = html_stream_get_type()
-
-proc HTML_STREAM*(obj: pointer): PHtmlStream = 
-  result = PHtmlStream(G_TYPE_CHECK_INSTANCE_CAST(obj, HTML_TYPE_STREAM()))
-
-proc HTML_STREAM_CLASS*(klass: pointer): PHtmlStreamClass = 
-  result = G_TYPE_CHECK_CLASS_CAST(klass, HTML_TYPE_STREAM())
-
-proc HTML_IS_STREAM*(obj: pointer): bool = 
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, HTML_TYPE_STREAM())
-
-proc HTML_IS_STREAM_CLASS*(klass: pointer): bool = 
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, HTML_TYPE_STREAM())
-
-proc HTML_STREAM_GET_CLASS*(obj: pointer): PHtmlStreamClass = 
-  result = PHtmlStreamClass(G_TYPE_INSTANCE_GET_CLASS(obj, HTML_TYPE_STREAM()))
-
-proc GTK_HTML_CONTEXT_TYPE*(): GType = 
-  result = gtk_html_context_get_type()
-
-proc GTK_HTML_CONTEXT*(obj: pointer): PGtkHtmlContext = 
-  result = GTK_CHECK_CAST(obj, GTK_HTML_CONTEXT_TYPE(), TGtkHtmlContext)
-
-proc GTK_HTML_CONTEXT_CLASS*(klass: pointer): PGtkHtmlContextClass = 
-  result = GTK_CHECK_CLASS_CAST(klass, GTK_HTML_CONTEXT_TYPE(), 
-                                TGtkHtmlContextClass)
-
-proc GTK_HTML_IS_CONTEXT*(obj: pointer): bool = 
-  result = GTK_CHECK_TYPE(obj, GTK_HTML_CONTEXT_TYPE())
-
-proc GTK_HTML_IS_CONTEXT_CLASS*(klass: pointer): bool = 
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_HTML_CONTEXT_TYPE())
-
-proc HTML_TYPE_DOCUMENT*(): GType = 
-  result = html_document_get_type()
-
-proc HTML_DOCUMENT*(obj: pointer): PHtmlDocument = 
-  result = PHtmlDocument(GTK_CHECK_CAST(obj, HTML_TYPE_DOCUMENT()))
-
-proc HTML_DOCUMENT_CLASS*(klass: pointer): PHtmlDocumentClass = 
-  result = GTK_CHECK_CLASS_CAST(klass, HTML_TYPE_DOCUMENT())
-
-proc HTML_IS_DOCUMENT*(obj: pointer): bool = 
-  result = GTK_CHECK_TYPE(obj, HTML_TYPE_DOCUMENT())
-
-proc HTML_TYPE_VIEW*(): GType = 
-  result = html_view_get_type()
-
-proc HTML_VIEW*(obj: pointer): PHtmlView = 
-  result = PHtmlView(GTK_CHECK_CAST(obj, HTML_TYPE_VIEW()))
-
-proc HTML_VIEW_CLASS*(klass: pointer): PHtmlViewClass = 
-  result = PHtmlViewClass(GTK_CHECK_CLASS_CAST(klass, HTML_TYPE_VIEW()))
-
-proc HTML_IS_VIEW*(obj: pointer): bool = 
-  result = GTK_CHECK_TYPE(obj, HTML_TYPE_VIEW())
diff --git a/lib/oldwrappers/gtk/libglade2.nim b/lib/oldwrappers/gtk/libglade2.nim
deleted file mode 100755
index 5e323680e..000000000
--- a/lib/oldwrappers/gtk/libglade2.nim
+++ /dev/null
@@ -1,118 +0,0 @@
-{.deadCodeElim: on.}
-
-import
-  glib2, gtk2
-
-when defined(win32):
-  const
-    LibGladeLib = "libglade-2.0-0.dll"
-else:
-  const
-    LibGladeLib = "libglade-2.0.so"
-type
-  PLongint* = ptr int32
-  PSmallInt* = ptr int16
-  PByte* = ptr int8
-  PWord* = ptr int16
-  PDWord* = ptr int32
-  PDouble* = ptr float64
-
-proc glade_init*(){.cdecl, dynlib: LibGladeLib, importc: "glade_init".}
-proc glade_require*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib,
-    importc: "glade_require".}
-proc glade_provide*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib,
-    importc: "glade_provide".}
-type
-  PGladeXMLPrivate* = pointer
-  PGladeXML* = ptr TGladeXML
-  TGladeXML* = object of TGObject
-    filename*: cstring
-    priv*: PGladeXMLPrivate
-
-  PGladeXMLClass* = ptr TGladeXMLClass
-  TGladeXMLClass* = object of TGObjectClass
-
-  TGladeXMLConnectFunc* = proc (handler_name: cstring, anObject: PGObject,
-                                signal_name: cstring, signal_data: cstring,
-                                connect_object: PGObject, after: gboolean,
-                                user_data: gpointer){.cdecl.}
-
-proc GLADE_TYPE_XML*(): GType
-proc GLADE_XML*(obj: pointer): PGladeXML
-proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass
-proc GLADE_IS_XML*(obj: pointer): gboolean
-proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean
-proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass
-proc glade_xml_get_type*(): GType{.cdecl, dynlib: LibGladeLib,
-                                   importc: "glade_xml_get_type".}
-proc glade_xml_new*(fname: cstring, root: cstring, domain: cstring): PGladeXML{.
-    cdecl, dynlib: LibGladeLib, importc: "glade_xml_new".}
-proc glade_xml_new_from_buffer*(buffer: cstring, size: int32, root: cstring,
-                                domain: cstring): PGladeXML{.cdecl,
-    dynlib: LibGladeLib, importc: "glade_xml_new_from_buffer".}
-proc glade_xml_construct*(self: PGladeXML, fname: cstring, root: cstring,
-                          domain: cstring): gboolean{.cdecl,
-    dynlib: LibGladeLib, importc: "glade_xml_construct".}
-proc glade_xml_signal_connect*(self: PGladeXML, handlername: cstring,
-                               func: TGCallback){.cdecl, dynlib: LibGladeLib,
-    importc: "glade_xml_signal_connect".}
-proc glade_xml_signal_connect_data*(self: PGladeXML, handlername: cstring,
-                                    func: TGCallback, user_data: gpointer){.
-    cdecl, dynlib: LibGladeLib, importc: "glade_xml_signal_connect_data".}
-proc glade_xml_signal_autoconnect*(self: PGladeXML){.cdecl, dynlib: LibGladeLib,
-    importc: "glade_xml_signal_autoconnect".}
-proc glade_xml_signal_connect_full*(self: PGladeXML, handler_name: cstring,
-                                    func: TGladeXMLConnectFunc,
-                                    user_data: gpointer){.cdecl,
-    dynlib: LibGladeLib, importc: "glade_xml_signal_connect_full".}
-proc glade_xml_signal_autoconnect_full*(self: PGladeXML,
-                                        func: TGladeXMLConnectFunc,
-                                        user_data: gpointer){.cdecl,
-    dynlib: LibGladeLib, importc: "glade_xml_signal_autoconnect_full".}
-proc glade_xml_get_widget*(self: PGladeXML, name: cstring): PGtkWidget{.cdecl,
-    dynlib: LibGladeLib, importc: "glade_xml_get_widget".}
-proc glade_xml_get_widget_prefix*(self: PGladeXML, name: cstring): PGList{.
-    cdecl, dynlib: LibGladeLib, importc: "glade_xml_get_widget_prefix".}
-proc glade_xml_relative_file*(self: PGladeXML, filename: cstring): cstring{.cdecl,
-    dynlib: LibGladeLib, importc: "glade_xml_relative_file".}
-proc glade_get_widget_name*(widget: PGtkWidget): cstring{.cdecl,
-    dynlib: LibGladeLib, importc: "glade_get_widget_name".}
-proc glade_get_widget_tree*(widget: PGtkWidget): PGladeXML{.cdecl,
-    dynlib: LibGladeLib, importc: "glade_get_widget_tree".}
-type
-  PGladeXMLCustomWidgetHandler* = ptr TGladeXMLCustomWidgetHandler
-  TGladeXMLCustomWidgetHandler* = TGtkWidget
-
-proc glade_set_custom_handler*(handler: TGladeXMLCustomWidgetHandler,
-                               user_data: gpointer){.cdecl, dynlib: LibGladeLib,
-    importc: "glade_set_custom_handler".}
-proc glade_gnome_init*() =
-  glade_init()
-
-proc glade_bonobo_init*() =
-  glade_init()
-
-proc glade_xml_new_with_domain*(fname: cstring, root: cstring, domain: cstring): PGladeXML =
-  result = glade_xml_new(fname, root, domain)
-
-proc glade_xml_new_from_memory*(buffer: cstring, size: int32, root: cstring,
-                                domain: cstring): PGladeXML =
-  result = glade_xml_new_from_buffer(buffer, size, root, domain)
-
-proc GLADE_TYPE_XML*(): GType =
-  result = glade_xml_get_type()
-
-proc GLADE_XML*(obj: pointer): PGladeXML =
-  result = cast[PGladeXML](G_TYPE_CHECK_INSTANCE_CAST(obj, GLADE_TYPE_XML()))
-
-proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass =
-  result = cast[PGladeXMLClass](G_TYPE_CHECK_CLASS_CAST(klass, GLADE_TYPE_XML()))
-
-proc GLADE_IS_XML*(obj: pointer): gboolean =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GLADE_TYPE_XML())
-
-proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GLADE_TYPE_XML())
-
-proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass =
-  result = cast[PGladeXMLClass](G_TYPE_INSTANCE_GET_CLASS(obj, GLADE_TYPE_XML()))
diff --git a/lib/oldwrappers/gtk/pango.nim b/lib/oldwrappers/gtk/pango.nim
deleted file mode 100755
index ade2da989..000000000
--- a/lib/oldwrappers/gtk/pango.nim
+++ /dev/null
@@ -1,1208 +0,0 @@
-{.deadCodeElim: on.}
-
-import
-  glib2
-
-when defined(win32):
-  const
-    pangolib* = "libpango-1.0-0.dll"
-else:
-  const
-    pangolib* = "libpango-1.0.so.0"
-type
-  PPangoFont* = pointer
-  PPangoFontFamily* = pointer
-  PPangoFontset* = pointer
-  PPangoFontMetrics* = pointer
-  PPangoFontFace* = pointer
-  PPangoFontMap* = pointer
-  PPangoFontsetClass* = pointer
-  PPangoFontFamilyClass* = pointer
-  PPangoFontFaceClass* = pointer
-  PPangoFontClass* = pointer
-  PPangoFontMapClass* = pointer
-  PPangoFontDescription* = ptr TPangoFontDescription
-  TPangoFontDescription* = pointer
-  PPangoAttrList* = ptr TPangoAttrList
-  TPangoAttrList* = pointer
-  PPangoAttrIterator* = ptr TPangoAttrIterator
-  TPangoAttrIterator* = pointer
-  PPangoLayout* = ptr TPangoLayout
-  TPangoLayout* = pointer
-  PPangoLayoutClass* = ptr TPangoLayoutClass
-  TPangoLayoutClass* = pointer
-  PPangoLayoutIter* = ptr TPangoLayoutIter
-  TPangoLayoutIter* = pointer
-  PPangoContext* = ptr TPangoContext
-  TPangoContext* = pointer
-  PPangoContextClass* = ptr TPangoContextClass
-  TPangoContextClass* = pointer
-  PPangoFontsetSimple* = ptr TPangoFontsetSimple
-  TPangoFontsetSimple* = pointer
-  PPangoTabArray* = ptr TPangoTabArray
-  TPangoTabArray* = pointer
-  PPangoGlyphString* = ptr TPangoGlyphString
-  PPangoAnalysis* = ptr TPangoAnalysis
-  PPangoItem* = ptr TPangoItem
-  PPangoLanguage* = ptr TPangoLanguage
-  TPangoLanguage* = pointer
-  PPangoGlyph* = ptr TPangoGlyph
-  TPangoGlyph* = guint32
-  PPangoRectangle* = ptr TPangoRectangle
-  TPangoRectangle* {.final, pure.} = object
-    x*: int32
-    y*: int32
-    width*: int32
-    height*: int32
-
-  PPangoDirection* = ptr TPangoDirection
-  TPangoDirection* = enum
-    PANGO_DIRECTION_LTR, PANGO_DIRECTION_RTL, PANGO_DIRECTION_TTB_LTR,
-    PANGO_DIRECTION_TTB_RTL
-  PPangoColor* = ptr TPangoColor
-  TPangoColor* {.final, pure.} = object
-    red*: guint16
-    green*: guint16
-    blue*: guint16
-
-  PPangoAttrType* = ptr TPangoAttrType
-  TPangoAttrType* = int32
-  PPangoUnderline* = ptr TPangoUnderline
-  TPangoUnderline* = int32
-  PPangoAttribute* = ptr TPangoAttribute
-  PPangoAttrClass* = ptr TPangoAttrClass
-  TPangoAttribute* {.final, pure.} = object
-    klass*: PPangoAttrClass
-    start_index*: int
-    end_index*: int
-
-  TPangoAttrClass* {.final, pure.} = object
-    `type`*: TPangoAttrType
-    copy*: proc (attr: PPangoAttribute): PPangoAttribute{.cdecl.}
-    destroy*: proc (attr: PPangoAttribute){.cdecl.}
-    equal*: proc (attr1: PPangoAttribute, attr2: PPangoAttribute): gboolean{.
-        cdecl.}
-
-  PPangoAttrString* = ptr TPangoAttrString
-  TPangoAttrString* {.final, pure.} = object
-    attr*: TPangoAttribute
-    value*: cstring
-
-  PPangoAttrLanguage* = ptr TPangoAttrLanguage
-  TPangoAttrLanguage* {.final, pure.} = object
-    attr*: TPangoAttribute
-    value*: PPangoLanguage
-
-  PPangoAttrInt* = ptr TPangoAttrInt
-  TPangoAttrInt* {.final, pure.} = object
-    attr*: TPangoAttribute
-    value*: int32
-
-  PPangoAttrFloat* = ptr TPangoAttrFloat
-  TPangoAttrFloat* {.final, pure.} = object
-    attr*: TPangoAttribute
-    value*: gdouble
-
-  PPangoAttrColor* = ptr TPangoAttrColor
-  TPangoAttrColor* {.final, pure.} = object
-    attr*: TPangoAttribute
-    color*: TPangoColor
-
-  PPangoAttrShape* = ptr TPangoAttrShape
-  TPangoAttrShape* {.final, pure.} = object
-    attr*: TPangoAttribute
-    ink_rect*: TPangoRectangle
-    logical_rect*: TPangoRectangle
-
-  PPangoAttrFontDesc* = ptr TPangoAttrFontDesc
-  TPangoAttrFontDesc* {.final, pure.} = object
-    attr*: TPangoAttribute
-    desc*: PPangoFontDescription
-
-  PPangoLogAttr* = ptr TPangoLogAttr
-  TPangoLogAttr* {.final, pure.} = object
-    flag0*: guint16
-
-  PPangoCoverageLevel* = ptr TPangoCoverageLevel
-  TPangoCoverageLevel* = enum
-    PANGO_COVERAGE_NONE, PANGO_COVERAGE_FALLBACK, PANGO_COVERAGE_APPROXIMATE,
-    PANGO_COVERAGE_EXACT
-  PPangoBlockInfo* = ptr TPangoBlockInfo
-  TPangoBlockInfo* {.final, pure.} = object
-    data*: Pguchar
-    level*: TPangoCoverageLevel
-
-  PPangoCoverage* = ptr TPangoCoverage
-  TPangoCoverage* {.final, pure.} = object
-    ref_count*: int
-    n_blocks*: int32
-    data_size*: int32
-    blocks*: PPangoBlockInfo
-
-  PPangoEngineRange* = ptr TPangoEngineRange
-  TPangoEngineRange* {.final, pure.} = object
-    start*: int32
-    theEnd*: int32
-    langs*: cstring
-
-  PPangoEngineInfo* = ptr TPangoEngineInfo
-  TPangoEngineInfo* {.final, pure.} = object
-    id*: cstring
-    engine_type*: cstring
-    render_type*: cstring
-    ranges*: PPangoEngineRange
-    n_ranges*: gint
-
-  PPangoEngine* = ptr TPangoEngine
-  TPangoEngine* {.final, pure.} = object
-    id*: cstring
-    `type`*: cstring
-    length*: gint
-
-  TPangoEngineLangScriptBreak* = proc (text: cstring, len: int32,
-                                       analysis: PPangoAnalysis,
-                                       attrs: PPangoLogAttr, attrs_len: int32){.
-      cdecl.}
-  PPangoEngineLang* = ptr TPangoEngineLang
-  TPangoEngineLang* {.final, pure.} = object
-    engine*: TPangoEngine
-    script_break*: TPangoEngineLangScriptBreak
-
-  TPangoEngineShapeScript* = proc (font: PPangoFont, text: cstring,
-                                   length: int32, analysis: PPangoAnalysis,
-                                   glyphs: PPangoGlyphString){.cdecl.}
-  TPangoEngineShapeGetCoverage* = proc (font: PPangoFont,
-                                        language: PPangoLanguage): PPangoCoverage{.
-      cdecl.}
-  PPangoEngineShape* = ptr TPangoEngineShape
-  TPangoEngineShape* {.final, pure.} = object
-    engine*: TPangoEngine
-    script_shape*: TPangoEngineShapeScript
-    get_coverage*: TPangoEngineShapeGetCoverage
-
-  PPangoStyle* = ptr TPangoStyle
-  TPangoStyle* = gint
-  PPangoVariant* = ptr TPangoVariant
-  TPangoVariant* = gint
-  PPangoWeight* = ptr TPangoWeight
-  TPangoWeight* = gint
-  PPangoStretch* = ptr TPangoStretch
-  TPangoStretch* = gint
-  PPangoFontMask* = ptr TPangoFontMask
-  TPangoFontMask* = int32
-  PPangoGlyphUnit* = ptr TPangoGlyphUnit
-  TPangoGlyphUnit* = gint32
-  PPangoGlyphGeometry* = ptr TPangoGlyphGeometry
-  TPangoGlyphGeometry* {.final, pure.} = object
-    width*: TPangoGlyphUnit
-    x_offset*: TPangoGlyphUnit
-    y_offset*: TPangoGlyphUnit
-
-  PPangoGlyphVisAttr* = ptr TPangoGlyphVisAttr
-  TPangoGlyphVisAttr* {.final, pure.} = object
-    flag0*: int16
-
-  PPangoGlyphInfo* = ptr TPangoGlyphInfo
-  TPangoGlyphInfo* {.final, pure.} = object
-    glyph*: TPangoGlyph
-    geometry*: TPangoGlyphGeometry
-    attr*: TPangoGlyphVisAttr
-
-  TPangoGlyphString* {.final, pure.} = object
-    num_glyphs*: gint
-    glyphs*: PPangoGlyphInfo
-    log_clusters*: Pgint
-    space*: gint
-
-  TPangoAnalysis* {.final, pure.} = object
-    shape_engine*: PPangoEngineShape
-    lang_engine*: PPangoEngineLang
-    font*: PPangoFont
-    level*: guint8
-    language*: PPangoLanguage
-    extra_attrs*: PGSList
-
-  TPangoItem* {.final, pure.} = object
-    offset*: gint
-    length*: gint
-    num_chars*: gint
-    analysis*: TPangoAnalysis
-
-  PPangoAlignment* = ptr TPangoAlignment
-  TPangoAlignment* = enum
-    PANGO_ALIGN_LEFT, PANGO_ALIGN_CENTER, PANGO_ALIGN_RIGHT
-  PPangoWrapMode* = ptr TPangoWrapMode
-  TPangoWrapMode* = enum
-    PANGO_WRAP_WORD, PANGO_WRAP_CHAR
-  PPangoLayoutLine* = ptr TPangoLayoutLine
-  TPangoLayoutLine* {.final, pure.} = object
-    layout*: PPangoLayout
-    start_index*: gint
-    length*: gint
-    runs*: PGSList
-
-  PPangoLayoutRun* = ptr TPangoLayoutRun
-  TPangoLayoutRun* {.final, pure.} = object
-    item*: PPangoItem
-    glyphs*: PPangoGlyphString
-
-  PPangoTabAlign* = ptr TPangoTabAlign
-  TPangoTabAlign* = enum
-    PANGO_TAB_LEFT
-
-const
-  PANGO_SCALE* = 1024
-
-proc PANGO_PIXELS*(d: int): int
-proc PANGO_ASCENT*(rect: TPangoRectangle): int32
-proc PANGO_DESCENT*(rect: TPangoRectangle): int32
-proc PANGO_LBEARING*(rect: TPangoRectangle): int32
-proc PANGO_RBEARING*(rect: TPangoRectangle): int32
-proc PANGO_TYPE_LANGUAGE*(): GType
-proc pango_language_get_type*(): GType{.cdecl, dynlib: pangolib,
-                                        importc: "pango_language_get_type".}
-proc pango_language_from_string*(language: cstring): PPangoLanguage{.cdecl,
-    dynlib: pangolib, importc: "pango_language_from_string".}
-proc pango_language_to_string*(language: PPangoLanguage): cstring
-proc pango_language_matches*(language: PPangoLanguage, range_list: cstring): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_language_matches".}
-const
-  PANGO_ATTR_INVALID* = 0
-  PANGO_ATTR_LANGUAGE* = 1
-  PANGO_ATTR_FAMILY* = 2
-  PANGO_ATTR_STYLE* = 3
-  PANGO_ATTR_WEIGHT* = 4
-  PANGO_ATTR_VARIANT* = 5
-  PANGO_ATTR_STRETCH* = 6
-  PANGO_ATTR_SIZE* = 7
-  PANGO_ATTR_FONT_DESC* = 8
-  PANGO_ATTR_FOREGROUND* = 9
-  PANGO_ATTR_BACKGROUND* = 10
-  PANGO_ATTR_UNDERLINE* = 11
-  PANGO_ATTR_STRIKETHROUGH* = 12
-  PANGO_ATTR_RISE* = 13
-  PANGO_ATTR_SHAPE* = 14
-  PANGO_ATTR_SCALE* = 15
-  PANGO_UNDERLINE_NONE* = 0
-  PANGO_UNDERLINE_SINGLE* = 1
-  PANGO_UNDERLINE_DOUBLE* = 2
-  PANGO_UNDERLINE_LOW* = 3
-
-proc PANGO_TYPE_COLOR*(): GType
-proc pango_color_get_type*(): GType{.cdecl, dynlib: pangolib,
-                                     importc: "pango_color_get_type".}
-proc pango_color_copy*(src: PPangoColor): PPangoColor{.cdecl, dynlib: pangolib,
-    importc: "pango_color_copy".}
-proc pango_color_free*(color: PPangoColor){.cdecl, dynlib: pangolib,
-    importc: "pango_color_free".}
-proc pango_color_parse*(color: PPangoColor, spec: cstring): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_color_parse".}
-proc PANGO_TYPE_ATTR_LIST*(): GType
-proc pango_attr_type_register*(name: cstring): TPangoAttrType{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_type_register".}
-proc pango_attribute_copy*(attr: PPangoAttribute): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attribute_copy".}
-proc pango_attribute_destroy*(attr: PPangoAttribute){.cdecl, dynlib: pangolib,
-    importc: "pango_attribute_destroy".}
-proc pango_attribute_equal*(attr1: PPangoAttribute, attr2: PPangoAttribute): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_attribute_equal".}
-proc pango_attr_language_new*(language: PPangoLanguage): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_language_new".}
-proc pango_attr_family_new*(family: cstring): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_family_new".}
-proc pango_attr_foreground_new*(red: guint16, green: guint16, blue: guint16): PPangoAttribute{.
-    cdecl, dynlib: pangolib, importc: "pango_attr_foreground_new".}
-proc pango_attr_background_new*(red: guint16, green: guint16, blue: guint16): PPangoAttribute{.
-    cdecl, dynlib: pangolib, importc: "pango_attr_background_new".}
-proc pango_attr_size_new*(size: int32): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_size_new".}
-proc pango_attr_style_new*(style: TPangoStyle): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_style_new".}
-proc pango_attr_weight_new*(weight: TPangoWeight): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_weight_new".}
-proc pango_attr_variant_new*(variant: TPangoVariant): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_variant_new".}
-proc pango_attr_stretch_new*(stretch: TPangoStretch): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_stretch_new".}
-proc pango_attr_font_desc_new*(desc: PPangoFontDescription): PPangoAttribute{.
-    cdecl, dynlib: pangolib, importc: "pango_attr_font_desc_new".}
-proc pango_attr_underline_new*(underline: TPangoUnderline): PPangoAttribute{.
-    cdecl, dynlib: pangolib, importc: "pango_attr_underline_new".}
-proc pango_attr_strikethrough_new*(strikethrough: gboolean): PPangoAttribute{.
-    cdecl, dynlib: pangolib, importc: "pango_attr_strikethrough_new".}
-proc pango_attr_rise_new*(rise: int32): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_rise_new".}
-proc pango_attr_shape_new*(ink_rect: PPangoRectangle,
-                           logical_rect: PPangoRectangle): PPangoAttribute{.
-    cdecl, dynlib: pangolib, importc: "pango_attr_shape_new".}
-proc pango_attr_scale_new*(scale_factor: gdouble): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_scale_new".}
-proc pango_attr_list_get_type*(): GType{.cdecl, dynlib: pangolib,
-    importc: "pango_attr_list_get_type".}
-proc pango_attr_list_new*(): PPangoAttrList{.cdecl, dynlib: pangolib,
-    importc: "pango_attr_list_new".}
-proc pango_attr_list_ref*(list: PPangoAttrList){.cdecl, dynlib: pangolib,
-    importc: "pango_attr_list_ref".}
-proc pango_attr_list_unref*(list: PPangoAttrList){.cdecl, dynlib: pangolib,
-    importc: "pango_attr_list_unref".}
-proc pango_attr_list_copy*(list: PPangoAttrList): PPangoAttrList{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_list_copy".}
-proc pango_attr_list_insert*(list: PPangoAttrList, attr: PPangoAttribute){.
-    cdecl, dynlib: pangolib, importc: "pango_attr_list_insert".}
-proc pango_attr_list_insert_before*(list: PPangoAttrList, attr: PPangoAttribute){.
-    cdecl, dynlib: pangolib, importc: "pango_attr_list_insert_before".}
-proc pango_attr_list_change*(list: PPangoAttrList, attr: PPangoAttribute){.
-    cdecl, dynlib: pangolib, importc: "pango_attr_list_change".}
-proc pango_attr_list_splice*(list: PPangoAttrList, other: PPangoAttrList,
-                             pos: gint, len: gint){.cdecl, dynlib: pangolib,
-    importc: "pango_attr_list_splice".}
-proc pango_attr_list_get_iterator*(list: PPangoAttrList): PPangoAttrIterator{.
-    cdecl, dynlib: pangolib, importc: "pango_attr_list_get_iterator".}
-proc pango_attr_iterator_range*(`iterator`: PPangoAttrIterator, start: Pgint,
-                                theEnd: Pgint){.cdecl, dynlib: pangolib,
-    importc: "pango_attr_iterator_range".}
-proc pango_attr_iterator_next*(`iterator`: PPangoAttrIterator): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_iterator_next".}
-proc pango_attr_iterator_copy*(`iterator`: PPangoAttrIterator): PPangoAttrIterator{.
-    cdecl, dynlib: pangolib, importc: "pango_attr_iterator_copy".}
-proc pango_attr_iterator_destroy*(`iterator`: PPangoAttrIterator){.cdecl,
-    dynlib: pangolib, importc: "pango_attr_iterator_destroy".}
-proc pango_attr_iterator_get*(`iterator`: PPangoAttrIterator,
-                              `type`: TPangoAttrType): PPangoAttribute{.cdecl,
-    dynlib: pangolib, importc: "pango_attr_iterator_get".}
-proc pango_attr_iterator_get_font*(`iterator`: PPangoAttrIterator,
-                                   desc: PPangoFontDescription,
-                                   language: var PPangoLanguage,
-                                   extra_attrs: PPGSList){.cdecl,
-    dynlib: pangolib, importc: "pango_attr_iterator_get_font".}
-proc pango_parse_markup*(markup_text: cstring, length: int32,
-                         accel_marker: gunichar, attr_list: var PPangoAttrList,
-                         text: PPchar, accel_char: Pgunichar, error: pointer): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_parse_markup".}
-const
-  bm_TPangoLogAttr_is_line_break* = 0x00000001'i16
-  bp_TPangoLogAttr_is_line_break* = 0'i16
-  bm_TPangoLogAttr_is_mandatory_break* = 0x00000002'i16
-  bp_TPangoLogAttr_is_mandatory_break* = 1'i16
-  bm_TPangoLogAttr_is_char_break* = 0x00000004'i16
-  bp_TPangoLogAttr_is_char_break* = 2'i16
-  bm_TPangoLogAttr_is_white* = 0x00000008'i16
-  bp_TPangoLogAttr_is_white* = 3'i16
-  bm_TPangoLogAttr_is_cursor_position* = 0x00000010'i16
-  bp_TPangoLogAttr_is_cursor_position* = 4'i16
-  bm_TPangoLogAttr_is_word_start* = 0x00000020'i16
-  bp_TPangoLogAttr_is_word_start* = 5'i16
-  bm_TPangoLogAttr_is_word_end* = 0x00000040'i16
-  bp_TPangoLogAttr_is_word_end* = 6'i16
-  bm_TPangoLogAttr_is_sentence_boundary* = 0x00000080'i16
-  bp_TPangoLogAttr_is_sentence_boundary* = 7'i16
-  bm_TPangoLogAttr_is_sentence_start* = 0x00000100'i16
-  bp_TPangoLogAttr_is_sentence_start* = 8'i16
-  bm_TPangoLogAttr_is_sentence_end* = 0x00000200'i16
-  bp_TPangoLogAttr_is_sentence_end* = 9'i16
-
-proc is_line_break*(a: var TPangoLogAttr): guint
-proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint)
-proc is_mandatory_break*(a: var TPangoLogAttr): guint
-proc set_is_mandatory_break*(a: var TPangoLogAttr, `is_mandatory_break`: guint)
-proc is_char_break*(a: var TPangoLogAttr): guint
-proc set_is_char_break*(a: var TPangoLogAttr, `is_char_break`: guint)
-proc is_white*(a: var TPangoLogAttr): guint
-proc set_is_white*(a: var TPangoLogAttr, `is_white`: guint)
-proc is_cursor_position*(a: var TPangoLogAttr): guint
-proc set_is_cursor_position*(a: var TPangoLogAttr, `is_cursor_position`: guint)
-proc is_word_start*(a: var TPangoLogAttr): guint
-proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint)
-proc is_word_end*(a: var TPangoLogAttr): guint
-proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint)
-proc is_sentence_boundary*(a: var TPangoLogAttr): guint
-proc set_is_sentence_boundary*(a: var TPangoLogAttr,
-                               `is_sentence_boundary`: guint)
-proc is_sentence_start*(a: var TPangoLogAttr): guint
-proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint)
-proc is_sentence_end*(a: var TPangoLogAttr): guint
-proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint)
-proc pango_break*(text: cstring, length: int32, analysis: PPangoAnalysis,
-                  attrs: PPangoLogAttr, attrs_len: int32){.cdecl,
-    dynlib: pangolib, importc: "pango_break".}
-proc pango_find_paragraph_boundary*(text: cstring, length: gint,
-                                    paragraph_delimiter_index: Pgint,
-                                    next_paragraph_start: Pgint){.cdecl,
-    dynlib: pangolib, importc: "pango_find_paragraph_boundary".}
-proc pango_get_log_attrs*(text: cstring, length: int32, level: int32,
-                          language: PPangoLanguage, log_attrs: PPangoLogAttr,
-                          attrs_len: int32){.cdecl, dynlib: pangolib,
-    importc: "pango_get_log_attrs".}
-proc PANGO_TYPE_CONTEXT*(): GType
-proc PANGO_CONTEXT*(anObject: pointer): PPangoContext
-proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass
-proc PANGO_IS_CONTEXT*(anObject: pointer): bool
-proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool
-proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass
-proc pango_context_get_type*(): GType{.cdecl, dynlib: pangolib,
-                                       importc: "pango_context_get_type".}
-proc pango_context_list_families*(context: PPangoContext,
-                                  families: openarray[ptr PPangoFontFamily]){.cdecl,
-    dynlib: pangolib, importc: "pango_context_list_families".}
-proc pango_context_load_font*(context: PPangoContext,
-                              desc: PPangoFontDescription): PPangoFont{.cdecl,
-    dynlib: pangolib, importc: "pango_context_load_font".}
-proc pango_context_load_fontset*(context: PPangoContext,
-                                 desc: PPangoFontDescription,
-                                 language: PPangoLanguage): PPangoFontset{.
-    cdecl, dynlib: pangolib, importc: "pango_context_load_fontset".}
-proc pango_context_get_metrics*(context: PPangoContext,
-                                desc: PPangoFontDescription,
-                                language: PPangoLanguage): PPangoFontMetrics{.
-    cdecl, dynlib: pangolib, importc: "pango_context_get_metrics".}
-proc pango_context_set_font_description*(context: PPangoContext,
-    desc: PPangoFontDescription){.cdecl, dynlib: pangolib,
-                                  importc: "pango_context_set_font_description".}
-proc pango_context_get_font_description*(context: PPangoContext): PPangoFontDescription{.
-    cdecl, dynlib: pangolib, importc: "pango_context_get_font_description".}
-proc pango_context_get_language*(context: PPangoContext): PPangoLanguage{.cdecl,
-    dynlib: pangolib, importc: "pango_context_get_language".}
-proc pango_context_set_language*(context: PPangoContext,
-                                 language: PPangoLanguage){.cdecl,
-    dynlib: pangolib, importc: "pango_context_set_language".}
-proc pango_context_set_base_dir*(context: PPangoContext,
-                                 direction: TPangoDirection){.cdecl,
-    dynlib: pangolib, importc: "pango_context_set_base_dir".}
-proc pango_context_get_base_dir*(context: PPangoContext): TPangoDirection{.
-    cdecl, dynlib: pangolib, importc: "pango_context_get_base_dir".}
-proc pango_itemize*(context: PPangoContext, text: cstring, start_index: int32,
-                    length: int32, attrs: PPangoAttrList,
-                    cached_iter: PPangoAttrIterator): PGList{.cdecl,
-    dynlib: pangolib, importc: "pango_itemize".}
-proc pango_coverage_new*(): PPangoCoverage{.cdecl, dynlib: pangolib,
-    importc: "pango_coverage_new".}
-proc pango_coverage_ref*(coverage: PPangoCoverage): PPangoCoverage{.cdecl,
-    dynlib: pangolib, importc: "pango_coverage_ref".}
-proc pango_coverage_unref*(coverage: PPangoCoverage){.cdecl, dynlib: pangolib,
-    importc: "pango_coverage_unref".}
-proc pango_coverage_copy*(coverage: PPangoCoverage): PPangoCoverage{.cdecl,
-    dynlib: pangolib, importc: "pango_coverage_copy".}
-proc pango_coverage_get*(coverage: PPangoCoverage, index: int32): TPangoCoverageLevel{.
-    cdecl, dynlib: pangolib, importc: "pango_coverage_get".}
-proc pango_coverage_set*(coverage: PPangoCoverage, index: int32,
-                         level: TPangoCoverageLevel){.cdecl, dynlib: pangolib,
-    importc: "pango_coverage_set".}
-proc pango_coverage_max*(coverage: PPangoCoverage, other: PPangoCoverage){.
-    cdecl, dynlib: pangolib, importc: "pango_coverage_max".}
-proc pango_coverage_to_bytes*(coverage: PPangoCoverage, bytes: PPguchar,
-                              n_bytes: var int32){.cdecl, dynlib: pangolib,
-    importc: "pango_coverage_to_bytes".}
-proc pango_coverage_from_bytes*(bytes: Pguchar, n_bytes: int32): PPangoCoverage{.
-    cdecl, dynlib: pangolib, importc: "pango_coverage_from_bytes".}
-proc PANGO_TYPE_FONTSET*(): GType
-proc PANGO_FONTSET*(anObject: pointer): PPangoFontset
-proc PANGO_IS_FONTSET*(anObject: pointer): bool
-proc pango_fontset_get_type*(): GType{.cdecl, dynlib: pangolib,
-                                       importc: "pango_fontset_get_type".}
-proc pango_fontset_get_font*(fontset: PPangoFontset, wc: guint): PPangoFont{.
-    cdecl, dynlib: pangolib, importc: "pango_fontset_get_font".}
-proc pango_fontset_get_metrics*(fontset: PPangoFontset): PPangoFontMetrics{.
-    cdecl, dynlib: pangolib, importc: "pango_fontset_get_metrics".}
-const
-  PANGO_STYLE_NORMAL* = 0
-  PANGO_STYLE_OBLIQUE* = 1
-  PANGO_STYLE_ITALIC* = 2
-  PANGO_VARIANT_NORMAL* = 0
-  PANGO_VARIANT_SMALL_CAPS* = 1
-  PANGO_WEIGHT_ULTRALIGHT* = 200
-  PANGO_WEIGHT_LIGHT* = 300
-  PANGO_WEIGHT_NORMAL* = 400
-  PANGO_WEIGHT_BOLD* = 700
-  PANGO_WEIGHT_ULTRABOLD* = 800
-  PANGO_WEIGHT_HEAVY* = 900
-  PANGO_STRETCH_ULTRA_CONDENSED* = 0
-  PANGO_STRETCH_EXTRA_CONDENSED* = 1
-  PANGO_STRETCH_CONDENSED* = 2
-  PANGO_STRETCH_SEMI_CONDENSED* = 3
-  PANGO_STRETCH_NORMAL* = 4
-  PANGO_STRETCH_SEMI_EXPANDED* = 5
-  PANGO_STRETCH_EXPANDED* = 6
-  PANGO_STRETCH_EXTRA_EXPANDED* = 7
-  PANGO_STRETCH_ULTRA_EXPANDED* = 8
-  PANGO_FONT_MASK_FAMILY* = 1 shl 0
-  PANGO_FONT_MASK_STYLE* = 1 shl 1
-  PANGO_FONT_MASK_VARIANT* = 1 shl 2
-  PANGO_FONT_MASK_WEIGHT* = 1 shl 3
-  PANGO_FONT_MASK_STRETCH* = 1 shl 4
-  PANGO_FONT_MASK_SIZE* = 1 shl 5
-  PANGO_SCALE_XX_SMALL* = 0.5787037037036999
-  PANGO_SCALE_X_SMALL* = 0.6444444444443999
-  PANGO_SCALE_SMALL* = 0.8333333333332999
-  PANGO_SCALE_MEDIUM* = 1.0
-  PANGO_SCALE_LARGE* = 1.2
-  PANGO_SCALE_X_LARGE* = 1.4399999999999
-  PANGO_SCALE_XX_LARGE* = 1.728
-
-proc PANGO_TYPE_FONT_DESCRIPTION*(): GType
-proc pango_font_description_get_type*(): GType{.cdecl, dynlib: pangolib,
-    importc: "pango_font_description_get_type".}
-proc pango_font_description_new*(): PPangoFontDescription{.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_new".}
-proc pango_font_description_copy*(desc: PPangoFontDescription): PPangoFontDescription{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_copy".}
-proc pango_font_description_copy_static*(desc: PPangoFontDescription): PPangoFontDescription{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_copy_static".}
-proc pango_font_description_hash*(desc: PPangoFontDescription): guint{.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_hash".}
-proc pango_font_description_equal*(desc1: PPangoFontDescription,
-                                   desc2: PPangoFontDescription): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_equal".}
-proc pango_font_description_free*(desc: PPangoFontDescription){.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_free".}
-proc pango_font_descriptions_free*(descs: var PPangoFontDescription,
-                                   n_descs: int32){.cdecl, dynlib: pangolib,
-    importc: "pango_font_descriptions_free".}
-proc pango_font_description_set_family*(desc: PPangoFontDescription,
-                                        family: cstring){.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_set_family".}
-proc pango_font_description_set_family_static*(desc: PPangoFontDescription,
-    family: cstring){.cdecl, dynlib: pangolib,
-                      importc: "pango_font_description_set_family_static".}
-proc pango_font_description_get_family*(desc: PPangoFontDescription): cstring{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_get_family".}
-proc pango_font_description_set_style*(desc: PPangoFontDescription,
-                                       style: TPangoStyle){.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_set_style".}
-proc pango_font_description_get_style*(desc: PPangoFontDescription): TPangoStyle{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_get_style".}
-proc pango_font_description_set_variant*(desc: PPangoFontDescription,
-    variant: TPangoVariant){.cdecl, dynlib: pangolib,
-                             importc: "pango_font_description_set_variant".}
-proc pango_font_description_get_variant*(desc: PPangoFontDescription): TPangoVariant{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_get_variant".}
-proc pango_font_description_set_weight*(desc: PPangoFontDescription,
-                                        weight: TPangoWeight){.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_set_weight".}
-proc pango_font_description_get_weight*(desc: PPangoFontDescription): TPangoWeight{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_get_weight".}
-proc pango_font_description_set_stretch*(desc: PPangoFontDescription,
-    stretch: TPangoStretch){.cdecl, dynlib: pangolib,
-                             importc: "pango_font_description_set_stretch".}
-proc pango_font_description_get_stretch*(desc: PPangoFontDescription): TPangoStretch{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_get_stretch".}
-proc pango_font_description_set_size*(desc: PPangoFontDescription, size: gint){.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_set_size".}
-proc pango_font_description_get_size*(desc: PPangoFontDescription): gint{.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_get_size".}
-proc pango_font_description_set_absolute_size*(desc: PPangoFontDescription,
-    size: float64){.cdecl, dynlib: pangolib,
-                    importc: "pango_font_description_set_absolute_size".}
-proc pango_font_description_get_size_is_absolute*(desc: PPangoFontDescription,
-    size: float64): gboolean{.cdecl, dynlib: pangolib, importc: "pango_font_description_get_size_is_absolute".}
-proc pango_font_description_get_set_fields*(desc: PPangoFontDescription): TPangoFontMask{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_get_set_fields".}
-proc pango_font_description_unset_fields*(desc: PPangoFontDescription,
-    to_unset: TPangoFontMask){.cdecl, dynlib: pangolib,
-                               importc: "pango_font_description_unset_fields".}
-proc pango_font_description_merge*(desc: PPangoFontDescription,
-                                   desc_to_merge: PPangoFontDescription,
-                                   replace_existing: gboolean){.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_merge".}
-proc pango_font_description_merge_static*(desc: PPangoFontDescription,
-    desc_to_merge: PPangoFontDescription, replace_existing: gboolean){.cdecl,
-    dynlib: pangolib, importc: "pango_font_description_merge_static".}
-proc pango_font_description_better_match*(desc: PPangoFontDescription,
-    old_match: PPangoFontDescription, new_match: PPangoFontDescription): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_better_match".}
-proc pango_font_description_from_string*(str: cstring): PPangoFontDescription{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_from_string".}
-proc pango_font_description_to_string*(desc: PPangoFontDescription): cstring{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_to_string".}
-proc pango_font_description_to_filename*(desc: PPangoFontDescription): cstring{.
-    cdecl, dynlib: pangolib, importc: "pango_font_description_to_filename".}
-proc PANGO_TYPE_FONT_METRICS*(): GType
-proc pango_font_metrics_get_type*(): GType{.cdecl, dynlib: pangolib,
-    importc: "pango_font_metrics_get_type".}
-proc pango_font_metrics_ref*(metrics: PPangoFontMetrics): PPangoFontMetrics{.
-    cdecl, dynlib: pangolib, importc: "pango_font_metrics_ref".}
-proc pango_font_metrics_unref*(metrics: PPangoFontMetrics){.cdecl,
-    dynlib: pangolib, importc: "pango_font_metrics_unref".}
-proc pango_font_metrics_get_ascent*(metrics: PPangoFontMetrics): int32{.cdecl,
-    dynlib: pangolib, importc: "pango_font_metrics_get_ascent".}
-proc pango_font_metrics_get_descent*(metrics: PPangoFontMetrics): int32{.cdecl,
-    dynlib: pangolib, importc: "pango_font_metrics_get_descent".}
-proc pango_font_metrics_get_approximate_char_width*(metrics: PPangoFontMetrics): int32{.
-    cdecl, dynlib: pangolib,
-    importc: "pango_font_metrics_get_approximate_char_width".}
-proc pango_font_metrics_get_approximate_digit_width*(metrics: PPangoFontMetrics): int32{.
-    cdecl, dynlib: pangolib,
-    importc: "pango_font_metrics_get_approximate_digit_width".}
-proc PANGO_TYPE_FONT_FAMILY*(): GType
-proc PANGO_FONT_FAMILY*(anObject: Pointer): PPangoFontFamily
-proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool
-proc pango_font_family_get_type*(): GType{.cdecl, dynlib: pangolib,
-    importc: "pango_font_family_get_type".}
-proc pango_font_family_list_faces*(family: PPangoFontFamily,
-                                   faces: var openarray[ptr PPangoFontFace]){.
-    cdecl, dynlib: pangolib, importc: "pango_font_family_list_faces".}
-proc pango_font_family_get_name*(family: PPangoFontFamily): cstring{.cdecl,
-    dynlib: pangolib, importc: "pango_font_family_get_name".}
-proc PANGO_TYPE_FONT_FACE*(): GType
-proc PANGO_FONT_FACE*(anObject: pointer): PPangoFontFace
-proc PANGO_IS_FONT_FACE*(anObject: pointer): bool
-proc pango_font_face_get_type*(): GType{.cdecl, dynlib: pangolib,
-    importc: "pango_font_face_get_type".}
-proc pango_font_face_describe*(face: PPangoFontFace): PPangoFontDescription{.
-    cdecl, dynlib: pangolib, importc: "pango_font_face_describe".}
-proc pango_font_face_get_face_name*(face: PPangoFontFace): cstring{.cdecl,
-    dynlib: pangolib, importc: "pango_font_face_get_face_name".}
-proc PANGO_TYPE_FONT*(): GType
-proc PANGO_FONT*(anObject: pointer): PPangoFont
-proc PANGO_IS_FONT*(anObject: pointer): bool
-proc pango_font_get_type*(): GType{.cdecl, dynlib: pangolib,
-                                    importc: "pango_font_get_type".}
-proc pango_font_describe*(font: PPangoFont): PPangoFontDescription{.cdecl,
-    dynlib: pangolib, importc: "pango_font_describe".}
-proc pango_font_get_coverage*(font: PPangoFont, language: PPangoLanguage): PPangoCoverage{.
-    cdecl, dynlib: pangolib, importc: "pango_font_get_coverage".}
-proc pango_font_find_shaper*(font: PPangoFont, language: PPangoLanguage,
-                             ch: guint32): PPangoEngineShape{.cdecl,
-    dynlib: pangolib, importc: "pango_font_find_shaper".}
-proc pango_font_get_metrics*(font: PPangoFont, language: PPangoLanguage): PPangoFontMetrics{.
-    cdecl, dynlib: pangolib, importc: "pango_font_get_metrics".}
-proc pango_font_get_glyph_extents*(font: PPangoFont, glyph: TPangoGlyph,
-                                   ink_rect: PPangoRectangle,
-                                   logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_font_get_glyph_extents".}
-proc PANGO_TYPE_FONT_MAP*(): GType
-proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontMap
-proc PANGO_IS_FONT_MAP*(anObject: pointer): bool
-proc pango_font_map_get_type*(): GType{.cdecl, dynlib: pangolib,
-                                        importc: "pango_font_map_get_type".}
-proc pango_font_map_load_font*(fontmap: PPangoFontMap, context: PPangoContext,
-                               desc: PPangoFontDescription): PPangoFont{.cdecl,
-    dynlib: pangolib, importc: "pango_font_map_load_font".}
-proc pango_font_map_load_fontset*(fontmap: PPangoFontMap,
-                                  context: PPangoContext,
-                                  desc: PPangoFontDescription,
-                                  language: PPangoLanguage): PPangoFontset{.
-    cdecl, dynlib: pangolib, importc: "pango_font_map_load_fontset".}
-proc pango_font_map_list_families*(fontmap: PPangoFontMap,
-                                   families: var openarray[ptr PPangoFontFamily]){.cdecl,
-    dynlib: pangolib, importc: "pango_font_map_list_families".}
-const
-  bm_TPangoGlyphVisAttr_is_cluster_start* = 0x00000001'i16
-  bp_TPangoGlyphVisAttr_is_cluster_start* = 0'i16
-
-proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint
-proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint)
-proc PANGO_TYPE_GLYPH_STRING*(): GType
-proc pango_glyph_string_new*(): PPangoGlyphString{.cdecl, dynlib: pangolib,
-    importc: "pango_glyph_string_new".}
-proc pango_glyph_string_set_size*(`string`: PPangoGlyphString, new_len: gint){.
-    cdecl, dynlib: pangolib, importc: "pango_glyph_string_set_size".}
-proc pango_glyph_string_get_type*(): GType{.cdecl, dynlib: pangolib,
-    importc: "pango_glyph_string_get_type".}
-proc pango_glyph_string_copy*(`string`: PPangoGlyphString): PPangoGlyphString{.
-    cdecl, dynlib: pangolib, importc: "pango_glyph_string_copy".}
-proc pango_glyph_string_free*(`string`: PPangoGlyphString){.cdecl,
-    dynlib: pangolib, importc: "pango_glyph_string_free".}
-proc pango_glyph_string_extents*(glyphs: PPangoGlyphString, font: PPangoFont,
-                                 ink_rect: PPangoRectangle,
-                                 logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_glyph_string_extents".}
-proc pango_glyph_string_extents_range*(glyphs: PPangoGlyphString, start: int32,
-                                       theEnd: int32, font: PPangoFont,
-                                       ink_rect: PPangoRectangle,
-                                       logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_glyph_string_extents_range".}
-proc pango_glyph_string_get_logical_widths*(glyphs: PPangoGlyphString,
-    text: cstring, length: int32, embedding_level: int32,
-    logical_widths: var int32){.cdecl, dynlib: pangolib,
-                               importc: "pango_glyph_string_get_logical_widths".}
-proc pango_glyph_string_index_to_x*(glyphs: PPangoGlyphString, text: cstring,
-                                    length: int32, analysis: PPangoAnalysis,
-                                    index: int32, trailing: gboolean,
-                                    x_pos: var int32){.cdecl, dynlib: pangolib,
-    importc: "pango_glyph_string_index_to_x".}
-proc pango_glyph_string_x_to_index*(glyphs: PPangoGlyphString, text: cstring,
-                                    length: int32, analysis: PPangoAnalysis,
-                                    x_pos: int32, index,
-                                    trailing: var int32){.cdecl,
-    dynlib: pangolib, importc: "pango_glyph_string_x_to_index".}
-proc pango_shape*(text: cstring, length: gint, analysis: PPangoAnalysis,
-                  glyphs: PPangoGlyphString){.cdecl, dynlib: pangolib,
-    importc: "pango_shape".}
-proc pango_reorder_items*(logical_items: PGList): PGList{.cdecl,
-    dynlib: pangolib, importc: "pango_reorder_items".}
-proc pango_item_new*(): PPangoItem{.cdecl, dynlib: pangolib,
-                                    importc: "pango_item_new".}
-proc pango_item_copy*(item: PPangoItem): PPangoItem{.cdecl, dynlib: pangolib,
-    importc: "pango_item_copy".}
-proc pango_item_free*(item: PPangoItem){.cdecl, dynlib: pangolib,
-    importc: "pango_item_free".}
-proc pango_item_split*(orig: PPangoItem, split_index: int32, split_offset: int32): PPangoItem{.
-    cdecl, dynlib: pangolib, importc: "pango_item_split".}
-proc PANGO_TYPE_LAYOUT*(): GType
-proc PANGO_LAYOUT*(anObject: pointer): PPangoLayout
-proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass
-proc PANGO_IS_LAYOUT*(anObject: pointer): bool
-proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool
-proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass
-proc pango_layout_get_type*(): GType{.cdecl, dynlib: pangolib,
-                                      importc: "pango_layout_get_type".}
-proc pango_layout_new*(context: PPangoContext): PPangoLayout{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_new".}
-proc pango_layout_copy*(src: PPangoLayout): PPangoLayout{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_copy".}
-proc pango_layout_get_context*(layout: PPangoLayout): PPangoContext{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_context".}
-proc pango_layout_set_attributes*(layout: PPangoLayout, attrs: PPangoAttrList){.
-    cdecl, dynlib: pangolib, importc: "pango_layout_set_attributes".}
-proc pango_layout_get_attributes*(layout: PPangoLayout): PPangoAttrList{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_attributes".}
-proc pango_layout_set_text*(layout: PPangoLayout, text: cstring, length: int32){.
-    cdecl, dynlib: pangolib, importc: "pango_layout_set_text".}
-proc pango_layout_get_text*(layout: PPangoLayout): cstring{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_text".}
-proc pango_layout_set_markup*(layout: PPangoLayout, markup: cstring,
-                              length: int32){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_set_markup".}
-proc pango_layout_set_markup_with_accel*(layout: PPangoLayout, markup: cstring,
-    length: int32, accel_marker: gunichar, accel_char: Pgunichar){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_markup_with_accel".}
-proc pango_layout_set_font_description*(layout: PPangoLayout,
-                                        desc: PPangoFontDescription){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_font_description".}
-proc pango_layout_set_width*(layout: PPangoLayout, width: int32){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_width".}
-proc pango_layout_get_width*(layout: PPangoLayout): int32{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_width".}
-proc pango_layout_set_wrap*(layout: PPangoLayout, wrap: TPangoWrapMode){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_wrap".}
-proc pango_layout_get_wrap*(layout: PPangoLayout): TPangoWrapMode{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_wrap".}
-proc pango_layout_set_indent*(layout: PPangoLayout, indent: int32){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_indent".}
-proc pango_layout_get_indent*(layout: PPangoLayout): int32{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_indent".}
-proc pango_layout_set_spacing*(layout: PPangoLayout, spacing: int32){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_spacing".}
-proc pango_layout_get_spacing*(layout: PPangoLayout): int32{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_spacing".}
-proc pango_layout_set_justify*(layout: PPangoLayout, justify: gboolean){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_justify".}
-proc pango_layout_get_justify*(layout: PPangoLayout): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_justify".}
-proc pango_layout_set_alignment*(layout: PPangoLayout,
-                                 alignment: TPangoAlignment){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_alignment".}
-proc pango_layout_get_alignment*(layout: PPangoLayout): TPangoAlignment{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_alignment".}
-proc pango_layout_set_tabs*(layout: PPangoLayout, tabs: PPangoTabArray){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_set_tabs".}
-proc pango_layout_get_tabs*(layout: PPangoLayout): PPangoTabArray{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_tabs".}
-proc pango_layout_set_single_paragraph_mode*(layout: PPangoLayout,
-    setting: gboolean){.cdecl, dynlib: pangolib,
-                        importc: "pango_layout_set_single_paragraph_mode".}
-proc pango_layout_get_single_paragraph_mode*(layout: PPangoLayout): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_layout_get_single_paragraph_mode".}
-proc pango_layout_context_changed*(layout: PPangoLayout){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_context_changed".}
-proc pango_layout_get_log_attrs*(layout: PPangoLayout, attrs: var PPangoLogAttr,
-                                 n_attrs: Pgint){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_get_log_attrs".}
-proc pango_layout_index_to_pos*(layout: PPangoLayout, index: int32,
-                                pos: PPangoRectangle){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_index_to_pos".}
-proc pango_layout_get_cursor_pos*(layout: PPangoLayout, index: int32,
-                                  strong_pos: PPangoRectangle,
-                                  weak_pos: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_cursor_pos".}
-proc pango_layout_move_cursor_visually*(layout: PPangoLayout, strong: gboolean,
-                                        old_index: int32, old_trailing: int32,
-                                        direction: int32, new_index,
-                                        new_trailing: var int32){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_move_cursor_visually".}
-proc pango_layout_xy_to_index*(layout: PPangoLayout, x: int32, y: int32,
-                               index, trailing: var int32): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_layout_xy_to_index".}
-proc pango_layout_get_extents*(layout: PPangoLayout, ink_rect: PPangoRectangle,
-                               logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_extents".}
-proc pango_layout_get_pixel_extents*(layout: PPangoLayout,
-                                     ink_rect: PPangoRectangle,
-                                     logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_pixel_extents".}
-proc pango_layout_get_size*(layout: PPangoLayout, width: var int32,
-                            height: var int32){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_get_size".}
-proc pango_layout_get_pixel_size*(layout: PPangoLayout, width: var int32,
-                                  height: var int32){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_get_pixel_size".}
-proc pango_layout_get_line_count*(layout: PPangoLayout): int32{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_line_count".}
-proc pango_layout_get_line*(layout: PPangoLayout, line: int32): PPangoLayoutLine{.
-    cdecl, dynlib: pangolib, importc: "pango_layout_get_line".}
-proc pango_layout_get_lines*(layout: PPangoLayout): PGSList{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_lines".}
-proc pango_layout_line_ref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_line_ref".}
-proc pango_layout_line_unref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_line_unref".}
-proc pango_layout_line_x_to_index*(line: PPangoLayoutLine, x_pos: int32,
-                                   index: var int32, trailing: var int32): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_layout_line_x_to_index".}
-proc pango_layout_line_index_to_x*(line: PPangoLayoutLine, index: int32,
-                                   trailing: gboolean, x_pos: var int32){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_line_index_to_x".}
-proc pango_layout_line_get_extents*(line: PPangoLayoutLine,
-                                    ink_rect: PPangoRectangle,
-                                    logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_line_get_extents".}
-proc pango_layout_line_get_pixel_extents*(layout_line: PPangoLayoutLine,
-    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_line_get_pixel_extents".}
-proc pango_layout_get_iter*(layout: PPangoLayout): PPangoLayoutIter{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_get_iter".}
-proc pango_layout_iter_free*(iter: PPangoLayoutIter){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_iter_free".}
-proc pango_layout_iter_get_index*(iter: PPangoLayoutIter): int32{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_get_index".}
-proc pango_layout_iter_get_run*(iter: PPangoLayoutIter): PPangoLayoutRun{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_get_run".}
-proc pango_layout_iter_get_line*(iter: PPangoLayoutIter): PPangoLayoutLine{.
-    cdecl, dynlib: pangolib, importc: "pango_layout_iter_get_line".}
-proc pango_layout_iter_at_last_line*(iter: PPangoLayoutIter): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_at_last_line".}
-proc pango_layout_iter_next_char*(iter: PPangoLayoutIter): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_next_char".}
-proc pango_layout_iter_next_cluster*(iter: PPangoLayoutIter): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_next_cluster".}
-proc pango_layout_iter_next_run*(iter: PPangoLayoutIter): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_next_run".}
-proc pango_layout_iter_next_line*(iter: PPangoLayoutIter): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_next_line".}
-proc pango_layout_iter_get_char_extents*(iter: PPangoLayoutIter,
-    logical_rect: PPangoRectangle){.cdecl, dynlib: pangolib, importc: "pango_layout_iter_get_char_extents".}
-proc pango_layout_iter_get_cluster_extents*(iter: PPangoLayoutIter,
-    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_get_cluster_extents".}
-proc pango_layout_iter_get_run_extents*(iter: PPangoLayoutIter,
-                                        ink_rect: PPangoRectangle,
-                                        logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_get_run_extents".}
-proc pango_layout_iter_get_line_extents*(iter: PPangoLayoutIter,
-    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_get_line_extents".}
-proc pango_layout_iter_get_line_yrange*(iter: PPangoLayoutIter, y0: var int32,
-                                        y1: var int32){.cdecl, dynlib: pangolib,
-    importc: "pango_layout_iter_get_line_yrange".}
-proc pango_layout_iter_get_layout_extents*(iter: PPangoLayoutIter,
-    ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_get_layout_extents".}
-proc pango_layout_iter_get_baseline*(iter: PPangoLayoutIter): int32{.cdecl,
-    dynlib: pangolib, importc: "pango_layout_iter_get_baseline".}
-proc PANGO_TYPE_TAB_ARRAY*(): GType
-proc pango_tab_array_new*(initial_size: gint, positions_in_pixels: gboolean): PPangoTabArray{.
-    cdecl, dynlib: pangolib, importc: "pango_tab_array_new".}
-proc pango_tab_array_get_type*(): GType{.cdecl, dynlib: pangolib,
-    importc: "pango_tab_array_get_type".}
-proc pango_tab_array_copy*(src: PPangoTabArray): PPangoTabArray{.cdecl,
-    dynlib: pangolib, importc: "pango_tab_array_copy".}
-proc pango_tab_array_free*(tab_array: PPangoTabArray){.cdecl, dynlib: pangolib,
-    importc: "pango_tab_array_free".}
-proc pango_tab_array_get_size*(tab_array: PPangoTabArray): gint{.cdecl,
-    dynlib: pangolib, importc: "pango_tab_array_get_size".}
-proc pango_tab_array_resize*(tab_array: PPangoTabArray, new_size: gint){.cdecl,
-    dynlib: pangolib, importc: "pango_tab_array_resize".}
-proc pango_tab_array_set_tab*(tab_array: PPangoTabArray, tab_index: gint,
-                              alignment: TPangoTabAlign, location: gint){.cdecl,
-    dynlib: pangolib, importc: "pango_tab_array_set_tab".}
-proc pango_tab_array_get_tab*(tab_array: PPangoTabArray, tab_index: gint,
-                              alignment: PPangoTabAlign, location: Pgint){.
-    cdecl, dynlib: pangolib, importc: "pango_tab_array_get_tab".}
-proc pango_tab_array_get_positions_in_pixels*(tab_array: PPangoTabArray): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_tab_array_get_positions_in_pixels".}
-proc PANGO_ASCENT*(rect: TPangoRectangle): int32 =
-  result = - int(rect.y)
-
-proc PANGO_DESCENT*(rect: TPangoRectangle): int32 =
-  result = int(rect.y) + int(rect.height)
-
-proc PANGO_LBEARING*(rect: TPangoRectangle): int32 =
-  result = rect.x
-
-proc PANGO_RBEARING*(rect: TPangoRectangle): int32 =
-  result = (rect.x) + (rect.width)
-
-proc PANGO_TYPE_LANGUAGE*(): GType =
-  result = pango_language_get_type()
-
-proc pango_language_to_string*(language: PPangoLanguage): cstring =
-  result = cast[cstring](language)
-
-proc PANGO_PIXELS*(d: int): int =
-  if d >= 0:
-    result = (d + (PANGO_SCALE div 2)) div PANGO_SCALE
-  else:
-    result = (d - (PANGO_SCALE div 2)) div PANGO_SCALE
-
-proc PANGO_TYPE_COLOR*(): GType =
-  result = pango_color_get_type()
-
-proc PANGO_TYPE_ATTR_LIST*(): GType =
-  result = pango_attr_list_get_type()
-
-proc is_line_break*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_line_break) shr
-      bp_TPangoLogAttr_is_line_break
-
-proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_line_break` shl bp_TPangoLogAttr_is_line_break) and
-      bm_TPangoLogAttr_is_line_break)
-
-proc is_mandatory_break*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_mandatory_break) shr
-      bp_TPangoLogAttr_is_mandatory_break
-
-proc set_is_mandatory_break*(a: var TPangoLogAttr, `is_mandatory_break`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_mandatory_break` shl bp_TPangoLogAttr_is_mandatory_break) and
-      bm_TPangoLogAttr_is_mandatory_break)
-
-proc is_char_break*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_char_break) shr
-      bp_TPangoLogAttr_is_char_break
-
-proc set_is_char_break*(a: var TPangoLogAttr, `is_char_break`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_char_break` shl bp_TPangoLogAttr_is_char_break) and
-      bm_TPangoLogAttr_is_char_break)
-
-proc is_white*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_white) shr
-      bp_TPangoLogAttr_is_white
-
-proc set_is_white*(a: var TPangoLogAttr, `is_white`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_white` shl bp_TPangoLogAttr_is_white) and
-      bm_TPangoLogAttr_is_white)
-
-proc is_cursor_position*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_cursor_position) shr
-      bp_TPangoLogAttr_is_cursor_position
-
-proc set_is_cursor_position*(a: var TPangoLogAttr, `is_cursor_position`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_cursor_position` shl bp_TPangoLogAttr_is_cursor_position) and
-      bm_TPangoLogAttr_is_cursor_position)
-
-proc is_word_start*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_word_start) shr
-      bp_TPangoLogAttr_is_word_start
-
-proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_word_start` shl bp_TPangoLogAttr_is_word_start) and
-      bm_TPangoLogAttr_is_word_start)
-
-proc is_word_end*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_word_end) shr
-      bp_TPangoLogAttr_is_word_end
-
-proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_word_end` shl bp_TPangoLogAttr_is_word_end) and
-      bm_TPangoLogAttr_is_word_end)
-
-proc is_sentence_boundary*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_sentence_boundary) shr
-      bp_TPangoLogAttr_is_sentence_boundary
-
-proc set_is_sentence_boundary*(a: var TPangoLogAttr,
-                               `is_sentence_boundary`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_sentence_boundary` shl bp_TPangoLogAttr_is_sentence_boundary) and
-      bm_TPangoLogAttr_is_sentence_boundary)
-
-proc is_sentence_start*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_sentence_start) shr
-      bp_TPangoLogAttr_is_sentence_start
-
-proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_sentence_start` shl bp_TPangoLogAttr_is_sentence_start) and
-      bm_TPangoLogAttr_is_sentence_start)
-
-proc is_sentence_end*(a: var TPangoLogAttr): guint =
-  result = (a.flag0 and bm_TPangoLogAttr_is_sentence_end) shr
-      bp_TPangoLogAttr_is_sentence_end
-
-proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_sentence_end` shl bp_TPangoLogAttr_is_sentence_end) and
-      bm_TPangoLogAttr_is_sentence_end)
-
-proc PANGO_TYPE_CONTEXT*(): GType =
-  result = pango_context_get_type()
-
-proc PANGO_CONTEXT*(anObject: pointer): PPangoContext =
-  result = cast[PPangoContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_CONTEXT()))
-
-proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass =
-  result = cast[PPangoContextClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_CONTEXT()))
-
-proc PANGO_IS_CONTEXT*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_CONTEXT())
-
-proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_CONTEXT())
-
-proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass =
-  result = cast[PPangoContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_CONTEXT()))
-
-proc PANGO_TYPE_FONTSET*(): GType =
-  result = pango_fontset_get_type()
-
-proc PANGO_FONTSET*(anObject: pointer): PPangoFontset =
-  result = cast[PPangoFontset](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONTSET()))
-
-proc PANGO_IS_FONTSET*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET())
-
-proc PANGO_FONTSET_CLASS*(klass: pointer): PPangoFontsetClass =
-  result = cast[PPangoFontsetClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONTSET()))
-
-proc PANGO_IS_FONTSET_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONTSET())
-
-proc PANGO_FONTSET_GET_CLASS*(obj: PPangoFontset): PPangoFontsetClass =
-  result = cast[PPangoFontsetClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONTSET()))
-
-proc pango_fontset_simple_get_type(): GType {.importc, cdecl, dynlib: pangolib.}
-
-proc PANGO_TYPE_FONTSET_SIMPLE*(): GType =
-  result = pango_fontset_simple_get_type()
-
-proc PANGO_FONTSET_SIMPLE*(anObject: pointer): PPangoFontsetSimple =
-  result = cast[PPangoFontsetSimple](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      PANGO_TYPE_FONTSET_SIMPLE()))
-
-proc PANGO_IS_FONTSET_SIMPLE*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET_SIMPLE())
-
-proc PANGO_TYPE_FONT_DESCRIPTION*(): GType =
-  result = pango_font_description_get_type()
-
-proc PANGO_TYPE_FONT_METRICS*(): GType =
-  result = pango_font_metrics_get_type()
-
-proc PANGO_TYPE_FONT_FAMILY*(): GType =
-  result = pango_font_family_get_type()
-
-proc PANGO_FONT_FAMILY*(anObject: pointer): PPangoFontFamily =
-  result = cast[PPangoFontFamily](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      PANGO_TYPE_FONT_FAMILY()))
-
-proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FAMILY())
-
-proc PANGO_FONT_FAMILY_CLASS*(klass: Pointer): PPangoFontFamilyClass =
-  result = cast[PPangoFontFamilyClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      PANGO_TYPE_FONT_FAMILY()))
-
-proc PANGO_IS_FONT_FAMILY_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FAMILY())
-
-proc PANGO_FONT_FAMILY_GET_CLASS*(obj: PPangoFontFamily): PPangoFontFamilyClass =
-  result = cast[PPangoFontFamilyClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      PANGO_TYPE_FONT_FAMILY()))
-
-proc PANGO_TYPE_FONT_FACE*(): GType =
-  result = pango_font_face_get_type()
-
-proc PANGO_FONT_FACE*(anObject: Pointer): PPangoFontFace =
-  result = cast[PPangoFontFace](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      PANGO_TYPE_FONT_FACE()))
-
-proc PANGO_IS_FONT_FACE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FACE())
-
-proc PANGO_FONT_FACE_CLASS*(klass: Pointer): PPangoFontFaceClass =
-  result = cast[PPangoFontFaceClass](G_TYPE_CHECK_CLASS_CAST(klass,
-      PANGO_TYPE_FONT_FACE()))
-
-proc PANGO_IS_FONT_FACE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FACE())
-
-proc PANGO_FONT_FACE_GET_CLASS*(obj: Pointer): PPangoFontFaceClass =
-  result = cast[PPangoFontFaceClass](G_TYPE_INSTANCE_GET_CLASS(obj,
-      PANGO_TYPE_FONT_FACE()))
-
-proc PANGO_TYPE_FONT*(): GType =
-  result = pango_font_get_type()
-
-proc PANGO_FONT*(anObject: Pointer): PPangoFont =
-  result = cast[PPangoFont](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONT()))
-
-proc PANGO_IS_FONT*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT())
-
-proc PANGO_FONT_CLASS*(klass: Pointer): PPangoFontClass =
-  result = cast[PPangoFontClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT()))
-
-proc PANGO_IS_FONT_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT())
-
-proc PANGO_FONT_GET_CLASS*(obj: PPangoFont): PPangoFontClass =
-  result = cast[PPangoFontClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT()))
-
-proc PANGO_TYPE_FONT_MAP*(): GType =
-  result = pango_font_map_get_type()
-
-proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontmap =
-  result = cast[PPangoFontmap](G_TYPE_CHECK_INSTANCE_CAST(anObject,
-      PANGO_TYPE_FONT_MAP()))
-
-proc PANGO_IS_FONT_MAP*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_MAP())
-
-proc PANGO_FONT_MAP_CLASS*(klass: pointer): PPangoFontMapClass =
-  result = cast[PPangoFontMapClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT_MAP()))
-
-proc PANGO_IS_FONT_MAP_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_MAP())
-
-proc PANGO_FONT_MAP_GET_CLASS*(obj: PPangoFontMap): PPangoFontMapClass =
-  result = cast[PPangoFontMapClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT_MAP()))
-
-proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint =
-  result = (a.flag0 and bm_TPangoGlyphVisAttr_is_cluster_start) shr
-      bp_TPangoGlyphVisAttr_is_cluster_start
-
-proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint) =
-  a.flag0 = a.flag0 or
-      (int16(`is_cluster_start` shl bp_TPangoGlyphVisAttr_is_cluster_start) and
-      bm_TPangoGlyphVisAttr_is_cluster_start)
-
-proc PANGO_TYPE_GLYPH_STRING*(): GType =
-  result = pango_glyph_string_get_type()
-
-proc PANGO_TYPE_LAYOUT*(): GType =
-  result = pango_layout_get_type()
-
-proc PANGO_LAYOUT*(anObject: pointer): PPangoLayout =
-  result = cast[PPangoLayout](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_LAYOUT()))
-
-proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass =
-  result = cast[PPangoLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_LAYOUT()))
-
-proc PANGO_IS_LAYOUT*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_LAYOUT())
-
-proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_LAYOUT())
-
-proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass =
-  result = cast[PPangoLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_LAYOUT()))
-
-proc PANGO_TYPE_TAB_ARRAY*(): GType =
-  result = pango_tab_array_get_type()
diff --git a/lib/oldwrappers/gtk/pangoutils.nim b/lib/oldwrappers/gtk/pangoutils.nim
deleted file mode 100755
index e6f3ab94c..000000000
--- a/lib/oldwrappers/gtk/pangoutils.nim
+++ /dev/null
@@ -1,46 +0,0 @@
-{.deadCodeElim: on.}
-
-import
-  glib2, pango
-
-type
-  pint32* = ptr int32
-
-proc pango_split_file_list*(str: cstring): PPchar{.cdecl, dynlib: pangolib,
-    importc: "pango_split_file_list".}
-proc pango_trim_string*(str: cstring): cstring{.cdecl, dynlib: pangolib,
-    importc: "pango_trim_string".}
-proc pango_read_line*(stream: TFile, str: PGString): gint{.cdecl,
-    dynlib: pangolib, importc: "pango_read_line".}
-proc pango_skip_space*(pos: PPchar): gboolean{.cdecl, dynlib: pangolib,
-    importc: "pango_skip_space".}
-proc pango_scan_word*(pos: PPchar, OutStr: PGString): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_scan_word".}
-proc pango_scan_string*(pos: PPchar, OutStr: PGString): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_scan_string".}
-proc pango_scan_int*(pos: PPchar, OutInt: pint32): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_scan_int".}
-proc pango_config_key_get(key: cstring): cstring{.cdecl, dynlib: pangolib,
-    importc: "pango_config_key_get".}
-proc pango_lookup_aliases(fontname: cstring, families: PPPchar,
-                          n_families: pint32){.cdecl, dynlib: pangolib,
-    importc: "pango_lookup_aliases".}
-proc pango_parse_style*(str: cstring, style: PPangoStyle, warn: gboolean): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_parse_style".}
-proc pango_parse_variant*(str: cstring, variant: PPangoVariant, warn: gboolean): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_parse_variant".}
-proc pango_parse_weight*(str: cstring, weight: PPangoWeight, warn: gboolean): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_parse_weight".}
-proc pango_parse_stretch*(str: cstring, stretch: PPangoStretch, warn: gboolean): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_parse_stretch".}
-proc pango_get_sysconf_subdirectory(): cstring{.cdecl, dynlib: pangolib,
-    importc: "pango_get_sysconf_subdirectory".}
-proc pango_get_lib_subdirectory(): cstring{.cdecl, dynlib: pangolib,
-    importc: "pango_get_lib_subdirectory".}
-proc pango_log2vis_get_embedding_levels*(str: Pgunichar, len: int32,
-    pbase_dir: PPangoDirection, embedding_level_list: Pguint8): gboolean{.cdecl,
-    dynlib: pangolib, importc: "pango_log2vis_get_embedding_levels".}
-proc pango_get_mirror_char*(ch: gunichar, mirrored_ch: Pgunichar): gboolean{.
-    cdecl, dynlib: pangolib, importc: "pango_get_mirror_char".}
-proc pango_language_get_sample_string*(language: PPangoLanguage): cstring{.
-    cdecl, dynlib: pangolib, importc: "pango_language_get_sample_string".}