summary refs log tree commit diff stats
path: root/lib/wrappers/gtk
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2010-02-28 23:04:18 +0100
committerAndreas Rumpf <rumpf_a@web.de>2010-02-28 23:04:18 +0100
commitb559285b78bfa76533d25e77f3f61cab2427bb03 (patch)
treef418f489f307f825a934cea878921f65c0114561 /lib/wrappers/gtk
parentddb718548278290a1c25c1bbfba82bc5581457a7 (diff)
downloadNim-b559285b78bfa76533d25e77f3f61cab2427bb03.tar.gz
examples/lib use the new wrappers
Diffstat (limited to 'lib/wrappers/gtk')
-rwxr-xr-xlib/wrappers/gtk/atk.nim1369
-rwxr-xr-xlib/wrappers/gtk/gdk2.nim6896
-rwxr-xr-xlib/wrappers/gtk/gdk2pixbuf.nim277
-rwxr-xr-xlib/wrappers/gtk/gdkglext.nim564
-rwxr-xr-xlib/wrappers/gtk/glib2.nim4503
-rwxr-xr-xlib/wrappers/gtk/gtk2.nim25872
-rwxr-xr-xlib/wrappers/gtk/gtkglext.nim50
-rwxr-xr-xlib/wrappers/gtk/gtkhtml.nim499
-rwxr-xr-xlib/wrappers/gtk/libglade2.nim118
-rwxr-xr-xlib/wrappers/gtk/pango.nim1208
-rwxr-xr-xlib/wrappers/gtk/pangoutils.nim46
11 files changed, 16147 insertions, 25255 deletions
diff --git a/lib/wrappers/gtk/atk.nim b/lib/wrappers/gtk/atk.nim
deleted file mode 100755
index ae7a34c4b..000000000
--- a/lib/wrappers/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/wrappers/gtk/gdk2.nim b/lib/wrappers/gtk/gdk2.nim
index 0ca5056b5..04840f24a 100755
--- a/lib/wrappers/gtk/gdk2.nim
+++ b/lib/wrappers/gtk/gdk2.nim
@@ -1,14 +1,11 @@
 {.deadCodeElim: on.}
-
-import
+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):
+when defined(win32): 
+  const 
+    lib = "libgdk-win32-2.0-0.dll"
+elif defined(darwin): 
   #    linklib gtk-x11-2.0
   #    linklib gdk-x11-2.0
   #    linklib pango-1.0.0
@@ -16,155 +13,151 @@ elif defined(darwin):
   #    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
+  const 
+    lib = "gdk-x11-2.0"
+else: 
+  const 
+    lib = "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
+  MAX_TIMECOORD_AXES* = 128
+
+type 
+  PDeviceClass* = ptr TDeviceClass
+  TDeviceClass* = object of TGObjectClass
+  PVisualClass* = ptr TVisualClass
+  TVisualClass* = object of TGObjectClass
+  PColor* = ptr TColor
+  TColor*{.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
+  PColormap* = ptr TColormap
+  PDrawable* = ptr TDrawable
+  TDrawable* = object of TGObject
+  PWindow* = ptr TWindow
+  TWindow* = TDrawable
+  PPixmap* = ptr TPixmap
+  TPixmap* = TDrawable
+  PBitmap* = ptr TBitmap
+  TBitmap* = TDrawable
+  PFontType* = ptr TFontType
+  TFontType* = enum 
+    FONT_FONT, FONT_FONTSET
+  PFont* = ptr TFont
+  TFont*{.final, pure.} = object 
+    `type`*: TFontType
     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
+  PFunction* = ptr TFunction
+  TFunction* = enum 
+    funcCOPY, funcINVERT, funcXOR, funcCLEAR, funcAND, 
+    funcAND_REVERSE, funcAND_INVERT, funcNOOP, funcOR, funcEQUIV, 
+    funcOR_REVERSE, funcCOPY_INVERT, funcOR_INVERT, funcNAND, funcNOR, funcSET
+  PCapStyle* = ptr TCapStyle
+  TCapStyle* = enum 
+    CAP_NOT_LAST, CAP_BUTT, CAP_ROUND, CAP_PROJECTING
+  PFill* = ptr TFill
+  TFill* = enum 
+    SOLID, TILED, STIPPLED, OPAQUE_STIPPLED
+  PJoinStyle* = ptr TJoinStyle
+  TJoinStyle* = enum 
+    JOIN_MITER, JOIN_ROUND, JOIN_BEVEL
+  PLineStyle* = ptr TLineStyle
+  TLineStyle* = enum 
+    LINE_SOLID, LINE_ON_OFF_DASH, LINE_DOUBLE_DASH
+  PSubwindowMode* = ptr TSubwindowMode
+  TSubwindowMode* = int
+  PGCValuesMask* = ptr TGCValuesMask
+  TGCValuesMask* = int32
+  PGCValues* = ptr TGCValues
+  TGCValues*{.final, pure.} = object 
+    foreground*: TColor
+    background*: TColor
+    font*: PFont
+    `function`*: TFunction
+    fill*: TFill
+    tile*: PPixmap
+    stipple*: PPixmap
+    clip_mask*: PPixmap
+    subwindow_mode*: TSubwindowMode
     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
+    line_style*: TLineStyle
+    cap_style*: TCapStyle
+    join_style*: TJoinStyle
 
-  PGdkGC* = ptr TGdkGC
-  TGdkGC* = object of TGObject
+  PGC* = ptr TGC
+  TGC* = 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
+    colormap*: PColormap
+
+  PImageType* = ptr TImageType
+  TImageType* = enum 
+    IMAGE_NORMAL, IMAGE_SHARED, IMAGE_FASTEST
+  PImage* = ptr TImage
+  PDevice* = ptr TDevice
+  PTimeCoord* = ptr TTimeCoord
+  PPTimeCoord* = ptr PTimeCoord
+  PRgbDither* = ptr TRgbDither
+  TRgbDither* = enum 
+    RGB_DITHER_NONE, RGB_DITHER_NORMAL, RGB_DITHER_MAX
+  PDisplay* = ptr TDisplay
+  PScreen* = ptr TScreen
+  TScreen* = object of TGObject
+  PInputCondition* = ptr TInputCondition
+  TInputCondition* = int32
+  PStatus* = ptr TStatus
+  TStatus* = int32
+  TPoint*{.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
+  PPoint* = ptr TPoint
+  PPPoint* = ptr PPoint
+  PSpan* = ptr TSpan
+  PWChar* = ptr TWChar
+  TWChar* = guint32
+  PSegment* = ptr TSegment
+  TSegment*{.final, pure.} = object 
     x1*: gint
     y1*: gint
     x2*: gint
     y2*: gint
 
-  PGdkRectangle* = ptr TGdkRectangle
-  TGdkRectangle* {.final, pure.} = object
+  PRectangle* = ptr TRectangle
+  TRectangle*{.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
+  PAtom* = ptr TAtom
+  TAtom* = gulong
+  PByteOrder* = ptr TByteOrder
+  TByteOrder* = enum 
+    LSB_FIRST, MSB_FIRST
+  PModifierType* = ptr TModifierType
+  TModifierType* = gint
+  PVisualType* = ptr TVisualType
+  TVisualType* = enum 
+    VISUAL_STATIC_GRAY, VISUAL_GRAYSCALE, VISUAL_STATIC_COLOR, 
+    VISUAL_PSEUDO_COLOR, VISUAL_TRUE_COLOR, VISUAL_DIRECT_COLOR
+  PVisual* = ptr TVisual
+  TVisual* = object of TGObject
+    TheType*: TVisualType
     depth*: gint
-    byte_order*: TGdkByteOrder
+    byte_order*: TByteOrder
     colormap_size*: gint
     bits_per_rgb*: gint
     red_mask*: guint32
@@ -176,198 +169,189 @@ type
     blue_mask*: guint32
     blue_shift*: gint
     blue_prec*: gint
-    screen*: PGdkScreen
-
-  PGdkColormapClass* = ptr TGdkColormapClass
-  TGdkColormapClass* = object of TGObjectClass
+    screen*: PScreen
 
-  TGdkColormap* = object of TGObject
+  PColormapClass* = ptr TColormapClass
+  TColormapClass* = object of TGObjectClass
+  TColormap* = object of TGObject
     size*: gint
-    colors*: PGdkColor
-    visual*: PGdkVisual
+    colors*: PColor
+    visual*: PVisual
     windowing_data*: gpointer
-    screen*: PGdkScreen
+    screen*: PScreen
 
-  PGdkCursorType* = ptr TGdkCursorType
-  TGdkCursorType* = gint
-  PGdkCursor* = ptr TGdkCursor
-  TGdkCursor* {.final, pure.} = object
-    `type`*: TGdkCursorType
+  PCursorType* = ptr TCursorType
+  TCursorType* = gint
+  PCursor* = ptr TCursor
+  TCursor*{.final, pure.} = object 
+    `type`*: TCursorType
     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
+  PDragAction* = ptr TDragAction
+  TDragAction* = int32
+  PDragProtocol* = ptr TDragProtocol
+  TDragProtocol* = enum 
+    DRAG_PROTO_MOTIF, DRAG_PROTO_XDND, DRAG_PROTO_ROOTWIN, DRAG_PROTO_NONE, 
+    DRAG_PROTO_WIN32_DROPFILES, DRAG_PROTO_OLE2, DRAG_PROTO_LOCAL
+  PDragContext* = ptr TDragContext
+  TDragContext* = object of TGObject
+    protocol*: TDragProtocol
     is_source*: gboolean
-    source_window*: PGdkWindow
-    dest_window*: PGdkWindow
+    source_window*: PWindow
+    dest_window*: PWindow
     targets*: PGList
-    actions*: TGdkDragAction
-    suggested_action*: TGdkDragAction
-    action*: TGdkDragAction
+    actions*: TDragAction
+    suggested_action*: TDragAction
+    action*: TDragAction
     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
+  PDragContextClass* = ptr TDragContextClass
+  TDragContextClass* = object of TGObjectClass
+  PRegionBox* = ptr TRegionBox
+  TRegionBox* = TSegment
+  PRegion* = ptr TRegion
+  TRegion*{.final, pure.} = object 
     size*: int32
     numRects*: int32
-    rects*: PGdkRegionBox
-    extents*: TGdkRegionBox
+    rects*: PRegionBox
+    extents*: TRegionBox
 
   PPOINTBLOCK* = ptr TPOINTBLOCK
-  TPOINTBLOCK* {.final, pure.} = object
-    pts*: array[0..(NUMPTSTOBUFFER) - 1, TGdkPoint]
+  TPOINTBLOCK*{.final, pure.} = object 
+    pts*: array[0..(NUMPTSTOBUFFER) - 1, TPoint]
     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,
+  PDrawableClass* = ptr TDrawableClass
+  TDrawableClass* = object of TGObjectClass
+    create_gc*: proc (drawable: PDrawable, values: PGCValues, 
+                      mask: TGCValuesMask): PGC{.cdecl.}
+    draw_rectangle*: proc (drawable: PDrawable, gc: PGC, filled: gint, x: gint, 
+                           y: gint, width: gint, height: gint){.cdecl.}
+    draw_arc*: proc (drawable: PDrawable, gc: PGC, 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,
+    draw_polygon*: proc (drawable: PDrawable, gc: PGC, filled: gint, 
+                         points: PPoint, npoints: gint){.cdecl.}
+    draw_text*: proc (drawable: PDrawable, font: PFont, gc: PGC, x: gint, 
+                      y: gint, text: cstring, text_length: gint){.cdecl.}
+    draw_text_wc*: proc (drawable: PDrawable, font: PFont, gc: PGC, x: gint, 
+                         y: gint, text: PWChar, text_length: gint){.cdecl.}
+    draw_drawable*: proc (drawable: PDrawable, gc: PGC, src: PDrawable, 
+                          xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, 
                           width: gint, height: gint){.cdecl.}
-    draw_points*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
+    draw_points*: proc (drawable: PDrawable, gc: PGC, points: PPoint, 
                         npoints: gint){.cdecl.}
-    draw_segments*: proc (drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment,
+    draw_segments*: proc (drawable: PDrawable, gc: PGC, segs: PSegment, 
                           nsegs: gint){.cdecl.}
-    draw_lines*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint,
+    draw_lines*: proc (drawable: PDrawable, gc: PGC, points: PPoint, 
                        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{.
+    draw_glyphs*: proc (drawable: PDrawable, gc: PGC, font: PFont, x: gint, 
+                        y: gint, glyphs: PGlyphString){.cdecl.}
+    draw_image*: proc (drawable: PDrawable, gc: PGC, image: PImage, xsrc: gint, 
+                       ysrc: gint, xdest: gint, ydest: gint, width: gint, 
+                       height: gint){.cdecl.}
+    get_depth*: proc (drawable: PDrawable): gint{.cdecl.}
+    get_size*: proc (drawable: PDrawable, width: Pgint, height: Pgint){.cdecl.}
+    set_colormap*: proc (drawable: PDrawable, cmap: PColormap){.cdecl.}
+    get_colormap*: proc (drawable: PDrawable): PColormap{.cdecl.}
+    get_visual*: proc (drawable: PDrawable): PVisual{.cdecl.}
+    get_screen*: proc (drawable: PDrawable): PScreen{.cdecl.}
+    get_image*: proc (drawable: PDrawable, x: gint, y: gint, width: gint, 
+                      height: gint): PImage{.cdecl.}
+    get_clip_region*: proc (drawable: PDrawable): PRegion{.cdecl.}
+    get_visible_region*: proc (drawable: PDrawable): PRegion{.cdecl.}
+    get_composite_drawable*: proc (drawable: PDrawable, x: gint, y: gint, 
+                                   width: gint, height: gint, 
+                                   composite_x_offset: Pgint, 
+                                   composite_y_offset: Pgint): PDrawable{.cdecl.}
+    `draw_pixbuf`*: proc (drawable: PDrawable, gc: PGC, pixbuf: PPixbuf, 
+                          src_x: gint, src_y: gint, dest_x: gint, dest_y: gint, 
+                          width: gint, height: gint, dither: TRgbDither, 
+                          x_dither: gint, y_dither: gint){.cdecl.}
+    `copy_to_image`*: proc (drawable: PDrawable, image: PImage, src_x: gint, 
+                            src_y: gint, dest_x: gint, dest_y: gint, 
+                            width: gint, height: gint): PImage{.cdecl.}
+    `reserved1`: proc (){.cdecl.}
+    `reserved2`: proc (){.cdecl.}
+    `reserved3`: proc (){.cdecl.}
+    `reserved4`: proc (){.cdecl.}
+    `reserved5`: proc (){.cdecl.}
+    `reserved6`: proc (){.cdecl.}
+    `reserved7`: proc (){.cdecl.}
+    `reserved9`: proc (){.cdecl.}
+    `reserved10`: proc (){.cdecl.}
+    `reserved11`: proc (){.cdecl.}
+    `reserved12`: proc (){.cdecl.}
+    `reserved13`: proc (){.cdecl.}
+    `reserved14`: proc (){.cdecl.}
+    `reserved15`: proc (){.cdecl.}
+    `reserved16`: proc (){.cdecl.}
+
+  PEvent* = ptr TEvent
+  TEventFunc* = proc (event: PEvent, data: gpointer){.cdecl.}
+  PXEvent* = ptr TXEvent
+  TXEvent* = proc ()
+  PFilterReturn* = ptr TFilterReturn
+  TFilterReturn* = enum 
+    FILTER_CONTINUE, FILTER_TRANSLATE, FILTER_REMOVE
+  TFilterFunc* = proc (xevent: PXEvent, event: PEvent, data: gpointer): TFilterReturn{.
       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
+  PEventType* = ptr TEventType
+  TEventType* = gint
+  PEventMask* = ptr TEventMask
+  TEventMask* = gint32
+  PVisibilityState* = ptr TVisibilityState
+  TVisibilityState* = enum 
+    VISIBILITY_UNOBSCURED, VISIBILITY_PARTIAL, VISIBILITY_FULLY_OBSCURED
+  PScrollDirection* = ptr TScrollDirection
+  TScrollDirection* = enum 
+    SCROLL_UP, SCROLL_DOWN, SCROLL_LEFT, SCROLL_RIGHT
+  PNotifyType* = ptr TNotifyType
+  TNotifyType* = int
+  PCrossingMode* = ptr TCrossingMode
+  TCrossingMode* = enum 
+    CROSSING_NORMAL, CROSSING_GRAB, CROSSING_UNGRAB
+  PPropertyState* = ptr TPropertyState
+  TPropertyState* = enum 
+    PROPERTY_NEW_VALUE, PROPERTY_STATE_DELETE
+  PWindowState* = ptr TWindowState
+  TWindowState* = gint
+  PSettingAction* = ptr TSettingAction
+  TSettingAction* = enum 
+    SETTING_ACTION_NEW, SETTING_ACTION_CHANGED, SETTING_ACTION_DELETED
+  PEventAny* = ptr TEventAny
+  TEventAny*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
 
-  PGdkEventExpose* = ptr TGdkEventExpose
-  TGdkEventExpose* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventExpose* = ptr TEventExpose
+  TEventExpose*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    area*: TGdkRectangle
-    region*: PGdkRegion
+    area*: TRectangle
+    region*: PRegion
     count*: gint
 
-  PGdkEventNoExpose* = ptr TGdkEventNoExpose
-  TGdkEventNoExpose* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventNoExpose* = ptr TEventNoExpose
+  TEventNoExpose*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
 
-  PGdkEventVisibility* = ptr TGdkEventVisibility
-  TGdkEventVisibility* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventVisibility* = ptr TEventVisibility
+  TEventVisibility*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    state*: TGdkVisibilityState
+    state*: TVisibilityState
 
-  PGdkEventMotion* = ptr TGdkEventMotion
-  TGdkEventMotion* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventMotion* = ptr TEventMotion
+  TEventMotion*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
     time*: guint32
     x*: gdouble
@@ -375,14 +359,14 @@ type
     axes*: Pgdouble
     state*: guint
     is_hint*: gint16
-    device*: PGdkDevice
+    device*: PDevice
     x_root*: gdouble
     y_root*: gdouble
 
-  PGdkEventButton* = ptr TGdkEventButton
-  TGdkEventButton* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventButton* = ptr TEventButton
+  TEventButton*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
     time*: guint32
     x*: gdouble
@@ -390,28 +374,28 @@ type
     axes*: Pgdouble
     state*: guint
     button*: guint
-    device*: PGdkDevice
+    device*: PDevice
     x_root*: gdouble
     y_root*: gdouble
 
-  PGdkEventScroll* = ptr TGdkEventScroll
-  TGdkEventScroll* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventScroll* = ptr TEventScroll
+  TEventScroll*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
     time*: guint32
     x*: gdouble
     y*: gdouble
     state*: guint
-    direction*: TGdkScrollDirection
-    device*: PGdkDevice
+    direction*: TScrollDirection
+    device*: PDevice
     x_root*: gdouble
     y_root*: gdouble
 
-  PGdkEventKey* = ptr TGdkEventKey
-  TGdkEventKey* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventKey* = ptr TEventKey
+  TEventKey*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
     time*: guint32
     state*: guint
@@ -421,148 +405,146 @@ type
     hardware_keycode*: guint16
     group*: guint8
 
-  PGdkEventCrossing* = ptr TGdkEventCrossing
-  TGdkEventCrossing* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventCrossing* = ptr TEventCrossing
+  TEventCrossing*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    subwindow*: PGdkWindow
+    subwindow*: PWindow
     time*: guint32
     x*: gdouble
     y*: gdouble
     x_root*: gdouble
     y_root*: gdouble
-    mode*: TGdkCrossingMode
-    detail*: TGdkNotifyType
+    mode*: TCrossingMode
+    detail*: TNotifyType
     focus*: gboolean
     state*: guint
 
-  PGdkEventFocus* = ptr TGdkEventFocus
-  TGdkEventFocus* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventFocus* = ptr TEventFocus
+  TEventFocus*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
     `in`*: gint16
 
-  PGdkEventConfigure* = ptr TGdkEventConfigure
-  TGdkEventConfigure* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventConfigure* = ptr TEventConfigure
+  TEventConfigure*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
     x*: gint
     y*: gint
     width*: gint
     height*: gint
 
-  PGdkEventProperty* = ptr TGdkEventProperty
-  TGdkEventProperty* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventProperty* = ptr TEventProperty
+  TEventProperty*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    atom*: TGdkAtom
+    atom*: TAtom
     time*: guint32
     state*: guint
 
-  TGdkNativeWindow* = pointer
-  PGdkEventSelection* = ptr TGdkEventSelection
-  TGdkEventSelection* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  TNativeWindow* = pointer
+  PEventSelection* = ptr TEventSelection
+  TEventSelection*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    selection*: TGdkAtom
-    target*: TGdkAtom
-    `property`*: TGdkAtom
+    selection*: TAtom
+    target*: TAtom
+    `property`*: TAtom
     time*: guint32
-    requestor*: TGdkNativeWindow
+    requestor*: TNativeWindow
 
-  PGdkEventProximity* = ptr TGdkEventProximity
-  TGdkEventProximity* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventProximity* = ptr TEventProximity
+  TEventProximity*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
     time*: guint32
-    device*: PGdkDevice
+    device*: PDevice
 
   PmatDUMMY* = ptr TmatDUMMY
-  TmatDUMMY* {.final, pure.} = object
+  TmatDUMMY*{.final, pure.} = object 
     b*: array[0..19, char]
 
-  PGdkEventClient* = ptr TGdkEventClient
-  TGdkEventClient* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventClient* = ptr TEventClient
+  TEventClient*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    message_type*: TGdkAtom
+    message_type*: TAtom
     data_format*: gushort
     b*: array[0..19, char]
 
-  PGdkEventSetting* = ptr TGdkEventSetting
-  TGdkEventSetting* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventSetting* = ptr TEventSetting
+  TEventSetting*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    action*: TGdkSettingAction
+    action*: TSettingAction
     name*: cstring
 
-  PGdkEventWindowState* = ptr TGdkEventWindowState
-  TGdkEventWindowState* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventWindowState* = ptr TEventWindowState
+  TEventWindowState*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    changed_mask*: TGdkWindowState
-    new_window_state*: TGdkWindowState
+    changed_mask*: TWindowState
+    new_window_state*: TWindowState
 
-  PGdkEventDND* = ptr TGdkEventDND
-  TGdkEventDND* {.final, pure.} = object
-    `type`*: TGdkEventType
-    window*: PGdkWindow
+  PEventDND* = ptr TEventDND
+  TEventDND*{.final, pure.} = object 
+    `type`*: TEventType
+    window*: PWindow
     send_event*: gint8
-    context*: PGdkDragContext
+    context*: PDragContext
     time*: guint32
     x_root*: gshort
     y_root*: gshort
 
-  TGdkEvent* {.final, pure.} = object
+  TEvent*{.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){.
+                               # `type`: TEventType
+                               #  any: TEventAny
+                               #  expose: TEventExpose
+                               #  no_expose: TEventNoExpose
+                               #  visibility: TEventVisibility
+                               #  motion: TEventMotion
+                               #  button: TEventButton
+                               #  scroll: TEventScroll
+                               #  key: TEventKey
+                               #  crossing: TEventCrossing
+                               #  focus_change: TEventFocus
+                               #  configure: TEventConfigure
+                               #  `property`: TEventProperty
+                               #  selection: TEventSelection
+                               #  proximity: TEventProximity
+                               #  client: TEventClient
+                               #  dnd: TEventDND
+                               #  window_state: TEventWindowState
+                               #  setting: TEventSetting
+  
+  PGCClass* = ptr TGCClass
+  TGCClass* = object of TGObjectClass
+    get_values*: proc (gc: PGC, values: PGCValues){.cdecl.}
+    set_values*: proc (gc: PGC, values: PGCValues, mask: TGCValuesMask){.cdecl.}
+    set_dashes*: proc (gc: PGC, dash_offset: gint, dash_list: openarray[gint8]){.
         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
+    `reserved1`*: proc (){.cdecl.}
+    `reserved2`*: proc (){.cdecl.}
+    `reserved3`*: proc (){.cdecl.}
+    `reserved4`*: proc (){.cdecl.}
+
+  PImageClass* = ptr TImageClass
+  TImageClass* = object of TGObjectClass
+  TImage* = object of TGObject
+    `type`*: TImageType
+    visual*: PVisual
+    byte_order*: TByteOrder
     width*: gint
     height*: gint
     depth*: guint16
@@ -570,186 +552,180 @@ type
     bpl*: guint16
     bits_per_pixel*: guint16
     mem*: gpointer
-    colormap*: PGdkColormap
+    colormap*: PColormap
     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
+  PExtensionMode* = ptr TExtensionMode
+  TExtensionMode* = enum 
+    EXTENSION_EVENTS_NONE, EXTENSION_EVENTS_ALL, EXTENSION_EVENTS_CURSOR
+  PInputSource* = ptr TInputSource
+  TInputSource* = enum 
+    SOURCE_MOUSE, SOURCE_PEN, SOURCE_ERASER, SOURCE_CURSOR
+  PInputMode* = ptr TInputMode
+  TInputMode* = enum 
+    MODE_DISABLED, MODE_SCREEN, MODE_WINDOW
+  PAxisUse* = ptr TAxisUse
+  TAxisUse* = int32
+  PDeviceKey* = ptr TDeviceKey
+  TDeviceKey*{.final, pure.} = object 
     keyval*: guint
-    modifiers*: TGdkModifierType
+    modifiers*: TModifierType
 
-  PGdkDeviceAxis* = ptr TGdkDeviceAxis
-  TGdkDeviceAxis* {.final, pure.} = object
-    use*: TGdkAxisUse
+  PDeviceAxis* = ptr TDeviceAxis
+  TDeviceAxis*{.final, pure.} = object 
+    use*: TAxisUse
     min*: gdouble
     max*: gdouble
 
-  TGdkDevice* = object of TGObject
+  TDevice* = object of TGObject
     name*: cstring
-    source*: TGdkInputSource
-    mode*: TGdkInputMode
+    source*: TInputSource
+    mode*: TInputMode
     has_cursor*: gboolean
     num_axes*: gint
-    axes*: PGdkDeviceAxis
+    axes*: PDeviceAxis
     num_keys*: gint
-    keys*: PGdkDeviceKey
+    keys*: PDeviceKey
 
-  TGdkTimeCoord* {.final, pure.} = object
+  TTimeCoord*{.final, pure.} = object 
     time*: guint32
-    axes*: array[0..(GDK_MAX_TIMECOORD_AXES) - 1, gdouble]
+    axes*: array[0..(MAX_TIMECOORD_AXES) - 1, gdouble]
 
-  PGdkKeymapKey* = ptr TGdkKeymapKey
-  TGdkKeymapKey* {.final, pure.} = object
+  PKeymapKey* = ptr TKeymapKey
+  TKeymapKey*{.final, pure.} = object 
     keycode*: guint
     group*: gint
     level*: gint
 
-  PGdkKeymap* = ptr TGdkKeymap
-  TGdkKeymap* = object of TGObject
-    display*: PGdkDisplay
+  PKeymap* = ptr TKeymap
+  TKeymap* = object of TGObject
+    display*: PDisplay
 
-  PGdkKeymapClass* = ptr TGdkKeymapClass
-  TGdkKeymapClass* = object of TGObjectClass
-    direction_changed*: proc (keymap: PGdkKeymap){.cdecl.}
+  PKeymapClass* = ptr TKeymapClass
+  TKeymapClass* = object of TGObjectClass
+    direction_changed*: proc (keymap: PKeymap){.cdecl.}
 
-  PGdkPangoAttrStipple* = ptr TGdkPangoAttrStipple
-  TGdkPangoAttrStipple* {.final, pure.} = object
-    attr*: TPangoAttribute
-    stipple*: PGdkBitmap
+  PAttrStipple* = ptr TAttrStipple
+  TAttrStipple*{.final, pure.} = object 
+    attr*: TAttribute
+    stipple*: PBitmap
 
-  PGdkPangoAttrEmbossed* = ptr TGdkPangoAttrEmbossed
-  TGdkPangoAttrEmbossed* {.final, pure.} = object
-    attr*: TPangoAttribute
+  PAttrEmbossed* = ptr TAttrEmbossed
+  TAttrEmbossed*{.final, pure.} = object 
+    attr*: TAttribute
     embossed*: gboolean
 
-  PGdkPixmapObject* = ptr TGdkPixmapObject
-  TGdkPixmapObject* = object of TGdkDrawable
-    impl*: PGdkDrawable
+  PPixmapObject* = ptr TPixmapObject
+  TPixmapObject* = object of TDrawable
+    impl*: PDrawable
     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
+  PPixmapObjectClass* = ptr TPixmapObjectClass
+  TPixmapObjectClass* = object of TDrawableClass
+  PPropMode* = ptr TPropMode
+  TPropMode* = enum 
+    PROP_MODE_REPLACE, PROP_MODE_PREPEND, PROP_MODE_APPEND
+  PFillRule* = ptr TFillRule
+  TFillRule* = enum 
+    EVEN_ODD_RULE, WINDING_RULE
+  POverlapType* = ptr TOverlapType
+  TOverlapType* = enum 
+    OVERLAP_RECTANGLE_IN, OVERLAP_RECTANGLE_OUT, OVERLAP_RECTANGLE_PART
+  TSpanFunc* = proc (span: PSpan, data: gpointer){.cdecl.}
+  PRgbCmap* = ptr TRgbCmap
+  TRgbCmap*{.final, pure.} = object 
     colors*: array[0..255, guint32]
     n_colors*: gint
     info_list*: PGSList
 
-  TGdkDisplay* = object of TGObject
+  TDisplay* = object of TGObject
     queued_events*: PGList
     queued_tail*: PGList
     button_click_time*: array[0..1, guint32]
-    button_window*: array[0..1, PGdkWindow]
+    button_window*: array[0..1, PWindow]
     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{.
+  PDisplayClass* = ptr TDisplayClass
+  TDisplayClass* = object of TGObjectClass
+    get_display_name*: proc (display: PDisplay): cstring{.cdecl.}
+    get_n_screens*: proc (display: PDisplay): gint{.cdecl.}
+    get_screen*: proc (display: PDisplay, screen_num: gint): PScreen{.cdecl.}
+    get_default_screen*: proc (display: PDisplay): PScreen{.cdecl.}
+
+  PScreenClass* = ptr TScreenClass
+  TScreenClass* = object of TGObjectClass
+    get_display*: proc (screen: PScreen): PDisplay{.cdecl.}
+    get_width*: proc (screen: PScreen): gint{.cdecl.}
+    get_height*: proc (screen: PScreen): gint{.cdecl.}
+    get_width_mm*: proc (screen: PScreen): gint{.cdecl.}
+    get_height_mm*: proc (screen: PScreen): gint{.cdecl.}
+    get_root_depth*: proc (screen: PScreen): gint{.cdecl.}
+    get_screen_num*: proc (screen: PScreen): gint{.cdecl.}
+    get_root_window*: proc (screen: PScreen): PWindow{.cdecl.}
+    get_default_colormap*: proc (screen: PScreen): PColormap{.cdecl.}
+    set_default_colormap*: proc (screen: PScreen, colormap: PColormap){.cdecl.}
+    get_window_at_pointer*: proc (screen: PScreen, win_x: Pgint, win_y: Pgint): PWindow{.
         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
+    get_n_monitors*: proc (screen: PScreen): gint{.cdecl.}
+    get_monitor_geometry*: proc (screen: PScreen, monitor_num: gint, 
+                                 dest: PRectangle){.cdecl.}
+
+  PGrabStatus* = ptr TGrabStatus
+  TGrabStatus* = int
+  TInputFunction* = proc (data: gpointer, source: gint, 
+                          condition: TInputCondition){.cdecl.}
+  TDestroyNotify* = proc (data: gpointer){.cdecl.}
+  TSpan*{.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
+  PWindowClass* = ptr TWindowClass
+  TWindowClass* = enum 
+    INPUT_OUTPUT, INPUT_ONLY
+  PWindowType* = ptr TWindowType
+  TWindowType* = enum 
+    WINDOW_ROOT, WINDOW_TOPLEVEL, WINDOW_CHILD, WINDOW_DIALOG, WINDOW_TEMP, 
+    WINDOW_FOREIGN
+  PWindowAttributesType* = ptr TWindowAttributesType
+  TWindowAttributesType* = int32
+  PWindowHints* = ptr TWindowHints
+  TWindowHints* = int32
+  PWindowTypeHint* = ptr TWindowTypeHint
+  TWindowTypeHint* = enum 
+    WINDOW_TYPE_HINT_NORMAL, WINDOW_TYPE_HINT_DIALOG, WINDOW_TYPE_HINT_MENU, 
+    WINDOW_TYPE_HINT_TOOLBAR
+  PWMDecoration* = ptr TWMDecoration
+  TWMDecoration* = int32
+  PWMFunction* = ptr TWMFunction
+  TWMFunction* = int32
+  PGravity* = ptr TGravity
+  TGravity* = int
+  PWindowEdge* = ptr TWindowEdge
+  TWindowEdge* = enum 
+    WINDOW_EDGE_NORTH_WEST, WINDOW_EDGE_NORTH, WINDOW_EDGE_NORTH_EAST, 
+    WINDOW_EDGE_WEST, WINDOW_EDGE_EAST, WINDOW_EDGE_SOUTH_WEST, 
+    WINDOW_EDGE_SOUTH, WINDOW_EDGE_SOUTH_EAST
+  PWindowAttr* = ptr TWindowAttr
+  TWindowAttr*{.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
+    wclass*: TWindowClass
+    visual*: PVisual
+    colormap*: PColormap
+    window_type*: TWindowType
+    cursor*: PCursor
     wmclass_name*: cstring
     wmclass_class*: cstring
     override_redirect*: gboolean
 
-  PGdkGeometry* = ptr TGdkGeometry
-  TGdkGeometry* {.final, pure.} = object
+  PGeometry* = ptr TGeometry
+  TGeometry*{.final, pure.} = object 
     min_width*: gint
     min_height*: gint
     max_width*: gint
@@ -760,3199 +736,3133 @@ type
     height_inc*: gint
     min_aspect*: gdouble
     max_aspect*: gdouble
-    win_gravity*: TGdkGravity
+    win_gravity*: TGravity
 
-  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{.
+  PPointerHooks* = ptr TPointerHooks
+  TPointerHooks*{.final, pure.} = object 
+    get_pointer*: proc (window: PWindow, x: Pgint, y: Pgint, mask: PModifierType): PWindow{.
+        cdecl.}
+    window_at_pointer*: proc (screen: PScreen, win_x: Pgint, win_y: Pgint): PWindow{.
         cdecl.}
 
-  PGdkWindowObject* = ptr TGdkWindowObject
-  TGdkWindowObject* = object of TGdkDrawable
-    impl*: PGdkDrawable
-    parent*: PGdkWindowObject
+  PWindowObject* = ptr TWindowObject
+  TWindowObject* = object of TDrawable
+    impl*: PDrawable
+    parent*: PWindowObject
     user_data*: gpointer
     x*: gint
     y*: gint
     extension_events*: gint
     filters*: PGList
     children*: PGList
-    bg_color*: TGdkColor
-    bg_pixmap*: PGdkPixmap
+    bg_color*: TColor
+    bg_pixmap*: PPixmap
     paint_stack*: PGSList
-    update_area*: PGdkRegion
+    update_area*: PRegion
     update_freeze_count*: guint
     window_type*: guint8
     depth*: guint8
     resize_count*: guint8
-    state*: TGdkWindowState
+    state*: TWindowState
     flag0*: guint16
-    event_mask*: TGdkEventMask
-
-  PGdkWindowObjectClass* = ptr TGdkWindowObjectClass
-  TGdkWindowObjectClass* = object of TGdkDrawableClass
+    event_mask*: TEventMask
 
-  gdk_window_invalidate_maybe_recurse_child_func* = proc (para1: PGdkWindow,
+  PWindowObjectClass* = ptr TWindowObjectClass
+  TWindowObjectClass* = object of TDrawableClass
+  window_invalidate_maybe_recurse_child_func* = proc (para1: PWindow, 
       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,
+proc TYPE_COLORMAP*(): GType
+proc COLORMAP*(anObject: pointer): PColormap
+proc COLORMAP_CLASS*(klass: pointer): PColormapClass
+proc IS_COLORMAP*(anObject: pointer): bool
+proc IS_COLORMAP_CLASS*(klass: pointer): bool
+proc COLORMAP_GET_CLASS*(obj: pointer): PColormapClass
+proc TYPE_COLOR*(): GType
+proc colormap_get_type*(): GType{.cdecl, dynlib: lib, 
+                                  importc: "gdk_colormap_get_type".}
+proc colormap_new*(visual: PVisual, allocate: gboolean): PColormap{.cdecl, 
+    dynlib: lib, importc: "gdk_colormap_new".}
+proc alloc_colors*(colormap: PColormap, colors: PColor, ncolors: gint, 
+                            writeable: gboolean, best_match: gboolean, 
+                            success: Pgboolean): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_colormap_alloc_colors".}
+proc alloc_color*(colormap: PColormap, color: PColor, 
+                           writeable: gboolean, best_match: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_colormap_alloc_color".}
+proc free_colors*(colormap: PColormap, colors: PColor, ncolors: gint){.
+    cdecl, dynlib: lib, importc: "gdk_colormap_free_colors".}
+proc query_color*(colormap: PColormap, pixel: gulong, result: PColor){.
+    cdecl, dynlib: lib, importc: "gdk_colormap_query_color".}
+proc get_visual*(colormap: PColormap): PVisual{.cdecl, dynlib: lib, 
+    importc: "gdk_colormap_get_visual".}
+proc copy*(color: PColor): PColor{.cdecl, dynlib: lib, 
     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,
+proc free*(color: PColor){.cdecl, dynlib: lib, importc: "gdk_color_free".}
+proc color_parse*(spec: cstring, color: PColor): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_color_parse".}
+proc hash*(colora: PColor): guint{.cdecl, dynlib: lib, 
     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,
+proc equal*(colora: PColor, colorb: PColor): gboolean{.cdecl, dynlib: lib, 
+    importc: "gdk_color_equal".}
+proc color_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_color_get_type".}
+const 
+  CURSOR_IS_PIXMAP* = - (1)
+  X_CURSOR* = 0
+  ARROW* = 2
+  BASED_ARROW_DOWN* = 4
+  BASED_ARROW_UP* = 6
+  BOAT* = 8
+  BOGOSITY* = 10
+  BOTTOM_LEFT_CORNER* = 12
+  BOTTOM_RIGHT_CORNER* = 14
+  BOTTOM_SIDE* = 16
+  BOTTOM_TEE* = 18
+  BOX_SPIRAL* = 20
+  CENTER_PTR* = 22
+  CIRCLE* = 24
+  CLOCK* = 26
+  COFFEE_MUG* = 28
+  CROSS* = 30
+  CROSS_REVERSE* = 32
+  CROSSHAIR* = 34
+  DIAMOND_CROSS* = 36
+  DOT* = 38
+  DOTBOX* = 40
+  DOUBLE_ARROW* = 42
+  DRAFT_LARGE* = 44
+  DRAFT_SMALL* = 46
+  DRAPED_BOX* = 48
+  EXCHANGE* = 50
+  FLEUR* = 52
+  GOBBLER* = 54
+  GUMBY* = 56
+  HAND1* = 58
+  HAND2* = 60
+  HEART* = 62
+  ICON* = 64
+  IRON_CROSS* = 66
+  LEFT_PTR* = 68
+  LEFT_SIDE* = 70
+  LEFT_TEE* = 72
+  LEFTBUTTON* = 74
+  LL_ANGLE* = 76
+  LR_ANGLE* = 78
+  MAN* = 80
+  MIDDLEBUTTON* = 82
+  MOUSE* = 84
+  PENCIL* = 86
+  PIRATE* = 88
+  PLUS* = 90
+  QUESTION_ARROW* = 92
+  RIGHT_PTR* = 94
+  RIGHT_SIDE* = 96
+  RIGHT_TEE* = 98
+  RIGHTBUTTON* = 100
+  RTL_LOGO* = 102
+  SAILBOAT* = 104
+  SB_DOWN_ARROW* = 106
+  SB_H_DOUBLE_ARROW* = 108
+  SB_LEFT_ARROW* = 110
+  SB_RIGHT_ARROW* = 112
+  SB_UP_ARROW* = 114
+  SB_V_DOUBLE_ARROW* = 116
+  SHUTTLE* = 118
+  SIZING* = 120
+  SPIDER* = 122
+  SPRAYCAN* = 124
+  STAR* = 126
+  TARGET* = 128
+  TCROSS* = 130
+  TOP_LEFT_ARROW* = 132
+  TOP_LEFT_CORNER* = 134
+  TOP_RIGHT_CORNER* = 136
+  TOP_SIDE* = 138
+  TOP_TEE* = 140
+  TREK* = 142
+  UL_ANGLE* = 144
+  UMBRELLA* = 146
+  UR_ANGLE* = 148
+  WATCH* = 150
+  XTERM* = 152
+  LAST_CURSOR* = XTERM + 1
+
+proc TYPE_CURSOR*(): GType
+proc cursor_get_type*(): GType{.cdecl, dynlib: lib, 
+                                importc: "gdk_cursor_get_type".}
+proc cursor_new_for_screen*(screen: PScreen, cursor_type: TCursorType): PCursor{.
+    cdecl, dynlib: lib, importc: "gdk_cursor_new_for_screen".}
+proc cursor_new_from_pixmap*(source: PPixmap, mask: PPixmap, fg: PColor, 
+                             bg: PColor, x: gint, y: gint): PCursor{.cdecl, 
+    dynlib: lib, importc: "gdk_cursor_new_from_pixmap".}
+proc get_screen*(cursor: PCursor): PScreen{.cdecl, dynlib: lib, 
+    importc: "gdk_cursor_get_screen".}
+proc reference*(cursor: PCursor): PCursor{.cdecl, dynlib: lib, 
     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,
+proc unref*(cursor: PCursor){.cdecl, dynlib: lib, 
+                                     importc: "gdk_cursor_unref".}
+const 
+  ACTION_DEFAULT* = 1 shl 0
+  ACTION_COPY* = 1 shl 1
+  ACTION_MOVE* = 1 shl 2
+  ACTION_LINK* = 1 shl 3
+  ACTION_PRIVATE* = 1 shl 4
+  ACTION_ASK* = 1 shl 5
+
+proc TYPE_DRAG_CONTEXT*(): GType
+proc DRAG_CONTEXT*(anObject: Pointer): PDragContext
+proc DRAG_CONTEXT_CLASS*(klass: Pointer): PDragContextClass
+proc IS_DRAG_CONTEXT*(anObject: Pointer): bool
+proc IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool
+proc DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PDragContextClass
+proc drag_context_get_type*(): GType{.cdecl, dynlib: lib, 
+                                      importc: "gdk_drag_context_get_type".}
+proc drag_context_new*(): PDragContext{.cdecl, dynlib: lib, 
+                                        importc: "gdk_drag_context_new".}
+proc status*(context: PDragContext, action: TDragAction, time: guint32){.
+    cdecl, dynlib: lib, importc: "gdk_drag_status".}
+proc drop_reply*(context: PDragContext, ok: gboolean, time: guint32){.cdecl, 
+    dynlib: lib, importc: "gdk_drop_reply".}
+proc drop_finish*(context: PDragContext, success: gboolean, time: guint32){.
+    cdecl, dynlib: lib, importc: "gdk_drop_finish".}
+proc get_selection*(context: PDragContext): TAtom{.cdecl, dynlib: lib, 
+    importc: "gdk_drag_get_selection".}
+proc drag_begin*(window: PWindow, targets: PGList): PDragContext{.cdecl, 
+    dynlib: lib, importc: "gdk_drag_begin".}
+proc drag_get_protocol_for_display*(display: PDisplay, xid: guint32, 
+                                    protocol: PDragProtocol): guint32{.cdecl, 
+    dynlib: lib, importc: "gdk_drag_get_protocol_for_display".}
+proc find_window*(context: PDragContext, drag_window: PWindow, 
+                       x_root: gint, y_root: gint, w: var PWindow, 
+                       protocol: PDragProtocol){.cdecl, dynlib: lib, 
     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,
+proc motion*(context: PDragContext, dest_window: PWindow, 
+                  protocol: TDragProtocol, x_root: gint, y_root: gint, 
+                  suggested_action: TDragAction, possible_actions: TDragAction, 
+                  time: guint32): gboolean{.cdecl, dynlib: lib, 
+    importc: "gdk_drag_motion".}
+proc drop*(context: PDragContext, time: guint32){.cdecl, dynlib: lib, 
+    importc: "gdk_drag_drop".}
+proc abort*(context: PDragContext, time: guint32){.cdecl, dynlib: lib, 
+    importc: "gdk_drag_abort".}
+proc region_EXTENTCHECK*(r1, r2: PRegionBox): bool
+proc EXTENTS*(r: PRegionBox, idRect: PRegion)
+proc MEMCHECK*(reg: PRegion, ARect, firstrect: var PRegionBox): bool
+proc CHECK_PREVIOUS*(Reg: PRegion, R: PRegionBox, 
+                            Rx1, Ry1, Rx2, Ry2: gint): bool
+proc ADDRECT*(reg: PRegion, r: PRegionBox, rx1, ry1, rx2, ry2: gint)
+proc ADDRECTNOX*(reg: PRegion, r: PRegionBox, rx1, ry1, rx2, ry2: gint)
+proc EMPTY_REGION*(pReg: PRegion): bool
+proc REGION_NOT_EMPTY*(pReg: PRegion): bool
+proc region_INBOX*(r: TRegionBox, x, y: gint): bool
+proc TYPE_DRAWABLE*(): GType
+proc DRAWABLE*(anObject: Pointer): PDrawable
+proc DRAWABLE_CLASS*(klass: Pointer): PDrawableClass
+proc IS_DRAWABLE*(anObject: Pointer): bool
+proc IS_DRAWABLE_CLASS*(klass: Pointer): bool
+proc DRAWABLE_GET_CLASS*(obj: Pointer): PDrawableClass
+proc drawable_get_type*(): GType{.cdecl, dynlib: lib, 
+                                  importc: "gdk_drawable_get_type".}
+proc get_size*(drawable: PDrawable, width: Pgint, height: Pgint){.
+    cdecl, dynlib: lib, importc: "gdk_drawable_get_size".}
+proc set_colormap*(drawable: PDrawable, colormap: PColormap){.cdecl, 
+    dynlib: lib, importc: "gdk_drawable_set_colormap".}
+proc get_colormap*(drawable: PDrawable): PColormap{.cdecl, dynlib: lib, 
+    importc: "gdk_drawable_get_colormap".}
+proc get_visual*(drawable: PDrawable): PVisual{.cdecl, dynlib: lib, 
+    importc: "gdk_drawable_get_visual".}
+proc get_depth*(drawable: PDrawable): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_drawable_get_depth".}
+proc get_screen*(drawable: PDrawable): PScreen{.cdecl, dynlib: lib, 
+    importc: "gdk_drawable_get_screen".}
+proc get_display*(drawable: PDrawable): PDisplay{.cdecl, dynlib: lib, 
+    importc: "gdk_drawable_get_display".}
+proc point*(drawable: PDrawable, gc: PGC, x: gint, y: gint){.cdecl, 
+    dynlib: lib, importc: "gdk_draw_point".}
+proc line*(drawable: PDrawable, gc: PGC, x1: gint, y1: gint, x2: gint, 
+                y2: gint){.cdecl, dynlib: lib, importc: "gdk_draw_line".}
+proc rectangle*(drawable: PDrawable, gc: PGC, filled: gint, x: gint, 
+                     y: gint, width: gint, height: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_draw_rectangle".}
+proc arc*(drawable: PDrawable, gc: PGC, filled: gint, x: gint, y: gint, 
+               width: gint, height: gint, angle1: gint, angle2: gint){.cdecl, 
+    dynlib: lib, importc: "gdk_draw_arc".}
+proc polygon*(drawable: PDrawable, gc: PGC, filled: gint, points: PPoint, 
+                   npoints: gint){.cdecl, dynlib: lib, 
+                                   importc: "gdk_draw_polygon".}
+proc drawable*(drawable: PDrawable, gc: PGC, src: PDrawable, xsrc: gint, 
+                    ysrc: gint, xdest: gint, ydest: gint, width: gint, 
+                    height: gint){.cdecl, dynlib: lib, 
+                                   importc: "gdk_draw_drawable".}
+proc image*(drawable: PDrawable, gc: PGC, image: PImage, xsrc: gint, 
+                 ysrc: gint, xdest: gint, ydest: gint, width: gint, height: gint){.
+    cdecl, dynlib: lib, importc: "gdk_draw_image".}
+proc points*(drawable: PDrawable, gc: PGC, points: PPoint, npoints: gint){.
+    cdecl, dynlib: lib, importc: "gdk_draw_points".}
+proc segments*(drawable: PDrawable, gc: PGC, segs: PSegment, nsegs: gint){.
+    cdecl, dynlib: lib, importc: "gdk_draw_segments".}
+proc lines*(drawable: PDrawable, gc: PGC, points: PPoint, npoints: gint){.
+    cdecl, dynlib: lib, importc: "gdk_draw_lines".}
+proc glyphs*(drawable: PDrawable, gc: PGC, font: PFont, x: gint, 
+                  y: gint, glyphs: PGlyphString){.cdecl, dynlib: lib, 
+    importc: "gdk_draw_glyphs".}
+proc layout_line*(drawable: PDrawable, gc: PGC, x: gint, y: gint, 
+                       line: PLayoutLine){.cdecl, dynlib: lib, 
     importc: "gdk_draw_layout_line".}
-proc gdk_draw_layout*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint,
-                      layout: PPangoLayout){.cdecl, dynlib: gdklib,
+proc layout*(drawable: PDrawable, gc: PGC, x: gint, y: gint, 
+                  layout: PLayout){.cdecl, dynlib: lib, 
     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
+proc layout_line_with_colors*(drawable: PDrawable, gc: PGC, x: gint, 
+                                   y: gint, line: PLayoutLine, 
+                                   foreground: PColor, background: PColor){.
+    cdecl, dynlib: lib, importc: "gdk_draw_layout_line_with_colors".}
+proc layout_with_colors*(drawable: PDrawable, gc: PGC, x: gint, y: gint, 
+                              layout: PLayout, foreground: PColor, 
+                              background: PColor){.cdecl, dynlib: lib, 
+    importc: "gdk_draw_layout_with_colors".}
+proc get_image*(drawable: PDrawable, x: gint, y: gint, width: gint, 
+                         height: gint): PImage{.cdecl, dynlib: lib, 
+    importc: "gdk_drawable_get_image".}
+proc get_clip_region*(drawable: PDrawable): PRegion{.cdecl, 
+    dynlib: lib, importc: "gdk_drawable_get_clip_region".}
+proc get_visible_region*(drawable: PDrawable): PRegion{.cdecl, 
+    dynlib: lib, importc: "gdk_drawable_get_visible_region".}
+const 
+  NOTHING* = - (1)
+  DELETE* = 0
+  constDESTROY* = 1
+  EXPOSE* = 2
+  MOTION_NOTIFY* = 3
+  BUTTON_PRESS* = 4
+  BUTTON2_PRESS* = 5
+  BUTTON3_PRESS* = 6
+  BUTTON_RELEASE* = 7
+  KEY_PRESS* = 8
+  KEY_RELEASE* = 9
+  ENTER_NOTIFY* = 10
+  LEAVE_NOTIFY* = 11
+  FOCUS_CHANGE* = 12
+  CONFIGURE* = 13
+  MAP* = 14
+  UNMAP* = 15
+  PROPERTY_NOTIFY* = 16
+  SELECTION_CLEAR* = 17
+  SELECTION_REQUEST* = 18
+  SELECTION_NOTIFY* = 19
+  PROXIMITY_IN* = 20
+  PROXIMITY_OUT* = 21
+  DRAG_ENTER* = 22
+  DRAG_LEAVE* = 23
+  DRAG_MOTION_EVENT* = 24
+  DRAG_STATUS_EVENT* = 25
+  DROP_START* = 26
+  DROP_FINISHED* = 27
+  CLIENT_EVENT* = 28
+  VISIBILITY_NOTIFY* = 29
+  NO_EXPOSE* = 30
+  constSCROLL* = 31
+  WINDOW_STATE* = 32
+  SETTING* = 33
+  NOTIFY_ANCESTOR* = 0
+  NOTIFY_VIRTUAL* = 1
+  NOTIFY_INFERIOR* = 2
+  NOTIFY_NONLINEAR* = 3
+  NOTIFY_NONLINEAR_VIRTUAL* = 4
+  NOTIFY_UNKNOWN* = 5
+
+proc 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,
+  PRIORITY_EVENTS* = G_PRIORITY_DEFAULT #GDK_PRIORITY_REDRAW* = G_PRIORITY_HIGH_IDLE + 20
+  EXPOSURE_MASK* = 1 shl 1
+  POINTER_MOTION_MASK* = 1 shl 2
+  POINTER_MOTION_HINT_MASK* = 1 shl 3
+  BUTTON_MOTION_MASK* = 1 shl 4
+  BUTTON1_MOTION_MASK* = 1 shl 5
+  BUTTON2_MOTION_MASK* = 1 shl 6
+  BUTTON3_MOTION_MASK* = 1 shl 7
+  BUTTON_PRESS_MASK* = 1 shl 8
+  BUTTON_RELEASE_MASK* = 1 shl 9
+  KEY_PRESS_MASK* = 1 shl 10
+  KEY_RELEASE_MASK* = 1 shl 11
+  ENTER_NOTIFY_MASK* = 1 shl 12
+  LEAVE_NOTIFY_MASK* = 1 shl 13
+  FOCUS_CHANGE_MASK* = 1 shl 14
+  STRUCTURE_MASK* = 1 shl 15
+  PROPERTY_CHANGE_MASK* = 1 shl 16
+  VISIBILITY_NOTIFY_MASK* = 1 shl 17
+  PROXIMITY_IN_MASK* = 1 shl 18
+  PROXIMITY_OUT_MASK* = 1 shl 19
+  SUBSTRUCTURE_MASK* = 1 shl 20
+  SCROLL_MASK* = 1 shl 21
+  ALL_EVENTS_MASK* = 0x003FFFFE
+  WINDOW_STATE_WITHDRAWN* = 1 shl 0
+  WINDOW_STATE_ICONIFIED* = 1 shl 1
+  WINDOW_STATE_MAXIMIZED* = 1 shl 2
+  WINDOW_STATE_STICKY* = 1 shl 3
+
+proc event_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_event_get_type".}
+proc events_pending*(): gboolean{.cdecl, dynlib: lib, 
+                                  importc: "gdk_events_pending".}
+proc event_get*(): PEvent{.cdecl, dynlib: lib, importc: "gdk_event_get".}
+proc event_peek*(): PEvent{.cdecl, dynlib: lib, importc: "gdk_event_peek".}
+proc event_get_graphics_expose*(window: PWindow): PEvent{.cdecl, dynlib: lib, 
+    importc: "gdk_event_get_graphics_expose".}
+proc put*(event: PEvent){.cdecl, dynlib: lib, importc: "gdk_event_put".}
+proc copy*(event: PEvent): PEvent{.cdecl, dynlib: lib, 
     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,
+proc free*(event: PEvent){.cdecl, dynlib: lib, importc: "gdk_event_free".}
+proc get_time*(event: PEvent): guint32{.cdecl, dynlib: lib, 
     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,
+proc get_state*(event: PEvent, state: PModifierType): gboolean{.cdecl, 
+    dynlib: lib, importc: "gdk_event_get_state".}
+proc get_coords*(event: PEvent, x_win: Pgdouble, y_win: Pgdouble): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_event_get_coords".}
+proc get_root_coords*(event: PEvent, x_root: Pgdouble, y_root: Pgdouble): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_event_get_root_coords".}
+proc get_axis*(event: PEvent, axis_use: TAxisUse, value: Pgdouble): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_event_get_axis".}
+proc event_handler_set*(func: TEventFunc, data: gpointer, 
+                        notify: TGDestroyNotify){.cdecl, dynlib: lib, 
     importc: "gdk_event_handler_set".}
-proc gdk_set_show_events*(show_events: gboolean){.cdecl, dynlib: gdklib,
+proc set_show_events*(show_events: gboolean){.cdecl, dynlib: lib, 
     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,
+proc get_show_events*(): gboolean{.cdecl, dynlib: lib, 
+                                   importc: "gdk_get_show_events".}
+proc TYPE_FONT*(): GType
+proc font_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_font_get_type".}
+proc font_load_for_display*(display: PDisplay, font_name: cstring): PFont{.
+    cdecl, dynlib: lib, importc: "gdk_font_load_for_display".}
+proc fontset_load_for_display*(display: PDisplay, fontset_name: cstring): PFont{.
+    cdecl, dynlib: lib, importc: "gdk_fontset_load_for_display".}
+proc font_from_description_for_display*(display: PDisplay, 
+                                        font_desc: PFontDescription): PFont{.
+    cdecl, dynlib: lib, importc: "gdk_font_from_description_for_display".}
+proc reference*(font: PFont): PFont{.cdecl, dynlib: lib, importc: "gdk_font_ref".}
+proc unref*(font: PFont){.cdecl, dynlib: lib, importc: "gdk_font_unref".}
+proc id*(font: PFont): gint{.cdecl, dynlib: lib, importc: "gdk_font_id".}
+proc equal*(fonta: PFont, fontb: PFont): gboolean{.cdecl, dynlib: lib, 
+    importc: "gdk_font_equal".}
+proc string_width*(font: PFont, `string`: cstring): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_string_width".}
+proc text_width*(font: PFont, text: cstring, text_length: gint): gint{.cdecl, 
+    dynlib: lib, importc: "gdk_text_width".}
+proc text_width_wc*(font: PFont, text: PWChar, text_length: gint): gint{.cdecl, 
+    dynlib: lib, importc: "gdk_text_width_wc".}
+proc char_width*(font: PFont, character: gchar): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_char_width".}
+proc char_width_wc*(font: PFont, character: TWChar): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_char_width_wc".}
+proc string_measure*(font: PFont, `string`: cstring): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_string_measure".}
+proc text_measure*(font: PFont, text: cstring, text_length: gint): gint{.cdecl, 
+    dynlib: lib, importc: "gdk_text_measure".}
+proc char_measure*(font: PFont, character: gchar): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_char_measure".}
+proc string_height*(font: PFont, `string`: cstring): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_string_height".}
+proc text_height*(font: PFont, text: cstring, text_length: gint): gint{.cdecl, 
+    dynlib: lib, importc: "gdk_text_height".}
+proc char_height*(font: PFont, character: gchar): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_char_height".}
+proc text_extents*(font: PFont, text: cstring, text_length: gint, 
+                   lbearing: Pgint, rbearing: Pgint, width: Pgint, 
+                   ascent: Pgint, descent: Pgint){.cdecl, dynlib: lib, 
     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,
+proc text_extents_wc*(font: PFont, text: PWChar, text_length: gint, 
+                      lbearing: Pgint, rbearing: Pgint, width: Pgint, 
+                      ascent: Pgint, descent: Pgint){.cdecl, dynlib: lib, 
     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,
+proc string_extents*(font: PFont, `string`: cstring, lbearing: Pgint, 
+                     rbearing: Pgint, width: Pgint, ascent: Pgint, 
+                     descent: Pgint){.cdecl, dynlib: lib, 
+                                      importc: "gdk_string_extents".}
+proc get_display*(font: PFont): PDisplay{.cdecl, dynlib: lib, 
     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,
+const 
+  GC_FOREGROUND* = 1 shl 0
+  GC_BACKGROUND* = 1 shl 1
+  GC_FONT* = 1 shl 2
+  GC_FUNCTION* = 1 shl 3
+  GC_FILL* = 1 shl 4
+  GC_TILE* = 1 shl 5
+  GC_STIPPLE* = 1 shl 6
+  GC_CLIP_MASK* = 1 shl 7
+  GC_SUBWINDOW* = 1 shl 8
+  GC_TS_X_ORIGIN* = 1 shl 9
+  GC_TS_Y_ORIGIN* = 1 shl 10
+  GC_CLIP_X_ORIGIN* = 1 shl 11
+  GC_CLIP_Y_ORIGIN* = 1 shl 12
+  GC_EXPOSURES* = 1 shl 13
+  GC_LINE_WIDTH* = 1 shl 14
+  GC_LINE_STYLE* = 1 shl 15
+  GC_CAP_STYLE* = 1 shl 16
+  GC_JOIN_STYLE* = 1 shl 17
+  CLIP_BY_CHILDREN* = 0
+  INCLUDE_INFERIORS* = 1
+
+proc TYPE_GC*(): GType
+proc GC*(anObject: Pointer): PGC
+proc GC_CLASS*(klass: Pointer): PGCClass
+proc IS_GC*(anObject: Pointer): bool
+proc IS_GC_CLASS*(klass: Pointer): bool
+proc GC_GET_CLASS*(obj: Pointer): PGCClass
+proc gc_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_gc_get_type".}
+proc gc_new*(drawable: PDrawable): PGC{.cdecl, dynlib: lib, 
+                                        importc: "gdk_gc_new".}
+proc gc_new_with_values*(drawable: PDrawable, values: PGCValues, 
+                         values_mask: TGCValuesMask): PGC{.cdecl, dynlib: lib, 
+    importc: "gdk_gc_new_with_values".}
+proc get_values*(gc: PGC, values: PGCValues){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_get_values".}
+proc set_values*(gc: PGC, values: PGCValues, values_mask: TGCValuesMask){.
+    cdecl, dynlib: lib, importc: "gdk_gc_set_values".}
+proc set_foreground*(gc: PGC, color: PColor){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_foreground".}
+proc set_background*(gc: PGC, color: PColor){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_background".}
+proc set_function*(gc: PGC, `function`: TFunction){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_function".}
+proc set_fill*(gc: PGC, fill: TFill){.cdecl, dynlib: lib, 
     importc: "gdk_gc_set_fill".}
-proc gdk_gc_set_tile*(gc: PGdkGC, tile: PGdkPixmap){.cdecl, dynlib: gdklib,
+proc set_tile*(gc: PGC, tile: PPixmap){.cdecl, dynlib: lib, 
     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,
+proc set_stipple*(gc: PGC, stipple: PPixmap){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_stipple".}
+proc set_ts_origin*(gc: PGC, x: gint, y: gint){.cdecl, dynlib: lib, 
     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,
+proc set_clip_origin*(gc: PGC, x: gint, y: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_clip_origin".}
+proc set_clip_mask*(gc: PGC, mask: PBitmap){.cdecl, dynlib: lib, 
     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,
+proc set_clip_rectangle*(gc: PGC, rectangle: PRectangle){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_clip_rectangle".}
+proc set_clip_region*(gc: PGC, region: PRegion){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_clip_region".}
+proc set_subwindow*(gc: PGC, mode: TSubwindowMode){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_subwindow".}
+proc set_exposures*(gc: PGC, exposures: gboolean){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_exposures".}
+proc set_line_attributes*(gc: PGC, line_width: gint, line_style: TLineStyle, 
+                             cap_style: TCapStyle, join_style: TJoinStyle){.
+    cdecl, dynlib: lib, importc: "gdk_gc_set_line_attributes".}
+proc set_dashes*(gc: PGC, dash_offset: gint, dash_list: openarray[gint8]){.
+    cdecl, dynlib: lib, importc: "gdk_gc_set_dashes".}
+proc offset*(gc: PGC, x_offset: gint, y_offset: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_offset".}
+proc copy*(dst_gc: PGC, src_gc: PGC){.cdecl, dynlib: lib, 
     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,
+proc set_colormap*(gc: PGC, colormap: PColormap){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_colormap".}
+proc get_colormap*(gc: PGC): PColormap{.cdecl, dynlib: lib, 
     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,
+proc set_rgb_fg_color*(gc: PGC, color: PColor){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_rgb_fg_color".}
+proc set_rgb_bg_color*(gc: PGC, color: PColor){.cdecl, dynlib: lib, 
+    importc: "gdk_gc_set_rgb_bg_color".}
+proc get_screen*(gc: PGC): PScreen{.cdecl, dynlib: lib, 
+                                       importc: "gdk_gc_get_screen".}
+proc TYPE_IMAGE*(): GType
+proc IMAGE*(anObject: Pointer): PImage
+proc IMAGE_CLASS*(klass: Pointer): PImageClass
+proc IS_IMAGE*(anObject: Pointer): bool
+proc IS_IMAGE_CLASS*(klass: Pointer): bool
+proc IMAGE_GET_CLASS*(obj: Pointer): PImageClass
+proc image_get_type*(): GType{.cdecl, dynlib: lib, importc: "gdk_image_get_type".}
+proc image_new*(`type`: TImageType, visual: PVisual, width: gint, height: gint): PImage{.
+    cdecl, dynlib: lib, importc: "gdk_image_new".}
+proc put_pixel*(image: PImage, x: gint, y: gint, pixel: guint32){.cdecl, 
+    dynlib: lib, importc: "gdk_image_put_pixel".}
+proc get_pixel*(image: PImage, x: gint, y: gint): guint32{.cdecl, 
+    dynlib: lib, importc: "gdk_image_get_pixel".}
+proc set_colormap*(image: PImage, colormap: PColormap){.cdecl, 
+    dynlib: lib, importc: "gdk_image_set_colormap".}
+proc get_colormap*(image: PImage): PColormap{.cdecl, dynlib: lib, 
+    importc: "gdk_image_get_colormap".}
+const 
+  AXIS_IGNORE* = 0
+  AXIS_X* = 1
+  AXIS_Y* = 2
+  AXIS_PRESSURE* = 3
+  AXIS_XTILT* = 4
+  AXIS_YTILT* = 5
+  AXIS_WHEEL* = 6
+  AXIS_LAST* = 7
+
+proc TYPE_DEVICE*(): GType
+proc DEVICE*(anObject: Pointer): PDevice
+proc DEVICE_CLASS*(klass: Pointer): PDeviceClass
+proc IS_DEVICE*(anObject: Pointer): bool
+proc IS_DEVICE_CLASS*(klass: Pointer): bool
+proc DEVICE_GET_CLASS*(obj: Pointer): PDeviceClass
+proc device_get_type*(): GType{.cdecl, dynlib: lib, 
+                                importc: "gdk_device_get_type".}
+proc set_source*(device: PDevice, source: TInputSource){.cdecl, 
+    dynlib: lib, importc: "gdk_device_set_source".}
+proc set_mode*(device: PDevice, mode: TInputMode): gboolean{.cdecl, 
+    dynlib: lib, importc: "gdk_device_set_mode".}
+proc set_key*(device: PDevice, index: guint, keyval: guint, 
+                     modifiers: TModifierType){.cdecl, dynlib: lib, 
     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,
+proc set_axis_use*(device: PDevice, index: guint, use: TAxisUse){.cdecl, 
+    dynlib: lib, importc: "gdk_device_set_axis_use".}
+proc get_state*(device: PDevice, window: PWindow, axes: Pgdouble, 
+                       mask: PModifierType){.cdecl, dynlib: lib, 
+    importc: "gdk_device_get_state".}
+proc get_history*(device: PDevice, window: PWindow, start: guint32, 
+                         stop: guint32, s: var PPTimeCoord, n_events: Pgint): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_device_get_history".}
+proc device_free_history*(events: PPTimeCoord, n_events: gint){.cdecl, 
+    dynlib: lib, importc: "gdk_device_free_history".}
+proc get_axis*(device: PDevice, axes: Pgdouble, use: TAxisUse, 
+                      value: Pgdouble): gboolean{.cdecl, dynlib: lib, 
     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,
+proc input_set_extension_events*(window: PWindow, mask: gint, 
+                                 mode: TExtensionMode){.cdecl, dynlib: lib, 
+    importc: "gdk_input_set_extension_events".}
+proc device_get_core_pointer*(): PDevice{.cdecl, dynlib: lib, 
     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,
+proc TYPE_KEYMAP*(): GType
+proc KEYMAP*(anObject: Pointer): PKeymap
+proc KEYMAP_CLASS*(klass: Pointer): PKeymapClass
+proc IS_KEYMAP*(anObject: Pointer): bool
+proc IS_KEYMAP_CLASS*(klass: Pointer): bool
+proc KEYMAP_GET_CLASS*(obj: Pointer): PKeymapClass
+proc keymap_get_type*(): GType{.cdecl, dynlib: lib, 
+                                importc: "gdk_keymap_get_type".}
+proc keymap_get_for_display*(display: PDisplay): PKeymap{.cdecl, dynlib: lib, 
+    importc: "gdk_keymap_get_for_display".}
+proc lookup_key*(keymap: PKeymap, key: PKeymapKey): guint{.cdecl, 
+    dynlib: lib, importc: "gdk_keymap_lookup_key".}
+proc translate_keyboard_state*(keymap: PKeymap, hardware_keycode: guint, 
+                                      state: TModifierType, group: gint, 
+                                      keyval: Pguint, effective_group: Pgint, 
+                                      level: Pgint, 
+                                      consumed_modifiers: PModifierType): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_keymap_translate_keyboard_state".}
+proc get_entries_for_keyval*(keymap: PKeymap, keyval: guint, 
+                                    s: var PKeymapKey, n_keys: Pgint): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_keymap_get_entries_for_keyval".}
+proc get_entries_for_keycode*(keymap: PKeymap, hardware_keycode: guint, 
+                                     s: var PKeymapKey, sasdf: var Pguint, 
+                                     n_entries: Pgint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gdk_keymap_get_entries_for_keycode".}
+proc get_direction*(keymap: PKeymap): TDirection{.cdecl, 
+    dynlib: lib, importc: "gdk_keymap_get_direction".}
+proc keyval_name*(keyval: guint): cstring{.cdecl, dynlib: lib, 
     importc: "gdk_keyval_name".}
-proc gdk_keyval_from_name*(keyval_name: cstring): guint{.cdecl, dynlib: gdklib,
+proc keyval_from_name*(keyval_name: cstring): guint{.cdecl, dynlib: lib, 
     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,
+proc keyval_convert_case*(symbol: guint, lower: Pguint, upper: Pguint){.cdecl, 
+    dynlib: lib, importc: "gdk_keyval_convert_case".}
+proc keyval_to_upper*(keyval: guint): guint{.cdecl, dynlib: lib, 
     importc: "gdk_keyval_to_upper".}
-proc gdk_keyval_to_lower*(keyval: guint): guint{.cdecl, dynlib: gdklib,
+proc keyval_to_lower*(keyval: guint): guint{.cdecl, dynlib: lib, 
     importc: "gdk_keyval_to_lower".}
-proc gdk_keyval_is_upper*(keyval: guint): gboolean{.cdecl, dynlib: gdklib,
+proc keyval_is_upper*(keyval: guint): gboolean{.cdecl, dynlib: lib, 
     importc: "gdk_keyval_is_upper".}
-proc gdk_keyval_is_lower*(keyval: guint): gboolean{.cdecl, dynlib: gdklib,
+proc keyval_is_lower*(keyval: guint): gboolean{.cdecl, dynlib: lib, 
     importc: "gdk_keyval_is_lower".}
-proc gdk_keyval_to_unicode*(keyval: guint): guint32{.cdecl, dynlib: gdklib,
+proc keyval_to_unicode*(keyval: guint): guint32{.cdecl, dynlib: lib, 
     importc: "gdk_keyval_to_unicode".}
-proc gdk_unicode_to_keyval*(wc: guint32): guint{.cdecl, dynlib: gdklib,
+proc unicode_to_keyval*(wc: guint32): guint{.cdecl, dynlib: lib, 
     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,
+const 
+  KEY_VoidSymbol* = 0x00FFFFFF
+  KEY_BackSpace* = 0x0000FF08
+  KEY_Tab* = 0x0000FF09
+  KEY_Linefeed* = 0x0000FF0A
+  KEY_Clear* = 0x0000FF0B
+  KEY_Return* = 0x0000FF0D
+  KEY_Pause* = 0x0000FF13
+  KEY_Scroll_Lock* = 0x0000FF14
+  KEY_Sys_Req* = 0x0000FF15
+  KEY_Escape* = 0x0000FF1B
+  KEY_Delete* = 0x0000FFFF
+  KEY_Multi_key* = 0x0000FF20
+  KEY_Codeinput* = 0x0000FF37
+  KEY_SingleCandidate* = 0x0000FF3C
+  KEY_MultipleCandidate* = 0x0000FF3D
+  KEY_PreviousCandidate* = 0x0000FF3E
+  KEY_Kanji* = 0x0000FF21
+  KEY_Muhenkan* = 0x0000FF22
+  KEY_Henkan_Mode* = 0x0000FF23
+  KEY_Henkan* = 0x0000FF23
+  KEY_Romaji* = 0x0000FF24
+  KEY_Hiragana* = 0x0000FF25
+  KEY_Katakana* = 0x0000FF26
+  KEY_Hiragana_Katakana* = 0x0000FF27
+  KEY_Zenkaku* = 0x0000FF28
+  KEY_Hankaku* = 0x0000FF29
+  KEY_Zenkaku_Hankaku* = 0x0000FF2A
+  KEY_Touroku* = 0x0000FF2B
+  KEY_Massyo* = 0x0000FF2C
+  KEY_Kana_Lock* = 0x0000FF2D
+  KEY_Kana_Shift* = 0x0000FF2E
+  KEY_Eisu_Shift* = 0x0000FF2F
+  KEY_Eisu_toggle* = 0x0000FF30
+  KEY_Kanji_Bangou* = 0x0000FF37
+  KEY_Zen_Koho* = 0x0000FF3D
+  KEY_Mae_Koho* = 0x0000FF3E
+  KEY_Home* = 0x0000FF50
+  KEY_Left* = 0x0000FF51
+  KEY_Up* = 0x0000FF52
+  KEY_Right* = 0x0000FF53
+  KEY_Down* = 0x0000FF54
+  KEY_Prior* = 0x0000FF55
+  KEY_Page_Up* = 0x0000FF55
+  KEY_Next* = 0x0000FF56
+  KEY_Page_Down* = 0x0000FF56
+  KEY_End* = 0x0000FF57
+  KEY_Begin* = 0x0000FF58
+  KEY_Select* = 0x0000FF60
+  KEY_Print* = 0x0000FF61
+  KEY_Execute* = 0x0000FF62
+  KEY_Insert* = 0x0000FF63
+  KEY_Undo* = 0x0000FF65
+  KEY_Redo* = 0x0000FF66
+  KEY_Menu* = 0x0000FF67
+  KEY_Find* = 0x0000FF68
+  KEY_Cancel* = 0x0000FF69
+  KEY_Help* = 0x0000FF6A
+  KEY_Break* = 0x0000FF6B
+  KEY_Mode_switch* = 0x0000FF7E
+  KEY_script_switch* = 0x0000FF7E
+  KEY_Num_Lock* = 0x0000FF7F
+  KEY_KP_Space* = 0x0000FF80
+  KEY_KP_Tab* = 0x0000FF89
+  KEY_KP_Enter* = 0x0000FF8D
+  KEY_KP_F1* = 0x0000FF91
+  KEY_KP_F2* = 0x0000FF92
+  KEY_KP_F3* = 0x0000FF93
+  KEY_KP_F4* = 0x0000FF94
+  KEY_KP_Home* = 0x0000FF95
+  KEY_KP_Left* = 0x0000FF96
+  KEY_KP_Up* = 0x0000FF97
+  KEY_KP_Right* = 0x0000FF98
+  KEY_KP_Down* = 0x0000FF99
+  KEY_KP_Prior* = 0x0000FF9A
+  KEY_KP_Page_Up* = 0x0000FF9A
+  KEY_KP_Next* = 0x0000FF9B
+  KEY_KP_Page_Down* = 0x0000FF9B
+  KEY_KP_End* = 0x0000FF9C
+  KEY_KP_Begin* = 0x0000FF9D
+  KEY_KP_Insert* = 0x0000FF9E
+  KEY_KP_Delete* = 0x0000FF9F
+  KEY_KP_Equal* = 0x0000FFBD
+  KEY_KP_Multiply* = 0x0000FFAA
+  KEY_KP_Add* = 0x0000FFAB
+  KEY_KP_Separator* = 0x0000FFAC
+  KEY_KP_Subtract* = 0x0000FFAD
+  KEY_KP_Decimal* = 0x0000FFAE
+  KEY_KP_Divide* = 0x0000FFAF
+  KEY_KP_0* = 0x0000FFB0
+  KEY_KP_1* = 0x0000FFB1
+  KEY_KP_2* = 0x0000FFB2
+  KEY_KP_3* = 0x0000FFB3
+  KEY_KP_4* = 0x0000FFB4
+  KEY_KP_5* = 0x0000FFB5
+  KEY_KP_6* = 0x0000FFB6
+  KEY_KP_7* = 0x0000FFB7
+  KEY_KP_8* = 0x0000FFB8
+  KEY_KP_9* = 0x0000FFB9
+  KEY_F1* = 0x0000FFBE
+  KEY_F2* = 0x0000FFBF
+  KEY_F3* = 0x0000FFC0
+  KEY_F4* = 0x0000FFC1
+  KEY_F5* = 0x0000FFC2
+  KEY_F6* = 0x0000FFC3
+  KEY_F7* = 0x0000FFC4
+  KEY_F8* = 0x0000FFC5
+  KEY_F9* = 0x0000FFC6
+  KEY_F10* = 0x0000FFC7
+  KEY_F11* = 0x0000FFC8
+  KEY_L1* = 0x0000FFC8
+  KEY_F12* = 0x0000FFC9
+  KEY_L2* = 0x0000FFC9
+  KEY_F13* = 0x0000FFCA
+  KEY_L3* = 0x0000FFCA
+  KEY_F14* = 0x0000FFCB
+  KEY_L4* = 0x0000FFCB
+  KEY_F15* = 0x0000FFCC
+  KEY_L5* = 0x0000FFCC
+  KEY_F16* = 0x0000FFCD
+  KEY_L6* = 0x0000FFCD
+  KEY_F17* = 0x0000FFCE
+  KEY_L7* = 0x0000FFCE
+  KEY_F18* = 0x0000FFCF
+  KEY_L8* = 0x0000FFCF
+  KEY_F19* = 0x0000FFD0
+  KEY_L9* = 0x0000FFD0
+  KEY_F20* = 0x0000FFD1
+  KEY_L10* = 0x0000FFD1
+  KEY_F21* = 0x0000FFD2
+  KEY_R1* = 0x0000FFD2
+  KEY_F22* = 0x0000FFD3
+  KEY_R2* = 0x0000FFD3
+  KEY_F23* = 0x0000FFD4
+  KEY_R3* = 0x0000FFD4
+  KEY_F24* = 0x0000FFD5
+  KEY_R4* = 0x0000FFD5
+  KEY_F25* = 0x0000FFD6
+  KEY_R5* = 0x0000FFD6
+  KEY_F26* = 0x0000FFD7
+  KEY_R6* = 0x0000FFD7
+  KEY_F27* = 0x0000FFD8
+  KEY_R7* = 0x0000FFD8
+  KEY_F28* = 0x0000FFD9
+  KEY_R8* = 0x0000FFD9
+  KEY_F29* = 0x0000FFDA
+  KEY_R9* = 0x0000FFDA
+  KEY_F30* = 0x0000FFDB
+  KEY_R10* = 0x0000FFDB
+  KEY_F31* = 0x0000FFDC
+  KEY_R11* = 0x0000FFDC
+  KEY_F32* = 0x0000FFDD
+  KEY_R12* = 0x0000FFDD
+  KEY_F33* = 0x0000FFDE
+  KEY_R13* = 0x0000FFDE
+  KEY_F34* = 0x0000FFDF
+  KEY_R14* = 0x0000FFDF
+  KEY_F35* = 0x0000FFE0
+  KEY_R15* = 0x0000FFE0
+  KEY_Shift_L* = 0x0000FFE1
+  KEY_Shift_R* = 0x0000FFE2
+  KEY_Control_L* = 0x0000FFE3
+  KEY_Control_R* = 0x0000FFE4
+  KEY_Caps_Lock* = 0x0000FFE5
+  KEY_Shift_Lock* = 0x0000FFE6
+  KEY_Meta_L* = 0x0000FFE7
+  KEY_Meta_R* = 0x0000FFE8
+  KEY_Alt_L* = 0x0000FFE9
+  KEY_Alt_R* = 0x0000FFEA
+  KEY_Super_L* = 0x0000FFEB
+  KEY_Super_R* = 0x0000FFEC
+  KEY_Hyper_L* = 0x0000FFED
+  KEY_Hyper_R* = 0x0000FFEE
+  KEY_ISO_Lock* = 0x0000FE01
+  KEY_ISO_Level2_Latch* = 0x0000FE02
+  KEY_ISO_Level3_Shift* = 0x0000FE03
+  KEY_ISO_Level3_Latch* = 0x0000FE04
+  KEY_ISO_Level3_Lock* = 0x0000FE05
+  KEY_ISO_Group_Shift* = 0x0000FF7E
+  KEY_ISO_Group_Latch* = 0x0000FE06
+  KEY_ISO_Group_Lock* = 0x0000FE07
+  KEY_ISO_Next_Group* = 0x0000FE08
+  KEY_ISO_Next_Group_Lock* = 0x0000FE09
+  KEY_ISO_Prev_Group* = 0x0000FE0A
+  KEY_ISO_Prev_Group_Lock* = 0x0000FE0B
+  KEY_ISO_First_Group* = 0x0000FE0C
+  KEY_ISO_First_Group_Lock* = 0x0000FE0D
+  KEY_ISO_Last_Group* = 0x0000FE0E
+  KEY_ISO_Last_Group_Lock* = 0x0000FE0F
+  KEY_ISO_Left_Tab* = 0x0000FE20
+  KEY_ISO_Move_Line_Up* = 0x0000FE21
+  KEY_ISO_Move_Line_Down* = 0x0000FE22
+  KEY_ISO_Partial_Line_Up* = 0x0000FE23
+  KEY_ISO_Partial_Line_Down* = 0x0000FE24
+  KEY_ISO_Partial_Space_Left* = 0x0000FE25
+  KEY_ISO_Partial_Space_Right* = 0x0000FE26
+  KEY_ISO_Set_Margin_Left* = 0x0000FE27
+  KEY_ISO_Set_Margin_Right* = 0x0000FE28
+  KEY_ISO_Release_Margin_Left* = 0x0000FE29
+  KEY_ISO_Release_Margin_Right* = 0x0000FE2A
+  KEY_ISO_Release_Both_Margins* = 0x0000FE2B
+  KEY_ISO_Fast_Cursor_Left* = 0x0000FE2C
+  KEY_ISO_Fast_Cursor_Right* = 0x0000FE2D
+  KEY_ISO_Fast_Cursor_Up* = 0x0000FE2E
+  KEY_ISO_Fast_Cursor_Down* = 0x0000FE2F
+  KEY_ISO_Continuous_Underline* = 0x0000FE30
+  KEY_ISO_Discontinuous_Underline* = 0x0000FE31
+  KEY_ISO_Emphasize* = 0x0000FE32
+  KEY_ISO_Center_Object* = 0x0000FE33
+  KEY_ISO_Enter* = 0x0000FE34
+  KEY_dead_grave* = 0x0000FE50
+  KEY_dead_acute* = 0x0000FE51
+  KEY_dead_circumflex* = 0x0000FE52
+  KEY_dead_tilde* = 0x0000FE53
+  KEY_dead_macron* = 0x0000FE54
+  KEY_dead_breve* = 0x0000FE55
+  KEY_dead_abovedot* = 0x0000FE56
+  KEY_dead_diaeresis* = 0x0000FE57
+  KEY_dead_abovering* = 0x0000FE58
+  KEY_dead_doubleacute* = 0x0000FE59
+  KEY_dead_caron* = 0x0000FE5A
+  KEY_dead_cedilla* = 0x0000FE5B
+  KEY_dead_ogonek* = 0x0000FE5C
+  KEY_dead_iota* = 0x0000FE5D
+  KEY_dead_voiced_sound* = 0x0000FE5E
+  KEY_dead_semivoiced_sound* = 0x0000FE5F
+  KEY_dead_belowdot* = 0x0000FE60
+  KEY_First_Virtual_Screen* = 0x0000FED0
+  KEY_Prev_Virtual_Screen* = 0x0000FED1
+  KEY_Next_Virtual_Screen* = 0x0000FED2
+  KEY_Last_Virtual_Screen* = 0x0000FED4
+  KEY_Terminate_Server* = 0x0000FED5
+  KEY_AccessX_Enable* = 0x0000FE70
+  KEY_AccessX_Feedback_Enable* = 0x0000FE71
+  KEY_RepeatKeys_Enable* = 0x0000FE72
+  KEY_SlowKeys_Enable* = 0x0000FE73
+  KEY_BounceKeys_Enable* = 0x0000FE74
+  KEY_StickyKeys_Enable* = 0x0000FE75
+  KEY_MouseKeys_Enable* = 0x0000FE76
+  KEY_MouseKeys_Accel_Enable* = 0x0000FE77
+  KEY_Overlay1_Enable* = 0x0000FE78
+  KEY_Overlay2_Enable* = 0x0000FE79
+  KEY_AudibleBell_Enable* = 0x0000FE7A
+  KEY_Pointer_Left* = 0x0000FEE0
+  KEY_Pointer_Right* = 0x0000FEE1
+  KEY_Pointer_Up* = 0x0000FEE2
+  KEY_Pointer_Down* = 0x0000FEE3
+  KEY_Pointer_UpLeft* = 0x0000FEE4
+  KEY_Pointer_UpRight* = 0x0000FEE5
+  KEY_Pointer_DownLeft* = 0x0000FEE6
+  KEY_Pointer_DownRight* = 0x0000FEE7
+  KEY_Pointer_Button_Dflt* = 0x0000FEE8
+  KEY_Pointer_Button1* = 0x0000FEE9
+  KEY_Pointer_Button2* = 0x0000FEEA
+  KEY_Pointer_Button3* = 0x0000FEEB
+  KEY_Pointer_Button4* = 0x0000FEEC
+  KEY_Pointer_Button5* = 0x0000FEED
+  KEY_Pointer_DblClick_Dflt* = 0x0000FEEE
+  KEY_Pointer_DblClick1* = 0x0000FEEF
+  KEY_Pointer_DblClick2* = 0x0000FEF0
+  KEY_Pointer_DblClick3* = 0x0000FEF1
+  KEY_Pointer_DblClick4* = 0x0000FEF2
+  KEY_Pointer_DblClick5* = 0x0000FEF3
+  KEY_Pointer_Drag_Dflt* = 0x0000FEF4
+  KEY_Pointer_Drag1* = 0x0000FEF5
+  KEY_Pointer_Drag2* = 0x0000FEF6
+  KEY_Pointer_Drag3* = 0x0000FEF7
+  KEY_Pointer_Drag4* = 0x0000FEF8
+  KEY_Pointer_Drag5* = 0x0000FEFD
+  KEY_Pointer_EnableKeys* = 0x0000FEF9
+  KEY_Pointer_Accelerate* = 0x0000FEFA
+  KEY_Pointer_DfltBtnNext* = 0x0000FEFB
+  KEY_Pointer_DfltBtnPrev* = 0x0000FEFC
+  KEY_3270_Duplicate* = 0x0000FD01
+  KEY_3270_FieldMark* = 0x0000FD02
+  KEY_3270_Right2* = 0x0000FD03
+  KEY_3270_Left2* = 0x0000FD04
+  KEY_3270_BackTab* = 0x0000FD05
+  KEY_3270_EraseEOF* = 0x0000FD06
+  KEY_3270_EraseInput* = 0x0000FD07
+  KEY_3270_Reset* = 0x0000FD08
+  KEY_3270_Quit* = 0x0000FD09
+  KEY_3270_PA1* = 0x0000FD0A
+  KEY_3270_PA2* = 0x0000FD0B
+  KEY_3270_PA3* = 0x0000FD0C
+  KEY_3270_Test* = 0x0000FD0D
+  KEY_3270_Attn* = 0x0000FD0E
+  KEY_3270_CursorBlink* = 0x0000FD0F
+  KEY_3270_AltCursor* = 0x0000FD10
+  KEY_3270_KeyClick* = 0x0000FD11
+  KEY_3270_Jump* = 0x0000FD12
+  KEY_3270_Ident* = 0x0000FD13
+  KEY_3270_Rule* = 0x0000FD14
+  KEY_3270_Copy* = 0x0000FD15
+  KEY_3270_Play* = 0x0000FD16
+  KEY_3270_Setup* = 0x0000FD17
+  KEY_3270_Record* = 0x0000FD18
+  KEY_3270_ChangeScreen* = 0x0000FD19
+  KEY_3270_DeleteWord* = 0x0000FD1A
+  KEY_3270_ExSelect* = 0x0000FD1B
+  KEY_3270_CursorSelect* = 0x0000FD1C
+  KEY_3270_PrintScreen* = 0x0000FD1D
+  KEY_3270_Enter* = 0x0000FD1E
+  KEY_space* = 0x00000020
+  KEY_exclam* = 0x00000021
+  KEY_quotedbl* = 0x00000022
+  KEY_numbersign* = 0x00000023
+  KEY_dollar* = 0x00000024
+  KEY_percent* = 0x00000025
+  KEY_ampersand* = 0x00000026
+  KEY_apostrophe* = 0x00000027
+  KEY_quoteright* = 0x00000027
+  KEY_parenleft* = 0x00000028
+  KEY_parenright* = 0x00000029
+  KEY_asterisk* = 0x0000002A
+  KEY_plus* = 0x0000002B
+  KEY_comma* = 0x0000002C
+  KEY_minus* = 0x0000002D
+  KEY_period* = 0x0000002E
+  KEY_slash* = 0x0000002F
+  KEY_0* = 0x00000030
+  KEY_1* = 0x00000031
+  KEY_2* = 0x00000032
+  KEY_3* = 0x00000033
+  KEY_4* = 0x00000034
+  KEY_5* = 0x00000035
+  KEY_6* = 0x00000036
+  KEY_7* = 0x00000037
+  KEY_8* = 0x00000038
+  KEY_9* = 0x00000039
+  KEY_colon* = 0x0000003A
+  KEY_semicolon* = 0x0000003B
+  KEY_less* = 0x0000003C
+  KEY_equal* = 0x0000003D
+  KEY_greater* = 0x0000003E
+  KEY_question* = 0x0000003F
+  KEY_at* = 0x00000040
+  KEY_CAPITAL_A* = 0x00000041
+  KEY_CAPITAL_B* = 0x00000042
+  KEY_CAPITAL_C* = 0x00000043
+  KEY_CAPITAL_D* = 0x00000044
+  KEY_CAPITAL_E* = 0x00000045
+  KEY_CAPITAL_F* = 0x00000046
+  KEY_CAPITAL_G* = 0x00000047
+  KEY_CAPITAL_H* = 0x00000048
+  KEY_CAPITAL_I* = 0x00000049
+  KEY_CAPITAL_J* = 0x0000004A
+  KEY_CAPITAL_K* = 0x0000004B
+  KEY_CAPITAL_L* = 0x0000004C
+  KEY_CAPITAL_M* = 0x0000004D
+  KEY_CAPITAL_N* = 0x0000004E
+  KEY_CAPITAL_O* = 0x0000004F
+  KEY_CAPITAL_P* = 0x00000050
+  KEY_CAPITAL_Q* = 0x00000051
+  KEY_CAPITAL_R* = 0x00000052
+  KEY_CAPITAL_S* = 0x00000053
+  KEY_CAPITAL_T* = 0x00000054
+  KEY_CAPITAL_U* = 0x00000055
+  KEY_CAPITAL_V* = 0x00000056
+  KEY_CAPITAL_W* = 0x00000057
+  KEY_CAPITAL_X* = 0x00000058
+  KEY_CAPITAL_Y* = 0x00000059
+  KEY_CAPITAL_Z* = 0x0000005A
+  KEY_bracketleft* = 0x0000005B
+  KEY_backslash* = 0x0000005C
+  KEY_bracketright* = 0x0000005D
+  KEY_asciicircum* = 0x0000005E
+  KEY_underscore* = 0x0000005F
+  KEY_grave* = 0x00000060
+  KEY_quoteleft* = 0x00000060
+  KEY_a* = 0x00000061
+  KEY_b* = 0x00000062
+  KEY_c* = 0x00000063
+  KEY_d* = 0x00000064
+  KEY_e* = 0x00000065
+  KEY_f* = 0x00000066
+  KEY_g* = 0x00000067
+  KEY_h* = 0x00000068
+  KEY_i* = 0x00000069
+  KEY_j* = 0x0000006A
+  KEY_k* = 0x0000006B
+  KEY_l* = 0x0000006C
+  KEY_m* = 0x0000006D
+  KEY_n* = 0x0000006E
+  KEY_o* = 0x0000006F
+  KEY_p* = 0x00000070
+  KEY_q* = 0x00000071
+  KEY_r* = 0x00000072
+  KEY_s* = 0x00000073
+  KEY_t* = 0x00000074
+  KEY_u* = 0x00000075
+  KEY_v* = 0x00000076
+  KEY_w* = 0x00000077
+  KEY_x* = 0x00000078
+  KEY_y* = 0x00000079
+  KEY_z* = 0x0000007A
+  KEY_braceleft* = 0x0000007B
+  KEY_bar* = 0x0000007C
+  KEY_braceright* = 0x0000007D
+  KEY_asciitilde* = 0x0000007E
+  KEY_nobreakspace* = 0x000000A0
+  KEY_exclamdown* = 0x000000A1
+  KEY_cent* = 0x000000A2
+  KEY_sterling* = 0x000000A3
+  KEY_currency* = 0x000000A4
+  KEY_yen* = 0x000000A5
+  KEY_brokenbar* = 0x000000A6
+  KEY_section* = 0x000000A7
+  KEY_diaeresis* = 0x000000A8
+  KEY_copyright* = 0x000000A9
+  KEY_ordfeminine* = 0x000000AA
+  KEY_guillemotleft* = 0x000000AB
+  KEY_notsign* = 0x000000AC
+  KEY_hyphen* = 0x000000AD
+  KEY_registered* = 0x000000AE
+  KEY_macron* = 0x000000AF
+  KEY_degree* = 0x000000B0
+  KEY_plusminus* = 0x000000B1
+  KEY_twosuperior* = 0x000000B2
+  KEY_threesuperior* = 0x000000B3
+  KEY_acute* = 0x000000B4
+  KEY_mu* = 0x000000B5
+  KEY_paragraph* = 0x000000B6
+  KEY_periodcentered* = 0x000000B7
+  KEY_cedilla* = 0x000000B8
+  KEY_onesuperior* = 0x000000B9
+  KEY_masculine* = 0x000000BA
+  KEY_guillemotright* = 0x000000BB
+  KEY_onequarter* = 0x000000BC
+  KEY_onehalf* = 0x000000BD
+  KEY_threequarters* = 0x000000BE
+  KEY_questiondown* = 0x000000BF
+  KEY_CAPITAL_Agrave* = 0x000000C0
+  KEY_CAPITAL_Aacute* = 0x000000C1
+  KEY_CAPITAL_Acircumflex* = 0x000000C2
+  KEY_CAPITAL_Atilde* = 0x000000C3
+  KEY_CAPITAL_Adiaeresis* = 0x000000C4
+  KEY_CAPITAL_Aring* = 0x000000C5
+  KEY_CAPITAL_AE* = 0x000000C6
+  KEY_CAPITAL_Ccedilla* = 0x000000C7
+  KEY_CAPITAL_Egrave* = 0x000000C8
+  KEY_CAPITAL_Eacute* = 0x000000C9
+  KEY_CAPITAL_Ecircumflex* = 0x000000CA
+  KEY_CAPITAL_Ediaeresis* = 0x000000CB
+  KEY_CAPITAL_Igrave* = 0x000000CC
+  KEY_CAPITAL_Iacute* = 0x000000CD
+  KEY_CAPITAL_Icircumflex* = 0x000000CE
+  KEY_CAPITAL_Idiaeresis* = 0x000000CF
+  KEY_CAPITAL_ETH* = 0x000000D0
+  KEY_CAPITAL_Ntilde* = 0x000000D1
+  KEY_CAPITAL_Ograve* = 0x000000D2
+  KEY_CAPITAL_Oacute* = 0x000000D3
+  KEY_CAPITAL_Ocircumflex* = 0x000000D4
+  KEY_CAPITAL_Otilde* = 0x000000D5
+  KEY_CAPITAL_Odiaeresis* = 0x000000D6
+  KEY_multiply* = 0x000000D7
+  KEY_Ooblique* = 0x000000D8
+  KEY_CAPITAL_Ugrave* = 0x000000D9
+  KEY_CAPITAL_Uacute* = 0x000000DA
+  KEY_CAPITAL_Ucircumflex* = 0x000000DB
+  KEY_CAPITAL_Udiaeresis* = 0x000000DC
+  KEY_CAPITAL_Yacute* = 0x000000DD
+  KEY_CAPITAL_THORN* = 0x000000DE
+  KEY_ssharp* = 0x000000DF
+  KEY_agrave* = 0x000000E0
+  KEY_aacute* = 0x000000E1
+  KEY_acircumflex* = 0x000000E2
+  KEY_atilde* = 0x000000E3
+  KEY_adiaeresis* = 0x000000E4
+  KEY_aring* = 0x000000E5
+  KEY_ae* = 0x000000E6
+  KEY_ccedilla* = 0x000000E7
+  KEY_egrave* = 0x000000E8
+  KEY_eacute* = 0x000000E9
+  KEY_ecircumflex* = 0x000000EA
+  KEY_ediaeresis* = 0x000000EB
+  KEY_igrave* = 0x000000EC
+  KEY_iacute* = 0x000000ED
+  KEY_icircumflex* = 0x000000EE
+  KEY_idiaeresis* = 0x000000EF
+  KEY_eth* = 0x000000F0
+  KEY_ntilde* = 0x000000F1
+  KEY_ograve* = 0x000000F2
+  KEY_oacute* = 0x000000F3
+  KEY_ocircumflex* = 0x000000F4
+  KEY_otilde* = 0x000000F5
+  KEY_odiaeresis* = 0x000000F6
+  KEY_division* = 0x000000F7
+  KEY_oslash* = 0x000000F8
+  KEY_ugrave* = 0x000000F9
+  KEY_uacute* = 0x000000FA
+  KEY_ucircumflex* = 0x000000FB
+  KEY_udiaeresis* = 0x000000FC
+  KEY_yacute* = 0x000000FD
+  KEY_thorn* = 0x000000FE
+  KEY_ydiaeresis* = 0x000000FF
+  KEY_CAPITAL_Aogonek* = 0x000001A1
+  KEY_breve* = 0x000001A2
+  KEY_CAPITAL_Lstroke* = 0x000001A3
+  KEY_CAPITAL_Lcaron* = 0x000001A5
+  KEY_CAPITAL_Sacute* = 0x000001A6
+  KEY_CAPITAL_Scaron* = 0x000001A9
+  KEY_CAPITAL_Scedilla* = 0x000001AA
+  KEY_CAPITAL_Tcaron* = 0x000001AB
+  KEY_CAPITAL_Zacute* = 0x000001AC
+  KEY_CAPITAL_Zcaron* = 0x000001AE
+  KEY_CAPITAL_Zabovedot* = 0x000001AF
+  KEY_aogonek* = 0x000001B1
+  KEY_ogonek* = 0x000001B2
+  KEY_lstroke* = 0x000001B3
+  KEY_lcaron* = 0x000001B5
+  KEY_sacute* = 0x000001B6
+  KEY_caron* = 0x000001B7
+  KEY_scaron* = 0x000001B9
+  KEY_scedilla* = 0x000001BA
+  KEY_tcaron* = 0x000001BB
+  KEY_zacute* = 0x000001BC
+  KEY_doubleacute* = 0x000001BD
+  KEY_zcaron* = 0x000001BE
+  KEY_zabovedot* = 0x000001BF
+  KEY_CAPITAL_Racute* = 0x000001C0
+  KEY_CAPITAL_Abreve* = 0x000001C3
+  KEY_CAPITAL_Lacute* = 0x000001C5
+  KEY_CAPITAL_Cacute* = 0x000001C6
+  KEY_CAPITAL_Ccaron* = 0x000001C8
+  KEY_CAPITAL_Eogonek* = 0x000001CA
+  KEY_CAPITAL_Ecaron* = 0x000001CC
+  KEY_CAPITAL_Dcaron* = 0x000001CF
+  KEY_CAPITAL_Dstroke* = 0x000001D0
+  KEY_CAPITAL_Nacute* = 0x000001D1
+  KEY_CAPITAL_Ncaron* = 0x000001D2
+  KEY_CAPITAL_Odoubleacute* = 0x000001D5
+  KEY_CAPITAL_Rcaron* = 0x000001D8
+  KEY_CAPITAL_Uring* = 0x000001D9
+  KEY_CAPITAL_Udoubleacute* = 0x000001DB
+  KEY_CAPITAL_Tcedilla* = 0x000001DE
+  KEY_racute* = 0x000001E0
+  KEY_abreve* = 0x000001E3
+  KEY_lacute* = 0x000001E5
+  KEY_cacute* = 0x000001E6
+  KEY_ccaron* = 0x000001E8
+  KEY_eogonek* = 0x000001EA
+  KEY_ecaron* = 0x000001EC
+  KEY_dcaron* = 0x000001EF
+  KEY_dstroke* = 0x000001F0
+  KEY_nacute* = 0x000001F1
+  KEY_ncaron* = 0x000001F2
+  KEY_odoubleacute* = 0x000001F5
+  KEY_udoubleacute* = 0x000001FB
+  KEY_rcaron* = 0x000001F8
+  KEY_uring* = 0x000001F9
+  KEY_tcedilla* = 0x000001FE
+  KEY_abovedot* = 0x000001FF
+  KEY_CAPITAL_Hstroke* = 0x000002A1
+  KEY_CAPITAL_Hcircumflex* = 0x000002A6
+  KEY_CAPITAL_Iabovedot* = 0x000002A9
+  KEY_CAPITAL_Gbreve* = 0x000002AB
+  KEY_CAPITAL_Jcircumflex* = 0x000002AC
+  KEY_hstroke* = 0x000002B1
+  KEY_hcircumflex* = 0x000002B6
+  KEY_idotless* = 0x000002B9
+  KEY_gbreve* = 0x000002BB
+  KEY_jcircumflex* = 0x000002BC
+  KEY_CAPITAL_Cabovedot* = 0x000002C5
+  KEY_CAPITAL_Ccircumflex* = 0x000002C6
+  KEY_CAPITAL_Gabovedot* = 0x000002D5
+  KEY_CAPITAL_Gcircumflex* = 0x000002D8
+  KEY_CAPITAL_Ubreve* = 0x000002DD
+  KEY_CAPITAL_Scircumflex* = 0x000002DE
+  KEY_cabovedot* = 0x000002E5
+  KEY_ccircumflex* = 0x000002E6
+  KEY_gabovedot* = 0x000002F5
+  KEY_gcircumflex* = 0x000002F8
+  KEY_ubreve* = 0x000002FD
+  KEY_scircumflex* = 0x000002FE
+  KEY_kra* = 0x000003A2
+  KEY_kappa* = 0x000003A2
+  KEY_CAPITAL_Rcedilla* = 0x000003A3
+  KEY_CAPITAL_Itilde* = 0x000003A5
+  KEY_CAPITAL_Lcedilla* = 0x000003A6
+  KEY_CAPITAL_Emacron* = 0x000003AA
+  KEY_CAPITAL_Gcedilla* = 0x000003AB
+  KEY_CAPITAL_Tslash* = 0x000003AC
+  KEY_rcedilla* = 0x000003B3
+  KEY_itilde* = 0x000003B5
+  KEY_lcedilla* = 0x000003B6
+  KEY_emacron* = 0x000003BA
+  KEY_gcedilla* = 0x000003BB
+  KEY_tslash* = 0x000003BC
+  KEY_CAPITAL_ENG* = 0x000003BD
+  KEY_eng* = 0x000003BF
+  KEY_CAPITAL_Amacron* = 0x000003C0
+  KEY_CAPITAL_Iogonek* = 0x000003C7
+  KEY_CAPITAL_Eabovedot* = 0x000003CC
+  KEY_CAPITAL_Imacron* = 0x000003CF
+  KEY_CAPITAL_Ncedilla* = 0x000003D1
+  KEY_CAPITAL_Omacron* = 0x000003D2
+  KEY_CAPITAL_Kcedilla* = 0x000003D3
+  KEY_CAPITAL_Uogonek* = 0x000003D9
+  KEY_CAPITAL_Utilde* = 0x000003DD
+  KEY_CAPITAL_Umacron* = 0x000003DE
+  KEY_amacron* = 0x000003E0
+  KEY_iogonek* = 0x000003E7
+  KEY_eabovedot* = 0x000003EC
+  KEY_imacron* = 0x000003EF
+  KEY_ncedilla* = 0x000003F1
+  KEY_omacron* = 0x000003F2
+  KEY_kcedilla* = 0x000003F3
+  KEY_uogonek* = 0x000003F9
+  KEY_utilde* = 0x000003FD
+  KEY_umacron* = 0x000003FE
+  KEY_CAPITAL_OE* = 0x000013BC
+  KEY_oe* = 0x000013BD
+  KEY_CAPITAL_Ydiaeresis* = 0x000013BE
+  KEY_overline* = 0x0000047E
+  KEY_kana_fullstop* = 0x000004A1
+  KEY_kana_openingbracket* = 0x000004A2
+  KEY_kana_closingbracket* = 0x000004A3
+  KEY_kana_comma* = 0x000004A4
+  KEY_kana_conjunctive* = 0x000004A5
+  KEY_kana_middledot* = 0x000004A5
+  KEY_kana_WO* = 0x000004A6
+  KEY_kana_a* = 0x000004A7
+  KEY_kana_i* = 0x000004A8
+  KEY_kana_u* = 0x000004A9
+  KEY_kana_e* = 0x000004AA
+  KEY_kana_o* = 0x000004AB
+  KEY_kana_ya* = 0x000004AC
+  KEY_kana_yu* = 0x000004AD
+  KEY_kana_yo* = 0x000004AE
+  KEY_kana_tsu* = 0x000004AF
+  KEY_kana_tu* = 0x000004AF
+  KEY_prolongedsound* = 0x000004B0
+  KEY_kana_CAPITAL_A* = 0x000004B1
+  KEY_kana_CAPITAL_I* = 0x000004B2
+  KEY_kana_CAPITAL_U* = 0x000004B3
+  KEY_kana_CAPITAL_E* = 0x000004B4
+  KEY_kana_CAPITAL_O* = 0x000004B5
+  KEY_kana_KA* = 0x000004B6
+  KEY_kana_KI* = 0x000004B7
+  KEY_kana_KU* = 0x000004B8
+  KEY_kana_KE* = 0x000004B9
+  KEY_kana_KO* = 0x000004BA
+  KEY_kana_SA* = 0x000004BB
+  KEY_kana_SHI* = 0x000004BC
+  KEY_kana_SU* = 0x000004BD
+  KEY_kana_SE* = 0x000004BE
+  KEY_kana_SO* = 0x000004BF
+  KEY_kana_TA* = 0x000004C0
+  KEY_kana_CHI* = 0x000004C1
+  KEY_kana_TI* = 0x000004C1
+  KEY_kana_CAPITAL_TSU* = 0x000004C2
+  KEY_kana_CAPITAL_TU* = 0x000004C2
+  KEY_kana_TE* = 0x000004C3
+  KEY_kana_TO* = 0x000004C4
+  KEY_kana_NA* = 0x000004C5
+  KEY_kana_NI* = 0x000004C6
+  KEY_kana_NU* = 0x000004C7
+  KEY_kana_NE* = 0x000004C8
+  KEY_kana_NO* = 0x000004C9
+  KEY_kana_HA* = 0x000004CA
+  KEY_kana_HI* = 0x000004CB
+  KEY_kana_FU* = 0x000004CC
+  KEY_kana_HU* = 0x000004CC
+  KEY_kana_HE* = 0x000004CD
+  KEY_kana_HO* = 0x000004CE
+  KEY_kana_MA* = 0x000004CF
+  KEY_kana_MI* = 0x000004D0
+  KEY_kana_MU* = 0x000004D1
+  KEY_kana_ME* = 0x000004D2
+  KEY_kana_MO* = 0x000004D3
+  KEY_kana_CAPITAL_YA* = 0x000004D4
+  KEY_kana_CAPITAL_YU* = 0x000004D5
+  KEY_kana_CAPITAL_YO* = 0x000004D6
+  KEY_kana_RA* = 0x000004D7
+  KEY_kana_RI* = 0x000004D8
+  KEY_kana_RU* = 0x000004D9
+  KEY_kana_RE* = 0x000004DA
+  KEY_kana_RO* = 0x000004DB
+  KEY_kana_WA* = 0x000004DC
+  KEY_kana_N* = 0x000004DD
+  KEY_voicedsound* = 0x000004DE
+  KEY_semivoicedsound* = 0x000004DF
+  KEY_kana_switch* = 0x0000FF7E
+  KEY_Arabic_comma* = 0x000005AC
+  KEY_Arabic_semicolon* = 0x000005BB
+  KEY_Arabic_question_mark* = 0x000005BF
+  KEY_Arabic_hamza* = 0x000005C1
+  KEY_Arabic_maddaonalef* = 0x000005C2
+  KEY_Arabic_hamzaonalef* = 0x000005C3
+  KEY_Arabic_hamzaonwaw* = 0x000005C4
+  KEY_Arabic_hamzaunderalef* = 0x000005C5
+  KEY_Arabic_hamzaonyeh* = 0x000005C6
+  KEY_Arabic_alef* = 0x000005C7
+  KEY_Arabic_beh* = 0x000005C8
+  KEY_Arabic_tehmarbuta* = 0x000005C9
+  KEY_Arabic_teh* = 0x000005CA
+  KEY_Arabic_theh* = 0x000005CB
+  KEY_Arabic_jeem* = 0x000005CC
+  KEY_Arabic_hah* = 0x000005CD
+  KEY_Arabic_khah* = 0x000005CE
+  KEY_Arabic_dal* = 0x000005CF
+  KEY_Arabic_thal* = 0x000005D0
+  KEY_Arabic_ra* = 0x000005D1
+  KEY_Arabic_zain* = 0x000005D2
+  KEY_Arabic_seen* = 0x000005D3
+  KEY_Arabic_sheen* = 0x000005D4
+  KEY_Arabic_sad* = 0x000005D5
+  KEY_Arabic_dad* = 0x000005D6
+  KEY_Arabic_tah* = 0x000005D7
+  KEY_Arabic_zah* = 0x000005D8
+  KEY_Arabic_ain* = 0x000005D9
+  KEY_Arabic_ghain* = 0x000005DA
+  KEY_Arabic_tatweel* = 0x000005E0
+  KEY_Arabic_feh* = 0x000005E1
+  KEY_Arabic_qaf* = 0x000005E2
+  KEY_Arabic_kaf* = 0x000005E3
+  KEY_Arabic_lam* = 0x000005E4
+  KEY_Arabic_meem* = 0x000005E5
+  KEY_Arabic_noon* = 0x000005E6
+  KEY_Arabic_ha* = 0x000005E7
+  KEY_Arabic_heh* = 0x000005E7
+  KEY_Arabic_waw* = 0x000005E8
+  KEY_Arabic_alefmaksura* = 0x000005E9
+  KEY_Arabic_yeh* = 0x000005EA
+  KEY_Arabic_fathatan* = 0x000005EB
+  KEY_Arabic_dammatan* = 0x000005EC
+  KEY_Arabic_kasratan* = 0x000005ED
+  KEY_Arabic_fatha* = 0x000005EE
+  KEY_Arabic_damma* = 0x000005EF
+  KEY_Arabic_kasra* = 0x000005F0
+  KEY_Arabic_shadda* = 0x000005F1
+  KEY_Arabic_sukun* = 0x000005F2
+  KEY_Arabic_switch* = 0x0000FF7E
+  KEY_Serbian_dje* = 0x000006A1
+  KEY_Macedonia_gje* = 0x000006A2
+  KEY_Cyrillic_io* = 0x000006A3
+  KEY_Ukrainian_ie* = 0x000006A4
+  KEY_Ukranian_je* = 0x000006A4
+  KEY_Macedonia_dse* = 0x000006A5
+  KEY_Ukrainian_i* = 0x000006A6
+  KEY_Ukranian_i* = 0x000006A6
+  KEY_Ukrainian_yi* = 0x000006A7
+  KEY_Ukranian_yi* = 0x000006A7
+  KEY_Cyrillic_je* = 0x000006A8
+  KEY_Serbian_je* = 0x000006A8
+  KEY_Cyrillic_lje* = 0x000006A9
+  KEY_Serbian_lje* = 0x000006A9
+  KEY_Cyrillic_nje* = 0x000006AA
+  KEY_Serbian_nje* = 0x000006AA
+  KEY_Serbian_tshe* = 0x000006AB
+  KEY_Macedonia_kje* = 0x000006AC
+  KEY_Byelorussian_shortu* = 0x000006AE
+  KEY_Cyrillic_dzhe* = 0x000006AF
+  KEY_Serbian_dze* = 0x000006AF
+  KEY_numerosign* = 0x000006B0
+  KEY_Serbian_CAPITAL_DJE* = 0x000006B1
+  KEY_Macedonia_CAPITAL_GJE* = 0x000006B2
+  KEY_Cyrillic_CAPITAL_IO* = 0x000006B3
+  KEY_Ukrainian_CAPITAL_IE* = 0x000006B4
+  KEY_Ukranian_CAPITAL_JE* = 0x000006B4
+  KEY_Macedonia_CAPITAL_DSE* = 0x000006B5
+  KEY_Ukrainian_CAPITAL_I* = 0x000006B6
+  KEY_Ukranian_CAPITAL_I* = 0x000006B6
+  KEY_Ukrainian_CAPITAL_YI* = 0x000006B7
+  KEY_Ukranian_CAPITAL_YI* = 0x000006B7
+  KEY_Cyrillic_CAPITAL_JE* = 0x000006B8
+  KEY_Serbian_CAPITAL_JE* = 0x000006B8
+  KEY_Cyrillic_CAPITAL_LJE* = 0x000006B9
+  KEY_Serbian_CAPITAL_LJE* = 0x000006B9
+  KEY_Cyrillic_CAPITAL_NJE* = 0x000006BA
+  KEY_Serbian_CAPITAL_NJE* = 0x000006BA
+  KEY_Serbian_CAPITAL_TSHE* = 0x000006BB
+  KEY_Macedonia_CAPITAL_KJE* = 0x000006BC
+  KEY_Byelorussian_CAPITAL_SHORTU* = 0x000006BE
+  KEY_Cyrillic_CAPITAL_DZHE* = 0x000006BF
+  KEY_Serbian_CAPITAL_DZE* = 0x000006BF
+  KEY_Cyrillic_yu* = 0x000006C0
+  KEY_Cyrillic_a* = 0x000006C1
+  KEY_Cyrillic_be* = 0x000006C2
+  KEY_Cyrillic_tse* = 0x000006C3
+  KEY_Cyrillic_de* = 0x000006C4
+  KEY_Cyrillic_ie* = 0x000006C5
+  KEY_Cyrillic_ef* = 0x000006C6
+  KEY_Cyrillic_ghe* = 0x000006C7
+  KEY_Cyrillic_ha* = 0x000006C8
+  KEY_Cyrillic_i* = 0x000006C9
+  KEY_Cyrillic_shorti* = 0x000006CA
+  KEY_Cyrillic_ka* = 0x000006CB
+  KEY_Cyrillic_el* = 0x000006CC
+  KEY_Cyrillic_em* = 0x000006CD
+  KEY_Cyrillic_en* = 0x000006CE
+  KEY_Cyrillic_o* = 0x000006CF
+  KEY_Cyrillic_pe* = 0x000006D0
+  KEY_Cyrillic_ya* = 0x000006D1
+  KEY_Cyrillic_er* = 0x000006D2
+  KEY_Cyrillic_es* = 0x000006D3
+  KEY_Cyrillic_te* = 0x000006D4
+  KEY_Cyrillic_u* = 0x000006D5
+  KEY_Cyrillic_zhe* = 0x000006D6
+  KEY_Cyrillic_ve* = 0x000006D7
+  KEY_Cyrillic_softsign* = 0x000006D8
+  KEY_Cyrillic_yeru* = 0x000006D9
+  KEY_Cyrillic_ze* = 0x000006DA
+  KEY_Cyrillic_sha* = 0x000006DB
+  KEY_Cyrillic_e* = 0x000006DC
+  KEY_Cyrillic_shcha* = 0x000006DD
+  KEY_Cyrillic_che* = 0x000006DE
+  KEY_Cyrillic_hardsign* = 0x000006DF
+  KEY_Cyrillic_CAPITAL_YU* = 0x000006E0
+  KEY_Cyrillic_CAPITAL_A* = 0x000006E1
+  KEY_Cyrillic_CAPITAL_BE* = 0x000006E2
+  KEY_Cyrillic_CAPITAL_TSE* = 0x000006E3
+  KEY_Cyrillic_CAPITAL_DE* = 0x000006E4
+  KEY_Cyrillic_CAPITAL_IE* = 0x000006E5
+  KEY_Cyrillic_CAPITAL_EF* = 0x000006E6
+  KEY_Cyrillic_CAPITAL_GHE* = 0x000006E7
+  KEY_Cyrillic_CAPITAL_HA* = 0x000006E8
+  KEY_Cyrillic_CAPITAL_I* = 0x000006E9
+  KEY_Cyrillic_CAPITAL_SHORTI* = 0x000006EA
+  KEY_Cyrillic_CAPITAL_KA* = 0x000006EB
+  KEY_Cyrillic_CAPITAL_EL* = 0x000006EC
+  KEY_Cyrillic_CAPITAL_EM* = 0x000006ED
+  KEY_Cyrillic_CAPITAL_EN* = 0x000006EE
+  KEY_Cyrillic_CAPITAL_O* = 0x000006EF
+  KEY_Cyrillic_CAPITAL_PE* = 0x000006F0
+  KEY_Cyrillic_CAPITAL_YA* = 0x000006F1
+  KEY_Cyrillic_CAPITAL_ER* = 0x000006F2
+  KEY_Cyrillic_CAPITAL_ES* = 0x000006F3
+  KEY_Cyrillic_CAPITAL_TE* = 0x000006F4
+  KEY_Cyrillic_CAPITAL_U* = 0x000006F5
+  KEY_Cyrillic_CAPITAL_ZHE* = 0x000006F6
+  KEY_Cyrillic_CAPITAL_VE* = 0x000006F7
+  KEY_Cyrillic_CAPITAL_SOFTSIGN* = 0x000006F8
+  KEY_Cyrillic_CAPITAL_YERU* = 0x000006F9
+  KEY_Cyrillic_CAPITAL_ZE* = 0x000006FA
+  KEY_Cyrillic_CAPITAL_SHA* = 0x000006FB
+  KEY_Cyrillic_CAPITAL_E* = 0x000006FC
+  KEY_Cyrillic_CAPITAL_SHCHA* = 0x000006FD
+  KEY_Cyrillic_CAPITAL_CHE* = 0x000006FE
+  KEY_Cyrillic_CAPITAL_HARDSIGN* = 0x000006FF
+  KEY_Greek_CAPITAL_ALPHAaccent* = 0x000007A1
+  KEY_Greek_CAPITAL_EPSILONaccent* = 0x000007A2
+  KEY_Greek_CAPITAL_ETAaccent* = 0x000007A3
+  KEY_Greek_CAPITAL_IOTAaccent* = 0x000007A4
+  KEY_Greek_CAPITAL_IOTAdiaeresis* = 0x000007A5
+  KEY_Greek_CAPITAL_OMICRONaccent* = 0x000007A7
+  KEY_Greek_CAPITAL_UPSILONaccent* = 0x000007A8
+  KEY_Greek_CAPITAL_UPSILONdieresis* = 0x000007A9
+  KEY_Greek_CAPITAL_OMEGAaccent* = 0x000007AB
+  KEY_Greek_accentdieresis* = 0x000007AE
+  KEY_Greek_horizbar* = 0x000007AF
+  KEY_Greek_alphaaccent* = 0x000007B1
+  KEY_Greek_epsilonaccent* = 0x000007B2
+  KEY_Greek_etaaccent* = 0x000007B3
+  KEY_Greek_iotaaccent* = 0x000007B4
+  KEY_Greek_iotadieresis* = 0x000007B5
+  KEY_Greek_iotaaccentdieresis* = 0x000007B6
+  KEY_Greek_omicronaccent* = 0x000007B7
+  KEY_Greek_upsilonaccent* = 0x000007B8
+  KEY_Greek_upsilondieresis* = 0x000007B9
+  KEY_Greek_upsilonaccentdieresis* = 0x000007BA
+  KEY_Greek_omegaaccent* = 0x000007BB
+  KEY_Greek_CAPITAL_ALPHA* = 0x000007C1
+  KEY_Greek_CAPITAL_BETA* = 0x000007C2
+  KEY_Greek_CAPITAL_GAMMA* = 0x000007C3
+  KEY_Greek_CAPITAL_DELTA* = 0x000007C4
+  KEY_Greek_CAPITAL_EPSILON* = 0x000007C5
+  KEY_Greek_CAPITAL_ZETA* = 0x000007C6
+  KEY_Greek_CAPITAL_ETA* = 0x000007C7
+  KEY_Greek_CAPITAL_THETA* = 0x000007C8
+  KEY_Greek_CAPITAL_IOTA* = 0x000007C9
+  KEY_Greek_CAPITAL_KAPPA* = 0x000007CA
+  KEY_Greek_CAPITAL_LAMDA* = 0x000007CB
+  KEY_Greek_CAPITAL_LAMBDA* = 0x000007CB
+  KEY_Greek_CAPITAL_MU* = 0x000007CC
+  KEY_Greek_CAPITAL_NU* = 0x000007CD
+  KEY_Greek_CAPITAL_XI* = 0x000007CE
+  KEY_Greek_CAPITAL_OMICRON* = 0x000007CF
+  KEY_Greek_CAPITAL_PI* = 0x000007D0
+  KEY_Greek_CAPITAL_RHO* = 0x000007D1
+  KEY_Greek_CAPITAL_SIGMA* = 0x000007D2
+  KEY_Greek_CAPITAL_TAU* = 0x000007D4
+  KEY_Greek_CAPITAL_UPSILON* = 0x000007D5
+  KEY_Greek_CAPITAL_PHI* = 0x000007D6
+  KEY_Greek_CAPITAL_CHI* = 0x000007D7
+  KEY_Greek_CAPITAL_PSI* = 0x000007D8
+  KEY_Greek_CAPITAL_OMEGA* = 0x000007D9
+  KEY_Greek_alpha* = 0x000007E1
+  KEY_Greek_beta* = 0x000007E2
+  KEY_Greek_gamma* = 0x000007E3
+  KEY_Greek_delta* = 0x000007E4
+  KEY_Greek_epsilon* = 0x000007E5
+  KEY_Greek_zeta* = 0x000007E6
+  KEY_Greek_eta* = 0x000007E7
+  KEY_Greek_theta* = 0x000007E8
+  KEY_Greek_iota* = 0x000007E9
+  KEY_Greek_kappa* = 0x000007EA
+  KEY_Greek_lamda* = 0x000007EB
+  KEY_Greek_lambda* = 0x000007EB
+  KEY_Greek_mu* = 0x000007EC
+  KEY_Greek_nu* = 0x000007ED
+  KEY_Greek_xi* = 0x000007EE
+  KEY_Greek_omicron* = 0x000007EF
+  KEY_Greek_pi* = 0x000007F0
+  KEY_Greek_rho* = 0x000007F1
+  KEY_Greek_sigma* = 0x000007F2
+  KEY_Greek_finalsmallsigma* = 0x000007F3
+  KEY_Greek_tau* = 0x000007F4
+  KEY_Greek_upsilon* = 0x000007F5
+  KEY_Greek_phi* = 0x000007F6
+  KEY_Greek_chi* = 0x000007F7
+  KEY_Greek_psi* = 0x000007F8
+  KEY_Greek_omega* = 0x000007F9
+  KEY_Greek_switch* = 0x0000FF7E
+  KEY_leftradical* = 0x000008A1
+  KEY_topleftradical* = 0x000008A2
+  KEY_horizconnector* = 0x000008A3
+  KEY_topintegral* = 0x000008A4
+  KEY_botintegral* = 0x000008A5
+  KEY_vertconnector* = 0x000008A6
+  KEY_topleftsqbracket* = 0x000008A7
+  KEY_botleftsqbracket* = 0x000008A8
+  KEY_toprightsqbracket* = 0x000008A9
+  KEY_botrightsqbracket* = 0x000008AA
+  KEY_topleftparens* = 0x000008AB
+  KEY_botleftparens* = 0x000008AC
+  KEY_toprightparens* = 0x000008AD
+  KEY_botrightparens* = 0x000008AE
+  KEY_leftmiddlecurlybrace* = 0x000008AF
+  KEY_rightmiddlecurlybrace* = 0x000008B0
+  KEY_topleftsummation* = 0x000008B1
+  KEY_botleftsummation* = 0x000008B2
+  KEY_topvertsummationconnector* = 0x000008B3
+  KEY_botvertsummationconnector* = 0x000008B4
+  KEY_toprightsummation* = 0x000008B5
+  KEY_botrightsummation* = 0x000008B6
+  KEY_rightmiddlesummation* = 0x000008B7
+  KEY_lessthanequal* = 0x000008BC
+  KEY_notequal* = 0x000008BD
+  KEY_greaterthanequal* = 0x000008BE
+  KEY_integral* = 0x000008BF
+  KEY_therefore* = 0x000008C0
+  KEY_variation* = 0x000008C1
+  KEY_infinity* = 0x000008C2
+  KEY_nabla* = 0x000008C5
+  KEY_approximate* = 0x000008C8
+  KEY_similarequal* = 0x000008C9
+  KEY_ifonlyif* = 0x000008CD
+  KEY_implies* = 0x000008CE
+  KEY_identical* = 0x000008CF
+  KEY_radical* = 0x000008D6
+  KEY_includedin* = 0x000008DA
+  KEY_includes* = 0x000008DB
+  KEY_intersection* = 0x000008DC
+  KEY_union* = 0x000008DD
+  KEY_logicaland* = 0x000008DE
+  KEY_logicalor* = 0x000008DF
+  KEY_partialderivative* = 0x000008EF
+  KEY_function* = 0x000008F6
+  KEY_leftarrow* = 0x000008FB
+  KEY_uparrow* = 0x000008FC
+  KEY_rightarrow* = 0x000008FD
+  KEY_downarrow* = 0x000008FE
+  KEY_blank* = 0x000009DF
+  KEY_soliddiamond* = 0x000009E0
+  KEY_checkerboard* = 0x000009E1
+  KEY_ht* = 0x000009E2
+  KEY_ff* = 0x000009E3
+  KEY_cr* = 0x000009E4
+  KEY_lf* = 0x000009E5
+  KEY_nl* = 0x000009E8
+  KEY_vt* = 0x000009E9
+  KEY_lowrightcorner* = 0x000009EA
+  KEY_uprightcorner* = 0x000009EB
+  KEY_upleftcorner* = 0x000009EC
+  KEY_lowleftcorner* = 0x000009ED
+  KEY_crossinglines* = 0x000009EE
+  KEY_horizlinescan1* = 0x000009EF
+  KEY_horizlinescan3* = 0x000009F0
+  KEY_horizlinescan5* = 0x000009F1
+  KEY_horizlinescan7* = 0x000009F2
+  KEY_horizlinescan9* = 0x000009F3
+  KEY_leftt* = 0x000009F4
+  KEY_rightt* = 0x000009F5
+  KEY_bott* = 0x000009F6
+  KEY_topt* = 0x000009F7
+  KEY_vertbar* = 0x000009F8
+  KEY_emspace* = 0x00000AA1
+  KEY_enspace* = 0x00000AA2
+  KEY_em3space* = 0x00000AA3
+  KEY_em4space* = 0x00000AA4
+  KEY_digitspace* = 0x00000AA5
+  KEY_punctspace* = 0x00000AA6
+  KEY_thinspace* = 0x00000AA7
+  KEY_hairspace* = 0x00000AA8
+  KEY_emdash* = 0x00000AA9
+  KEY_endash* = 0x00000AAA
+  KEY_signifblank* = 0x00000AAC
+  KEY_ellipsis* = 0x00000AAE
+  KEY_doubbaselinedot* = 0x00000AAF
+  KEY_onethird* = 0x00000AB0
+  KEY_twothirds* = 0x00000AB1
+  KEY_onefifth* = 0x00000AB2
+  KEY_twofifths* = 0x00000AB3
+  KEY_threefifths* = 0x00000AB4
+  KEY_fourfifths* = 0x00000AB5
+  KEY_onesixth* = 0x00000AB6
+  KEY_fivesixths* = 0x00000AB7
+  KEY_careof* = 0x00000AB8
+  KEY_figdash* = 0x00000ABB
+  KEY_leftanglebracket* = 0x00000ABC
+  KEY_decimalpoint* = 0x00000ABD
+  KEY_rightanglebracket* = 0x00000ABE
+  KEY_marker* = 0x00000ABF
+  KEY_oneeighth* = 0x00000AC3
+  KEY_threeeighths* = 0x00000AC4
+  KEY_fiveeighths* = 0x00000AC5
+  KEY_seveneighths* = 0x00000AC6
+  KEY_trademark* = 0x00000AC9
+  KEY_signaturemark* = 0x00000ACA
+  KEY_trademarkincircle* = 0x00000ACB
+  KEY_leftopentriangle* = 0x00000ACC
+  KEY_rightopentriangle* = 0x00000ACD
+  KEY_emopencircle* = 0x00000ACE
+  KEY_emopenrectangle* = 0x00000ACF
+  KEY_leftsinglequotemark* = 0x00000AD0
+  KEY_rightsinglequotemark* = 0x00000AD1
+  KEY_leftdoublequotemark* = 0x00000AD2
+  KEY_rightdoublequotemark* = 0x00000AD3
+  KEY_prescription* = 0x00000AD4
+  KEY_minutes* = 0x00000AD6
+  KEY_seconds* = 0x00000AD7
+  KEY_latincross* = 0x00000AD9
+  KEY_hexagram* = 0x00000ADA
+  KEY_filledrectbullet* = 0x00000ADB
+  KEY_filledlefttribullet* = 0x00000ADC
+  KEY_filledrighttribullet* = 0x00000ADD
+  KEY_emfilledcircle* = 0x00000ADE
+  KEY_emfilledrect* = 0x00000ADF
+  KEY_enopencircbullet* = 0x00000AE0
+  KEY_enopensquarebullet* = 0x00000AE1
+  KEY_openrectbullet* = 0x00000AE2
+  KEY_opentribulletup* = 0x00000AE3
+  KEY_opentribulletdown* = 0x00000AE4
+  KEY_openstar* = 0x00000AE5
+  KEY_enfilledcircbullet* = 0x00000AE6
+  KEY_enfilledsqbullet* = 0x00000AE7
+  KEY_filledtribulletup* = 0x00000AE8
+  KEY_filledtribulletdown* = 0x00000AE9
+  KEY_leftpointer* = 0x00000AEA
+  KEY_rightpointer* = 0x00000AEB
+  KEY_club* = 0x00000AEC
+  KEY_diamond* = 0x00000AED
+  KEY_heart* = 0x00000AEE
+  KEY_maltesecross* = 0x00000AF0
+  KEY_dagger* = 0x00000AF1
+  KEY_doubledagger* = 0x00000AF2
+  KEY_checkmark* = 0x00000AF3
+  KEY_ballotcross* = 0x00000AF4
+  KEY_musicalsharp* = 0x00000AF5
+  KEY_musicalflat* = 0x00000AF6
+  KEY_malesymbol* = 0x00000AF7
+  KEY_femalesymbol* = 0x00000AF8
+  KEY_telephone* = 0x00000AF9
+  KEY_telephonerecorder* = 0x00000AFA
+  KEY_phonographcopyright* = 0x00000AFB
+  KEY_caret* = 0x00000AFC
+  KEY_singlelowquotemark* = 0x00000AFD
+  KEY_doublelowquotemark* = 0x00000AFE
+  KEY_cursor* = 0x00000AFF
+  KEY_leftcaret* = 0x00000BA3
+  KEY_rightcaret* = 0x00000BA6
+  KEY_downcaret* = 0x00000BA8
+  KEY_upcaret* = 0x00000BA9
+  KEY_overbar* = 0x00000BC0
+  KEY_downtack* = 0x00000BC2
+  KEY_upshoe* = 0x00000BC3
+  KEY_downstile* = 0x00000BC4
+  KEY_underbar* = 0x00000BC6
+  KEY_jot* = 0x00000BCA
+  KEY_quad* = 0x00000BCC
+  KEY_uptack* = 0x00000BCE
+  KEY_circle* = 0x00000BCF
+  KEY_upstile* = 0x00000BD3
+  KEY_downshoe* = 0x00000BD6
+  KEY_rightshoe* = 0x00000BD8
+  KEY_leftshoe* = 0x00000BDA
+  KEY_lefttack* = 0x00000BDC
+  KEY_righttack* = 0x00000BFC
+  KEY_hebrew_doublelowline* = 0x00000CDF
+  KEY_hebrew_aleph* = 0x00000CE0
+  KEY_hebrew_bet* = 0x00000CE1
+  KEY_hebrew_beth* = 0x00000CE1
+  KEY_hebrew_gimel* = 0x00000CE2
+  KEY_hebrew_gimmel* = 0x00000CE2
+  KEY_hebrew_dalet* = 0x00000CE3
+  KEY_hebrew_daleth* = 0x00000CE3
+  KEY_hebrew_he* = 0x00000CE4
+  KEY_hebrew_waw* = 0x00000CE5
+  KEY_hebrew_zain* = 0x00000CE6
+  KEY_hebrew_zayin* = 0x00000CE6
+  KEY_hebrew_chet* = 0x00000CE7
+  KEY_hebrew_het* = 0x00000CE7
+  KEY_hebrew_tet* = 0x00000CE8
+  KEY_hebrew_teth* = 0x00000CE8
+  KEY_hebrew_yod* = 0x00000CE9
+  KEY_hebrew_finalkaph* = 0x00000CEA
+  KEY_hebrew_kaph* = 0x00000CEB
+  KEY_hebrew_lamed* = 0x00000CEC
+  KEY_hebrew_finalmem* = 0x00000CED
+  KEY_hebrew_mem* = 0x00000CEE
+  KEY_hebrew_finalnun* = 0x00000CEF
+  KEY_hebrew_nun* = 0x00000CF0
+  KEY_hebrew_samech* = 0x00000CF1
+  KEY_hebrew_samekh* = 0x00000CF1
+  KEY_hebrew_ayin* = 0x00000CF2
+  KEY_hebrew_finalpe* = 0x00000CF3
+  KEY_hebrew_pe* = 0x00000CF4
+  KEY_hebrew_finalzade* = 0x00000CF5
+  KEY_hebrew_finalzadi* = 0x00000CF5
+  KEY_hebrew_zade* = 0x00000CF6
+  KEY_hebrew_zadi* = 0x00000CF6
+  KEY_hebrew_qoph* = 0x00000CF7
+  KEY_hebrew_kuf* = 0x00000CF7
+  KEY_hebrew_resh* = 0x00000CF8
+  KEY_hebrew_shin* = 0x00000CF9
+  KEY_hebrew_taw* = 0x00000CFA
+  KEY_hebrew_taf* = 0x00000CFA
+  KEY_Hebrew_switch* = 0x0000FF7E
+  KEY_Thai_kokai* = 0x00000DA1
+  KEY_Thai_khokhai* = 0x00000DA2
+  KEY_Thai_khokhuat* = 0x00000DA3
+  KEY_Thai_khokhwai* = 0x00000DA4
+  KEY_Thai_khokhon* = 0x00000DA5
+  KEY_Thai_khorakhang* = 0x00000DA6
+  KEY_Thai_ngongu* = 0x00000DA7
+  KEY_Thai_chochan* = 0x00000DA8
+  KEY_Thai_choching* = 0x00000DA9
+  KEY_Thai_chochang* = 0x00000DAA
+  KEY_Thai_soso* = 0x00000DAB
+  KEY_Thai_chochoe* = 0x00000DAC
+  KEY_Thai_yoying* = 0x00000DAD
+  KEY_Thai_dochada* = 0x00000DAE
+  KEY_Thai_topatak* = 0x00000DAF
+  KEY_Thai_thothan* = 0x00000DB0
+  KEY_Thai_thonangmontho* = 0x00000DB1
+  KEY_Thai_thophuthao* = 0x00000DB2
+  KEY_Thai_nonen* = 0x00000DB3
+  KEY_Thai_dodek* = 0x00000DB4
+  KEY_Thai_totao* = 0x00000DB5
+  KEY_Thai_thothung* = 0x00000DB6
+  KEY_Thai_thothahan* = 0x00000DB7
+  KEY_Thai_thothong* = 0x00000DB8
+  KEY_Thai_nonu* = 0x00000DB9
+  KEY_Thai_bobaimai* = 0x00000DBA
+  KEY_Thai_popla* = 0x00000DBB
+  KEY_Thai_phophung* = 0x00000DBC
+  KEY_Thai_fofa* = 0x00000DBD
+  KEY_Thai_phophan* = 0x00000DBE
+  KEY_Thai_fofan* = 0x00000DBF
+  KEY_Thai_phosamphao* = 0x00000DC0
+  KEY_Thai_moma* = 0x00000DC1
+  KEY_Thai_yoyak* = 0x00000DC2
+  KEY_Thai_rorua* = 0x00000DC3
+  KEY_Thai_ru* = 0x00000DC4
+  KEY_Thai_loling* = 0x00000DC5
+  KEY_Thai_lu* = 0x00000DC6
+  KEY_Thai_wowaen* = 0x00000DC7
+  KEY_Thai_sosala* = 0x00000DC8
+  KEY_Thai_sorusi* = 0x00000DC9
+  KEY_Thai_sosua* = 0x00000DCA
+  KEY_Thai_hohip* = 0x00000DCB
+  KEY_Thai_lochula* = 0x00000DCC
+  KEY_Thai_oang* = 0x00000DCD
+  KEY_Thai_honokhuk* = 0x00000DCE
+  KEY_Thai_paiyannoi* = 0x00000DCF
+  KEY_Thai_saraa* = 0x00000DD0
+  KEY_Thai_maihanakat* = 0x00000DD1
+  KEY_Thai_saraaa* = 0x00000DD2
+  KEY_Thai_saraam* = 0x00000DD3
+  KEY_Thai_sarai* = 0x00000DD4
+  KEY_Thai_saraii* = 0x00000DD5
+  KEY_Thai_saraue* = 0x00000DD6
+  KEY_Thai_sarauee* = 0x00000DD7
+  KEY_Thai_sarau* = 0x00000DD8
+  KEY_Thai_sarauu* = 0x00000DD9
+  KEY_Thai_phinthu* = 0x00000DDA
+  KEY_Thai_maihanakat_maitho* = 0x00000DDE
+  KEY_Thai_baht* = 0x00000DDF
+  KEY_Thai_sarae* = 0x00000DE0
+  KEY_Thai_saraae* = 0x00000DE1
+  KEY_Thai_sarao* = 0x00000DE2
+  KEY_Thai_saraaimaimuan* = 0x00000DE3
+  KEY_Thai_saraaimaimalai* = 0x00000DE4
+  KEY_Thai_lakkhangyao* = 0x00000DE5
+  KEY_Thai_maiyamok* = 0x00000DE6
+  KEY_Thai_maitaikhu* = 0x00000DE7
+  KEY_Thai_maiek* = 0x00000DE8
+  KEY_Thai_maitho* = 0x00000DE9
+  KEY_Thai_maitri* = 0x00000DEA
+  KEY_Thai_maichattawa* = 0x00000DEB
+  KEY_Thai_thanthakhat* = 0x00000DEC
+  KEY_Thai_nikhahit* = 0x00000DED
+  KEY_Thai_leksun* = 0x00000DF0
+  KEY_Thai_leknung* = 0x00000DF1
+  KEY_Thai_leksong* = 0x00000DF2
+  KEY_Thai_leksam* = 0x00000DF3
+  KEY_Thai_leksi* = 0x00000DF4
+  KEY_Thai_lekha* = 0x00000DF5
+  KEY_Thai_lekhok* = 0x00000DF6
+  KEY_Thai_lekchet* = 0x00000DF7
+  KEY_Thai_lekpaet* = 0x00000DF8
+  KEY_Thai_lekkao* = 0x00000DF9
+  KEY_Hangul* = 0x0000FF31
+  KEY_Hangul_Start* = 0x0000FF32
+  KEY_Hangul_End* = 0x0000FF33
+  KEY_Hangul_Hanja* = 0x0000FF34
+  KEY_Hangul_Jamo* = 0x0000FF35
+  KEY_Hangul_Romaja* = 0x0000FF36
+  KEY_Hangul_Codeinput* = 0x0000FF37
+  KEY_Hangul_Jeonja* = 0x0000FF38
+  KEY_Hangul_Banja* = 0x0000FF39
+  KEY_Hangul_PreHanja* = 0x0000FF3A
+  KEY_Hangul_PostHanja* = 0x0000FF3B
+  KEY_Hangul_SingleCandidate* = 0x0000FF3C
+  KEY_Hangul_MultipleCandidate* = 0x0000FF3D
+  KEY_Hangul_PreviousCandidate* = 0x0000FF3E
+  KEY_Hangul_Special* = 0x0000FF3F
+  KEY_Hangul_switch* = 0x0000FF7E
+  KEY_Hangul_Kiyeog* = 0x00000EA1
+  KEY_Hangul_SsangKiyeog* = 0x00000EA2
+  KEY_Hangul_KiyeogSios* = 0x00000EA3
+  KEY_Hangul_Nieun* = 0x00000EA4
+  KEY_Hangul_NieunJieuj* = 0x00000EA5
+  KEY_Hangul_NieunHieuh* = 0x00000EA6
+  KEY_Hangul_Dikeud* = 0x00000EA7
+  KEY_Hangul_SsangDikeud* = 0x00000EA8
+  KEY_Hangul_Rieul* = 0x00000EA9
+  KEY_Hangul_RieulKiyeog* = 0x00000EAA
+  KEY_Hangul_RieulMieum* = 0x00000EAB
+  KEY_Hangul_RieulPieub* = 0x00000EAC
+  KEY_Hangul_RieulSios* = 0x00000EAD
+  KEY_Hangul_RieulTieut* = 0x00000EAE
+  KEY_Hangul_RieulPhieuf* = 0x00000EAF
+  KEY_Hangul_RieulHieuh* = 0x00000EB0
+  KEY_Hangul_Mieum* = 0x00000EB1
+  KEY_Hangul_Pieub* = 0x00000EB2
+  KEY_Hangul_SsangPieub* = 0x00000EB3
+  KEY_Hangul_PieubSios* = 0x00000EB4
+  KEY_Hangul_Sios* = 0x00000EB5
+  KEY_Hangul_SsangSios* = 0x00000EB6
+  KEY_Hangul_Ieung* = 0x00000EB7
+  KEY_Hangul_Jieuj* = 0x00000EB8
+  KEY_Hangul_SsangJieuj* = 0x00000EB9
+  KEY_Hangul_Cieuc* = 0x00000EBA
+  KEY_Hangul_Khieuq* = 0x00000EBB
+  KEY_Hangul_Tieut* = 0x00000EBC
+  KEY_Hangul_Phieuf* = 0x00000EBD
+  KEY_Hangul_Hieuh* = 0x00000EBE
+  KEY_Hangul_A* = 0x00000EBF
+  KEY_Hangul_AE* = 0x00000EC0
+  KEY_Hangul_YA* = 0x00000EC1
+  KEY_Hangul_YAE* = 0x00000EC2
+  KEY_Hangul_EO* = 0x00000EC3
+  KEY_Hangul_E* = 0x00000EC4
+  KEY_Hangul_YEO* = 0x00000EC5
+  KEY_Hangul_YE* = 0x00000EC6
+  KEY_Hangul_O* = 0x00000EC7
+  KEY_Hangul_WA* = 0x00000EC8
+  KEY_Hangul_WAE* = 0x00000EC9
+  KEY_Hangul_OE* = 0x00000ECA
+  KEY_Hangul_YO* = 0x00000ECB
+  KEY_Hangul_U* = 0x00000ECC
+  KEY_Hangul_WEO* = 0x00000ECD
+  KEY_Hangul_WE* = 0x00000ECE
+  KEY_Hangul_WI* = 0x00000ECF
+  KEY_Hangul_YU* = 0x00000ED0
+  KEY_Hangul_EU* = 0x00000ED1
+  KEY_Hangul_YI* = 0x00000ED2
+  KEY_Hangul_I* = 0x00000ED3
+  KEY_Hangul_J_Kiyeog* = 0x00000ED4
+  KEY_Hangul_J_SsangKiyeog* = 0x00000ED5
+  KEY_Hangul_J_KiyeogSios* = 0x00000ED6
+  KEY_Hangul_J_Nieun* = 0x00000ED7
+  KEY_Hangul_J_NieunJieuj* = 0x00000ED8
+  KEY_Hangul_J_NieunHieuh* = 0x00000ED9
+  KEY_Hangul_J_Dikeud* = 0x00000EDA
+  KEY_Hangul_J_Rieul* = 0x00000EDB
+  KEY_Hangul_J_RieulKiyeog* = 0x00000EDC
+  KEY_Hangul_J_RieulMieum* = 0x00000EDD
+  KEY_Hangul_J_RieulPieub* = 0x00000EDE
+  KEY_Hangul_J_RieulSios* = 0x00000EDF
+  KEY_Hangul_J_RieulTieut* = 0x00000EE0
+  KEY_Hangul_J_RieulPhieuf* = 0x00000EE1
+  KEY_Hangul_J_RieulHieuh* = 0x00000EE2
+  KEY_Hangul_J_Mieum* = 0x00000EE3
+  KEY_Hangul_J_Pieub* = 0x00000EE4
+  KEY_Hangul_J_PieubSios* = 0x00000EE5
+  KEY_Hangul_J_Sios* = 0x00000EE6
+  KEY_Hangul_J_SsangSios* = 0x00000EE7
+  KEY_Hangul_J_Ieung* = 0x00000EE8
+  KEY_Hangul_J_Jieuj* = 0x00000EE9
+  KEY_Hangul_J_Cieuc* = 0x00000EEA
+  KEY_Hangul_J_Khieuq* = 0x00000EEB
+  KEY_Hangul_J_Tieut* = 0x00000EEC
+  KEY_Hangul_J_Phieuf* = 0x00000EED
+  KEY_Hangul_J_Hieuh* = 0x00000EEE
+  KEY_Hangul_RieulYeorinHieuh* = 0x00000EEF
+  KEY_Hangul_SunkyeongeumMieum* = 0x00000EF0
+  KEY_Hangul_SunkyeongeumPieub* = 0x00000EF1
+  KEY_Hangul_PanSios* = 0x00000EF2
+  KEY_Hangul_KkogjiDalrinIeung* = 0x00000EF3
+  KEY_Hangul_SunkyeongeumPhieuf* = 0x00000EF4
+  KEY_Hangul_YeorinHieuh* = 0x00000EF5
+  KEY_Hangul_AraeA* = 0x00000EF6
+  KEY_Hangul_AraeAE* = 0x00000EF7
+  KEY_Hangul_J_PanSios* = 0x00000EF8
+  KEY_Hangul_J_KkogjiDalrinIeung* = 0x00000EF9
+  KEY_Hangul_J_YeorinHieuh* = 0x00000EFA
+  KEY_Korean_Won* = 0x00000EFF
+  KEY_EcuSign* = 0x000020A0
+  KEY_ColonSign* = 0x000020A1
+  KEY_CruzeiroSign* = 0x000020A2
+  KEY_FFrancSign* = 0x000020A3
+  KEY_LiraSign* = 0x000020A4
+  KEY_MillSign* = 0x000020A5
+  KEY_NairaSign* = 0x000020A6
+  KEY_PesetaSign* = 0x000020A7
+  KEY_RupeeSign* = 0x000020A8
+  KEY_WonSign* = 0x000020A9
+  KEY_NewSheqelSign* = 0x000020AA
+  KEY_DongSign* = 0x000020AB
+  KEY_EuroSign* = 0x000020AC
+
+proc pango_context_get_for_screen*(screen: PScreen): PContext{.cdecl, 
+    dynlib: lib, importc: "gdk_pango_context_get_for_screen".}
+proc pango_context_set_colormap*(context: PContext, colormap: PColormap){.
+    cdecl, dynlib: lib, importc: "gdk_pango_context_set_colormap".}
+proc pango_layout_line_get_clip_region*(line: PLayoutLine, x_origin: gint, 
+                                        y_origin: gint, index_ranges: Pgint, 
+                                        n_ranges: gint): PRegion{.cdecl, 
+    dynlib: lib, importc: "gdk_pango_layout_line_get_clip_region".}
+proc pango_layout_get_clip_region*(layout: PLayout, x_origin: gint, 
+                                   y_origin: gint, index_ranges: Pgint, 
+                                   n_ranges: gint): PRegion{.cdecl, dynlib: lib, 
+    importc: "gdk_pango_layout_get_clip_region".}
+proc pango_attr_stipple_new*(stipple: PBitmap): PAttribute{.cdecl, 
+    dynlib: lib, importc: "gdk_pango_attr_stipple_new".}
+proc pango_attr_embossed_new*(embossed: gboolean): PAttribute{.cdecl, 
+    dynlib: lib, importc: "gdk_pango_attr_embossed_new".}
+proc render_threshold_alpha*(pixbuf: PPixbuf, bitmap: PBitmap, 
+                                    src_x: int32, src_y: int32, dest_x: int32, 
+                                    dest_y: int32, width: int32, height: int32, 
+                                    alpha_threshold: int32){.cdecl, dynlib: lib, 
+    importc: "gdk_pixbuf_render_threshold_alpha".}
+proc render_to_drawable*(pixbuf: PPixbuf, drawable: PDrawable, gc: PGC, 
+                                src_x: int32, src_y: int32, dest_x: int32, 
+                                dest_y: int32, width: int32, height: int32, 
+                                dither: TRgbDither, x_dither: int32, 
+                                y_dither: int32){.cdecl, dynlib: lib, 
+    importc: "gdk_pixbuf_render_to_drawable".}
+proc render_to_drawable_alpha*(pixbuf: PPixbuf, drawable: PDrawable, 
+                                      src_x: int32, src_y: int32, dest_x: int32, 
+                                      dest_y: int32, width: int32, 
+                                      height: int32, 
+                                      alpha_mode: TPixbufAlphaMode, 
+                                      alpha_threshold: int32, 
+                                      dither: TRgbDither, x_dither: int32, 
+                                      y_dither: int32){.cdecl, dynlib: lib, 
+    importc: "gdk_pixbuf_render_to_drawable_alpha".}
+proc render_pixmap_and_mask_for_colormap*(pixbuf: PPixbuf, 
+    colormap: PColormap, n: var PPixmap, nasdfdsafw4e: var PBitmap, 
+    alpha_threshold: int32){.cdecl, dynlib: lib, importc: "gdk_pixbuf_render_pixmap_and_mask_for_colormap".}
+proc get_from_drawable*(dest: PPixbuf, src: PDrawable, cmap: PColormap, 
+                               src_x: int32, src_y: int32, dest_x: int32, 
+                               dest_y: int32, width: int32, height: int32): PPixbuf{.
+    cdecl, dynlib: lib, importc: "gdk_pixbuf_get_from_drawable".}
+proc get_from_image*(dest: PPixbuf, src: PImage, cmap: PColormap, 
+                            src_x: int32, src_y: int32, dest_x: int32, 
+                            dest_y: int32, width: int32, height: int32): PPixbuf{.
+    cdecl, dynlib: lib, importc: "gdk_pixbuf_get_from_image".}
+proc TYPE_PIXMAP*(): GType
+proc PIXMAP*(anObject: Pointer): PPixmap
+proc PIXMAP_CLASS*(klass: Pointer): PPixmapObjectClass
+proc IS_PIXMAP*(anObject: Pointer): bool
+proc IS_PIXMAP_CLASS*(klass: Pointer): bool
+proc PIXMAP_GET_CLASS*(obj: Pointer): PPixmapObjectClass
+proc PIXMAP_OBJECT*(anObject: Pointer): PPixmapObject
+proc pixmap_get_type*(): GType{.cdecl, dynlib: lib, 
+                                importc: "gdk_pixmap_get_type".}
+proc pixmap_new*(window: PWindow, width: gint, height: gint, depth: gint): PPixmap{.
+    cdecl, dynlib: lib, importc: "gdk_pixmap_new".}
+proc bitmap_create_from_data*(window: PWindow, data: cstring, width: gint, 
+                              height: gint): PBitmap{.cdecl, dynlib: lib, 
+    importc: "gdk_bitmap_create_from_data".}
+proc pixmap_create_from_data*(window: PWindow, data: cstring, width: gint, 
+                              height: gint, depth: gint, fg: PColor, bg: PColor): PPixmap{.
+    cdecl, dynlib: lib, importc: "gdk_pixmap_create_from_data".}
+proc pixmap_create_from_xpm*(window: PWindow, k: var PBitmap, 
+                             transparent_color: PColor, filename: cstring): PPixmap{.
+    cdecl, dynlib: lib, importc: "gdk_pixmap_create_from_xpm".}
+proc pixmap_colormap_create_from_xpm*(window: PWindow, colormap: PColormap, 
+                                      k: var PBitmap, transparent_color: PColor, 
+                                      filename: cstring): PPixmap{.cdecl, 
+    dynlib: lib, importc: "gdk_pixmap_colormap_create_from_xpm".}
+proc pixmap_create_from_xpm_d*(window: PWindow, k: var PBitmap, 
+                               transparent_color: PColor, data: PPgchar): PPixmap{.
+    cdecl, dynlib: lib, importc: "gdk_pixmap_create_from_xpm_d".}
+proc pixmap_colormap_create_from_xpm_d*(window: PWindow, colormap: PColormap, 
+                                        k: var PBitmap, 
+                                        transparent_color: PColor, data: PPgchar): PPixmap{.
+    cdecl, dynlib: lib, importc: "gdk_pixmap_colormap_create_from_xpm_d".}
+proc pixmap_foreign_new_for_display*(display: PDisplay, anid: TNativeWindow): PPixmap{.
+    cdecl, dynlib: lib, importc: "gdk_pixmap_foreign_new_for_display".}
+proc pixmap_lookup_for_display*(display: PDisplay, anid: TNativeWindow): PPixmap{.
+    cdecl, dynlib: lib, importc: "gdk_pixmap_lookup_for_display".}
+proc atom_intern*(atom_name: cstring, only_if_exists: gboolean): TAtom{.cdecl, 
+    dynlib: lib, importc: "gdk_atom_intern".}
+proc atom_name*(atom: TAtom): cstring{.cdecl, dynlib: lib, 
+                                       importc: "gdk_atom_name".}
+proc property_get*(window: PWindow, `property`: TAtom, `type`: TAtom, 
+                   offset: gulong, length: gulong, pdelete: gint, 
+                   actual_property_type: PAtom, actual_format: Pgint, 
+                   actual_length: Pgint, data: PPguchar): gboolean{.cdecl, 
+    dynlib: lib, importc: "gdk_property_get".}
+proc property_change*(window: PWindow, `property`: TAtom, `type`: TAtom, 
+                      format: gint, mode: TPropMode, data: Pguchar, 
+                      nelements: gint){.cdecl, dynlib: lib, 
+                                        importc: "gdk_property_change".}
+proc property_delete*(window: PWindow, `property`: TAtom){.cdecl, dynlib: lib, 
+    importc: "gdk_property_delete".}
+proc text_property_to_text_list_for_display*(display: PDisplay, encoding: TAtom, 
+    format: gint, text: Pguchar, length: gint, t: var PPgchar): gint{.cdecl, 
+    dynlib: lib, importc: "gdk_text_property_to_text_list_for_display".}
+proc text_property_to_utf8_list_for_display*(display: PDisplay, encoding: TAtom, 
+    format: gint, text: Pguchar, length: gint, t: var PPgchar): gint{.cdecl, 
+    dynlib: lib, importc: "gdk_text_property_to_utf8_list_for_display".}
+proc utf8_to_string_target*(str: cstring): cstring{.cdecl, dynlib: lib, 
     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,
+proc string_to_compound_text_for_display*(display: PDisplay, str: cstring, 
+    encoding: PAtom, format: Pgint, ctext: PPguchar, length: Pgint): gint{.
+    cdecl, dynlib: lib, importc: "gdk_string_to_compound_text_for_display".}
+proc utf8_to_compound_text_for_display*(display: PDisplay, str: cstring, 
+                                        encoding: PAtom, format: Pgint, 
+                                        ctext: PPguchar, length: Pgint): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_utf8_to_compound_text_for_display".}
+proc free_text_list*(list: PPgchar){.cdecl, dynlib: lib, 
+                                     importc: "gdk_free_text_list".}
+proc free_compound_text*(ctext: Pguchar){.cdecl, dynlib: lib, 
     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,
+proc region_new*(): PRegion{.cdecl, dynlib: lib, importc: "gdk_region_new".}
+proc region_polygon*(points: PPoint, npoints: gint, fill_rule: TFillRule): PRegion{.
+    cdecl, dynlib: lib, importc: "gdk_region_polygon".}
+proc copy*(region: PRegion): PRegion{.cdecl, dynlib: lib, 
     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,
+proc region_rectangle*(rectangle: PRectangle): PRegion{.cdecl, dynlib: lib, 
+    importc: "gdk_region_rectangle".}
+proc destroy*(region: PRegion){.cdecl, dynlib: lib, 
+                                       importc: "gdk_region_destroy".}
+proc get_clipbox*(region: PRegion, rectangle: PRectangle){.cdecl, 
+    dynlib: lib, importc: "gdk_region_get_clipbox".}
+proc get_rectangles*(region: PRegion, s: var PRectangle, 
+                            n_rectangles: Pgint){.cdecl, dynlib: lib, 
     importc: "gdk_region_get_rectangles".}
-proc gdk_region_empty*(region: PGdkRegion): gboolean{.cdecl, dynlib: gdklib,
+proc empty*(region: PRegion): gboolean{.cdecl, dynlib: lib, 
     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,
+proc equal*(region1: PRegion, region2: PRegion): gboolean{.cdecl, 
+    dynlib: lib, importc: "gdk_region_equal".}
+proc point_in*(region: PRegion, x: int32, y: int32): gboolean{.cdecl, 
+    dynlib: lib, importc: "gdk_region_point_in".}
+proc rect_in*(region: PRegion, rect: PRectangle): TOverlapType{.cdecl, 
+    dynlib: lib, importc: "gdk_region_rect_in".}
+proc offset*(region: PRegion, dx: gint, dy: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_region_offset".}
+proc shrink*(region: PRegion, dx: gint, dy: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_region_shrink".}
+proc union_with_rect*(region: PRegion, rect: PRectangle){.cdecl, 
+    dynlib: lib, importc: "gdk_region_union_with_rect".}
+proc intersect*(source1: PRegion, source2: PRegion){.cdecl, dynlib: lib, 
+    importc: "gdk_region_intersect".}
+proc union*(source1: PRegion, source2: PRegion){.cdecl, dynlib: lib, 
+    importc: "gdk_region_union".}
+proc subtract*(source1: PRegion, source2: PRegion){.cdecl, dynlib: lib, 
+    importc: "gdk_region_subtract".}
+proc `xor`*(source1: PRegion, source2: PRegion){.cdecl, dynlib: lib, 
+    importc: "gdk_region_xor".}
+proc spans_intersect_foreach*(region: PRegion, spans: PSpan, 
+                                     n_spans: int32, sorted: gboolean, 
+                                     `function`: TSpanFunc, data: gpointer){.
+    cdecl, dynlib: lib, importc: "gdk_region_spans_intersect_foreach".}
+proc rgb_find_color*(colormap: PColormap, color: PColor){.cdecl, dynlib: lib, 
+    importc: "gdk_rgb_find_color".}
+proc rgb_image*(drawable: PDrawable, gc: PGC, x: gint, y: gint, 
+                     width: gint, height: gint, dith: TRgbDither, 
+                     rgb_buf: Pguchar, rowstride: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_draw_rgb_image".}
+proc rgb_image_dithalign*(drawable: PDrawable, gc: PGC, x: gint, y: gint, 
+                               width: gint, height: gint, dith: TRgbDither, 
+                               rgb_buf: Pguchar, rowstride: gint, xdith: gint, 
+                               ydith: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_draw_rgb_image_dithalign".}
+proc rgb_32_image*(drawable: PDrawable, gc: PGC, x: gint, y: gint, 
+                        width: gint, height: gint, dith: TRgbDither, 
+                        buf: Pguchar, rowstride: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_draw_rgb_32_image".}
+proc rgb_32_image_dithalign*(drawable: PDrawable, gc: PGC, x: gint, 
+                                  y: gint, width: gint, height: gint, 
+                                  dith: TRgbDither, buf: Pguchar, 
+                                  rowstride: gint, xdith: gint, ydith: gint){.
+    cdecl, dynlib: lib, importc: "gdk_draw_rgb_32_image_dithalign".}
+proc gray_image*(drawable: PDrawable, gc: PGC, x: gint, y: gint, 
+                      width: gint, height: gint, dith: TRgbDither, buf: Pguchar, 
+                      rowstride: gint){.cdecl, dynlib: lib, 
+                                        importc: "gdk_draw_gray_image".}
+proc indexed_image*(drawable: PDrawable, gc: PGC, x: gint, y: gint, 
+                         width: gint, height: gint, dith: TRgbDither, 
+                         buf: Pguchar, rowstride: gint, cmap: PRgbCmap){.cdecl, 
+    dynlib: lib, importc: "gdk_draw_indexed_image".}
+proc rgb_cmap_new*(colors: Pguint32, n_colors: gint): PRgbCmap{.cdecl, 
+    dynlib: lib, importc: "gdk_rgb_cmap_new".}
+proc free*(cmap: PRgbCmap){.cdecl, dynlib: lib, 
+                                     importc: "gdk_rgb_cmap_free".}
+proc rgb_set_verbose*(verbose: gboolean){.cdecl, dynlib: lib, 
     importc: "gdk_rgb_set_verbose".}
-proc gdk_rgb_set_install*(install: gboolean){.cdecl, dynlib: gdklib,
+proc rgb_set_install*(install: gboolean){.cdecl, dynlib: lib, 
     importc: "gdk_rgb_set_install".}
-proc gdk_rgb_set_min_colors*(min_colors: gint){.cdecl, dynlib: gdklib,
+proc rgb_set_min_colors*(min_colors: gint){.cdecl, dynlib: lib, 
     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,
+proc TYPE_DISPLAY*(): GType
+proc DISPLAY_OBJECT*(anObject: pointer): PDisplay
+proc DISPLAY_CLASS*(klass: pointer): PDisplayClass
+proc IS_DISPLAY*(anObject: pointer): bool
+proc IS_DISPLAY_CLASS*(klass: pointer): bool
+proc DISPLAY_GET_CLASS*(obj: pointer): PDisplayClass
+proc display_open*(display_name: cstring): PDisplay{.cdecl, dynlib: lib, 
+    importc: "gdk_display_open".}
+proc get_name*(display: PDisplay): cstring{.cdecl, dynlib: lib, 
     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,
+proc get_n_screens*(display: PDisplay): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_display_get_n_screens".}
+proc get_screen*(display: PDisplay, screen_num: gint): PScreen{.cdecl, 
+    dynlib: lib, importc: "gdk_display_get_screen".}
+proc get_default_screen*(display: PDisplay): PScreen{.cdecl, 
+    dynlib: lib, importc: "gdk_display_get_default_screen".}
+proc pointer_ungrab*(display: PDisplay, time: guint32){.cdecl, 
+    dynlib: lib, importc: "gdk_display_pointer_ungrab".}
+proc keyboard_ungrab*(display: PDisplay, time: guint32){.cdecl, 
+    dynlib: lib, importc: "gdk_display_keyboard_ungrab".}
+proc pointer_is_grabbed*(display: PDisplay): gboolean{.cdecl, 
+    dynlib: lib, importc: "gdk_display_pointer_is_grabbed".}
+proc beep*(display: PDisplay){.cdecl, dynlib: lib, 
+                                       importc: "gdk_display_beep".}
+proc sync*(display: PDisplay){.cdecl, dynlib: lib, 
+                                       importc: "gdk_display_sync".}
+proc close*(display: PDisplay){.cdecl, dynlib: lib, 
+                                        importc: "gdk_display_close".}
+proc list_devices*(display: PDisplay): PGList{.cdecl, dynlib: lib, 
+    importc: "gdk_display_list_devices".}
+proc get_event*(display: PDisplay): PEvent{.cdecl, dynlib: lib, 
+    importc: "gdk_display_get_event".}
+proc peek_event*(display: PDisplay): PEvent{.cdecl, dynlib: lib, 
+    importc: "gdk_display_peek_event".}
+proc put_event*(display: PDisplay, event: PEvent){.cdecl, dynlib: lib, 
+    importc: "gdk_display_put_event".}
+proc add_client_message_filter*(display: PDisplay, message_type: TAtom, 
+                                        func: TFilterFunc, data: gpointer){.
+    cdecl, dynlib: lib, importc: "gdk_display_add_client_message_filter".}
+proc set_double_click_time*(display: PDisplay, msec: guint){.cdecl, 
+    dynlib: lib, importc: "gdk_display_set_double_click_time".}
+proc set_sm_client_id*(display: PDisplay, sm_client_id: cstring){.cdecl, 
+    dynlib: lib, importc: "gdk_display_set_sm_client_id".}
+proc set_default_display*(display: PDisplay){.cdecl, dynlib: lib, 
     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,
+proc get_default_display*(): PDisplay{.cdecl, dynlib: lib, 
+                                       importc: "gdk_get_default_display".}
+proc TYPE_SCREEN*(): GType
+proc SCREEN*(anObject: Pointer): PScreen
+proc SCREEN_CLASS*(klass: Pointer): PScreenClass
+proc IS_SCREEN*(anObject: Pointer): bool
+proc IS_SCREEN_CLASS*(klass: Pointer): bool
+proc SCREEN_GET_CLASS*(obj: Pointer): PScreenClass
+proc get_default_colormap*(screen: PScreen): PColormap{.cdecl, 
+    dynlib: lib, importc: "gdk_screen_get_default_colormap".}
+proc set_default_colormap*(screen: PScreen, colormap: PColormap){.cdecl, 
+    dynlib: lib, importc: "gdk_screen_set_default_colormap".}
+proc get_system_colormap*(screen: PScreen): PColormap{.cdecl, 
+    dynlib: lib, importc: "gdk_screen_get_system_colormap".}
+proc get_system_visual*(screen: PScreen): PVisual{.cdecl, dynlib: lib, 
+    importc: "gdk_screen_get_system_visual".}
+proc get_rgb_colormap*(screen: PScreen): PColormap{.cdecl, dynlib: lib, 
+    importc: "gdk_screen_get_rgb_colormap".}
+proc get_rgb_visual*(screen: PScreen): PVisual{.cdecl, dynlib: lib, 
+    importc: "gdk_screen_get_rgb_visual".}
+proc get_root_window*(screen: PScreen): PWindow{.cdecl, dynlib: lib, 
+    importc: "gdk_screen_get_root_window".}
+proc get_display*(screen: PScreen): PDisplay{.cdecl, dynlib: lib, 
+    importc: "gdk_screen_get_display".}
+proc get_number*(screen: PScreen): gint{.cdecl, dynlib: lib, 
     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,
+proc get_window_at_pointer*(screen: PScreen, win_x: Pgint, win_y: Pgint): PWindow{.
+    cdecl, dynlib: lib, importc: "gdk_screen_get_window_at_pointer".}
+proc get_width*(screen: PScreen): gint{.cdecl, dynlib: lib, 
     importc: "gdk_screen_get_width".}
-proc gdk_screen_get_height*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
+proc get_height*(screen: PScreen): gint{.cdecl, dynlib: lib, 
     importc: "gdk_screen_get_height".}
-proc gdk_screen_get_width_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
+proc get_width_mm*(screen: PScreen): gint{.cdecl, dynlib: lib, 
     importc: "gdk_screen_get_width_mm".}
-proc gdk_screen_get_height_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib,
+proc get_height_mm*(screen: PScreen): gint{.cdecl, dynlib: lib, 
     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,
+proc close*(screen: PScreen){.cdecl, dynlib: lib, 
+                                     importc: "gdk_screen_close".}
+proc list_visuals*(screen: PScreen): PGList{.cdecl, dynlib: lib, 
+    importc: "gdk_screen_list_visuals".}
+proc get_toplevel_windows*(screen: PScreen): PGList{.cdecl, dynlib: lib, 
+    importc: "gdk_screen_get_toplevel_windows".}
+proc get_n_monitors*(screen: PScreen): gint{.cdecl, dynlib: lib, 
+    importc: "gdk_screen_get_n_monitors".}
+proc get_monitor_geometry*(screen: PScreen, monitor_num: gint, 
+                                  dest: PRectangle){.cdecl, dynlib: lib, 
+    importc: "gdk_screen_get_monitor_geometry".}
+proc get_monitor_at_point*(screen: PScreen, x: gint, y: gint): gint{.
+    cdecl, dynlib: lib, importc: "gdk_screen_get_monitor_at_point".}
+proc get_monitor_at_window*(screen: PScreen, window: PWindow): gint{.
+    cdecl, dynlib: lib, importc: "gdk_screen_get_monitor_at_window".}
+proc broadcast_client_message*(screen: PScreen, event: PEvent){.cdecl, 
+    dynlib: lib, importc: "gdk_screen_broadcast_client_message".}
+proc get_default_screen*(): PScreen{.cdecl, dynlib: lib, 
+                                     importc: "gdk_get_default_screen".}
+proc get_setting*(screen: PScreen, name: cstring, value: PGValue): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_screen_get_setting".}
+proc SELECTION_PRIMARY*(): TAtom
+proc SELECTION_SECONDARY*(): TAtom
+proc SELECTION_CLIPBOARD*(): TAtom
+proc TARGET_BITMAP*(): TAtom
+proc TARGET_COLORMAP*(): TAtom
+proc TARGET_DRAWABLE*(): TAtom
+proc TARGET_PIXMAP*(): TAtom
+proc TARGET_STRING*(): TAtom
+proc SELECTION_TYPE_ATOM*(): TAtom
+proc SELECTION_TYPE_BITMAP*(): TAtom
+proc SELECTION_TYPE_COLORMAP*(): TAtom
+proc SELECTION_TYPE_DRAWABLE*(): TAtom
+proc SELECTION_TYPE_INTEGER*(): TAtom
+proc SELECTION_TYPE_PIXMAP*(): TAtom
+proc SELECTION_TYPE_WINDOW*(): TAtom
+proc SELECTION_TYPE_STRING*(): TAtom
+proc selection_owner_set_for_display*(display: PDisplay, owner: PWindow, 
+                                      selection: TAtom, time: guint32, 
+                                      send_event: gboolean): gboolean{.cdecl, 
+    dynlib: lib, importc: "gdk_selection_owner_set_for_display".}
+proc selection_owner_get_for_display*(display: PDisplay, selection: TAtom): PWindow{.
+    cdecl, dynlib: lib, importc: "gdk_selection_owner_get_for_display".}
+proc selection_convert*(requestor: PWindow, selection: TAtom, target: TAtom, 
+                        time: guint32){.cdecl, dynlib: lib, 
+                                        importc: "gdk_selection_convert".}
+proc selection_property_get*(requestor: PWindow, data: PPguchar, 
+                             prop_type: PAtom, prop_format: Pgint): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_selection_property_get".}
+proc selection_send_notify_for_display*(display: PDisplay, requestor: guint32, 
+                                        selection: TAtom, target: TAtom, 
+                                        `property`: TAtom, time: guint32){.
+    cdecl, dynlib: lib, importc: "gdk_selection_send_notify_for_display".}
+const 
+  CURRENT_TIME* = 0
+  PARENT_RELATIVE* = 1
+  OK* = 0
+  ERROR* = - (1)
+  ERROR_PARAM* = - (2)
+  ERROR_FILE* = - (3)
+  ERROR_MEM* = - (4)
+  SHIFT_MASK* = 1 shl 0
+  LOCK_MASK* = 1 shl 1
+  CONTROL_MASK* = 1 shl 2
+  MOD1_MASK* = 1 shl 3
+  MOD2_MASK* = 1 shl 4
+  MOD3_MASK* = 1 shl 5
+  MOD4_MASK* = 1 shl 6
+  MOD5_MASK* = 1 shl 7
+  BUTTON1_MASK* = 1 shl 8
+  BUTTON2_MASK* = 1 shl 9
+  BUTTON3_MASK* = 1 shl 10
+  BUTTON4_MASK* = 1 shl 11
+  BUTTON5_MASK* = 1 shl 12
+  RELEASE_MASK* = 1 shl 30
+  MODIFIER_MASK* = ord(RELEASE_MASK) or 0x00001FFF
+  INPUT_READ* = 1 shl 0
+  INPUT_WRITE* = 1 shl 1
+  INPUT_EXCEPTION* = 1 shl 2
+  GRAB_SUCCESS* = 0
+  GRAB_ALREADY_GRABBED* = 1
+  GRAB_INVALID_TIME* = 2
+  GRAB_NOT_VIEWABLE* = 3
+  GRAB_FROZEN* = 4
+
+proc ATOM_TO_POINTER*(atom: TAtom): Pointer
+proc POINTER_TO_ATOM*(p: Pointer): TAtom
+proc `MAKE_ATOM`*(val: guint): TAtom
+proc NONE*(): TAtom
+proc TYPE_VISUAL*(): GType
+proc VISUAL*(anObject: Pointer): PVisual
+proc VISUAL_CLASS*(klass: Pointer): PVisualClass
+proc IS_VISUAL*(anObject: Pointer): bool
+proc IS_VISUAL_CLASS*(klass: Pointer): bool
+proc VISUAL_GET_CLASS*(obj: Pointer): PVisualClass
+proc visual_get_type*(): GType{.cdecl, dynlib: lib, 
+                                importc: "gdk_visual_get_type".}
+const 
+  WA_TITLE* = 1 shl 1
+  WA_X* = 1 shl 2
+  WA_Y* = 1 shl 3
+  WA_CURSOR* = 1 shl 4
+  WA_COLORMAP* = 1 shl 5
+  WA_VISUAL* = 1 shl 6
+  WA_WMCLASS* = 1 shl 7
+  WA_NOREDIR* = 1 shl 8
+  HINT_POS* = 1 shl 0
+  HINT_MIN_SIZE* = 1 shl 1
+  HINT_MAX_SIZE* = 1 shl 2
+  HINT_BASE_SIZE* = 1 shl 3
+  HINT_ASPECT* = 1 shl 4
+  HINT_RESIZE_INC* = 1 shl 5
+  HINT_WIN_GRAVITY* = 1 shl 6
+  HINT_USER_POS* = 1 shl 7
+  HINT_USER_SIZE* = 1 shl 8
+  DECOR_ALL* = 1 shl 0
+  DECOR_BORDER* = 1 shl 1
+  DECOR_RESIZEH* = 1 shl 2
+  DECOR_TITLE* = 1 shl 3
+  DECOR_MENU* = 1 shl 4
+  DECOR_MINIMIZE* = 1 shl 5
+  DECOR_MAXIMIZE* = 1 shl 6
+  FUNC_ALL* = 1 shl 0
+  FUNC_RESIZE* = 1 shl 1
+  FUNC_MOVE* = 1 shl 2
+  FUNC_MINIMIZE* = 1 shl 3
+  FUNC_MAXIMIZE* = 1 shl 4
+  FUNC_CLOSE* = 1 shl 5
+  GRAVITY_NORTH_WEST* = 1
+  GRAVITY_NORTH* = 2
+  GRAVITY_NORTH_EAST* = 3
+  GRAVITY_WEST* = 4
+  GRAVITY_CENTER* = 5
+  GRAVITY_EAST* = 6
+  GRAVITY_SOUTH_WEST* = 7
+  GRAVITY_SOUTH* = 8
+  GRAVITY_SOUTH_EAST* = 9
+  GRAVITY_STATIC* = 10
+
+proc TYPE_WINDOW*(): GType
+proc WINDOW*(anObject: Pointer): PWindow
+proc WINDOW_CLASS*(klass: Pointer): PWindowObjectClass
+proc IS_WINDOW*(anObject: Pointer): bool
+proc IS_WINDOW_CLASS*(klass: Pointer): bool
+proc WINDOW_GET_CLASS*(obj: Pointer): PWindowObjectClass
+proc WINDOW_OBJECT*(anObject: Pointer): PWindowObject
+const 
+  bm_TWindowObject_guffaw_gravity* = 0x0001'i16
+  bp_TWindowObject_guffaw_gravity* = 0'i16
+  bm_TWindowObject_input_only* = 0x0002'i16
+  bp_TWindowObject_input_only* = 1'i16
+  bm_TWindowObject_modal_hint* = 0x0004'i16
+  bp_TWindowObject_modal_hint* = 2'i16
+  bm_TWindowObject_destroyed* = 0x0018'i16
+  bp_TWindowObject_destroyed* = 3'i16
+
+proc WindowObject_guffaw_gravity*(a: var TWindowObject): guint
+proc WindowObject_set_guffaw_gravity*(a: var TWindowObject, 
+                                      `guffaw_gravity`: guint)
+proc WindowObject_input_only*(a: var TWindowObject): guint
+proc WindowObject_set_input_only*(a: var TWindowObject, `input_only`: guint)
+proc WindowObject_modal_hint*(a: var TWindowObject): guint
+proc WindowObject_set_modal_hint*(a: var TWindowObject, `modal_hint`: guint)
+proc WindowObject_destroyed*(a: var TWindowObject): guint
+proc WindowObject_set_destroyed*(a: var TWindowObject, `destroyed`: guint)
+proc window_object_get_type*(): GType{.cdecl, dynlib: lib, 
+                                       importc: "gdk_window_object_get_type".}
+proc new*(parent: PWindow, attributes: PWindowAttr, attributes_mask: gint): PWindow{.
+    cdecl, dynlib: lib, importc: "gdk_window_new".}
+proc destroy*(window: PWindow){.cdecl, dynlib: lib, 
+                                       importc: "gdk_window_destroy".}
+proc get_window_type*(window: PWindow): TWindowType{.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_window_type".}
+proc window_at_pointer*(win_x: Pgint, win_y: Pgint): PWindow{.cdecl, 
+    dynlib: lib, importc: "gdk_window_at_pointer".}
+proc show*(window: PWindow){.cdecl, dynlib: lib, 
+                                    importc: "gdk_window_show".}
+proc hide*(window: PWindow){.cdecl, dynlib: lib, 
+                                    importc: "gdk_window_hide".}
+proc withdraw*(window: PWindow){.cdecl, dynlib: lib, 
+                                        importc: "gdk_window_withdraw".}
+proc show_unraised*(window: PWindow){.cdecl, dynlib: lib, 
     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,
+proc move*(window: PWindow, x: gint, y: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_window_move".}
+proc resize*(window: PWindow, width: gint, height: gint){.cdecl, 
+    dynlib: lib, importc: "gdk_window_resize".}
+proc move_resize*(window: PWindow, x: gint, y: gint, width: gint, 
+                         height: gint){.cdecl, dynlib: lib, 
+                                        importc: "gdk_window_move_resize".}
+proc reparent*(window: PWindow, new_parent: PWindow, x: gint, y: gint){.
+    cdecl, dynlib: lib, importc: "gdk_window_reparent".}
+proc clear*(window: PWindow){.cdecl, dynlib: lib, 
+                                     importc: "gdk_window_clear".}
+proc clear_area*(window: PWindow, x: gint, y: gint, width: gint, 
+                        height: gint){.cdecl, dynlib: lib, 
+                                       importc: "gdk_window_clear_area".}
+proc clear_area_e*(window: PWindow, x: gint, y: gint, width: gint, 
+                          height: gint){.cdecl, dynlib: lib, 
     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,
+proc `raise`*(window: PWindow){.cdecl, dynlib: lib, 
+                                importc: "gdk_window_raise".}
+proc lower*(window: PWindow){.cdecl, dynlib: lib, 
+                                     importc: "gdk_window_lower".}
+proc focus*(window: PWindow, timestamp: guint32){.cdecl, dynlib: lib, 
+    importc: "gdk_window_focus".}
+proc set_user_data*(window: PWindow, user_data: gpointer){.cdecl, 
+    dynlib: lib, importc: "gdk_window_set_user_data".}
+proc set_override_redirect*(window: PWindow, override_redirect: gboolean){.
+    cdecl, dynlib: lib, importc: "gdk_window_set_override_redirect".}
+proc add_filter*(window: PWindow, `function`: TFilterFunc, data: gpointer){.
+    cdecl, dynlib: lib, importc: "gdk_window_add_filter".}
+proc remove_filter*(window: PWindow, `function`: TFilterFunc, 
+                           data: gpointer){.cdecl, dynlib: lib, 
     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,
+proc scroll*(window: PWindow, dx: gint, dy: gint){.cdecl, dynlib: lib, 
+    importc: "gdk_window_scroll".}
+proc shape_combine_mask*(window: PWindow, mask: PBitmap, x: gint, y: gint){.
+    cdecl, dynlib: lib, importc: "gdk_window_shape_combine_mask".}
+proc shape_combine_region*(window: PWindow, shape_region: PRegion, 
+                                  offset_x: gint, offset_y: gint){.cdecl, 
+    dynlib: lib, importc: "gdk_window_shape_combine_region".}
+proc set_child_shapes*(window: PWindow){.cdecl, dynlib: lib, 
     importc: "gdk_window_set_child_shapes".}
-proc gdk_window_merge_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib,
+proc merge_child_shapes*(window: PWindow){.cdecl, dynlib: lib, 
     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,
+proc is_visible*(window: PWindow): gboolean{.cdecl, dynlib: lib, 
+    importc: "gdk_window_is_visible".}
+proc is_viewable*(window: PWindow): gboolean{.cdecl, dynlib: lib, 
+    importc: "gdk_window_is_viewable".}
+proc get_state*(window: PWindow): TWindowState{.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_state".}
+proc set_static_gravities*(window: PWindow, use_static: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_window_set_static_gravities".}
+proc window_foreign_new_for_display*(display: PDisplay, anid: TNativeWindow): PWindow{.
+    cdecl, dynlib: lib, importc: "gdk_window_foreign_new_for_display".}
+proc window_lookup_for_display*(display: PDisplay, anid: TNativeWindow): PWindow{.
+    cdecl, dynlib: lib, importc: "gdk_window_lookup_for_display".}
+proc set_type_hint*(window: PWindow, hint: TWindowTypeHint){.cdecl, 
+    dynlib: lib, importc: "gdk_window_set_type_hint".}
+proc set_modal_hint*(window: PWindow, modal: gboolean){.cdecl, 
+    dynlib: lib, importc: "gdk_window_set_modal_hint".}
+proc set_geometry_hints*(window: PWindow, geometry: PGeometry, 
+                                geom_mask: TWindowHints){.cdecl, dynlib: lib, 
+    importc: "gdk_window_set_geometry_hints".}
+proc set_sm_client_id*(sm_client_id: cstring){.cdecl, dynlib: lib, 
     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,
+proc begin_paint_rect*(window: PWindow, rectangle: PRectangle){.cdecl, 
+    dynlib: lib, importc: "gdk_window_begin_paint_rect".}
+proc begin_paint_region*(window: PWindow, region: PRegion){.cdecl, 
+    dynlib: lib, importc: "gdk_window_begin_paint_region".}
+proc end_paint*(window: PWindow){.cdecl, dynlib: lib, 
     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,
+proc set_title*(window: PWindow, title: cstring){.cdecl, dynlib: lib, 
+    importc: "gdk_window_set_title".}
+proc set_role*(window: PWindow, role: cstring){.cdecl, dynlib: lib, 
+    importc: "gdk_window_set_role".}
+proc set_transient_for*(window: PWindow, parent: PWindow){.cdecl, 
+    dynlib: lib, importc: "gdk_window_set_transient_for".}
+proc set_background*(window: PWindow, color: PColor){.cdecl, dynlib: lib, 
+    importc: "gdk_window_set_background".}
+proc set_back_pixmap*(window: PWindow, pixmap: PPixmap, 
+                             parent_relative: gboolean){.cdecl, dynlib: lib, 
+    importc: "gdk_window_set_back_pixmap".}
+proc set_cursor*(window: PWindow, cursor: PCursor){.cdecl, dynlib: lib, 
+    importc: "gdk_window_set_cursor".}
+proc get_user_data*(window: PWindow, data: gpointer){.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_user_data".}
+proc get_geometry*(window: PWindow, x: Pgint, y: Pgint, width: Pgint, 
+                          height: Pgint, depth: Pgint){.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_geometry".}
+proc get_position*(window: PWindow, x: Pgint, y: Pgint){.cdecl, 
+    dynlib: lib, importc: "gdk_window_get_position".}
+proc get_origin*(window: PWindow, x: Pgint, y: Pgint): gint{.cdecl, 
+    dynlib: lib, importc: "gdk_window_get_origin".}
+proc get_root_origin*(window: PWindow, x: Pgint, y: Pgint){.cdecl, 
+    dynlib: lib, importc: "gdk_window_get_root_origin".}
+proc get_frame_extents*(window: PWindow, rect: PRectangle){.cdecl, 
+    dynlib: lib, importc: "gdk_window_get_frame_extents".}
+proc get_pointer*(window: PWindow, x: Pgint, y: Pgint, 
+                         mask: PModifierType): PWindow{.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_pointer".}
+proc get_parent*(window: PWindow): PWindow{.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_parent".}
+proc get_toplevel*(window: PWindow): PWindow{.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_toplevel".}
+proc get_children*(window: PWindow): PGList{.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_children".}
+proc peek_children*(window: PWindow): PGList{.cdecl, dynlib: lib, 
+    importc: "gdk_window_peek_children".}
+proc get_events*(window: PWindow): TEventMask{.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_events".}
+proc set_events*(window: PWindow, event_mask: TEventMask){.cdecl, 
+    dynlib: lib, importc: "gdk_window_set_events".}
+proc set_icon_list*(window: PWindow, pixbufs: PGList){.cdecl, 
+    dynlib: lib, importc: "gdk_window_set_icon_list".}
+proc set_icon*(window: PWindow, icon_window: PWindow, pixmap: PPixmap, 
+                      mask: PBitmap){.cdecl, dynlib: lib, 
+                                      importc: "gdk_window_set_icon".}
+proc set_icon_name*(window: PWindow, name: cstring){.cdecl, dynlib: lib, 
+    importc: "gdk_window_set_icon_name".}
+proc set_group*(window: PWindow, leader: PWindow){.cdecl, dynlib: lib, 
+    importc: "gdk_window_set_group".}
+proc set_decorations*(window: PWindow, decorations: TWMDecoration){.
+    cdecl, dynlib: lib, importc: "gdk_window_set_decorations".}
+proc get_decorations*(window: PWindow, decorations: PWMDecoration): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_window_get_decorations".}
+proc set_functions*(window: PWindow, functions: TWMFunction){.cdecl, 
+    dynlib: lib, importc: "gdk_window_set_functions".}
+proc iconify*(window: PWindow){.cdecl, dynlib: lib, 
+                                       importc: "gdk_window_iconify".}
+proc deiconify*(window: PWindow){.cdecl, dynlib: lib, 
     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,
+proc stick*(window: PWindow){.cdecl, dynlib: lib, 
+                                     importc: "gdk_window_stick".}
+proc unstick*(window: PWindow){.cdecl, dynlib: lib, 
+                                       importc: "gdk_window_unstick".}
+proc maximize*(window: PWindow){.cdecl, dynlib: lib, 
+                                        importc: "gdk_window_maximize".}
+proc unmaximize*(window: PWindow){.cdecl, dynlib: lib, 
     importc: "gdk_window_unmaximize".}
-proc gdk_window_register_dnd*(window: PGdkWindow){.cdecl, dynlib: gdklib,
+proc register_dnd*(window: PWindow){.cdecl, dynlib: lib, 
     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,
+proc begin_resize_drag*(window: PWindow, edge: TWindowEdge, button: gint, 
+                               root_x: gint, root_y: gint, timestamp: guint32){.
+    cdecl, dynlib: lib, importc: "gdk_window_begin_resize_drag".}
+proc begin_move_drag*(window: PWindow, button: gint, root_x: gint, 
+                             root_y: gint, timestamp: guint32){.cdecl, 
+    dynlib: lib, importc: "gdk_window_begin_move_drag".}
+proc invalidate_rect*(window: PWindow, rect: PRectangle, 
+                             invalidate_children: gboolean){.cdecl, dynlib: lib, 
+    importc: "gdk_window_invalidate_rect".}
+proc invalidate_region*(window: PWindow, region: PRegion, 
+                               invalidate_children: gboolean){.cdecl, 
+    dynlib: lib, importc: "gdk_window_invalidate_region".}
+proc invalidate_maybe_recurse*(window: PWindow, region: PRegion, 
+    child_func: window_invalidate_maybe_recurse_child_func, user_data: gpointer){.
+    cdecl, dynlib: lib, importc: "gdk_window_invalidate_maybe_recurse".}
+proc get_update_area*(window: PWindow): PRegion{.cdecl, dynlib: lib, 
+    importc: "gdk_window_get_update_area".}
+proc freeze_updates*(window: PWindow){.cdecl, dynlib: lib, 
     importc: "gdk_window_freeze_updates".}
-proc gdk_window_thaw_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib,
+proc thaw_updates*(window: PWindow){.cdecl, dynlib: lib, 
     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,
+proc window_process_all_updates*(){.cdecl, dynlib: lib, 
+                                    importc: "gdk_window_process_all_updates".}
+proc process_updates*(window: PWindow, update_children: gboolean){.cdecl, 
+    dynlib: lib, importc: "gdk_window_process_updates".}
+proc window_set_debug_updates*(setting: gboolean){.cdecl, dynlib: lib, 
     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,
+proc window_constrain_size*(geometry: PGeometry, flags: guint, width: gint, 
+                            height: gint, new_width: Pgint, new_height: Pgint){.
+    cdecl, dynlib: lib, importc: "gdk_window_constrain_size".}
+proc get_internal_paint_info*(window: PWindow, e: var PDrawable, 
+                                     x_offset: Pgint, y_offset: Pgint){.cdecl, 
+    dynlib: lib, importc: "gdk_window_get_internal_paint_info".}
+proc set_pointer_hooks*(new_hooks: PPointerHooks): PPointerHooks{.cdecl, 
+    dynlib: lib, importc: "gdk_set_pointer_hooks".}
+proc get_default_root_window*(): PWindow{.cdecl, dynlib: lib, 
     importc: "gdk_get_default_root_window".}
-proc gdk_parse_args*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib,
+proc parse_args*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: lib, 
     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,
+proc init*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: lib, importc: "gdk_init".}
+proc init_check*(argc: Pgint, v: var PPgchar): gboolean{.cdecl, dynlib: lib, 
+    importc: "gdk_init_check".}
+when not defined(DISABLE_DEPRECATED): 
+  proc exit*(error_code: gint){.cdecl, dynlib: lib, importc: "gdk_exit".}
+proc set_locale*(): cstring{.cdecl, dynlib: lib, importc: "gdk_set_locale".}
+proc get_program_class*(): cstring{.cdecl, dynlib: lib, 
+                                    importc: "gdk_get_program_class".}
+proc set_program_class*(program_class: cstring){.cdecl, dynlib: lib, 
     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,
+proc error_trap_push*(){.cdecl, dynlib: lib, importc: "gdk_error_trap_push".}
+proc error_trap_pop*(): gint{.cdecl, dynlib: lib, importc: "gdk_error_trap_pop".}
+when not defined(DISABLE_DEPRECATED): 
+  proc set_use_xshm*(use_xshm: gboolean){.cdecl, dynlib: lib, 
       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,
+  proc get_use_xshm*(): gboolean{.cdecl, dynlib: lib, 
+                                  importc: "gdk_get_use_xshm".}
+proc get_display*(): cstring{.cdecl, dynlib: lib, importc: "gdk_get_display".}
+proc get_display_arg_name*(): cstring{.cdecl, dynlib: lib, 
+                                       importc: "gdk_get_display_arg_name".}
+when not defined(DISABLE_DEPRECATED): 
+  proc input_add_full*(source: gint, condition: TInputCondition, 
+                       `function`: TInputFunction, data: gpointer, 
+                       destroy: TDestroyNotify): gint{.cdecl, dynlib: lib, 
+      importc: "gdk_input_add_full".}
+  proc input_add*(source: gint, condition: TInputCondition, 
+                  `function`: TInputFunction, data: gpointer): gint{.cdecl, 
+      dynlib: lib, importc: "gdk_input_add".}
+  proc input_remove*(tag: gint){.cdecl, dynlib: lib, importc: "gdk_input_remove".}
+proc pointer_grab*(window: PWindow, owner_events: gboolean, 
+                   event_mask: TEventMask, confine_to: PWindow, cursor: PCursor, 
+                   time: guint32): TGrabStatus{.cdecl, dynlib: lib, 
+    importc: "gdk_pointer_grab".}
+proc keyboard_grab*(window: PWindow, owner_events: gboolean, time: guint32): TGrabStatus{.
+    cdecl, dynlib: lib, importc: "gdk_keyboard_grab".}
+when not defined(MULTIHEAD_SAFE): 
+  proc pointer_ungrab*(time: guint32){.cdecl, dynlib: lib, 
+                                       importc: "gdk_pointer_ungrab".}
+  proc keyboard_ungrab*(time: guint32){.cdecl, dynlib: lib, 
+                                        importc: "gdk_keyboard_ungrab".}
+  proc pointer_is_grabbed*(): gboolean{.cdecl, dynlib: lib, 
+                                        importc: "gdk_pointer_is_grabbed".}
+  proc screen_width*(): gint{.cdecl, dynlib: lib, importc: "gdk_screen_width".}
+  proc screen_height*(): gint{.cdecl, dynlib: lib, importc: "gdk_screen_height".}
+  proc screen_width_mm*(): gint{.cdecl, dynlib: lib, 
+                                 importc: "gdk_screen_width_mm".}
+  proc screen_height_mm*(): gint{.cdecl, dynlib: lib, 
+                                  importc: "gdk_screen_height_mm".}
+  proc beep*(){.cdecl, dynlib: lib, importc: "gdk_beep".}
+proc flush*(){.cdecl, dynlib: lib, importc: "gdk_flush".}
+when not defined(MULTIHEAD_SAFE): 
+  proc set_double_click_time*(msec: guint){.cdecl, dynlib: lib, 
       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):
+proc intersect*(src1: PRectangle, src2: PRectangle, dest: PRectangle): gboolean{.
+    cdecl, dynlib: lib, importc: "gdk_rectangle_intersect".}
+proc union*(src1: PRectangle, src2: PRectangle, dest: PRectangle){.
+    cdecl, dynlib: lib, importc: "gdk_rectangle_union".}
+proc rectangle_get_type*(): GType{.cdecl, dynlib: lib, 
+                                   importc: "gdk_rectangle_get_type".}
+proc TYPE_RECTANGLE*(): GType
+proc wcstombs*(src: PWChar): cstring{.cdecl, dynlib: lib, 
+                                      importc: "gdk_wcstombs".}
+proc mbstowcs*(dest: PWChar, src: cstring, dest_max: gint): gint{.cdecl, 
+    dynlib: lib, importc: "gdk_mbstowcs".}
+when not defined(MULTIHEAD_SAFE): 
+  proc event_send_client_message*(event: PEvent, xid: guint32): gboolean{.cdecl, 
+      dynlib: lib, importc: "gdk_event_send_client_message".}
+  proc event_send_clientmessage_toall*(event: PEvent){.cdecl, dynlib: lib, 
+      importc: "gdk_event_send_clientmessage_toall".}
+proc event_send_client_message_for_display*(display: PDisplay, event: PEvent, 
+    xid: guint32): gboolean{.cdecl, dynlib: lib, importc: "gdk_event_send_client_message_for_display".}
+proc threads_enter*(){.cdecl, dynlib: lib, importc: "gdk_threads_enter".}
+proc threads_leave*(){.cdecl, dynlib: lib, importc: "gdk_threads_leave".}
+proc threads_init*(){.cdecl, dynlib: lib, importc: "gdk_threads_init".}
+proc TYPE_RECTANGLE*(): GType = 
+  result = rectangle_get_type()
+
+proc TYPE_COLORMAP*(): GType = 
+  result = colormap_get_type()
+
+proc COLORMAP*(anObject: pointer): PColormap = 
+  result = cast[PColormap](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_COLORMAP()))
+
+proc COLORMAP_CLASS*(klass: pointer): PColormapClass = 
+  result = cast[PColormapClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_COLORMAP()))
+
+proc IS_COLORMAP*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_COLORMAP())
+
+proc IS_COLORMAP_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_COLORMAP())
+
+proc COLORMAP_GET_CLASS*(obj: pointer): PColormapClass = 
+  result = cast[PColormapClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_COLORMAP()))
+
+proc TYPE_COLOR*(): GType = 
+  result = gdk2.color_get_type()
+
+proc destroy*(cursor: PCursor) = 
+  unref(cursor)
+
+proc TYPE_CURSOR*(): GType = 
+  result = cursor_get_type()
+
+proc TYPE_DRAG_CONTEXT*(): GType = 
+  result = drag_context_get_type()
+
+proc DRAG_CONTEXT*(anObject: Pointer): PDragContext = 
+  result = cast[PDragContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+      TYPE_DRAG_CONTEXT()))
+
+proc DRAG_CONTEXT_CLASS*(klass: Pointer): PDragContextClass = 
+  result = cast[PDragContextClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+      TYPE_DRAG_CONTEXT()))
+
+proc IS_DRAG_CONTEXT*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_DRAG_CONTEXT())
+
+proc IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_DRAG_CONTEXT())
+
+proc DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PDragContextClass = 
+  result = cast[PDragContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+      TYPE_DRAG_CONTEXT()))
+
+proc region_EXTENTCHECK*(r1, r2: PRegionBox): bool = 
+  result = ((r1.x2) > r2.x1) and ((r1.x1) < r2.x2) and ((r1.y2) > r2.y1) and
+      ((r1.y1) < r2.y2)
+
+proc EXTENTS*(r: PRegionBox, idRect: PRegion) = 
+  if ((r.x1) < idRect.extents.x1): 
     idRect.extents.x1 = r.x1
-  if (r.y1) < idRect.extents.y1:
+  if (r.y1) < idRect.extents.y1: 
     idRect.extents.y1 = r.y1
-  if (r.x2) > idRect.extents.x2:
+  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) =
+proc MEMCHECK*(reg: PRegion, ARect, firstrect: var PRegionBox): bool = 
+  assert(false)               # to implement
+  
+proc CHECK_PREVIOUS*(Reg: PRegion, R: PRegionBox, 
+                            Rx1, Ry1, Rx2, Ry2: gint): bool = 
+  assert(false)               # to implement
+  
+proc ADDRECT*(reg: PRegion, r: PRegionBox, rx1, ry1, rx2, ry2: gint) = 
   if (((rx1) < rx2) and ((ry1) < ry2) and
-      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)):
+      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) =
+proc ADDRECTNOX*(reg: PRegion, r: PRegionBox, rx1, ry1, rx2, ry2: gint) = 
   if (((rx1) < rx2) and ((ry1) < ry2) and
-      gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)):
+      CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)): 
     r.x1 = rx1
     r.y1 = ry1
     r.x2 = rx2
     r.y2 = ry2
-    inc(reg . numRects)
+    inc(reg.numRects)
 
-proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool =
+proc EMPTY_REGION*(pReg: PRegion): bool = 
   result = pReg.numRects == 0'i32
 
-proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool =
+proc REGION_NOT_EMPTY*(pReg: PRegion): 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 region_INBOX*(r: TRegionBox, 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 TYPE_DRAWABLE*(): GType = 
+  result = drawable_get_type()
 
-proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable =
-  result = cast[PGdkDrawable](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DRAWABLE()))
+proc DRAWABLE*(anObject: Pointer): PDrawable = 
+  result = cast[PDrawable](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_DRAWABLE()))
 
-proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass =
-  result = cast[PGdkDrawableClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DRAWABLE()))
+proc DRAWABLE_CLASS*(klass: Pointer): PDrawableClass = 
+  result = cast[PDrawableClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_DRAWABLE()))
 
-proc GDK_IS_DRAWABLE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAWABLE())
+proc IS_DRAWABLE*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_DRAWABLE())
 
-proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAWABLE())
+proc IS_DRAWABLE_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_DRAWABLE())
 
-proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass =
-  result = cast[PGdkDrawableClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DRAWABLE()))
+proc DRAWABLE_GET_CLASS*(obj: Pointer): PDrawableClass = 
+  result = cast[PDrawableClass](G_TYPE_INSTANCE_GET_CLASS(obj, 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 pixmap*(drawable: PDrawable, gc: PGC, src: PDrawable, xsrc: gint, 
+                  ysrc: gint, xdest: gint, ydest: gint, width: gint, 
+                  height: gint) = 
+  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 bitmap*(drawable: PDrawable, gc: PGC, src: PDrawable, xsrc: gint, 
+                  ysrc: gint, xdest: gint, ydest: gint, width: gint, 
+                  height: gint) = 
+  drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height)
 
-proc GDK_TYPE_EVENT*(): GType =
-  result = gdk_event_get_type()
+proc TYPE_EVENT*(): GType = 
+  result = event_get_type()
 
-proc GDK_TYPE_FONT*(): GType =
-  result = gdk_font_get_type()
+proc TYPE_FONT*(): GType = 
+  result = gdk2.font_get_type()
 
-proc GDK_TYPE_GC*(): GType =
-  result = gdk_gc_get_type()
+proc TYPE_GC*(): GType = 
+  result = gc_get_type()
 
-proc GDK_GC*(anObject: Pointer): PGdkGC =
-  result = cast[PGdkGC](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GC()))
+proc GC*(anObject: Pointer): PGC = 
+  result = cast[PGC](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_GC()))
 
-proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass =
-  result = cast[PGdkGCClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GC()))
+proc GC_CLASS*(klass: Pointer): PGCClass = 
+  result = cast[PGCClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_GC()))
 
-proc GDK_IS_GC*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GC())
+proc IS_GC*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_GC())
 
-proc GDK_IS_GC_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GC())
+proc IS_GC_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_GC())
 
-proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass =
-  result = cast[PGdkGCClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GC()))
+proc GC_GET_CLASS*(obj: Pointer): PGCClass = 
+  result = cast[PGCClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_GC()))
 
-proc gdk_gc_destroy*(gc: PGdkGC) =
+proc destroy*(gc: PGC) = 
   g_object_unref(G_OBJECT(gc))
 
-proc GDK_TYPE_IMAGE*(): GType =
-  result = gdk_image_get_type()
+proc TYPE_IMAGE*(): GType = 
+  result = image_get_type()
 
-proc GDK_IMAGE*(anObject: Pointer): PGdkImage =
-  result = cast[PGdkImage](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_IMAGE()))
+proc IMAGE*(anObject: Pointer): PImage = 
+  result = cast[PImage](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_IMAGE()))
 
-proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass =
-  result = cast[PGdkImageClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_IMAGE()))
+proc IMAGE_CLASS*(klass: Pointer): PImageClass = 
+  result = cast[PImageClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_IMAGE()))
 
-proc GDK_IS_IMAGE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_IMAGE())
+proc IS_IMAGE*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_IMAGE())
 
-proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_IMAGE())
+proc IS_IMAGE_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_IMAGE())
 
-proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass =
-  result = cast[PGdkImageClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_IMAGE()))
+proc IMAGE_GET_CLASS*(obj: Pointer): PImageClass = 
+  result = cast[PImageClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_IMAGE()))
 
-proc gdk_image_destroy*(image: PGdkImage) =
+proc destroy*(image: PImage) = 
   g_object_unref(G_OBJECT(image))
 
-proc GDK_TYPE_DEVICE*(): GType =
-  result = gdk_device_get_type()
+proc TYPE_DEVICE*(): GType = 
+  result = device_get_type()
 
-proc GDK_DEVICE*(anObject: Pointer): PGdkDevice =
-  result = cast[PGdkDevice](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DEVICE()))
+proc DEVICE*(anObject: Pointer): PDevice = 
+  result = cast[PDevice](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_DEVICE()))
 
-proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass =
-  result = cast[PGdkDeviceClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DEVICE()))
+proc DEVICE_CLASS*(klass: Pointer): PDeviceClass = 
+  result = cast[PDeviceClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_DEVICE()))
 
-proc GDK_IS_DEVICE*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DEVICE())
+proc IS_DEVICE*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_DEVICE())
 
-proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DEVICE())
+proc IS_DEVICE_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_DEVICE())
 
-proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass =
-  result = cast[PGdkDeviceClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DEVICE()))
+proc DEVICE_GET_CLASS*(obj: Pointer): PDeviceClass = 
+  result = cast[PDeviceClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_DEVICE()))
 
-proc GDK_TYPE_KEYMAP*(): GType =
-  result = gdk_keymap_get_type()
+proc TYPE_KEYMAP*(): GType = 
+  result = keymap_get_type()
 
-proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap =
-  result = cast[PGdkKeymap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_KEYMAP()))
+proc KEYMAP*(anObject: Pointer): PKeymap = 
+  result = cast[PKeymap](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_KEYMAP()))
 
-proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass =
-  result = cast[PGdkKeymapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_KEYMAP()))
+proc KEYMAP_CLASS*(klass: Pointer): PKeymapClass = 
+  result = cast[PKeymapClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_KEYMAP()))
 
-proc GDK_IS_KEYMAP*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_KEYMAP())
+proc IS_KEYMAP*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_KEYMAP())
 
-proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_KEYMAP())
+proc IS_KEYMAP_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_KEYMAP())
 
-proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass =
-  result = cast[PGdkKeymapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_KEYMAP()))
+proc KEYMAP_GET_CLASS*(obj: Pointer): PKeymapClass = 
+  result = cast[PKeymapClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_KEYMAP()))
 
-proc GDK_TYPE_PIXMAP*(): GType =
-  result = gdk_pixmap_get_type()
+proc TYPE_PIXMAP*(): GType = 
+  result = pixmap_get_type()
 
-proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap =
-  result = cast[PGdkPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_PIXMAP()))
+proc PIXMAP*(anObject: Pointer): PPixmap = 
+  result = cast[PPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_PIXMAP()))
 
-proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass =
-  result = cast[PGdkPixmapObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_PIXMAP()))
+proc PIXMAP_CLASS*(klass: Pointer): PPixmapObjectClass = 
+  result = cast[PPixmapObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_PIXMAP()))
 
-proc GDK_IS_PIXMAP*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXMAP())
+proc IS_PIXMAP*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_PIXMAP())
 
-proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_PIXMAP())
+proc IS_PIXMAP_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_PIXMAP())
 
-proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass =
-  result = cast[PGdkPixmapObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_PIXMAP()))
+proc PIXMAP_GET_CLASS*(obj: Pointer): PPixmapObjectClass = 
+  result = cast[PPixmapObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_PIXMAP()))
 
-proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject =
-  result = cast[PGdkPixmapObject](GDK_PIXMAP(anObject))
+proc PIXMAP_OBJECT*(anObject: Pointer): PPixmapObject = 
+  result = cast[PPixmapObject](PIXMAP(anObject))
 
-proc gdk_bitmap_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
+proc bitmap_ref*(drawable: PDrawable): PDrawable = 
+  result = DRAWABLE(g_object_ref(G_OBJECT(drawable)))
 
-proc gdk_bitmap_unref*(drawable: PGdkDrawable) =
+proc bitmap_unref*(drawable: PDrawable) = 
   g_object_unref(G_OBJECT(drawable))
 
-proc gdk_pixmap_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
+proc pixmap_ref*(drawable: PDrawable): PDrawable = 
+  result = DRAWABLE(g_object_ref(G_OBJECT(drawable)))
 
-proc gdk_pixmap_unref*(drawable: PGdkDrawable) =
+proc pixmap_unref*(drawable: PDrawable) = 
   g_object_unref(G_OBJECT(drawable))
 
-proc gdk_rgb_get_cmap*(): PGdkColormap =
-  result = nil #gdk_rgb_get_colormap()
-
-proc GDK_TYPE_DISPLAY*(): GType =
+proc rgb_get_cmap*(): PColormap = 
+  result = nil                #gdk_rgb_get_colormap()
+  
+proc TYPE_DISPLAY*(): GType = 
   nil
   #result = nil
+  
+proc DISPLAY_OBJECT*(anObject: pointer): PDisplay = 
+  result = cast[PDisplay](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_DISPLAY()))
 
-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 DISPLAY_CLASS*(klass: pointer): PDisplayClass = 
+  result = cast[PDisplayClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_DISPLAY()))
 
-proc GDK_IS_DISPLAY*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DISPLAY())
+proc IS_DISPLAY*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_DISPLAY())
 
-proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DISPLAY())
+proc IS_DISPLAY_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_DISPLAY())
 
-proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass =
-  result = cast[PGdkDisplayClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DISPLAY()))
+proc DISPLAY_GET_CLASS*(obj: pointer): PDisplayClass = 
+  result = cast[PDisplayClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_DISPLAY()))
 
-proc GDK_TYPE_SCREEN*(): GType =
+proc TYPE_SCREEN*(): GType = 
   nil
 
-proc GDK_SCREEN*(anObject: Pointer): PGdkScreen =
-  result = cast[PGdkScreen](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_SCREEN()))
+proc SCREEN*(anObject: Pointer): PScreen = 
+  result = cast[PScreen](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_SCREEN()))
 
-proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass =
-  result = cast[PGdkScreenClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_SCREEN()))
+proc SCREEN_CLASS*(klass: Pointer): PScreenClass = 
+  result = cast[PScreenClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_SCREEN()))
 
-proc GDK_IS_SCREEN*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_SCREEN())
+proc IS_SCREEN*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_SCREEN())
 
-proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_SCREEN())
+proc IS_SCREEN_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_SCREEN())
 
-proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass =
-  result = cast[PGdkScreenClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_SCREEN()))
+proc SCREEN_GET_CLASS*(obj: Pointer): PScreenClass = 
+  result = cast[PScreenClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_SCREEN()))
 
-proc GDK_SELECTION_PRIMARY*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(1)
+proc SELECTION_PRIMARY*(): TAtom = 
+  result = `MAKE_ATOM`(1)
 
-proc GDK_SELECTION_SECONDARY*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(2)
+proc SELECTION_SECONDARY*(): TAtom = 
+  result = `MAKE_ATOM`(2)
 
-proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(69)
+proc SELECTION_CLIPBOARD*(): TAtom = 
+  result = `MAKE_ATOM`(69)
 
-proc GDK_TARGET_BITMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(5)
+proc TARGET_BITMAP*(): TAtom = 
+  result = `MAKE_ATOM`(5)
 
-proc GDK_TARGET_COLORMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(7)
+proc TARGET_COLORMAP*(): TAtom = 
+  result = `MAKE_ATOM`(7)
 
-proc GDK_TARGET_DRAWABLE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(17)
+proc TARGET_DRAWABLE*(): TAtom = 
+  result = `MAKE_ATOM`(17)
 
-proc GDK_TARGET_PIXMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(20)
+proc TARGET_PIXMAP*(): TAtom = 
+  result = `MAKE_ATOM`(20)
 
-proc GDK_TARGET_STRING*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(31)
+proc TARGET_STRING*(): TAtom = 
+  result = `MAKE_ATOM`(31)
 
-proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(4)
+proc SELECTION_TYPE_ATOM*(): TAtom = 
+  result = `MAKE_ATOM`(4)
 
-proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(5)
+proc SELECTION_TYPE_BITMAP*(): TAtom = 
+  result = `MAKE_ATOM`(5)
 
-proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(7)
+proc SELECTION_TYPE_COLORMAP*(): TAtom = 
+  result = `MAKE_ATOM`(7)
 
-proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(17)
+proc SELECTION_TYPE_DRAWABLE*(): TAtom = 
+  result = `MAKE_ATOM`(17)
 
-proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(19)
+proc SELECTION_TYPE_INTEGER*(): TAtom = 
+  result = `MAKE_ATOM`(19)
 
-proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(20)
+proc SELECTION_TYPE_PIXMAP*(): TAtom = 
+  result = `MAKE_ATOM`(20)
 
-proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(33)
+proc SELECTION_TYPE_WINDOW*(): TAtom = 
+  result = `MAKE_ATOM`(33)
 
-proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(31)
+proc SELECTION_TYPE_STRING*(): TAtom = 
+  result = `MAKE_ATOM`(31)
 
-proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): pointer =
+proc ATOM_TO_POINTER*(atom: TAtom): pointer = 
   result = cast[Pointer](atom)
 
-proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom =
-  result = cast[TGdkAtom](p)
+proc POINTER_TO_ATOM*(p: Pointer): TAtom = 
+  result = cast[TAtom](p)
 
-proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom =
-  result = cast[TGdkAtom](val)
+proc `MAKE_ATOM`*(val: guint): TAtom = 
+  result = cast[TAtom](val)
 
-proc GDK_NONE*(): TGdkAtom =
-  result = `GDK_MAKE_ATOM`(0)
+proc NONE*(): TAtom = 
+  result = `MAKE_ATOM`(0)
 
-proc GDK_TYPE_VISUAL*(): GType =
-  result = gdk_visual_get_type()
+proc TYPE_VISUAL*(): GType = 
+  result = visual_get_type()
 
-proc GDK_VISUAL*(anObject: Pointer): PGdkVisual =
-  result = cast[PGdkVisual](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_VISUAL()))
+proc VISUAL*(anObject: Pointer): PVisual = 
+  result = cast[PVisual](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_VISUAL()))
 
-proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass =
-  result = cast[PGdkVisualClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_VISUAL()))
+proc VISUAL_CLASS*(klass: Pointer): PVisualClass = 
+  result = cast[PVisualClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_VISUAL()))
 
-proc GDK_IS_VISUAL*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_VISUAL())
+proc IS_VISUAL*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_VISUAL())
 
-proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_VISUAL())
+proc IS_VISUAL_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_VISUAL())
 
-proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass =
-  result = cast[PGdkVisualClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_VISUAL()))
+proc VISUAL_GET_CLASS*(obj: Pointer): PVisualClass = 
+  result = cast[PVisualClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_VISUAL()))
 
-proc gdk_visual_ref*(v: PGdkVisual) =
+proc reference*(v: PVisual) = 
   discard g_object_ref(v)
 
-proc gdk_visual_unref*(v: PGdkVisual) =
+proc unref*(v: PVisual) = 
   g_object_unref(v)
 
-proc GDK_TYPE_WINDOW*(): GType =
-  result = gdk_window_object_get_type()
+proc TYPE_WINDOW*(): GType = 
+  result = window_object_get_type()
 
-proc GDK_WINDOW*(anObject: Pointer): PGdkWindow =
-  result = cast[PGdkWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_WINDOW()))
+proc WINDOW*(anObject: Pointer): PWindow = 
+  result = cast[PWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_WINDOW()))
 
-proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass =
-  result = cast[PGdkWindowObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_WINDOW()))
+proc WINDOW_CLASS*(klass: Pointer): PWindowObjectClass = 
+  result = cast[PWindowObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_WINDOW()))
 
-proc GDK_IS_WINDOW*(anObject: Pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_WINDOW())
+proc IS_WINDOW*(anObject: Pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_WINDOW())
 
-proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_WINDOW())
+proc IS_WINDOW_CLASS*(klass: Pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_WINDOW())
 
-proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass =
-  result = cast[PGdkWindowObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_WINDOW()))
+proc WINDOW_GET_CLASS*(obj: Pointer): PWindowObjectClass = 
+  result = cast[PWindowObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_WINDOW()))
 
-proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject =
-  result = cast[PGdkWindowObject](GDK_WINDOW(anObject))
+proc WINDOW_OBJECT*(anObject: Pointer): PWindowObject = 
+  result = cast[PWindowObject](WINDOW(anObject))
 
-proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_guffaw_gravity) shr
-      bp_TGdkWindowObject_guffaw_gravity
+proc WindowObject_guffaw_gravity*(a: var TWindowObject): guint = 
+  result = (a.flag0 and bm_TWindowObject_guffaw_gravity) shr
+      bp_TWindowObject_guffaw_gravity
 
-proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject,
-    `guffaw_gravity`: guint) =
+proc WindowObject_set_guffaw_gravity*(a: var TWindowObject, 
+                                      `guffaw_gravity`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`guffaw_gravity` shl bp_TGdkWindowObject_guffaw_gravity) and
-      bm_TGdkWindowObject_guffaw_gravity)
+      (int16(`guffaw_gravity` shl bp_TWindowObject_guffaw_gravity) and
+      bm_TWindowObject_guffaw_gravity)
 
-proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_input_only) shr
-      bp_TGdkWindowObject_input_only
+proc WindowObject_input_only*(a: var TWindowObject): guint = 
+  result = (a.flag0 and bm_TWindowObject_input_only) shr
+      bp_TWindowObject_input_only
 
-proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject,
-                                     `input_only`: guint) =
+proc WindowObject_set_input_only*(a: var TWindowObject, `input_only`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`input_only` shl bp_TGdkWindowObject_input_only) and
-      bm_TGdkWindowObject_input_only)
+      (int16(`input_only` shl bp_TWindowObject_input_only) and
+      bm_TWindowObject_input_only)
 
-proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_modal_hint) shr
-      bp_TGdkWindowObject_modal_hint
+proc WindowObject_modal_hint*(a: var TWindowObject): guint = 
+  result = (a.flag0 and bm_TWindowObject_modal_hint) shr
+      bp_TWindowObject_modal_hint
 
-proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject,
-                                     `modal_hint`: guint) =
+proc WindowObject_set_modal_hint*(a: var TWindowObject, `modal_hint`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`modal_hint` shl bp_TGdkWindowObject_modal_hint) and
-      bm_TGdkWindowObject_modal_hint)
+      (int16(`modal_hint` shl bp_TWindowObject_modal_hint) and
+      bm_TWindowObject_modal_hint)
 
-proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint =
-  result = (a.flag0 and bm_TGdkWindowObject_destroyed) shr
-      bp_TGdkWindowObject_destroyed
+proc WindowObject_destroyed*(a: var TWindowObject): guint = 
+  result = (a.flag0 and bm_TWindowObject_destroyed) shr
+      bp_TWindowObject_destroyed
 
-proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint) =
+proc WindowObject_set_destroyed*(a: var TWindowObject, `destroyed`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`destroyed` shl bp_TGdkWindowObject_destroyed) and
-      bm_TGdkWindowObject_destroyed)
+      (int16(`destroyed` shl bp_TWindowObject_destroyed) and
+      bm_TWindowObject_destroyed)
 
-proc GDK_ROOT_PARENT*(): PGdkWindow =
-  result = gdk_get_default_root_window()
+proc ROOT_PARENT*(): PWindow = 
+  result = get_default_root_window()
 
-proc gdk_window_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint) =
-  gdk_drawable_get_size(drawable, width, height)
+proc window_get_size*(drawable: PDrawable, width: Pgint, height: Pgint) = 
+  get_size(drawable, width, height)
 
-proc gdk_window_get_type*(window: PGdkWindow): TGdkWindowType =
-  result = gdk_window_get_window_type(window)
+proc get_type*(window: PWindow): TWindowType = 
+  result = get_window_type(window)
 
-proc gdk_window_get_colormap*(drawable: PGdkDrawable): PGdkColormap =
-  result = gdk_drawable_get_colormap(drawable)
+proc window_get_colormap*(drawable: PDrawable): PColormap = 
+  result = get_colormap(drawable)
 
-proc gdk_window_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap) =
-  gdk_drawable_set_colormap(drawable, colormap)
+proc window_set_colormap*(drawable: PDrawable, colormap: PColormap) = 
+  set_colormap(drawable, colormap)
 
-proc gdk_window_get_visual*(drawable: PGdkDrawable): PGdkVisual =
-  result = gdk_drawable_get_visual(drawable)
+proc window_get_visual*(drawable: PDrawable): PVisual = 
+  result = get_visual(drawable)
 
-proc gdk_window_ref*(drawable: PGdkDrawable): PGdkDrawable =
-  result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable)))
+proc window_ref*(drawable: PDrawable): PDrawable = 
+  result = DRAWABLE(g_object_ref(G_OBJECT(drawable)))
 
-proc gdk_window_unref*(drawable: PGdkDrawable) =
+proc window_unref*(drawable: PDrawable) = 
   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)
+proc window_copy_area*(drawable: PDrawable, gc: PGC, x, y: gint, 
+                       source_drawable: PDrawable, source_x, source_y: gint, 
+                       width, height: gint) = 
+  pixmap(drawable, gc, source_drawable, source_x, source_y, x, y, width, 
+         height)
diff --git a/lib/wrappers/gtk/gdk2pixbuf.nim b/lib/wrappers/gtk/gdk2pixbuf.nim
deleted file mode 100755
index daaa1479b..000000000
--- a/lib/wrappers/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/wrappers/gtk/gdkglext.nim b/lib/wrappers/gtk/gdkglext.nim
deleted file mode 100755
index 524b5f730..000000000
--- a/lib/wrappers/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/wrappers/gtk/glib2.nim b/lib/wrappers/gtk/glib2.nim
deleted file mode 100755
index 3f33501e8..000000000
--- a/lib/wrappers/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/wrappers/gtk/gtk2.nim b/lib/wrappers/gtk/gtk2.nim
index e7c5be7be..558debd59 100755
--- a/lib/wrappers/gtk/gtk2.nim
+++ b/lib/wrappers/gtk/gtk2.nim
@@ -1,14 +1,13 @@
 {.deadCodeElim: on.}
-
-import
+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"
+when defined(win32): 
+  const 
+    lib = "libgtk-win32-2.0-0.dll"
+elif defined(darwin): 
+  const 
+    lib = "gtk-x11-2.0"
   # linklib gtk-x11-2.0
   # linklib gdk-x11-2.0
   # linklib pango-1.0.0
@@ -16,158 +15,156 @@ elif defined(darwin):
   # 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
+else: 
+  const 
+    lib = "libgtk-x11-2.0.so"
+
+const 
+  MAX_COMPOSE_LEN* = 7
+
+type 
+  PObject* = ptr TObject
+  PPGtkObject* = ptr PObject
+  PArg* = ptr TArg
+  PType* = ptr TType
+  TType* = GType
+  PWidget* = ptr TWidget
+  PMisc* = ptr TMisc
+  PLabel* = ptr TLabel
+  PMenu* = ptr TMenu
+  PAnchorType* = ptr TAnchorType
+  TAnchorType* = int32
+  PArrowType* = ptr TArrowType
+  TArrowType* = int32
+  PAttachOptions* = ptr TAttachOptions
+  TAttachOptions* = int32
+  PButtonBoxStyle* = ptr TButtonBoxStyle
+  TButtonBoxStyle* = int32
+  PCurveType* = ptr TCurveType
+  TCurveType* = int32
+  PDeleteType* = ptr TDeleteType
+  TDeleteType* = int32
+  PDirectionType* = ptr TDirectionType
+  TDirectionType* = int32
+  PExpanderStyle* = ptr TExpanderStyle
+  TExpanderStyle* = int32
+  PPGtkIconSize* = ptr PIconSize
+  PIconSize* = ptr TIconSize
+  TIconSize* = int32
+  PTextDirection* = ptr TTextDirection
+  TTextDirection* = int32
+  PJustification* = ptr TJustification
+  TJustification* = int32
+  PMenuDirectionType* = ptr TMenuDirectionType
+  TMenuDirectionType* = int32
+  PMetricType* = ptr TMetricType
+  TMetricType* = int32
+  PMovementStep* = ptr TMovementStep
+  TMovementStep* = int32
+  POrientation* = ptr TOrientation
+  TOrientation* = int32
+  PCornerType* = ptr TCornerType
+  TCornerType* = int32
+  PPackType* = ptr TPackType
+  TPackType* = int32
+  PPathPriorityType* = ptr TPathPriorityType
+  TPathPriorityType* = int32
+  PPathType* = ptr TPathType
+  TPathType* = int32
+  PPolicyType* = ptr TPolicyType
+  TPolicyType* = int32
+  PPositionType* = ptr TPositionType
+  TPositionType* = int32
+  PReliefStyle* = ptr TReliefStyle
+  TReliefStyle* = int32
+  PResizeMode* = ptr TResizeMode
+  TResizeMode* = int32
+  PScrollType* = ptr TScrollType
+  TScrollType* = int32
+  PSelectionMode* = ptr TSelectionMode
+  TSelectionMode* = int32
+  PShadowType* = ptr TShadowType
+  TShadowType* = int32
+  PStateType* = ptr TStateType
+  TStateType* = int32
+  PSubmenuDirection* = ptr TSubmenuDirection
+  TSubmenuDirection* = int32
+  PSubmenuPlacement* = ptr TSubmenuPlacement
+  TSubmenuPlacement* = int32
+  PToolbarStyle* = ptr TToolbarStyle
+  TToolbarStyle* = int32
+  PUpdateType* = ptr TUpdateType
+  TUpdateType* = int32
+  PVisibility* = ptr TVisibility
+  TVisibility* = int32
+  PWindowPosition* = ptr TWindowPosition
+  TWindowPosition* = int32
+  PWindowType* = ptr TWindowType
+  TWindowType* = int32
+  PWrapMode* = ptr TWrapMode
+  TWrapMode* = int32
+  PSortType* = ptr TSortType
+  TSortType* = int32
+  PStyle* = ptr TStyle
+  PPGtkTreeModel* = ptr PTreeModel
+  PTreeModel* = pointer
+  PTreePath* = pointer
+  PTreeIter* = ptr TTreeIter
+  PSelectionData* = ptr TSelectionData
+  PTextTagTable* = ptr TTextTagTable
+  PTextBTreeNode* = pointer
+  PTextBTree* = pointer
+  PTextLine* = ptr TTextLine
+  PTreeViewColumn* = ptr TTreeViewColumn
+  PTreeView* = ptr TTreeView
+  TTreeViewColumnDropFunc* = proc (tree_view: PTreeView, 
+                                   column: PTreeViewColumn, 
+                                   prev_column: PTreeViewColumn, 
+                                   next_column: PTreeViewColumn, data: gpointer): gboolean{.
+      cdecl.}
+  TTreeViewMappingFunc* = proc (tree_view: PTreeView, path: PTreePath, 
+                                user_data: gpointer){.cdecl.}
+  TTreeViewSearchEqualFunc* = proc (model: PTreeModel, column: gint, 
+                                    key: cstring, iter: PTreeIter, 
+                                    search_data: gpointer): gboolean{.cdecl.}
+  TTreeDestroyCountFunc* = proc (tree_view: PTreeView, path: PTreePath, 
+                                 children: gint, user_data: gpointer){.cdecl.}
+  PTreeViewDropPosition* = ptr TTreeViewDropPosition
+  TTreeViewDropPosition* = enum 
+    TREE_VIEW_DROP_BEFORE, TREE_VIEW_DROP_AFTER, TREE_VIEW_DROP_INTO_OR_BEFORE, 
+    TREE_VIEW_DROP_INTO_OR_AFTER
+  PObjectFlags* = ptr TObjectFlags
+  TObjectFlags* = int32
+  TObject* = 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
+  PObjectClass* = ptr TObjectClass
+  TObjectClass* = object of TGObjectClass
+    set_arg*: proc (anObject: PObject, arg: PArg, arg_id: guint){.cdecl.}
+    get_arg*: proc (anObject: PObject, arg: PArg, arg_id: guint){.cdecl.}
+    destroy*: proc (anObject: PObject){.cdecl.}
+
+  PFundamentalType* = ptr TFundamentalType
+  TFundamentalType* = GType
+  TFunction* = proc (data: gpointer): gboolean{.cdecl.}
+  TDestroyNotify* = proc (data: gpointer){.cdecl.}
+  TCallbackMarshal* = proc (anObject: PObject, data: gpointer, n_args: guint, 
+                            args: PArg){.cdecl.}
+  TSignalFuncProc* = proc ()
+  TSignalFunc* = proc (para1: TSignalFuncProc){.cdecl.}
+  PSignalMarshaller* = ptr TSignalMarshaller
+  TSignalMarshaller* = TGSignalCMarshaller
+  TArgSignalData*{.final, pure.} = object 
+    f*: TSignalFunc
     d*: gpointer
 
-  TGtkArg* {.final, pure.} = object
-    `type`*: TGtkType
+  TArg*{.final, pure.} = object 
+    `type`*: TType
     name*: cstring
     d*: gdouble               # was a union type
-
-  PGtkTypeInfo* = ptr TGtkTypeInfo
-  TGtkTypeInfo* {.final, pure.} = object
+  
+  PTypeInfo* = ptr TTypeInfo
+  TTypeInfo*{.final, pure.} = object 
     type_name*: cstring
     object_size*: guint
     class_size*: guint
@@ -176,335 +173,323 @@ type
     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
+  
+  PEnumValue* = ptr TEnumValue
+  TEnumValue* = TGEnumValue
+  PFlagValue* = ptr TFlagValue
+  TFlagValue* = TGFlagsValue
+  PWidgetFlags* = ptr TWidgetFlags
+  TWidgetFlags* = int32
+  PWidgetHelpType* = ptr TWidgetHelpType
+  TWidgetHelpType* = enum 
+    WIDGET_HELP_TOOLTIP, WIDGET_HELP_WHATS_THIS
+  PAllocation* = ptr TAllocation
+  TAllocation* = Gdk2.TRectangle
+  TCallback* = proc (widget: PWidget, data: gpointer){.cdecl.}
+  PRequisition* = ptr TRequisition
+  TRequisition*{.final, pure.} = object 
     width*: gint
     height*: gint
 
-  TGtkWidget* = object of TGtkObject
+  TWidget* = object of TObject
     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
+    style*: PStyle
+    requisition*: TRequisition
+    allocation*: TAllocation
+    window*: Gdk2.PWindow
+    parent*: PWidget
+
+  PWidgetClass* = ptr TWidgetClass
+  TWidgetClass* = object of TObjectClass
     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){.
+    dispatch_child_properties_changed*: proc (widget: PWidget, n_pspecs: guint, 
+        pspecs: PPGParamSpec){.cdecl.}
+    show*: proc (widget: PWidget){.cdecl.}
+    show_all*: proc (widget: PWidget){.cdecl.}
+    hide*: proc (widget: PWidget){.cdecl.}
+    hide_all*: proc (widget: PWidget){.cdecl.}
+    map*: proc (widget: PWidget){.cdecl.}
+    unmap*: proc (widget: PWidget){.cdecl.}
+    realize*: proc (widget: PWidget){.cdecl.}
+    unrealize*: proc (widget: PWidget){.cdecl.}
+    size_request*: proc (widget: PWidget, requisition: PRequisition){.cdecl.}
+    size_allocate*: proc (widget: PWidget, allocation: PAllocation){.cdecl.}
+    state_changed*: proc (widget: PWidget, previous_state: TStateType){.cdecl.}
+    parent_set*: proc (widget: PWidget, previous_parent: PWidget){.cdecl.}
+    hierarchy_changed*: proc (widget: PWidget, previous_toplevel: PWidget){.
         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{.
+    style_set*: proc (widget: PWidget, previous_style: PStyle){.cdecl.}
+    direction_changed*: proc (widget: PWidget, 
+                              previous_direction: TTextDirection){.cdecl.}
+    grab_notify*: proc (widget: PWidget, was_grabbed: gboolean){.cdecl.}
+    child_notify*: proc (widget: PWidget, pspec: PGParamSpec){.cdecl.}
+    mnemonic_activate*: proc (widget: PWidget, group_cycling: gboolean): gboolean{.
         cdecl.}
-    grab_focus*: proc (widget: PGtkWidget){.cdecl.}
-    focus*: proc (widget: PGtkWidget, direction: TGtkDirectionType): gboolean{.
+    grab_focus*: proc (widget: PWidget){.cdecl.}
+    focus*: proc (widget: PWidget, direction: TDirectionType): gboolean{.cdecl.}
+    event*: proc (widget: PWidget, event: Gdk2.PEvent): gboolean{.cdecl.}
+    button_press_event*: proc (widget: PWidget, event: PEventButton): gboolean{.
         cdecl.}
-    event*: proc (widget: PGtkWidget, event: PGdkEvent): gboolean{.cdecl.}
-    button_press_event*: proc (widget: PGtkWidget, event: PGdkEventButton): gboolean{.
+    button_release_event*: proc (widget: PWidget, event: PEventButton): gboolean{.
         cdecl.}
-    button_release_event*: proc (widget: PGtkWidget, event: PGdkEventButton): gboolean{.
+    scroll_event*: proc (widget: PWidget, event: PEventScroll): gboolean{.
         cdecl.}
-    scroll_event*: proc (widget: PGtkWidget, event: PGdkEventScroll): gboolean{.
+    motion_notify_event*: proc (widget: PWidget, event: PEventMotion): gboolean{.
         cdecl.}
-    motion_notify_event*: proc (widget: PGtkWidget, event: PGdkEventMotion): gboolean{.
+    delete_event*: proc (widget: PWidget, event: PEventAny): gboolean{.cdecl.}
+    destroy_event*: proc (widget: PWidget, event: PEventAny): gboolean{.cdecl.}
+    expose_event*: proc (widget: PWidget, event: PEventExpose): gboolean{.
         cdecl.}
-    delete_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.
+    key_press_event*: proc (widget: PWidget, event: PEventKey): gboolean{.
         cdecl.}
-    destroy_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.
+    key_release_event*: proc (widget: PWidget, event: PEventKey): gboolean{.
         cdecl.}
-    expose_event*: proc (widget: PGtkWidget, event: PGdkEventExpose): gboolean{.
+    enter_notify_event*: proc (widget: PWidget, event: PEventCrossing): gboolean{.
         cdecl.}
-    key_press_event*: proc (widget: PGtkWidget, event: PGdkEventKey): gboolean{.
+    leave_notify_event*: proc (widget: PWidget, event: PEventCrossing): gboolean{.
         cdecl.}
-    key_release_event*: proc (widget: PGtkWidget, event: PGdkEventKey): gboolean{.
+    configure_event*: proc (widget: PWidget, event: PEventConfigure): gboolean{.
         cdecl.}
-    enter_notify_event*: proc (widget: PGtkWidget, event: PGdkEventCrossing): gboolean{.
+    focus_in_event*: proc (widget: PWidget, event: PEventFocus): gboolean{.
         cdecl.}
-    leave_notify_event*: proc (widget: PGtkWidget, event: PGdkEventCrossing): gboolean{.
+    focus_out_event*: proc (widget: PWidget, event: PEventFocus): gboolean{.
         cdecl.}
-    configure_event*: proc (widget: PGtkWidget, event: PGdkEventConfigure): gboolean{.
+    map_event*: proc (widget: PWidget, event: PEventAny): gboolean{.cdecl.}
+    unmap_event*: proc (widget: PWidget, event: PEventAny): gboolean{.cdecl.}
+    property_notify_event*: proc (widget: PWidget, event: PEventProperty): gboolean{.
         cdecl.}
-    focus_in_event*: proc (widget: PGtkWidget, event: PGdkEventFocus): gboolean{.
+    selection_clear_event*: proc (widget: PWidget, event: PEventSelection): gboolean{.
         cdecl.}
-    focus_out_event*: proc (widget: PGtkWidget, event: PGdkEventFocus): gboolean{.
+    selection_request_event*: proc (widget: PWidget, event: PEventSelection): gboolean{.
         cdecl.}
-    map_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.cdecl.}
-    unmap_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.
+    selection_notify_event*: proc (widget: PWidget, event: PEventSelection): gboolean{.
         cdecl.}
-    property_notify_event*: proc (widget: PGtkWidget, event: PGdkEventProperty): gboolean{.
+    proximity_in_event*: proc (widget: PWidget, event: PEventProximity): gboolean{.
         cdecl.}
-    selection_clear_event*: proc (widget: PGtkWidget, event: PGdkEventSelection): gboolean{.
+    proximity_out_event*: proc (widget: PWidget, event: PEventProximity): gboolean{.
         cdecl.}
-    selection_request_event*: proc (widget: PGtkWidget,
-                                    event: PGdkEventSelection): gboolean{.cdecl.}
-    selection_notify_event*: proc (widget: PGtkWidget, event: PGdkEventSelection): gboolean{.
+    visibility_notify_event*: proc (widget: PWidget, event: PEventVisibility): gboolean{.
         cdecl.}
-    proximity_in_event*: proc (widget: PGtkWidget, event: PGdkEventProximity): gboolean{.
+    client_event*: proc (widget: PWidget, event: PEventClient): gboolean{.
         cdecl.}
-    proximity_out_event*: proc (widget: PGtkWidget, event: PGdkEventProximity): gboolean{.
+    no_expose_event*: proc (widget: PWidget, event: PEventAny): gboolean{.
         cdecl.}
-    visibility_notify_event*: proc (widget: PGtkWidget,
-                                    event: PGdkEventVisibility): gboolean{.cdecl.}
-    client_event*: proc (widget: PGtkWidget, event: PGdkEventClient): gboolean{.
+    window_state_event*: proc (widget: PWidget, event: PEventWindowState): 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,
+    selection_get*: proc (widget: PWidget, selection_data: PSelectionData, 
                           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,
+    selection_received*: proc (widget: PWidget, selection_data: PSelectionData, 
+                               time: guint){.cdecl.}
+    drag_begin*: proc (widget: PWidget, context: PDragContext){.cdecl.}
+    drag_end*: proc (widget: PWidget, context: PDragContext){.cdecl.}
+    drag_data_get*: proc (widget: PWidget, context: PDragContext, 
+                          selection_data: PSelectionData, info: guint, 
                           time: guint){.cdecl.}
-    drag_data_delete*: proc (widget: PGtkWidget, context: PGdkDragContext){.
-        cdecl.}
-    drag_leave*: proc (widget: PGtkWidget, context: PGdkDragContext, time: guint){.
+    drag_data_delete*: proc (widget: PWidget, context: PDragContext){.cdecl.}
+    drag_leave*: proc (widget: PWidget, context: PDragContext, time: guint){.
         cdecl.}
-    drag_motion*: proc (widget: PGtkWidget, context: PGdkDragContext, x: gint,
+    drag_motion*: proc (widget: PWidget, context: PDragContext, x: gint, 
                         y: gint, time: guint): gboolean{.cdecl.}
-    drag_drop*: proc (widget: PGtkWidget, context: PGdkDragContext, x: gint,
+    drag_drop*: proc (widget: PWidget, context: PDragContext, 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{.
+    drag_data_received*: proc (widget: PWidget, context: PDragContext, 
+                               x: gint, y: gint, selection_data: PSelectionData, 
+                               info: guint, time: guint){.cdecl.}
+    popup_menu*: proc (widget: PWidget): gboolean{.cdecl.}
+    show_help*: proc (widget: PWidget, help_type: TWidgetHelpType): 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
+    get_accessible*: proc (widget: PWidget): atk.PObject{.cdecl.}
+    reserved1: proc (){.cdecl.}
+    reserved2: proc (){.cdecl.}
+    reserved3: proc (){.cdecl.}
+    reserved4: proc (){.cdecl.}
+    reserved5*: proc (){.cdecl.}
+    reserved6*: proc (){.cdecl.}
+    reserved7*: proc (){.cdecl.}
+    reserved8*: proc (){.cdecl.}
+
+  PWidgetAuxInfo* = ptr TWidgetAuxInfo
+  TWidgetAuxInfo*{.final, pure.} = object 
     x*: gint
     y*: gint
     width*: gint
     height*: gint
     flag0*: guint16
 
-  PGtkWidgetShapeInfo* = ptr TGtkWidgetShapeInfo
-  TGtkWidgetShapeInfo* {.final, pure.} = object
+  PWidgetShapeInfo* = ptr TWidgetShapeInfo
+  TWidgetShapeInfo*{.final, pure.} = object 
     offset_x*: gint16
     offset_y*: gint16
-    shape_mask*: PGdkBitmap
+    shape_mask*: gdk2.PBitmap
 
-  TGtkMisc* = object of TGtkWidget
+  TMisc* = object of TWidget
     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
+  PMiscClass* = ptr TMiscClass
+  TMiscClass* = object of TWidgetClass
+  PAccelFlags* = ptr TAccelFlags
+  TAccelFlags* = int32
+  PAccelGroup* = ptr TAccelGroup
+  PAccelGroupEntry* = ptr TAccelGroupEntry
+  TAccelGroupActivate* = proc (accel_group: PAccelGroup, 
+                               acceleratable: PGObject, keyval: guint, 
+                               modifier: gdk2.TModifierType): gboolean{.cdecl.}
+  TAccelGroup* = object of TGObject
     lock_count*: guint
-    modifier_mask*: TGdkModifierType
+    modifier_mask*: gdk2.TModifierType
     acceleratables*: PGSList
     n_accels*: guint
-    priv_accels*: PGtkAccelGroupEntry
+    priv_accels*: PAccelGroupEntry
 
-  PGtkAccelGroupClass* = ptr TGtkAccelGroupClass
-  TGtkAccelGroupClass* = object of TGObjectClass
-    accel_changed*: proc (accel_group: PGtkAccelGroup, keyval: guint,
-                          modifier: TGdkModifierType, accel_closure: PGClosure){.
+  PAccelGroupClass* = ptr TAccelGroupClass
+  TAccelGroupClass* = object of TGObjectClass
+    accel_changed*: proc (accel_group: PAccelGroup, keyval: guint, 
+                          modifier: gdk2.TModifierType, accel_closure: PGClosure){.
         cdecl.}
-    gtk_reserved1: proc (){.cdecl.}
-    gtk_reserved2: proc (){.cdecl.}
-    gtk_reserved3: proc (){.cdecl.}
-    gtk_reserved4: proc (){.cdecl.}
+    reserved1: proc (){.cdecl.}
+    reserved2: proc (){.cdecl.}
+    reserved3: proc (){.cdecl.}
+    reserved4: proc (){.cdecl.}
 
-  PGtkAccelKey* = ptr TGtkAccelKey
-  TGtkAccelKey* {.final, pure.} = object
+  PAccelKey* = ptr TAccelKey
+  TAccelKey*{.final, pure.} = object 
     accel_key*: guint
-    accel_mods*: TGdkModifierType
+    accel_mods*: gdk2.TModifierType
     flag0*: guint16
 
-  TGtkAccelGroupEntry* {.final, pure.} = object
-    key*: TGtkAccelKey
+  TAccelGroupEntry*{.final, pure.} = object 
+    key*: TAccelKey
     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{.
+  Taccel_group_find_func* = proc (key: PAccelKey, closure: PGClosure, 
+                                  data: gpointer): gboolean{.cdecl.}
+  PContainer* = ptr TContainer
+  TContainer* = object of TWidget
+    focus_child*: PWidget
+    Container_flag0*: int32
+
+  PContainerClass* = ptr TContainerClass
+  TContainerClass* = object of TWidgetClass
+    add*: proc (container: PContainer, widget: PWidget){.cdecl.}
+    remove*: proc (container: PContainer, widget: PWidget){.cdecl.}
+    check_resize*: proc (container: PContainer){.cdecl.}
+    forall*: proc (container: PContainer, include_internals: gboolean, 
+                   callback: TCallback, callback_data: gpointer){.cdecl.}
+    set_focus_child*: proc (container: PContainer, widget: PWidget){.cdecl.}
+    child_type*: proc (container: PContainer): TType{.cdecl.}
+    composite_name*: proc (container: PContainer, child: PWidget): cstring{.
         cdecl.}
-    set_child_property*: proc (container: PGtkContainer, child: PGtkWidget,
-                               property_id: guint, value: PGValue,
+    set_child_property*: proc (container: PContainer, child: PWidget, 
+                               property_id: guint, value: PGValue, 
                                pspec: PGParamSpec){.cdecl.}
-    get_child_property*: proc (container: PGtkContainer, child: PGtkWidget,
-                               property_id: guint, value: PGValue,
+    get_child_property*: proc (container: PContainer, child: PWidget, 
+                               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
+    reserved20: proc (){.cdecl.}
+    reserved21: proc (){.cdecl.}
+    reserved23: proc (){.cdecl.}
+    reserved24: proc (){.cdecl.}
+
+  PBin* = ptr TBin
+  TBin* = object of TContainer
+    child*: PWidget
+
+  PBinClass* = ptr TBinClass
+  TBinClass* = object of TContainerClass
+  PWindowGeometryInfo* = pointer
+  PWindowGroup* = ptr TWindowGroup
+  PWindow* = ptr TWindow
+  TWindow* = object of TBin
     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
+    focus_widget*: PWidget
+    default_widget*: PWidget
+    transient_parent*: PWindow
+    geometry_info*: PWindowGeometryInfo
+    frame*: gdk2.PWindow
+    group*: PWindowGroup
     configure_request_count*: guint16
-    gtkwindow_flag0*: int32
+    window_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
+    mnemonic_modifier*: gdk2.TModifierType
+    screen*: gdk2.PScreen
+
+  PWindowClass* = ptr TWindowClass
+  TWindowClass* = object of TBinClass
+    set_focus*: proc (window: PWindow, focus: PWidget){.cdecl.}
+    frame_event*: proc (window: PWindow, event: gdk2.PEvent): gboolean{.cdecl.}
+    activate_focus*: proc (window: PWindow){.cdecl.}
+    activate_default*: proc (window: PWindow){.cdecl.}
+    move_focus*: proc (window: PWindow, direction: TDirectionType){.cdecl.}
+    keys_changed*: proc (window: PWindow){.cdecl.}
+    reserved30: proc (){.cdecl.}
+    reserved31: proc (){.cdecl.}
+    reserved32: proc (){.cdecl.}
+    reserved33: proc (){.cdecl.}
+
+  TWindowGroup* = 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
+  PWindowGroupClass* = ptr TWindowGroupClass
+  TWindowGroupClass* = object of TGObjectClass
+    reserved40: proc (){.cdecl.}
+    reserved41: proc (){.cdecl.}
+    reserved42: proc (){.cdecl.}
+    reserved43: proc (){.cdecl.}
+
+  TWindowKeysForeachFunc* = proc (window: PWindow, keyval: guint, 
+                                  modifiers: gdk2.TModifierType, 
+                                  is_mnemonic: gboolean, data: gpointer){.cdecl.}
+  PLabelSelectionInfo* = pointer
+  TLabel* = object of TMisc
     `label`*: cstring
-    GtkLabel_flag0*: guint16
+    Label_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,
+    attrs*: pango.PAttrList
+    effective_attrs*: pango.PAttrList
+    layout*: pango.PLayout
+    mnemonic_widget*: PWidget
+    mnemonic_window*: PWindow
+    select_info*: PLabelSelectionInfo
+
+  PLabelClass* = ptr TLabelClass
+  TLabelClass* = object of TMiscClass
+    move_cursor*: proc (`label`: PLabel, step: TMovementStep, 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
+    copy_clipboard*: proc (`label`: PLabel){.cdecl.}
+    populate_popup*: proc (`label`: PLabel, menu: PMenu){.cdecl.}
+    reserved50: proc (){.cdecl.}
+    reserved51: proc (){.cdecl.}
+    reserved52: proc (){.cdecl.}
+    reserved53: proc (){.cdecl.}
+
+  PAccelLabel* = ptr TAccelLabel
+  TAccelLabel* = object of TLabel
     queue_id*: guint
     accel_padding*: guint
-    accel_widget*: PGtkWidget
+    accel_widget*: PWidget
     accel_closure*: PGClosure
-    accel_group*: PGtkAccelGroup
+    accel_group*: PAccelGroup
     accel_string*: cstring
     accel_string_width*: guint16
 
-  PGtkAccelLabelClass* = ptr TGtkAccelLabelClass
-  TGtkAccelLabelClass* = object of TGtkLabelClass
+  PAccelLabelClass* = ptr TAccelLabelClass
+  TAccelLabelClass* = object of TLabelClass
     signal_quote1*: cstring
     signal_quote2*: cstring
     mod_name_shift*: cstring
@@ -512,29 +497,29 @@ type
     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
+    AccelLabelClass_flag0*: guint16
+    reserved61: proc (){.cdecl.}
+    reserved62: proc (){.cdecl.}
+    reserved63: proc (){.cdecl.}
+    reserved64: proc (){.cdecl.}
+
+  TAccelMapForeach* = proc (data: gpointer, accel_path: cstring, 
+                            accel_key: guint, accel_mods: gdk2.TModifierType, 
+                            changed: gboolean){.cdecl.}
+  PAccessible* = ptr TAccessible
+  TAccessible* = object of atk.TObject
+    widget*: PWidget
+
+  PAccessibleClass* = ptr TAccessibleClass
+  TAccessibleClass* = object of atk.TObjectClass
+    connect_widget_destroyed*: proc (accessible: PAccessible){.cdecl.}
+    reserved71: proc (){.cdecl.}
+    reserved72: proc (){.cdecl.}
+    reserved73: proc (){.cdecl.}
+    reserved74: proc (){.cdecl.}
+
+  PAdjustment* = ptr TAdjustment
+  TAdjustment* = object of TObject
     lower*: gdouble
     upper*: gdouble
     value*: gdouble
@@ -542,142 +527,137 @@ type
     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
+  PAdjustmentClass* = ptr TAdjustmentClass
+  TAdjustmentClass* = object of TObjectClass
+    changed*: proc (adjustment: PAdjustment){.cdecl.}
+    value_changed*: proc (adjustment: PAdjustment){.cdecl.}
+    reserved81: proc (){.cdecl.}
+    reserved82: proc (){.cdecl.}
+    reserved83: proc (){.cdecl.}
+    reserved84: proc (){.cdecl.}
+
+  PAlignment* = ptr TAlignment
+  TAlignment* = object of TBin
     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
+  PAlignmentClass* = ptr TAlignmentClass
+  TAlignmentClass* = object of TBinClass
+  PFrame* = ptr TFrame
+  TFrame* = object of TBin
+    label_widget*: PWidget
     shadow_type*: gint16
     label_xalign*: gfloat
     label_yalign*: gfloat
-    child_allocation*: TGtkAllocation
+    child_allocation*: TAllocation
 
-  PGtkFrameClass* = ptr TGtkFrameClass
-  TGtkFrameClass* = object of TGtkBinClass
-    compute_child_allocation*: proc (frame: PGtkFrame,
-                                     allocation: PGtkAllocation){.cdecl.}
+  PFrameClass* = ptr TFrameClass
+  TFrameClass* = object of TBinClass
+    compute_child_allocation*: proc (frame: PFrame, allocation: PAllocation){.
+        cdecl.}
 
-  PGtkAspectFrame* = ptr TGtkAspectFrame
-  TGtkAspectFrame* = object of TGtkFrame
+  PAspectFrame* = ptr TAspectFrame
+  TAspectFrame* = object of TFrame
     xalign*: gfloat
     yalign*: gfloat
     ratio*: gfloat
     obey_child*: gboolean
-    center_allocation*: TGtkAllocation
+    center_allocation*: TAllocation
 
-  PGtkAspectFrameClass* = ptr TGtkAspectFrameClass
-  TGtkAspectFrameClass* = object of TGtkFrameClass
-
-  PGtkArrow* = ptr TGtkArrow
-  TGtkArrow* = object of TGtkMisc
+  PAspectFrameClass* = ptr TAspectFrameClass
+  TAspectFrameClass* = object of TFrameClass
+  PArrow* = ptr TArrow
+  TArrow* = object of TMisc
     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
+  PArrowClass* = ptr TArrowClass
+  TArrowClass* = object of TMiscClass
+  PBindingEntry* = ptr TBindingEntry
+  PBindingSignal* = ptr TBindingSignal
+  PBindingArg* = ptr TBindingArg
+  PBindingSet* = ptr TBindingSet
+  TBindingSet*{.final, pure.} = object 
     set_name*: cstring
     priority*: gint
     widget_path_pspecs*: PGSList
     widget_class_pspecs*: PGSList
     class_branch_pspecs*: PGSList
-    entries*: PGtkBindingEntry
-    current*: PGtkBindingEntry
+    entries*: PBindingEntry
+    current*: PBindingEntry
     flag0*: guint16
 
-  TGtkBindingEntry* {.final, pure.} = object
+  TBindingEntry*{.final, pure.} = object 
     keyval*: guint
-    modifiers*: TGdkModifierType
-    binding_set*: PGtkBindingSet
+    modifiers*: gdk2.TModifierType
+    binding_set*: PBindingSet
     flag0*: guint16
-    set_next*: PGtkBindingEntry
-    hash_next*: PGtkBindingEntry
-    signals*: PGtkBindingSignal
+    set_next*: PBindingEntry
+    hash_next*: PBindingEntry
+    signals*: PBindingSignal
 
-  TGtkBindingSignal* {.final, pure.} = object
-    next*: PGtkBindingSignal
+  TBindingSignal*{.final, pure.} = object 
+    next*: PBindingSignal
     signal_name*: cstring
     n_args*: guint
-    args*: PGtkBindingArg
+    args*: PBindingArg
 
-  TGtkBindingArg* {.final, pure.} = object
-    arg_type*: TGtkType
+  TBindingArg*{.final, pure.} = object 
+    arg_type*: TType
     d*: gdouble
 
-  PGtkBox* = ptr TGtkBox
-  TGtkBox* = object of TGtkContainer
+  PBox* = ptr TBox
+  TBox* = object of TContainer
     children*: PGList
     spacing*: gint16
-    gtkbox_flag0*: guint16
-
-  PGtkBoxClass* = ptr TGtkBoxClass
-  TGtkBoxClass* = object of TGtkContainerClass
+    box_flag0*: guint16
 
-  PGtkBoxChild* = ptr TGtkBoxChild
-  TGtkBoxChild* {.final, pure.} = object
-    widget*: PGtkWidget
+  PBoxClass* = ptr TBoxClass
+  TBoxClass* = object of TContainerClass
+  PBoxChild* = ptr TBoxChild
+  TBoxChild*{.final, pure.} = object 
+    widget*: PWidget
     padding*: guint16
     flag0*: guint16
 
-  PGtkButtonBox* = ptr TGtkButtonBox
-  TGtkButtonBox* = object of TGtkBox
+  PButtonBox* = ptr TButtonBox
+  TButtonBox* = object of TBox
     child_min_width*: gint
     child_min_height*: gint
     child_ipad_x*: gint
     child_ipad_y*: gint
-    layout_style*: TGtkButtonBoxStyle
+    layout_style*: TButtonBoxStyle
 
-  PGtkButtonBoxClass* = ptr TGtkButtonBoxClass
-  TGtkButtonBoxClass* = object of TGtkBoxClass
-
-  PGtkButton* = ptr TGtkButton
-  TGtkButton* = object of TGtkBin
-    event_window*: PGdkWindow
+  PButtonBoxClass* = ptr TButtonBoxClass
+  TButtonBoxClass* = object of TBoxClass
+  PButton* = ptr TButton
+  TButton* = object of TBin
+    event_window*: gdk2.PWindow
     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
+    button_flag0*: guint16
+
+  PButtonClass* = ptr TButtonClass
+  TButtonClass* = object of TBinClass
+    pressed*: proc (button: PButton){.cdecl.}
+    released*: proc (button: PButton){.cdecl.}
+    clicked*: proc (button: PButton){.cdecl.}
+    enter*: proc (button: PButton){.cdecl.}
+    leave*: proc (button: PButton){.cdecl.}
+    activate*: proc (button: PButton){.cdecl.}
+    reserved101: proc (){.cdecl.}
+    reserved102: proc (){.cdecl.}
+    reserved103: proc (){.cdecl.}
+    reserved104: proc (){.cdecl.}
+
+  PCalendarDisplayOptions* = ptr TCalendarDisplayOptions
+  TCalendarDisplayOptions* = int32
+  PCalendar* = ptr TCalendar
+  TCalendar* = object of TWidget
+    header_style*: PStyle
+    label_style*: PStyle
     month*: gint
     year*: gint
     selected_day*: gint
@@ -685,259 +665,251 @@ type
     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
+    display_flags*: TCalendarDisplayOptions
+    marked_date_color*: array[0..30, gdk2.TColor]
+    gc*: gdk2.PGC
+    xor_gc*: gdk2.PGC
     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
+    reserved111: proc (){.cdecl.}
+    reserved112: proc (){.cdecl.}
+    reserved113: proc (){.cdecl.}
+    reserved114: proc (){.cdecl.}
+
+  PCalendarClass* = ptr TCalendarClass
+  TCalendarClass* = object of TWidgetClass
+    month_changed*: proc (calendar: PCalendar){.cdecl.}
+    day_selected*: proc (calendar: PCalendar){.cdecl.}
+    day_selected_double_click*: proc (calendar: PCalendar){.cdecl.}
+    prev_month*: proc (calendar: PCalendar){.cdecl.}
+    next_month*: proc (calendar: PCalendar){.cdecl.}
+    prev_year*: proc (calendar: PCalendar){.cdecl.}
+    next_year*: proc (calendar: PCalendar){.cdecl.}
+
+  PCellEditable* = pointer
+  PCellEditableIface* = ptr TCellEditableIface
+  TCellEditableIface* = object of TGTypeInterface
+    editing_done*: proc (cell_editable: PCellEditable){.cdecl.}
+    remove_widget*: proc (cell_editable: PCellEditable){.cdecl.}
+    start_editing*: proc (cell_editable: PCellEditable, event: gdk2.PEvent){.cdecl.}
+
+  PCellRendererState* = ptr TCellRendererState
+  TCellRendererState* = int32
+  PCellRendererMode* = ptr TCellRendererMode
+  TCellRendererMode* = enum 
+    CELL_RENDERER_MODE_INERT, CELL_RENDERER_MODE_ACTIVATABLE, 
+    CELL_RENDERER_MODE_EDITABLE
+  PCellRenderer* = ptr TCellRenderer
+  TCellRenderer* = object of TObject
     xalign*: gfloat
     yalign*: gfloat
     width*: gint
     height*: gint
     xpad*: guint16
     ypad*: guint16
-    GtkCellRenderer_flag0*: guint16
+    CellRenderer_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,
+  PCellRendererClass* = ptr TCellRendererClass
+  TCellRendererClass* = object of TObjectClass
+    get_size*: proc (cell: PCellRenderer, widget: PWidget, 
+                     cell_area: gdk2.PRectangle, 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{.
+    render*: proc (cell: PCellRenderer, window: gdk2.PWindow, widget: PWidget, 
+                   background_area: gdk2.PRectangle, cell_area: gdk2.PRectangle, 
+                   expose_area: gdk2.PRectangle, flags: TCellRendererState){.cdecl.}
+    activate*: proc (cell: PCellRenderer, event: gdk2.PEvent, widget: PWidget, 
+                     path: cstring, background_area: gdk2.PRectangle, 
+                     cell_area: gdk2.PRectangle, flags: TCellRendererState): gboolean{.
         cdecl.}
-    gtk_reserved121: proc (){.cdecl.}
-    gtk_reserved122: proc (){.cdecl.}
-    gtk_reserved123: proc (){.cdecl.}
-    gtk_reserved124: proc (){.cdecl.}
+    start_editing*: proc (cell: PCellRenderer, event: gdk2.PEvent, 
+                          widget: PWidget, path: cstring, 
+                          background_area: gdk2.PRectangle, 
+                          cell_area: gdk2.PRectangle, flags: TCellRendererState): PCellEditable{.
+        cdecl.}
+    reserved121: proc (){.cdecl.}
+    reserved122: proc (){.cdecl.}
+    reserved123: proc (){.cdecl.}
+    reserved124: proc (){.cdecl.}
 
-  PGtkCellRendererText* = ptr TGtkCellRendererText
-  TGtkCellRendererText* = object of TGtkCellRenderer
+  PCellRendererText* = ptr TCellRendererText
+  TCellRendererText* = object of TCellRenderer
     text*: cstring
-    font*: PPangoFontDescription
+    font*: pango.PFontDescription
     font_scale*: gdouble
-    foreground*: TPangoColor
-    background*: TPangoColor
-    extra_attrs*: PPangoAttrList
-    underline_style*: TPangoUnderline
+    foreground*: pango.TColor
+    background*: pango.TColor
+    extra_attrs*: pango.PAttrList
+    underline_style*: pango.TUnderline
     rise*: gint
     fixed_height_rows*: gint
-    GtkCellRendererText_flag0*: guint16
+    CellRendererText_flag0*: guint16
 
-  PGtkCellRendererTextClass* = ptr TGtkCellRendererTextClass
-  TGtkCellRendererTextClass* = object of TGtkCellRendererClass
-    edited*: proc (cell_renderer_text: PGtkCellRendererText, path: cstring,
+  PCellRendererTextClass* = ptr TCellRendererTextClass
+  TCellRendererTextClass* = object of TCellRendererClass
+    edited*: proc (cell_renderer_text: PCellRendererText, 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){.
+    reserved131: proc (){.cdecl.}
+    reserved132: proc (){.cdecl.}
+    reserved133: proc (){.cdecl.}
+    reserved134: proc (){.cdecl.}
+
+  PCellRendererToggle* = ptr TCellRendererToggle
+  TCellRendererToggle* = object of TCellRenderer
+    CellRendererToggle_flag0*: guint16
+
+  PCellRendererToggleClass* = ptr TCellRendererToggleClass
+  TCellRendererToggleClass* = object of TCellRendererClass
+    toggled*: proc (cell_renderer_toggle: PCellRendererToggle, 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
+    reserved141: proc (){.cdecl.}
+    reserved142: proc (){.cdecl.}
+    reserved143: proc (){.cdecl.}
+    reserved144: proc (){.cdecl.}
+
+  PCellRendererPixbuf* = ptr TCellRendererPixbuf
+  TCellRendererPixbuf* = object of TCellRenderer
+    pixbuf*: gdk2pixbuf.PPixbuf
+    pixbuf_expander_open*: gdk2pixbuf.PPixbuf
+    pixbuf_expander_closed*: gdk2pixbuf.PPixbuf
+
+  PCellRendererPixbufClass* = ptr TCellRendererPixbufClass
+  TCellRendererPixbufClass* = object of TCellRendererClass
+    reserved151: proc (){.cdecl.}
+    reserved152: proc (){.cdecl.}
+    reserved153: proc (){.cdecl.}
+    reserved154: proc (){.cdecl.}
+
+  PItem* = ptr TItem
+  TItem* = object of TBin
+  PItemClass* = ptr TItemClass
+  TItemClass* = object of TBinClass
+    select*: proc (item: PItem){.cdecl.}
+    deselect*: proc (item: PItem){.cdecl.}
+    toggle*: proc (item: PItem){.cdecl.}
+    reserved161: proc (){.cdecl.}
+    reserved162: proc (){.cdecl.}
+    reserved163: proc (){.cdecl.}
+    reserved164: proc (){.cdecl.}
+
+  PMenuItem* = ptr TMenuItem
+  TMenuItem* = object of TItem
+    submenu*: PWidget
+    event_window*: gdk2.PWindow
     toggle_size*: guint16
     accelerator_width*: guint16
     accel_path*: cstring
-    GtkMenuItem_flag0*: guint16
+    MenuItem_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){.
+  PMenuItemClass* = ptr TMenuItemClass
+  TMenuItemClass* = object of TItemClass
+    MenuItemClass_flag0*: guint16
+    activate*: proc (menu_item: PMenuItem){.cdecl.}
+    activate_item*: proc (menu_item: PMenuItem){.cdecl.}
+    toggle_size_request*: proc (menu_item: PMenuItem, requisition: Pgint){.cdecl.}
+    toggle_size_allocate*: proc (menu_item: PMenuItem, allocation: gint){.cdecl.}
+    reserved171: proc (){.cdecl.}
+    reserved172: proc (){.cdecl.}
+    reserved173: proc (){.cdecl.}
+    reserved174: proc (){.cdecl.}
+
+  PToggleButton* = ptr TToggleButton
+  TToggleButton* = object of TButton
+    ToggleButton_flag0*: guint16
+
+  PToggleButtonClass* = ptr TToggleButtonClass
+  TToggleButtonClass* = object of TButtonClass
+    toggled*: proc (toggle_button: PToggleButton){.cdecl.}
+    reserved171: proc (){.cdecl.}
+    reserved172: proc (){.cdecl.}
+    reserved173: proc (){.cdecl.}
+    reserved174: proc (){.cdecl.}
+
+  PCheckButton* = ptr TCheckButton
+  TCheckButton* = object of TToggleButton
+  PCheckButtonClass* = ptr TCheckButtonClass
+  TCheckButtonClass* = object of TToggleButtonClass
+    draw_indicator*: proc (check_button: PCheckButton, area: gdk2.PRectangle){.
         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){.
+    reserved181: proc (){.cdecl.}
+    reserved182: proc (){.cdecl.}
+    reserved183: proc (){.cdecl.}
+    reserved184: proc (){.cdecl.}
+
+  PCheckMenuItem* = ptr TCheckMenuItem
+  TCheckMenuItem* = object of TMenuItem
+    CheckMenuItem_flag0*: guint16
+
+  PCheckMenuItemClass* = ptr TCheckMenuItemClass
+  TCheckMenuItemClass* = object of TMenuItemClass
+    toggled*: proc (check_menu_item: PCheckMenuItem){.cdecl.}
+    draw_indicator*: proc (check_menu_item: PCheckMenuItem, area: gdk2.PRectangle){.
         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
+    reserved191: proc (){.cdecl.}
+    reserved192: proc (){.cdecl.}
+    reserved193: proc (){.cdecl.}
+    reserved194: proc (){.cdecl.}
+
+  PClipboard* = pointer
+  TClipboardReceivedFunc* = proc (clipboard: PClipboard, 
+                                  selection_data: PSelectionData, data: gpointer){.
+      cdecl.}
+  TClipboardTextReceivedFunc* = proc (clipboard: PClipboard, text: cstring, 
+                                      data: gpointer){.cdecl.}
+  TClipboardGetFunc* = proc (clipboard: PClipboard, 
+                             selection_data: PSelectionData, info: guint, 
+                             user_data_or_owner: gpointer){.cdecl.}
+  TClipboardClearFunc* = proc (clipboard: PClipboard, 
+                               user_data_or_owner: gpointer){.cdecl.}
+  PCList* = ptr TCList
+  PCListColumn* = ptr TCListColumn
+  PCListRow* = ptr TCListRow
+  PCell* = ptr TCell
+  PCellType* = ptr TCellType
+  TCellType* = enum 
+    CELL_EMPTY, CELL_TEXT, CELL_PIXMAP, CELL_PIXTEXT, CELL_WIDGET
+  PCListDragPos* = ptr TCListDragPos
+  TCListDragPos* = enum 
+    CLIST_DRAG_NONE, CLIST_DRAG_BEFORE, CLIST_DRAG_INTO, CLIST_DRAG_AFTER
+  PButtonAction* = ptr TButtonAction
+  TButtonAction* = int32
+  TCListCompareFunc* = proc (clist: PCList, ptr1: gconstpointer, 
+                             ptr2: gconstpointer): gint{.cdecl.}
+  PCListCellInfo* = ptr TCListCellInfo
+  TCListCellInfo*{.final, pure.} = object 
     row*: gint
     column*: gint
 
-  PGtkCListDestInfo* = ptr TGtkCListDestInfo
-  TGtkCListDestInfo* {.final, pure.} = object
-    cell*: TGtkCListCellInfo
-    insert_pos*: TGtkCListDragPos
+  PCListDestInfo* = ptr TCListDestInfo
+  TCListDestInfo*{.final, pure.} = object 
+    cell*: TCListCellInfo
+    insert_pos*: TCListDragPos
 
-  TGtkCList* = object of TGtkContainer
-    GtkCList_flags*: guint16
+  TCList* = object of TContainer
+    CList_flags*: guint16
     row_mem_chunk*: PGMemChunk
     cell_mem_chunk*: PGMemChunk
     freeze_count*: guint
-    internal_allocation*: TGdkRectangle
+    internal_allocation*: gdk2.TRectangle
     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
+    column_title_area*: gdk2.TRectangle
+    title_window*: gdk2.PWindow
+    column*: PCListColumn
+    clist_window*: gdk2.PWindow
     clist_window_width*: gint
     clist_window_height*: gint
     hoffset*: gint
     voffset*: gint
-    shadow_type*: TGtkShadowType
-    selection_mode*: TGtkSelectionMode
+    shadow_type*: TShadowType
+    selection_mode*: TSelectionMode
     selection*: PGList
     selection_end*: PGList
     undo_selection*: PGList
@@ -945,461 +917,447 @@ type
     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
+    click_cell*: TCListCellInfo
+    hadjustment*: PAdjustment
+    vadjustment*: PAdjustment
+    xor_gc*: gdk2.PGC
+    fg_gc*: gdk2.PGC
+    bg_gc*: gdk2.PGC
+    cursor_drag*: gdk2.PCursor
     x_drag*: gint
     focus_row*: gint
     focus_header_column*: gint
     anchor*: gint
-    anchor_state*: TGtkStateType
+    anchor_state*: TStateType
     drag_pos*: gint
     htimer*: gint
     vtimer*: gint
-    sort_type*: TGtkSortType
-    compare*: TGtkCListCompareFunc
+    sort_type*: TSortType
+    compare*: TCListCompareFunc
     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,
+    drag_highlight_pos*: TCListDragPos
+
+  PCListClass* = ptr TCListClass
+  TCListClass* = object of TContainerClass
+    set_scroll_adjustments*: proc (clist: PCList, hadjustment: PAdjustment, 
+                                   vadjustment: PAdjustment){.cdecl.}
+    refresh*: proc (clist: PCList){.cdecl.}
+    select_row*: proc (clist: PCList, row: gint, column: gint, event: gdk2.PEvent){.
+        cdecl.}
+    unselect_row*: proc (clist: PCList, row: gint, column: gint, 
+                         event: gdk2.PEvent){.cdecl.}
+    row_move*: proc (clist: PCList, source_row: gint, dest_row: gint){.cdecl.}
+    click_column*: proc (clist: PCList, column: gint){.cdecl.}
+    resize_column*: proc (clist: PCList, column: gint, width: gint){.cdecl.}
+    toggle_focus_row*: proc (clist: PCList){.cdecl.}
+    select_all*: proc (clist: PCList){.cdecl.}
+    unselect_all*: proc (clist: PCList){.cdecl.}
+    undo_selection*: proc (clist: PCList){.cdecl.}
+    start_selection*: proc (clist: PCList){.cdecl.}
+    end_selection*: proc (clist: PCList){.cdecl.}
+    extend_selection*: proc (clist: PCList, scroll_type: TScrollType, 
                              position: gfloat, auto_start_selection: gboolean){.
         cdecl.}
-    scroll_horizontal*: proc (clist: PGtkCList, scroll_type: TGtkScrollType,
+    scroll_horizontal*: proc (clist: PCList, scroll_type: TScrollType, 
                               position: gfloat){.cdecl.}
-    scroll_vertical*: proc (clist: PGtkCList, scroll_type: TGtkScrollType,
+    scroll_vertical*: proc (clist: PCList, scroll_type: TScrollType, 
                             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,
+    toggle_add_mode*: proc (clist: PCList){.cdecl.}
+    abort_column_resize*: proc (clist: PCList){.cdecl.}
+    resync_selection*: proc (clist: PCList, event: gdk2.PEvent){.cdecl.}
+    selection_find*: proc (clist: PCList, 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.}
+    draw_row*: proc (clist: PCList, area: gdk2.PRectangle, row: gint, 
+                     clist_row: PCListRow){.cdecl.}
+    draw_drag_highlight*: proc (clist: PCList, target_row: PCListRow, 
+                                target_row_number: gint, drag_pos: TCListDragPos){.
+        cdecl.}
+    clear*: proc (clist: PCList){.cdecl.}
+    fake_unselect_all*: proc (clist: PCList, row: gint){.cdecl.}
+    sort_list*: proc (clist: PCList){.cdecl.}
+    insert_row*: proc (clist: PCList, row: gint): gint{.cdecl, varargs.}
+    remove_row*: proc (clist: PCList, row: gint){.cdecl.}
+    set_cell_contents*: proc (clist: PCList, clist_row: PCListRow, column: gint, 
+                              thetype: TCellType, text: cstring, 
+                              spacing: guint8, pixmap: gdk2.PPixmap, 
+                              mask: gdk2.PBitmap){.cdecl.}
+    cell_size_request*: proc (clist: PCList, clist_row: PCListRow, column: gint, 
+                              requisition: PRequisition){.cdecl.}
 
   PGPtrArray = pointer
   PGArray = pointer
-  TGtkCListColumn* {.final, pure.} = object
+  TCListColumn*{.final, pure.} = object 
     title*: cstring
-    area*: TGdkRectangle
-    button*: PGtkWidget
-    window*: PGdkWindow
+    area*: gdk2.TRectangle
+    button*: PWidget
+    window*: gdk2.PWindow
     width*: gint
     min_width*: gint
     max_width*: gint
-    justification*: TGtkJustification
+    justification*: TJustification
     flag0*: guint16
 
-  TGtkCListRow* {.final, pure.} = object
-    cell*: PGtkCell
-    state*: TGtkStateType
-    foreground*: TGdkColor
-    background*: TGdkColor
-    style*: PGtkStyle
+  TCListRow*{.final, pure.} = object 
+    cell*: PCell
+    state*: TStateType
+    foreground*: gdk2.TColor
+    background*: gdk2.TColor
+    style*: PStyle
     data*: gpointer
-    destroy*: TGtkDestroyNotify
+    destroy*: TDestroyNotify
     flag0*: guint16
 
-  PGtkCellText* = ptr TGtkCellText
-  TGtkCellText* {.final, pure.} = object
-    `type`*: TGtkCellType
+  PCellText* = ptr TCellText
+  TCellText*{.final, pure.} = object 
+    `type`*: TCellType
     vertical*: gint16
     horizontal*: gint16
-    style*: PGtkStyle
+    style*: PStyle
     text*: cstring
 
-  PGtkCellPixmap* = ptr TGtkCellPixmap
-  TGtkCellPixmap* {.final, pure.} = object
-    `type`*: TGtkCellType
+  PCellPixmap* = ptr TCellPixmap
+  TCellPixmap*{.final, pure.} = object 
+    `type`*: TCellType
     vertical*: gint16
     horizontal*: gint16
-    style*: PGtkStyle
-    pixmap*: PGdkPixmap
-    mask*: PGdkBitmap
+    style*: PStyle
+    pixmap*: gdk2.PPixmap
+    mask*: gdk2.PBitmap
 
-  PGtkCellPixText* = ptr TGtkCellPixText
-  TGtkCellPixText* {.final, pure.} = object
-    `type`*: TGtkCellType
+  PCellPixText* = ptr TCellPixText
+  TCellPixText*{.final, pure.} = object 
+    `type`*: TCellType
     vertical*: gint16
     horizontal*: gint16
-    style*: PGtkStyle
+    style*: PStyle
     text*: cstring
     spacing*: guint8
-    pixmap*: PGdkPixmap
-    mask*: PGdkBitmap
+    pixmap*: gdk2.PPixmap
+    mask*: gdk2.PBitmap
 
-  PGtkCellWidget* = ptr TGtkCellWidget
-  TGtkCellWidget* {.final, pure.} = object
-    `type`*: TGtkCellType
+  PCellWidget* = ptr TCellWidget
+  TCellWidget*{.final, pure.} = object 
+    `type`*: TCellType
     vertical*: gint16
     horizontal*: gint16
-    style*: PGtkStyle
-    widget*: PGtkWidget
+    style*: PStyle
+    widget*: PWidget
 
-  TGtkCell* {.final, pure.} = object
-    `type`*: TGtkCellType
+  TCell*{.final, pure.} = object 
+    `type`*: TCellType
     vertical*: gint16
     horizontal*: gint16
-    style*: PGtkStyle
+    style*: PStyle
     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){.
+    pixmap*: gdk2.PPixmap
+    mask*: gdk2.PBitmap
+
+  PDialogFlags* = ptr TDialogFlags
+  TDialogFlags* = int32
+  PResponseType* = ptr TResponseType
+  TResponseType* = int32
+  PDialog* = ptr TDialog
+  TDialog* = object of TWindow
+    vbox*: PWidget
+    action_area*: PWidget
+    separator*: PWidget
+
+  PDialogClass* = ptr TDialogClass
+  TDialogClass* = object of TWindowClass
+    response*: proc (dialog: PDialog, response_id: gint){.cdecl.}
+    closeFile*: proc (dialog: PDialog){.cdecl.}
+    reserved201: proc (){.cdecl.}
+    reserved202: proc (){.cdecl.}
+    reserved203: proc (){.cdecl.}
+    reserved204: proc (){.cdecl.}
+
+  PVBox* = ptr TVBox
+  TVBox* = object of TBox
+  PVBoxClass* = ptr TVBoxClass
+  TVBoxClass* = object of TBoxClass
+  TColorSelectionChangePaletteFunc* = proc (colors: gdk2.PColor, n_colors: gint){.
       cdecl.}
-  TGtkColorSelectionChangePaletteWithScreenFunc* = proc (screen: PGdkScreen,
-      colors: PGdkColor, n_colors: gint){.cdecl.}
-  PGtkColorSelection* = ptr TGtkColorSelection
-  TGtkColorSelection* = object of TGtkVBox
+  TColorSelectionChangePaletteWithScreenFunc* = proc (screen: gdk2.PScreen, 
+      colors: gdk2.PColor, n_colors: gint){.cdecl.}
+  PColorSelection* = ptr TColorSelection
+  TColorSelection* = object of TVBox
     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
+  PColorSelectionClass* = ptr TColorSelectionClass
+  TColorSelectionClass* = object of TVBoxClass
+    color_changed*: proc (color_selection: PColorSelection){.cdecl.}
+    reserved211: proc (){.cdecl.}
+    reserved212: proc (){.cdecl.}
+    reserved213: proc (){.cdecl.}
+    reserved214: proc (){.cdecl.}
+
+  PColorSelectionDialog* = ptr TColorSelectionDialog
+  TColorSelectionDialog* = object of TDialog
+    colorsel*: PWidget
+    ok_button*: PWidget
+    cancel_button*: PWidget
+    help_button*: PWidget
+
+  PColorSelectionDialogClass* = ptr TColorSelectionDialogClass
+  TColorSelectionDialogClass* = object of TDialogClass
+    reserved221: proc (){.cdecl.}
+    reserved222: proc (){.cdecl.}
+    reserved223: proc (){.cdecl.}
+    reserved224: proc (){.cdecl.}
+
+  PHBox* = ptr THBox
+  THBox* = object of TBox
+  PHBoxClass* = ptr THBoxClass
+  THBoxClass* = object of TBoxClass
+  PCombo* = ptr TCombo
+  TCombo* = object of THBox
+    entry*: PWidget
+    button*: PWidget
+    popup*: PWidget
+    popwin*: PWidget
+    list*: PWidget
     entry_change_id*: guint
     list_change_id*: guint
-    GtkCombo_flag0*: guint16
+    Combo_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{.
+  PComboClass* = ptr TComboClass
+  TComboClass* = object of THBoxClass
+    reserved231: proc (){.cdecl.}
+    reserved232: proc (){.cdecl.}
+    reserved233: proc (){.cdecl.}
+    reserved234: proc (){.cdecl.}
+
+  PCTreePos* = ptr TCTreePos
+  TCTreePos* = enum 
+    CTREE_POS_BEFORE, CTREE_POS_AS_CHILD, CTREE_POS_AFTER
+  PCTreeLineStyle* = ptr TCTreeLineStyle
+  TCTreeLineStyle* = enum 
+    CTREE_LINES_NONE, CTREE_LINES_SOLID, CTREE_LINES_DOTTED, CTREE_LINES_TABBED
+  PCTreeExpanderStyle* = ptr TCTreeExpanderStyle
+  TCTreeExpanderStyle* = enum 
+    CTREE_EXPANDER_NONE, CTREE_EXPANDER_SQUARE, CTREE_EXPANDER_TRIANGLE, 
+    CTREE_EXPANDER_CIRCULAR
+  PCTreeExpansionType* = ptr TCTreeExpansionType
+  TCTreeExpansionType* = enum 
+    CTREE_EXPANSION_EXPAND, CTREE_EXPANSION_EXPAND_RECURSIVE, 
+    CTREE_EXPANSION_COLLAPSE, CTREE_EXPANSION_COLLAPSE_RECURSIVE, 
+    CTREE_EXPANSION_TOGGLE, CTREE_EXPANSION_TOGGLE_RECURSIVE
+  PCTree* = ptr TCTree
+  PCTreeNode* = ptr TCTreeNode
+  TCTreeFunc* = proc (ctree: PCTree, node: PCTreeNode, data: gpointer){.cdecl.}
+  TCTreeGNodeFunc* = proc (ctree: PCTree, depth: guint, gnode: PGNode, 
+                           cnode: PCTreeNode, data: gpointer): gboolean{.cdecl.}
+  TCTreeCompareDragFunc* = proc (ctree: PCTree, source_node: PCTreeNode, 
+                                 new_parent: PCTreeNode, new_sibling: PCTreeNode): gboolean{.
       cdecl.}
-  TGtkCTreeCompareDragFunc* = proc (ctree: PGtkCTree,
-                                    source_node: PGtkCTreeNode,
-                                    new_parent: PGtkCTreeNode,
-                                    new_sibling: PGtkCTreeNode): gboolean{.cdecl.}
-  TGtkCTree* = object of TGtkCList
-    lines_gc*: PGdkGC
+  TCTree* = object of TCList
+    lines_gc*: gdk2.PGC
     tree_indent*: gint
     tree_spacing*: gint
     tree_column*: gint
-    GtkCTree_flag0*: guint16
-    drag_compare*: TGtkCTreeCompareDragFunc
+    CTree_flag0*: guint16
+    drag_compare*: TCTreeCompareDragFunc
 
-  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){.
+  PCTreeClass* = ptr TCTreeClass
+  TCTreeClass* = object of TCListClass
+    tree_select_row*: proc (ctree: PCTree, row: PCTreeNode, column: gint){.cdecl.}
+    tree_unselect_row*: proc (ctree: PCTree, row: PCTreeNode, 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
+    tree_expand*: proc (ctree: PCTree, node: PCTreeNode){.cdecl.}
+    tree_collapse*: proc (ctree: PCTree, node: PCTreeNode){.cdecl.}
+    tree_move*: proc (ctree: PCTree, node: PCTreeNode, new_parent: PCTreeNode, 
+                      new_sibling: PCTreeNode){.cdecl.}
+    change_focus_row_expansion*: proc (ctree: PCTree, 
+                                       action: TCTreeExpansionType){.cdecl.}
+
+  PCTreeRow* = ptr TCTreeRow
+  TCTreeRow*{.final, pure.} = object 
+    row*: TCListRow
+    parent*: PCTreeNode
+    sibling*: PCTreeNode
+    children*: PCTreeNode
+    pixmap_closed*: gdk2.PPixmap
+    mask_closed*: gdk2.PBitmap
+    pixmap_opened*: gdk2.PPixmap
+    mask_opened*: gdk2.PBitmap
     level*: guint16
-    GtkCTreeRow_flag0*: guint16
+    CTreeRow_flag0*: guint16
 
-  TGtkCTreeNode* {.final, pure.} = object
+  TCTreeNode*{.final, pure.} = object 
     list*: TGList
 
-  PGtkDrawingArea* = ptr TGtkDrawingArea
-  TGtkDrawingArea* = object of TGtkWidget
+  PDrawingArea* = ptr TDrawingArea
+  TDrawingArea* = object of TWidget
     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.}
+  PDrawingAreaClass* = ptr TDrawingAreaClass
+  TDrawingAreaClass* = object of TWidgetClass
+    reserved241: proc (){.cdecl.}
+    reserved242: proc (){.cdecl.}
+    reserved243: proc (){.cdecl.}
+    reserved244: proc (){.cdecl.}
 
   Tctlpoint* = array[0..1, gfloat]
   Pctlpoint* = ptr Tctlpoint
-  PGtkCurve* = ptr TGtkCurve
-  TGtkCurve* = object of TGtkDrawingArea
+  PCurve* = ptr TCurve
+  TCurve* = object of TDrawingArea
     cursor_type*: gint
     min_x*: gfloat
     max_x*: gfloat
     min_y*: gfloat
     max_y*: gfloat
-    pixmap*: PGdkPixmap
-    curve_type*: TGtkCurveType
+    pixmap*: gdk2.PPixmap
+    curve_type*: TCurveType
     height*: gint
     grab_point*: gint
     last*: gint
     num_points*: gint
-    point*: PGdkPoint
+    point*: gdk2.PPoint
     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,
+  PCurveClass* = ptr TCurveClass
+  TCurveClass* = object of TDrawingAreaClass
+    curve_type_changed*: proc (curve: PCurve){.cdecl.}
+    reserved251: proc (){.cdecl.}
+    reserved252: proc (){.cdecl.}
+    reserved253: proc (){.cdecl.}
+    reserved254: proc (){.cdecl.}
+
+  PDestDefaults* = ptr TDestDefaults
+  TDestDefaults* = int32
+  PTargetFlags* = ptr TTargetFlags
+  TTargetFlags* = int32
+  PEditable* = pointer
+  PEditableClass* = ptr TEditableClass
+  TEditableClass* = object of TGTypeInterface
+    insert_text*: proc (editable: PEditable, text: cstring, length: gint, 
                         position: Pgint){.cdecl.}
-    delete_text*: proc (editable: PGtkEditable, start_pos: gint, end_pos: gint){.
+    delete_text*: proc (editable: PEditable, start_pos: gint, end_pos: gint){.
         cdecl.}
-    changed*: proc (editable: PGtkEditable){.cdecl.}
-    do_insert_text*: proc (editable: PGtkEditable, text: cstring, length: gint,
+    changed*: proc (editable: PEditable){.cdecl.}
+    do_insert_text*: proc (editable: PEditable, 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{.
+    do_delete_text*: proc (editable: PEditable, start_pos: gint, end_pos: gint){.
+        cdecl.}
+    get_chars*: proc (editable: PEditable, start_pos: gint, end_pos: gint): cstring{.
         cdecl.}
-    set_selection_bounds*: proc (editable: PGtkEditable, start_pos: gint,
+    set_selection_bounds*: proc (editable: PEditable, start_pos: gint, 
                                  end_pos: gint){.cdecl.}
-    get_selection_bounds*: proc (editable: PGtkEditable, start_pos: Pgint,
+    get_selection_bounds*: proc (editable: PEditable, 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{.
+    set_position*: proc (editable: PEditable, position: gint){.cdecl.}
+    get_position*: proc (editable: PEditable): gint{.cdecl.}
+
+  PIMContext* = ptr TIMContext
+  TIMContext* = object of TGObject
+  PIMContextClass* = ptr TIMContextClass
+  TIMContextClass* = object of TObjectClass
+    preedit_start*: proc (context: PIMContext){.cdecl.}
+    preedit_end*: proc (context: PIMContext){.cdecl.}
+    preedit_changed*: proc (context: PIMContext){.cdecl.}
+    commit*: proc (context: PIMContext, str: cstring){.cdecl.}
+    retrieve_surrounding*: proc (context: PIMContext): gboolean{.cdecl.}
+    delete_surrounding*: proc (context: PIMContext, offset: gint, n_chars: gint): 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){.
+    set_client_window*: proc (context: PIMContext, window: gdk2.PWindow){.cdecl.}
+    get_preedit_string*: proc (context: PIMContext, str: PPgchar, 
+                               attrs: var pango.PAttrList, cursor_pos: Pgint){.
         cdecl.}
-    set_use_preedit*: proc (context: PGtkIMContext, use_preedit: gboolean){.
+    filter_keypress*: proc (context: PIMContext, event: gdk2.PEventKey): gboolean{.
         cdecl.}
-    set_surrounding*: proc (context: PGtkIMContext, text: cstring, len: gint,
+    focus_in*: proc (context: PIMContext){.cdecl.}
+    focus_out*: proc (context: PIMContext){.cdecl.}
+    reset*: proc (context: PIMContext){.cdecl.}
+    set_cursor_location*: proc (context: PIMContext, area: gdk2.PRectangle){.cdecl.}
+    set_use_preedit*: proc (context: PIMContext, use_preedit: gboolean){.cdecl.}
+    set_surrounding*: proc (context: PIMContext, text: cstring, len: gint, 
                             cursor_index: gint){.cdecl.}
-    get_surrounding*: proc (context: PGtkIMContext, text: PPgchar,
+    get_surrounding*: proc (context: PIMContext, 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
+    reserved261: proc (){.cdecl.}
+    reserved262: proc (){.cdecl.}
+    reserved263: proc (){.cdecl.}
+    reserved264: proc (){.cdecl.}
+    reserved265: proc (){.cdecl.}
+    reserved266: proc (){.cdecl.}
+
+  PMenuShell* = ptr TMenuShell
+  TMenuShell* = object of TContainer
     children*: PGList
-    active_menu_item*: PGtkWidget
-    parent_menu_shell*: PGtkWidget
+    active_menu_item*: PWidget
+    parent_menu_shell*: PWidget
     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){.
+    MenuShell_flag0*: guint16
+
+  PMenuShellClass* = ptr TMenuShellClass
+  TMenuShellClass* = object of TContainerClass
+    MenuShellClass_flag0*: guint16
+    deactivate*: proc (menu_shell: PMenuShell){.cdecl.}
+    selection_done*: proc (menu_shell: PMenuShell){.cdecl.}
+    move_current*: proc (menu_shell: PMenuShell, direction: TMenuDirectionType){.
         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){.
+    activate_current*: proc (menu_shell: PMenuShell, force_hide: gboolean){.
         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
+    cancel*: proc (menu_shell: PMenuShell){.cdecl.}
+    select_item*: proc (menu_shell: PMenuShell, menu_item: PWidget){.cdecl.}
+    insert*: proc (menu_shell: PMenuShell, child: PWidget, position: gint){.
+        cdecl.}
+    reserved271: proc (){.cdecl.}
+    reserved272: proc (){.cdecl.}
+    reserved273: proc (){.cdecl.}
+    reserved274: proc (){.cdecl.}
+
+  TMenuPositionFunc* = proc (menu: PMenu, x: Pgint, y: Pgint, 
+                             push_in: Pgboolean, user_data: gpointer){.cdecl.}
+  TMenuDetachFunc* = proc (attach_widget: PWidget, menu: PMenu){.cdecl.}
+  TMenu* = object of TMenuShell
+    parent_menu_item*: PWidget
+    old_active_menu_item*: PWidget
+    accel_group*: PAccelGroup
     accel_path*: cstring
-    position_func*: TGtkMenuPositionFunc
+    position_func*: TMenuPositionFunc
     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
+    toplevel*: PWidget
+    tearoff_window*: PWidget
+    tearoff_hbox*: PWidget
+    tearoff_scrollbar*: PWidget
+    tearoff_adjustment*: PAdjustment
+    view_window*: gdk2.PWindow
+    bin_window*: gdk2.PWindow
     scroll_offset*: gint
     saved_scroll_offset*: gint
     scroll_step*: gint
     timeout_id*: guint
-    navigation_region*: PGdkRegion
+    navigation_region*: gdk2.PRegion
     navigation_timeout*: guint
-    GtkMenu_flag0*: guint16
+    Menu_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.}
+  PMenuClass* = ptr TMenuClass
+  TMenuClass* = object of TMenuShellClass
+    reserved281: proc (){.cdecl.}
+    reserved282: proc (){.cdecl.}
+    reserved283: proc (){.cdecl.}
+    reserved284: proc (){.cdecl.}
 
-  PGtkEntry* = ptr TGtkEntry
-  TGtkEntry* = object of TGtkWidget
+  PEntry* = ptr TEntry
+  TEntry* = object of TWidget
     text*: cstring
-    GtkEntry_flag0*: guint16
+    Entry_flag0*: guint16
     text_length*: guint16
     text_max_length*: guint16
-    text_area*: PGdkWindow
-    im_context*: PGtkIMContext
-    popup_menu*: PGtkWidget
+    text_area*: gdk2.PWindow
+    im_context*: PIMContext
+    popup_menu*: PWidget
     current_pos*: gint
     selection_bound*: gint
-    cached_layout*: PPangoLayout
+    cached_layout*: pango.PLayout
     flag1*: guint16
     button*: guint
     blink_timeout*: guint
@@ -1417,206 +1375,197 @@ type
     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,
+  PEntryClass* = ptr TEntryClass
+  TEntryClass* = object of TWidgetClass
+    populate_popup*: proc (entry: PEntry, menu: PMenu){.cdecl.}
+    activate*: proc (entry: PEntry){.cdecl.}
+    move_cursor*: proc (entry: PEntry, step: TMovementStep, 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
+    insert_at_cursor*: proc (entry: PEntry, str: cstring){.cdecl.}
+    delete_from_cursor*: proc (entry: PEntry, thetype: TDeleteType, count: gint){.
+        cdecl.}
+    cut_clipboard*: proc (entry: PEntry){.cdecl.}
+    copy_clipboard*: proc (entry: PEntry){.cdecl.}
+    paste_clipboard*: proc (entry: PEntry){.cdecl.}
+    toggle_overwrite*: proc (entry: PEntry){.cdecl.}
+    reserved291: proc (){.cdecl.}
+    reserved292: proc (){.cdecl.}
+    reserved293: proc (){.cdecl.}
+    reserved294: proc (){.cdecl.}
+
+  PEventBox* = ptr TEventBox
+  TEventBox* = object of TBin
+  PEventBoxClass* = ptr TEventBoxClass
+  TEventBoxClass* = object of TBinClass
+  PFileSelection* = ptr TFileSelection
+  TFileSelection* = object of TDialog
+    dir_list*: PWidget
+    file_list*: PWidget
+    selection_entry*: PWidget
+    selection_text*: PWidget
+    main_vbox*: PWidget
+    ok_button*: PWidget
+    cancel_button*: PWidget
+    help_button*: PWidget
+    history_pulldown*: PWidget
+    history_menu*: PWidget
     history_list*: PGList
-    fileop_dialog*: PGtkWidget
-    fileop_entry*: PGtkWidget
+    fileop_dialog*: PWidget
+    fileop_entry*: PWidget
     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
+    fileop_c_dir*: PWidget
+    fileop_del_file*: PWidget
+    fileop_ren_file*: PWidget
+    button_area*: PWidget
+    FileSelection_action_area*: PWidget
     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.}
+  PFileSelectionClass* = ptr TFileSelectionClass
+  TFileSelectionClass* = object of TDialogClass
+    reserved301: proc (){.cdecl.}
+    reserved302: proc (){.cdecl.}
+    reserved303: proc (){.cdecl.}
+    reserved304: proc (){.cdecl.}
 
-  PGtkFixed* = ptr TGtkFixed
-  TGtkFixed* = object of TGtkContainer
+  PFixed* = ptr TFixed
+  TFixed* = object of TContainer
     children*: PGList
 
-  PGtkFixedClass* = ptr TGtkFixedClass
-  TGtkFixedClass* = object of TGtkContainerClass
-
-  PGtkFixedChild* = ptr TGtkFixedChild
-  TGtkFixedChild* {.final, pure.} = object
-    widget*: PGtkWidget
+  PFixedClass* = ptr TFixedClass
+  TFixedClass* = object of TContainerClass
+  PFixedChild* = ptr TFixedChild
+  TFixedChild*{.final, pure.} = object 
+    widget*: PWidget
     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
+  PFontSelection* = ptr TFontSelection
+  TFontSelection* = object of TVBox
+    font_entry*: PWidget
+    family_list*: PWidget
+    font_style_entry*: PWidget
+    face_list*: PWidget
+    size_entry*: PWidget
+    size_list*: PWidget
+    pixels_button*: PWidget
+    points_button*: PWidget
+    filter_button*: PWidget
+    preview_entry*: PWidget
+    family*: pango.PFontFamily
+    face*: pango.PFontFace
     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
+    font*: gdk2.PFont
+
+  PFontSelectionClass* = ptr TFontSelectionClass
+  TFontSelectionClass* = object of TVBoxClass
+    reserved311: proc (){.cdecl.}
+    reserved312: proc (){.cdecl.}
+    reserved313: proc (){.cdecl.}
+    reserved314: proc (){.cdecl.}
+
+  PFontSelectionDialog* = ptr TFontSelectionDialog
+  TFontSelectionDialog* = object of TDialog
+    fontsel*: PWidget
+    main_vbox*: PWidget
+    FontSelectionDialog_action_area*: PWidget
+    ok_button*: PWidget
+    apply_button*: PWidget
+    cancel_button*: PWidget
     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]
+  PFontSelectionDialogClass* = ptr TFontSelectionDialogClass
+  TFontSelectionDialogClass* = object of TDialogClass
+    reserved321: proc (){.cdecl.}
+    reserved322: proc (){.cdecl.}
+    reserved323: proc (){.cdecl.}
+    reserved324: proc (){.cdecl.}
+
+  PGammaCurve* = ptr TGammaCurve
+  TGammaCurve* = object of TVBox
+    table*: PWidget
+    curve*: PWidget
+    button*: array[0..4, PWidget]
     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
+    gamma_dialog*: PWidget
+    gamma_text*: PWidget
+
+  PGammaCurveClass* = ptr TGammaCurveClass
+  TGammaCurveClass* = object of TVBoxClass
+    reserved331: proc (){.cdecl.}
+    reserved332: proc (){.cdecl.}
+    reserved333: proc (){.cdecl.}
+    reserved334: proc (){.cdecl.}
+
+  PHandleBox* = ptr THandleBox
+  THandleBox* = object of TBin
+    bin_window*: gdk2.PWindow
+    float_window*: gdk2.PWindow
+    shadow_type*: TShadowType
+    HandleBox_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
+    attach_allocation*: TAllocation
+    float_allocation*: TAllocation
+
+  PHandleBoxClass* = ptr THandleBoxClass
+  THandleBoxClass* = object of TBinClass
+    child_attached*: proc (handle_box: PHandleBox, child: PWidget){.cdecl.}
+    child_detached*: proc (handle_box: PHandleBox, child: PWidget){.cdecl.}
+    reserved341: proc (){.cdecl.}
+    reserved342: proc (){.cdecl.}
+    reserved343: proc (){.cdecl.}
+    reserved344: proc (){.cdecl.}
+
+  PPaned* = ptr TPaned
+  TPaned* = object of TContainer
+    child1*: PWidget
+    child2*: PWidget
+    handle*: gdk2.PWindow
+    xor_gc*: gdk2.PGC
+    cursor_type*: gdk2.TCursorType
+    handle_pos*: gdk2.TRectangle
     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
+    Paned_flag0*: guint16
+    last_child1_focus*: PWidget
+    last_child2_focus*: PWidget
+    saved_focus*: PWidget
     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{.
+  PPanedClass* = ptr TPanedClass
+  TPanedClass* = object of TContainerClass
+    cycle_child_focus*: proc (paned: PPaned, reverse: gboolean): gboolean{.cdecl.}
+    toggle_handle_focus*: proc (paned: PPaned): gboolean{.cdecl.}
+    move_handle*: proc (paned: PPaned, scroll: TScrollType): gboolean{.cdecl.}
+    cycle_handle_focus*: proc (paned: PPaned, reverse: gboolean): 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
+    accept_position*: proc (paned: PPaned): gboolean{.cdecl.}
+    cancel_position*: proc (paned: PPaned): gboolean{.cdecl.}
+    reserved351: proc (){.cdecl.}
+    reserved352: proc (){.cdecl.}
+    reserved353: proc (){.cdecl.}
+    reserved354: proc (){.cdecl.}
+
+  PHButtonBox* = ptr THButtonBox
+  THButtonBox* = object of TButtonBox
+  PHButtonBoxClass* = ptr THButtonBoxClass
+  THButtonBoxClass* = object of TButtonBoxClass
+  PHPaned* = ptr THPaned
+  THPaned* = object of TPaned
+  PHPanedClass* = ptr THPanedClass
+  THPanedClass* = object of TPanedClass
+  PRulerMetric* = ptr TRulerMetric
+  PRuler* = ptr TRuler
+  TRuler* = object of TWidget
+    backing_store*: gdk2.PPixmap
+    non_gr_exp_gc*: gdk2.PGC
+    metric*: PRulerMetric
     xsrc*: gint
     ysrc*: gint
     slider_size*: gint
@@ -1625,1106 +1574,1068 @@ type
     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.}
+  PRulerClass* = ptr TRulerClass
+  TRulerClass* = object of TWidgetClass
+    draw_ticks*: proc (ruler: PRuler){.cdecl.}
+    draw_pos*: proc (ruler: PRuler){.cdecl.}
+    reserved361: proc (){.cdecl.}
+    reserved362: proc (){.cdecl.}
+    reserved363: proc (){.cdecl.}
+    reserved364: proc (){.cdecl.}
 
-  TGtkRulerMetric* {.final, pure.} = object
+  TRulerMetric*{.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
+  PHRuler* = ptr THRuler
+  THRuler* = object of TRuler
+  PHRulerClass* = ptr THRulerClass
+  THRulerClass* = object of TRulerClass
+  PRcContext* = pointer
+  PSettings* = ptr TSettings
+  TSettings* = object of TGObject
     queued_settings*: PGData
     property_values*: PGValue
-    rc_context*: PGtkRcContext
-    screen*: PGdkScreen
-
-  PGtkSettingsClass* = ptr TGtkSettingsClass
-  TGtkSettingsClass* = object of TGObjectClass
+    rc_context*: PRcContext
+    screen*: gdk2.PScreen
 
-  PGtkSettingsValue* = ptr TGtkSettingsValue
-  TGtkSettingsValue* {.final, pure.} = object
+  PSettingsClass* = ptr TSettingsClass
+  TSettingsClass* = object of TGObjectClass
+  PSettingsValue* = ptr TSettingsValue
+  TSettingsValue*{.final, pure.} = object 
     origin*: cstring
     value*: TGValue
 
-  PGtkRcFlags* = ptr TGtkRcFlags
-  TGtkRcFlags* = int32
-  PGtkRcStyle* = ptr TGtkRcStyle
-  TGtkRcStyle* = object of TGObject
+  PRcFlags* = ptr TRcFlags
+  TRcFlags* = int32
+  PRcStyle* = ptr TRcStyle
+  TRcStyle* = 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]
+    font_desc*: pango.PFontDescription
+    color_flags*: array[0..4, TRcFlags]
+    fg*: array[0..4, gdk2.TColor]
+    bg*: array[0..4, gdk2.TColor]
+    text*: array[0..4, gdk2.TColor]
+    base*: array[0..4, gdk2.TColor]
     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
+    RcStyle_flag0*: guint16
+
+  PRcStyleClass* = ptr TRcStyleClass
+  TRcStyleClass* = object of TGObjectClass
+    create_rc_style*: proc (rc_style: PRcStyle): PRcStyle{.cdecl.}
+    parse*: proc (rc_style: PRcStyle, settings: PSettings, scanner: PGScanner): guint{.
+        cdecl.}
+    merge*: proc (dest: PRcStyle, src: PRcStyle){.cdecl.}
+    create_style*: proc (rc_style: PRcStyle): PStyle{.cdecl.}
+    reserved371: proc (){.cdecl.}
+    reserved372: proc (){.cdecl.}
+    reserved373: proc (){.cdecl.}
+    reserved374: proc (){.cdecl.}
+
+  PRcTokenType* = ptr TRcTokenType
+  TRcTokenType* = enum 
+    RC_TOKEN_INVALID, RC_TOKEN_INCLUDE, RC_TOKEN_NORMAL, RC_TOKEN_ACTIVE, 
+    RC_TOKEN_PRELIGHT, RC_TOKEN_SELECTED, RC_TOKEN_INSENSITIVE, RC_TOKEN_FG, 
+    RC_TOKEN_BG, RC_TOKEN_TEXT, RC_TOKEN_BASE, RC_TOKEN_XTHICKNESS, 
+    RC_TOKEN_YTHICKNESS, RC_TOKEN_FONT, RC_TOKEN_FONTSET, RC_TOKEN_FONT_NAME, 
+    RC_TOKEN_BG_PIXMAP, RC_TOKEN_PIXMAP_PATH, RC_TOKEN_STYLE, RC_TOKEN_BINDING, 
+    RC_TOKEN_BIND, RC_TOKEN_WIDGET, RC_TOKEN_WIDGET_CLASS, RC_TOKEN_CLASS, 
+    RC_TOKEN_LOWEST, RC_TOKEN_GTK, RC_TOKEN_APPLICATION, RC_TOKEN_THEME, 
+    RC_TOKEN_RC, RC_TOKEN_HIGHEST, RC_TOKEN_ENGINE, RC_TOKEN_MODULE_PATH, 
+    RC_TOKEN_IM_MODULE_PATH, RC_TOKEN_IM_MODULE_FILE, RC_TOKEN_STOCK, 
+    RC_TOKEN_LTR, RC_TOKEN_RTL, RC_TOKEN_LAST
+  PRcProperty* = ptr TRcProperty
+  TRcProperty*{.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
+  PIconSource* = pointer
+  TRcPropertyParser* = proc (pspec: PGParamSpec, rc_string: PGString, 
+                             property_value: PGValue): gboolean{.cdecl.}
+  TStyle* = object of TGObject
+    fg*: array[0..4, gdk2.TColor]
+    bg*: array[0..4, gdk2.TColor]
+    light*: array[0..4, gdk2.TColor]
+    dark*: array[0..4, gdk2.TColor]
+    mid*: array[0..4, gdk2.TColor]
+    text*: array[0..4, gdk2.TColor]
+    base*: array[0..4, gdk2.TColor]
+    text_aa*: array[0..4, gdk2.TColor]
+    black*: gdk2.TColor
+    white*: gdk2.TColor
+    font_desc*: pango.PFontDescription
     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]
+    fg_gc*: array[0..4, gdk2.PGC]
+    bg_gc*: array[0..4, gdk2.PGC]
+    light_gc*: array[0..4, gdk2.PGC]
+    dark_gc*: array[0..4, gdk2.PGC]
+    mid_gc*: array[0..4, gdk2.PGC]
+    text_gc*: array[0..4, gdk2.PGC]
+    base_gc*: array[0..4, gdk2.PGC]
+    text_aa_gc*: array[0..4, gdk2.PGC]
+    black_gc*: gdk2.PGC
+    white_gc*: gdk2.PGC
+    bg_pixmap*: array[0..4, gdk2.PPixmap]
     attach_count*: gint
     depth*: gint
-    colormap*: PGdkColormap
-    private_font*: PGdkFont
-    private_font_desc*: PPangoFontDescription
-    rc_style*: PGtkRcStyle
+    colormap*: gdk2.PColormap
+    private_font*: gdk2.PFont
+    private_font_desc*: pango.PFontDescription
+    rc_style*: PRcStyle
     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{.
+  PStyleClass* = ptr TStyleClass
+  TStyleClass* = object of TGObjectClass
+    realize*: proc (style: PStyle){.cdecl.}
+    unrealize*: proc (style: PStyle){.cdecl.}
+    copy*: proc (style: PStyle, src: PStyle){.cdecl.}
+    clone*: proc (style: PStyle): PStyle{.cdecl.}
+    init_from_rc*: proc (style: PStyle, rc_style: PRcStyle){.cdecl.}
+    set_background*: proc (style: PStyle, window: gdk2.PWindow, 
+                           state_type: TStateType){.cdecl.}
+    render_icon*: proc (style: PStyle, source: PIconSource, 
+                        direction: TTextDirection, state: TStateType, 
+                        size: TIconSize, widget: PWidget, detail: cstring): gdk2pixbuf.PPixbuf{.
         cdecl.}
-    draw_hline*: proc (style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, area: PGdkRectangle,
-                       widget: PGtkWidget, detail: cstring, x1: gint, x2: gint,
+    draw_hline*: proc (style: PStyle, window: gdk2.PWindow, 
+                       state_type: TStateType, area: gdk2.PRectangle, 
+                       widget: PWidget, 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,
+    draw_vline*: proc (style: PStyle, window: gdk2.PWindow, 
+                       state_type: TStateType, area: gdk2.PRectangle, 
+                       widget: PWidget, 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,
+    draw_shadow*: proc (style: PStyle, window: gdk2.PWindow, 
+                        state_type: TStateType, shadow_type: TShadowType, 
+                        area: gdk2.PRectangle, widget: PWidget, 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,
+    draw_polygon*: proc (style: PStyle, window: gdk2.PWindow, 
+                         state_type: TStateType, shadow_type: TShadowType, 
+                         area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                         point: gdk2.PPoint, npoints: gint, fill: gboolean){.cdecl.}
+    draw_arrow*: proc (style: PStyle, window: gdk2.PWindow, 
+                       state_type: TStateType, shadow_type: TShadowType, 
+                       area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                       arrow_type: TArrowType, fill: gboolean, x: gint, y: gint, 
+                       width: gint, height: gint){.cdecl.}
+    draw_diamond*: proc (style: PStyle, window: gdk2.PWindow, 
+                         state_type: TStateType, shadow_type: TShadowType, 
+                         area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                         x: gint, y: gint, width: gint, height: gint){.cdecl.}
+    draw_string*: proc (style: PStyle, window: gdk2.PWindow, 
+                        state_type: TStateType, area: gdk2.PRectangle, 
+                        widget: PWidget, 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,
+    draw_box*: proc (style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                     shadow_type: TShadowType, area: gdk2.PRectangle, 
+                     widget: PWidget, detail: cstring, x: gint, y: gint, 
+                     width: gint, height: gint){.cdecl.}
+    draw_flat_box*: proc (style: PStyle, window: gdk2.PWindow, 
+                          state_type: TStateType, shadow_type: TShadowType, 
+                          area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                          x: gint, y: gint, width: gint, height: gint){.cdecl.}
+    draw_check*: proc (style: PStyle, window: gdk2.PWindow, 
+                       state_type: TStateType, shadow_type: TShadowType, 
+                       area: gdk2.PRectangle, widget: PWidget, 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,
+    draw_option*: proc (style: PStyle, window: gdk2.PWindow, 
+                        state_type: TStateType, shadow_type: TShadowType, 
+                        area: gdk2.PRectangle, widget: PWidget, 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,
+    draw_tab*: proc (style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                     shadow_type: TShadowType, area: gdk2.PRectangle, 
+                     widget: PWidget, detail: cstring, x: gint, y: gint, 
+                     width: gint, height: gint){.cdecl.}
+    draw_shadow_gap*: proc (style: PStyle, window: gdk2.PWindow, 
+                            state_type: TStateType, shadow_type: TShadowType, 
+                            area: gdk2.PRectangle, widget: PWidget, 
+                            detail: cstring, x: gint, y: gint, width: gint, 
+                            height: gint, gap_side: TPositionType, 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){.
+    draw_box_gap*: proc (style: PStyle, window: gdk2.PWindow, 
+                         state_type: TStateType, shadow_type: TShadowType, 
+                         area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                         x: gint, y: gint, width: gint, height: gint, 
+                         gap_side: TPositionType, gap_x: gint, gap_width: gint){.
         cdecl.}
-    draw_focus*: proc (style: PGtkStyle, window: PGdkWindow,
-                       state_type: TGtkStateType, area: PGdkRectangle,
-                       widget: PGtkWidget, detail: cstring, x: gint, y: gint,
+    draw_extension*: proc (style: PStyle, window: gdk2.PWindow, 
+                           state_type: TStateType, shadow_type: TShadowType, 
+                           area: gdk2.PRectangle, widget: PWidget, 
+                           detail: cstring, x: gint, y: gint, width: gint, 
+                           height: gint, gap_side: TPositionType){.cdecl.}
+    draw_focus*: proc (style: PStyle, window: gdk2.PWindow, 
+                       state_type: TStateType, area: gdk2.PRectangle, 
+                       widget: PWidget, 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,
+    draw_slider*: proc (style: PStyle, window: gdk2.PWindow, 
+                        state_type: TStateType, shadow_type: TShadowType, 
+                        area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                        x: gint, y: gint, width: gint, height: gint, 
+                        orientation: TOrientation){.cdecl.}
+    draw_handle*: proc (style: PStyle, window: gdk2.PWindow, 
+                        state_type: TStateType, shadow_type: TShadowType, 
+                        area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                        x: gint, y: gint, width: gint, height: gint, 
+                        orientation: TOrientation){.cdecl.}
+    draw_expander*: proc (style: PStyle, window: gdk2.PWindow, 
+                          state_type: TStateType, area: gdk2.PRectangle, 
+                          widget: PWidget, detail: cstring, x: gint, y: gint, 
+                          expander_style: TExpanderStyle){.cdecl.}
+    draw_layout*: proc (style: PStyle, window: gdk2.PWindow, 
+                        state_type: TStateType, use_text: gboolean, 
+                        area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                        x: gint, y: gint, layout: pango.PLayout){.cdecl.}
+    draw_resize_grip*: proc (style: PStyle, window: gdk2.PWindow, 
+                             state_type: TStateType, area: gdk2.PRectangle, 
+                             widget: PWidget, detail: cstring, 
+                             edge: gdk2.TWindowEdge, 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
+    reserved381: proc (){.cdecl.}
+    reserved382: proc (){.cdecl.}
+    reserved383: proc (){.cdecl.}
+    reserved384: proc (){.cdecl.}
+    reserved385: proc (){.cdecl.}
+    reserved386: proc (){.cdecl.}
+    reserved387: proc (){.cdecl.}
+    reserved388: proc (){.cdecl.}
+    reserved389: proc (){.cdecl.}
+    reserved3810: proc (){.cdecl.}
+    reserved3811: proc (){.cdecl.}
+    reserved3812: proc (){.cdecl.}
+
+  PBorder* = ptr TBorder
+  TBorder*{.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
+  PRangeLayout* = pointer
+  PRangeStepTimer* = pointer
+  PRange* = ptr TRange
+  TRange* = object of TWidget
+    adjustment*: PAdjustment
+    update_policy*: TUpdateType
+    Range_flag0*: guint16
     min_slider_size*: gint
-    orientation*: TGtkOrientation
-    range_rect*: TGdkRectangle
+    orientation*: TOrientation
+    range_rect*: gdk2.TRectangle
     slider_start*: gint
     slider_end*: gint
     round_digits*: gint
     flag1*: guint16
-    layout*: PGtkRangeLayout
-    timer*: PGtkRangeStepTimer
+    layout*: PRangeLayout
+    timer*: PRangeStepTimer
     slide_initial_slider_position*: gint
     slide_initial_coordinate*: gint
     update_timeout_id*: guint
-    event_window*: PGdkWindow
+    event_window*: gdk2.PWindow
 
-  PGtkRangeClass* = ptr TGtkRangeClass
-  TGtkRangeClass* = object of TGtkWidgetClass
+  PRangeClass* = ptr TRangeClass
+  TRangeClass* = object of TWidgetClass
     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
+    value_changed*: proc (range: PRange){.cdecl.}
+    adjust_bounds*: proc (range: PRange, new_value: gdouble){.cdecl.}
+    move_slider*: proc (range: PRange, scroll: TScrollType){.cdecl.}
+    get_range_border*: proc (range: PRange, border: PBorder){.cdecl.}
+    reserved401: proc (){.cdecl.}
+    reserved402: proc (){.cdecl.}
+    reserved403: proc (){.cdecl.}
+    reserved404: proc (){.cdecl.}
+
+  PScale* = ptr TScale
+  TScale* = object of TRange
     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
+    Scale_flag0*: guint16
+
+  PScaleClass* = ptr TScaleClass
+  TScaleClass* = object of TRangeClass
+    format_value*: proc (scale: PScale, value: gdouble): cstring{.cdecl.}
+    draw_value*: proc (scale: PScale){.cdecl.}
+    reserved411: proc (){.cdecl.}
+    reserved412: proc (){.cdecl.}
+    reserved413: proc (){.cdecl.}
+    reserved414: proc (){.cdecl.}
+
+  PHScale* = ptr THScale
+  THScale* = object of TScale
+  PHScaleClass* = ptr THScaleClass
+  THScaleClass* = object of TScaleClass
+  PScrollbar* = ptr TScrollbar
+  TScrollbar* = object of TRange
+  PScrollbarClass* = ptr TScrollbarClass
+  TScrollbarClass* = object of TRangeClass
+    reserved421: proc (){.cdecl.}
+    reserved422: proc (){.cdecl.}
+    reserved423: proc (){.cdecl.}
+    reserved424: proc (){.cdecl.}
+
+  PHScrollbar* = ptr THScrollbar
+  THScrollbar* = object of TScrollbar
+  PHScrollbarClass* = ptr THScrollbarClass
+  THScrollbarClass* = object of TScrollbarClass
+  PSeparator* = ptr TSeparator
+  TSeparator* = object of TWidget
+  PSeparatorClass* = ptr TSeparatorClass
+  TSeparatorClass* = object of TWidgetClass
+  PHSeparator* = ptr THSeparator
+  THSeparator* = object of TSeparator
+  PHSeparatorClass* = ptr THSeparatorClass
+  THSeparatorClass* = object of TSeparatorClass
+  PIconFactory* = ptr TIconFactory
+  TIconFactory* = 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.}
+  PIconFactoryClass* = ptr TIconFactoryClass
+  TIconFactoryClass* = object of TGObjectClass
+    reserved431: proc (){.cdecl.}
+    reserved432: proc (){.cdecl.}
+    reserved433: proc (){.cdecl.}
+    reserved434: proc (){.cdecl.}
 
-  PGtkIconSet* = pointer
-  PGtkImagePixmapData* = ptr TGtkImagePixmapData
-  TGtkImagePixmapData* {.final, pure.} = object
-    pixmap*: PGdkPixmap
+  PIconSet* = pointer
+  PImagePixmapData* = ptr TImagePixmapData
+  TImagePixmapData*{.final, pure.} = object 
+    pixmap*: gdk2.PPixmap
 
-  PGtkImageImageData* = ptr TGtkImageImageData
-  TGtkImageImageData* {.final, pure.} = object
-    image*: PGdkImage
+  PImageImageData* = ptr TImageImageData
+  TImageImageData*{.final, pure.} = object 
+    image*: gdk2.PImage
 
-  PGtkImagePixbufData* = ptr TGtkImagePixbufData
-  TGtkImagePixbufData* {.final, pure.} = object
-    pixbuf*: PGdkPixbuf
+  PImagePixbufData* = ptr TImagePixbufData
+  TImagePixbufData*{.final, pure.} = object 
+    pixbuf*: gdk2pixbuf.PPixbuf
 
-  PGtkImageStockData* = ptr TGtkImageStockData
-  TGtkImageStockData* {.final, pure.} = object
+  PImageStockData* = ptr TImageStockData
+  TImageStockData*{.final, pure.} = object 
     stock_id*: cstring
 
-  PGtkImageIconSetData* = ptr TGtkImageIconSetData
-  TGtkImageIconSetData* {.final, pure.} = object
-    icon_set*: PGtkIconSet
+  PImageIconSetData* = ptr TImageIconSetData
+  TImageIconSetData*{.final, pure.} = object 
+    icon_set*: PIconSet
 
-  PGtkImageAnimationData* = ptr TGtkImageAnimationData
-  TGtkImageAnimationData* {.final, pure.} = object
-    anim*: PGdkPixbufAnimation
-    iter*: PGdkPixbufAnimationIter
+  PImageAnimationData* = ptr TImageAnimationData
+  TImageAnimationData*{.final, pure.} = object 
+    anim*: gdk2pixbuf.PPixbufAnimation
+    iter*: gdk2pixbuf.PPixbufAnimationIter
     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
+  PImageType* = ptr TImageType
+  TImageType* = enum 
+    IMAGE_EMPTY, IMAGE_PIXMAP, IMAGE_IMAGE, IMAGE_PIXBUF, IMAGE_STOCK, 
+    IMAGE_ICON_SET, IMAGE_ANIMATION
+  PImage* = ptr TImage
+  TImage* = object of TMisc
+    storage_type*: TImageType
+    pixmap*: TImagePixmapData
+    mask*: gdk2.PBitmap
+    icon_size*: TIconSize
+
+  PImageClass* = ptr TImageClass
+  TImageClass* = object of TMiscClass
+    reserved441: proc (){.cdecl.}
+    reserved442: proc (){.cdecl.}
+    reserved443: proc (){.cdecl.}
+    reserved444: proc (){.cdecl.}
+
+  PImageMenuItem* = ptr TImageMenuItem
+  TImageMenuItem* = object of TMenuItem
+    image*: PWidget
+
+  PImageMenuItemClass* = ptr TImageMenuItemClass
+  TImageMenuItemClass* = object of TMenuItemClass
+  PIMContextSimple* = ptr TIMContextSimple
+  TIMContextSimple* = object of TIMContext
     tables*: PGSList
-    compose_buffer*: array[0..(GTK_MAX_COMPOSE_LEN + 1) - 1, guint]
+    compose_buffer*: array[0..(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
+    IMContextSimple_flag0*: guint16
+
+  PIMContextSimpleClass* = ptr TIMContextSimpleClass
+  TIMContextSimpleClass* = object of TIMContextClass
+  PIMMulticontext* = ptr TIMMulticontext
+  TIMMulticontext* = object of TIMContext
+    slave*: PIMContext
+    client_window*: gdk2.PWindow
     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
+  PIMMulticontextClass* = ptr TIMMulticontextClass
+  TIMMulticontextClass* = object of TIMContextClass
+    reserved451: proc (){.cdecl.}
+    reserved452: proc (){.cdecl.}
+    reserved453: proc (){.cdecl.}
+    reserved454: proc (){.cdecl.}
+
+  PInputDialog* = ptr TInputDialog
+  TInputDialog* = object of TDialog
+    axis_list*: PWidget
+    axis_listbox*: PWidget
+    mode_optionmenu*: PWidget
+    close_button*: PWidget
+    save_button*: PWidget
+    axis_items*: array[0..(gdk2.AXIS_LAST) - 1, PWidget]
+    current_device*: gdk2.PDevice
+    keys_list*: PWidget
+    keys_listbox*: PWidget
+
+  PInputDialogClass* = ptr TInputDialogClass
+  TInputDialogClass* = object of TDialogClass
+    enable_device*: proc (inputd: PInputDialog, device: gdk2.PDevice){.cdecl.}
+    disable_device*: proc (inputd: PInputDialog, device: gdk2.PDevice){.cdecl.}
+    reserved461: proc (){.cdecl.}
+    reserved462: proc (){.cdecl.}
+    reserved463: proc (){.cdecl.}
+    reserved464: proc (){.cdecl.}
+
+  PInvisible* = ptr TInvisible
+  TInvisible* = object of TWidget
     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
+    screen*: gdk2.PScreen
+
+  PInvisibleClass* = ptr TInvisibleClass
+  TInvisibleClass* = object of TWidgetClass
+    reserved701: proc (){.cdecl.}
+    reserved702: proc (){.cdecl.}
+    reserved703: proc (){.cdecl.}
+    reserved704: proc (){.cdecl.}
+
+  TPrintFunc* = proc (func_data: gpointer, str: cstring){.cdecl.}
+  PTranslateFunc* = ptr TTranslateFunc
+  TTranslateFunc* = gchar
+  TItemFactoryCallback* = proc (){.cdecl.}
+  TItemFactoryCallback1* = proc (callback_data: gpointer, 
+                                 callback_action: guint, widget: PWidget){.cdecl.}
+  PItemFactory* = ptr TItemFactory
+  TItemFactory* = object of TObject
     path*: cstring
-    accel_group*: PGtkAccelGroup
-    widget*: PGtkWidget
+    accel_group*: PAccelGroup
+    widget*: PWidget
     items*: PGSList
-    translate_func*: TGtkTranslateFunc
+    translate_func*: TTranslateFunc
     translate_data*: gpointer
-    translate_notify*: TGtkDestroyNotify
+    translate_notify*: TDestroyNotify
 
-  PGtkItemFactoryClass* = ptr TGtkItemFactoryClass
-  TGtkItemFactoryClass* = object of TGtkObjectClass
+  PItemFactoryClass* = ptr TItemFactoryClass
+  TItemFactoryClass* = object of TObjectClass
     item_ht*: PGHashTable
-    gtk_reserved471: proc (){.cdecl.}
-    gtk_reserved472: proc (){.cdecl.}
-    gtk_reserved473: proc (){.cdecl.}
-    gtk_reserved474: proc (){.cdecl.}
+    reserved471: proc (){.cdecl.}
+    reserved472: proc (){.cdecl.}
+    reserved473: proc (){.cdecl.}
+    reserved474: proc (){.cdecl.}
 
-  PGtkItemFactoryEntry* = ptr TGtkItemFactoryEntry
-  TGtkItemFactoryEntry* {.final, pure.} = object
+  PItemFactoryEntry* = ptr TItemFactoryEntry
+  TItemFactoryEntry*{.final, pure.} = object 
     path*: cstring
     accelerator*: cstring
-    callback*: TGtkItemFactoryCallback
+    callback*: TItemFactoryCallback
     callback_action*: guint
     item_type*: cstring
     extra_data*: gconstpointer
 
-  PGtkItemFactoryItem* = ptr TGtkItemFactoryItem
-  TGtkItemFactoryItem* {.final, pure.} = object
+  PItemFactoryItem* = ptr TItemFactoryItem
+  TItemFactoryItem*{.final, pure.} = object 
     path*: cstring
     widgets*: PGSList
 
-  PGtkLayout* = ptr TGtkLayout
-  TGtkLayout* = object of TGtkContainer
+  PLayout* = ptr TLayout
+  TLayout* = object of TContainer
     children*: PGList
     width*: guint
     height*: guint
-    hadjustment*: PGtkAdjustment
-    vadjustment*: PGtkAdjustment
-    bin_window*: PGdkWindow
-    visibility*: TGdkVisibilityState
+    hadjustment*: PAdjustment
+    vadjustment*: PAdjustment
+    bin_window*: gdk2.PWindow
+    visibility*: gdk2.TVisibilityState
     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
+  PLayoutClass* = ptr TLayoutClass
+  TLayoutClass* = object of TContainerClass
+    set_scroll_adjustments*: proc (layout: PLayout, hadjustment: PAdjustment, 
+                                   vadjustment: PAdjustment){.cdecl.}
+    reserved481: proc (){.cdecl.}
+    reserved482: proc (){.cdecl.}
+    reserved483: proc (){.cdecl.}
+    reserved484: proc (){.cdecl.}
+
+  PList* = ptr TList
+  TList* = object of TContainer
     children*: PGList
     selection*: PGList
     undo_selection*: PGList
     undo_unselection*: PGList
-    last_focus_child*: PGtkWidget
-    undo_focus_child*: PGtkWidget
+    last_focus_child*: PWidget
+    undo_focus_child*: PWidget
     htimer*: guint
     vtimer*: guint
     anchor*: gint
     drag_pos*: gint
-    anchor_state*: TGtkStateType
-    GtkList_flag0*: guint16
+    anchor_state*: TStateType
+    List_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.}
+  PListClass* = ptr TListClass
+  TListClass* = object of TContainerClass
+    selection_changed*: proc (list: PList){.cdecl.}
+    select_child*: proc (list: PList, child: PWidget){.cdecl.}
+    unselect_child*: proc (list: PList, child: PWidget){.cdecl.}
 
-  TGtkTreeModelForeachFunc* = proc (model: PGtkTreeModel, path: PGtkTreePath,
-                                    iter: PGtkTreeIter, data: gpointer): gboolean{.
+  TTreeModelForeachFunc* = proc (model: PTreeModel, path: PTreePath, 
+                                 iter: PTreeIter, data: gpointer): gboolean{.
       cdecl.}
-  PGtkTreeModelFlags* = ptr TGtkTreeModelFlags
-  TGtkTreeModelFlags* = int32
-  TGtkTreeIter* {.final, pure.} = object
+  PTreeModelFlags* = ptr TTreeModelFlags
+  TTreeModelFlags* = int32
+  TTreeIter*{.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{.
+  PTreeModelIface* = ptr TTreeModelIface
+  TTreeModelIface* = object of TGTypeInterface
+    row_changed*: proc (tree_model: PTreeModel, path: PTreePath, iter: PTreeIter){.
         cdecl.}
-    iter_children*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter,
-                          parent: PGtkTreeIter): gboolean{.cdecl.}
-    iter_has_child*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean{.
+    row_inserted*: proc (tree_model: PTreeModel, path: PTreePath, 
+                         iter: PTreeIter){.cdecl.}
+    row_has_child_toggled*: proc (tree_model: PTreeModel, path: PTreePath, 
+                                  iter: PTreeIter){.cdecl.}
+    row_deleted*: proc (tree_model: PTreeModel, path: PTreePath){.cdecl.}
+    rows_reordered*: proc (tree_model: PTreeModel, path: PTreePath, 
+                           iter: PTreeIter, new_order: Pgint){.cdecl.}
+    get_flags*: proc (tree_model: PTreeModel): TTreeModelFlags{.cdecl.}
+    get_n_columns*: proc (tree_model: PTreeModel): gint{.cdecl.}
+    get_column_type*: proc (tree_model: PTreeModel, index: gint): GType{.cdecl.}
+    get_iter*: proc (tree_model: PTreeModel, iter: PTreeIter, path: PTreePath): gboolean{.
         cdecl.}
-    iter_n_children*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): gint{.
+    get_path*: proc (tree_model: PTreeModel, iter: PTreeIter): PTreePath{.cdecl.}
+    get_value*: proc (tree_model: PTreeModel, iter: PTreeIter, column: gint, 
+                      value: PGValue){.cdecl.}
+    iter_next*: proc (tree_model: PTreeModel, iter: PTreeIter): gboolean{.cdecl.}
+    iter_children*: proc (tree_model: PTreeModel, iter: PTreeIter, 
+                          parent: PTreeIter): gboolean{.cdecl.}
+    iter_has_child*: proc (tree_model: PTreeModel, iter: PTreeIter): gboolean{.
         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{.
+    iter_n_children*: proc (tree_model: PTreeModel, iter: PTreeIter): gint{.
         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
+    iter_nth_child*: proc (tree_model: PTreeModel, iter: PTreeIter, 
+                           parent: PTreeIter, n: gint): gboolean{.cdecl.}
+    iter_parent*: proc (tree_model: PTreeModel, iter: PTreeIter, 
+                        child: PTreeIter): gboolean{.cdecl.}
+    ref_node*: proc (tree_model: PTreeModel, iter: PTreeIter){.cdecl.}
+    unref_node*: proc (tree_model: PTreeModel, iter: PTreeIter){.cdecl.}
+
+  PTreeSortable* = pointer
+  TTreeIterCompareFunc* = proc (model: PTreeModel, a: PTreeIter, b: PTreeIter, 
+                                user_data: gpointer): gint{.cdecl.}
+  PTreeSortableIface* = ptr TTreeSortableIface
+  TTreeSortableIface* = object of TGTypeInterface
+    sort_column_changed*: proc (sortable: PTreeSortable){.cdecl.}
+    get_sort_column_id*: proc (sortable: PTreeSortable, sort_column_id: Pgint, 
+                               order: PSortType): gboolean{.cdecl.}
+    set_sort_column_id*: proc (sortable: PTreeSortable, sort_column_id: gint, 
+                               order: TSortType){.cdecl.}
+    set_sort_func*: proc (sortable: PTreeSortable, sort_column_id: gint, 
+                          func: TTreeIterCompareFunc, data: gpointer, 
+                          destroy: TDestroyNotify){.cdecl.}
+    set_default_sort_func*: proc (sortable: PTreeSortable, 
+                                  func: TTreeIterCompareFunc, data: gpointer, 
+                                  destroy: TDestroyNotify){.cdecl.}
+    has_default_sort_func*: proc (sortable: PTreeSortable): gboolean{.cdecl.}
+
+  PTreeModelSort* = ptr TTreeModelSort
+  TTreeModelSort* = object of TGObject
     root*: gpointer
     stamp*: gint
     child_flags*: guint
-    child_model*: PGtkTreeModel
+    child_model*: PTreeModel
     zero_ref_count*: gint
     sort_list*: PGList
     sort_column_id*: gint
-    order*: TGtkSortType
-    default_sort_func*: TGtkTreeIterCompareFunc
+    order*: TSortType
+    default_sort_func*: TTreeIterCompareFunc
     default_sort_data*: gpointer
-    default_sort_destroy*: TGtkDestroyNotify
+    default_sort_destroy*: TDestroyNotify
     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.}
+  PTreeModelSortClass* = ptr TTreeModelSortClass
+  TTreeModelSortClass* = object of TGObjectClass
+    reserved491: proc (){.cdecl.}
+    reserved492: proc (){.cdecl.}
+    reserved493: proc (){.cdecl.}
+    reserved494: proc (){.cdecl.}
 
-  PGtkListStore* = ptr TGtkListStore
-  TGtkListStore* = object of TGObject
+  PListStore* = ptr TListStore
+  TListStore* = object of TGObject
     stamp*: gint
     root*: gpointer
     tail*: gpointer
     sort_list*: PGList
     n_columns*: gint
     sort_column_id*: gint
-    order*: TGtkSortType
+    order*: TSortType
     column_headers*: PGType
     length*: gint
-    default_sort_func*: TGtkTreeIterCompareFunc
+    default_sort_func*: TTreeIterCompareFunc
     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
+    default_sort_destroy*: TDestroyNotify
+    ListStore_flag0*: guint16
+
+  PListStoreClass* = ptr TListStoreClass
+  TListStoreClass* = object of TGObjectClass
+    reserved501: proc (){.cdecl.}
+    reserved502: proc (){.cdecl.}
+    reserved503: proc (){.cdecl.}
+    reserved504: proc (){.cdecl.}
+
+  TModuleInitFunc* = proc (argc: Pgint, argv: PPPgchar){.cdecl.}
+  TKeySnoopFunc* = proc (grab_widget: PWidget, event: gdk2.PEventKey, 
+                         func_data: gpointer): gint{.cdecl.}
+  PMenuBar* = ptr TMenuBar
+  TMenuBar* = object of TMenuShell
+  PMenuBarClass* = ptr TMenuBarClass
+  TMenuBarClass* = object of TMenuShellClass
+    reserved511: proc (){.cdecl.}
+    reserved512: proc (){.cdecl.}
+    reserved513: proc (){.cdecl.}
+    reserved514: proc (){.cdecl.}
+
+  PMessageType* = ptr TMessageType
+  TMessageType* = enum 
+    MESSAGE_INFO, MESSAGE_WARNING, MESSAGE_QUESTION, MESSAGE_ERROR
+  PButtonsType* = ptr TButtonsType
+  TButtonsType* = enum 
+    BUTTONS_NONE, BUTTONS_OK, BUTTONS_CLOSE, BUTTONS_CANCEL, BUTTONS_YES_NO, 
+    BUTTONS_OK_CANCEL
+  PMessageDialog* = ptr TMessageDialog
+  TMessageDialog* = object of TDialog
+    image*: PWidget
+    label*: PWidget
+
+  PMessageDialogClass* = ptr TMessageDialogClass
+  TMessageDialogClass* = object of TDialogClass
+    reserved521: proc (){.cdecl.}
+    reserved522: proc (){.cdecl.}
+    reserved523: proc (){.cdecl.}
+    reserved524: proc (){.cdecl.}
+
+  PNotebookPage* = pointer
+  PNotebookTab* = ptr TNotebookTab
+  TNotebookTab* = enum 
+    NOTEBOOK_TAB_FIRST, NOTEBOOK_TAB_LAST
+  PNotebook* = ptr TNotebook
+  TNotebook* = object of TContainer
+    cur_page*: PNotebookPage
     children*: PGList
     first_tab*: PGList
     focus_tab*: PGList
-    menu*: PGtkWidget
-    event_window*: PGdkWindow
+    menu*: PWidget
+    event_window*: gdk2.PWindow
     timer*: guint32
     tab_hborder*: guint16
     tab_vborder*: guint16
-    GtkNotebook_flag0*: guint16
+    Notebook_flag0*: guint16
 
-  PGtkNotebookClass* = ptr TGtkNotebookClass
-  TGtkNotebookClass* = object of TGtkContainerClass
-    switch_page*: proc (notebook: PGtkNotebook, page: PGtkNotebookPage,
+  PNotebookClass* = ptr TNotebookClass
+  TNotebookClass* = object of TContainerClass
+    switch_page*: proc (notebook: PNotebook, page: PNotebookPage, 
                         page_num: guint){.cdecl.}
-    select_page*: proc (notebook: PGtkNotebook, move_focus: gboolean): gboolean{.
+    select_page*: proc (notebook: PNotebook, move_focus: gboolean): gboolean{.
         cdecl.}
-    focus_tab*: proc (notebook: PGtkNotebook, thetype: TGtkNotebookTab): gboolean{.
+    focus_tab*: proc (notebook: PNotebook, thetype: TNotebookTab): gboolean{.
         cdecl.}
-    change_current_page*: proc (notebook: PGtkNotebook, offset: gint){.cdecl.}
-    move_focus_out*: proc (notebook: PGtkNotebook, direction: TGtkDirectionType){.
+    change_current_page*: proc (notebook: PNotebook, offset: gint){.cdecl.}
+    move_focus_out*: proc (notebook: PNotebook, direction: TDirectionType){.
         cdecl.}
-    gtk_reserved531: proc (){.cdecl.}
-    gtk_reserved532: proc (){.cdecl.}
-    gtk_reserved533: proc (){.cdecl.}
-    gtk_reserved534: proc (){.cdecl.}
+    reserved531: proc (){.cdecl.}
+    reserved532: proc (){.cdecl.}
+    reserved533: proc (){.cdecl.}
+    reserved534: proc (){.cdecl.}
 
-  PGtkOldEditable* = ptr TGtkOldEditable
-  TGtkOldEditable* = object of TGtkWidget
+  POldEditable* = ptr TOldEditable
+  TOldEditable* = object of TWidget
     current_pos*: guint
     selection_start_pos*: guint
     selection_end_pos*: guint
-    GtkOldEditable_flag0*: guint16
+    OldEditable_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){.
+  TTextFunction* = proc (editable: POldEditable, time: guint32){.cdecl.}
+  POldEditableClass* = ptr TOldEditableClass
+  TOldEditableClass* = object of TWidgetClass
+    activate*: proc (editable: POldEditable){.cdecl.}
+    set_editable*: proc (editable: POldEditable, is_editable: gboolean){.cdecl.}
+    move_cursor*: proc (editable: POldEditable, x: gint, y: gint){.cdecl.}
+    move_word*: proc (editable: POldEditable, n: gint){.cdecl.}
+    move_page*: proc (editable: POldEditable, x: gint, y: gint){.cdecl.}
+    move_to_row*: proc (editable: POldEditable, row: gint){.cdecl.}
+    move_to_column*: proc (editable: POldEditable, row: gint){.cdecl.}
+    kill_char*: proc (editable: POldEditable, direction: gint){.cdecl.}
+    kill_word*: proc (editable: POldEditable, direction: gint){.cdecl.}
+    kill_line*: proc (editable: POldEditable, direction: gint){.cdecl.}
+    cut_clipboard*: proc (editable: POldEditable){.cdecl.}
+    copy_clipboard*: proc (editable: POldEditable){.cdecl.}
+    paste_clipboard*: proc (editable: POldEditable){.cdecl.}
+    update_text*: proc (editable: POldEditable, start_pos: gint, end_pos: gint){.
+        cdecl.}
+    get_chars*: proc (editable: POldEditable, start_pos: gint, end_pos: gint): cstring{.
         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{.
+    set_selection*: proc (editable: POldEditable, start_pos: gint, end_pos: gint){.
         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
+    set_position*: proc (editable: POldEditable, position: gint){.cdecl.}
+
+  POptionMenu* = ptr TOptionMenu
+  TOptionMenu* = object of TButton
+    menu*: PWidget
+    menu_item*: PWidget
     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
+  POptionMenuClass* = ptr TOptionMenuClass
+  TOptionMenuClass* = object of TButtonClass
+    changed*: proc (option_menu: POptionMenu){.cdecl.}
+    reserved541: proc (){.cdecl.}
+    reserved542: proc (){.cdecl.}
+    reserved543: proc (){.cdecl.}
+    reserved544: proc (){.cdecl.}
+
+  PPixmap* = ptr TPixmap
+  TPixmap* = object of TMisc
+    pixmap*: gdk2.PPixmap
+    mask*: gdk2.PBitmap
+    pixmap_insensitive*: gdk2.PPixmap
+    Pixmap_flag0*: guint16
+
+  PPixmapClass* = ptr TPixmapClass
+  TPixmapClass* = object of TMiscClass
+  PPlug* = ptr TPlug
+  TPlug* = object of TWindow
+    socket_window*: gdk2.PWindow
+    modality_window*: PWidget
+    modality_group*: PWindowGroup
     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
+    Plug_flag0*: guint16
+
+  PPlugClass* = ptr TPlugClass
+  TPlugClass* = object of TWindowClass
+    embedded*: proc (plug: PPlug){.cdecl.}
+    reserved551: proc (){.cdecl.}
+    reserved552: proc (){.cdecl.}
+    reserved553: proc (){.cdecl.}
+    reserved554: proc (){.cdecl.}
+
+  PPreview* = ptr TPreview
+  TPreview* = object of TWidget
     buffer*: Pguchar
     buffer_width*: guint16
     buffer_height*: guint16
     bpp*: guint16
     rowstride*: guint16
-    dither*: TGdkRgbDither
-    GtkPreview_flag0*: guint16
+    dither*: gdk2.TRgbDither
+    Preview_flag0*: guint16
 
-  PGtkPreviewInfo* = ptr TGtkPreviewInfo
-  TGtkPreviewInfo* {.final, pure.} = object
+  PPreviewInfo* = ptr TPreviewInfo
+  TPreviewInfo*{.final, pure.} = object 
     lookup*: Pguchar
     gamma*: gdouble
 
-  PGtkDitherInfo* = ptr TGtkDitherInfo
-  TGtkDitherInfo* {.final, pure.} = object
+  PDitherInfo* = ptr TDitherInfo
+  TDitherInfo*{.final, pure.} = object 
     c*: array[0..3, guchar]
 
-  PGtkPreviewClass* = ptr TGtkPreviewClass
-  TGtkPreviewClass* = object of TGtkWidgetClass
-    info*: TGtkPreviewInfo
+  PPreviewClass* = ptr TPreviewClass
+  TPreviewClass* = object of TWidgetClass
+    info*: TPreviewInfo
 
-  PGtkProgress* = ptr TGtkProgress
-  TGtkProgress* = object of TGtkWidget
-    adjustment*: PGtkAdjustment
-    offscreen_pixmap*: PGdkPixmap
+  PProgress* = ptr TProgress
+  TProgress* = object of TWidget
+    adjustment*: PAdjustment
+    offscreen_pixmap*: gdk2.PPixmap
     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
+    Progress_flag0*: guint16
+
+  PProgressClass* = ptr TProgressClass
+  TProgressClass* = object of TWidgetClass
+    paint*: proc (progress: PProgress){.cdecl.}
+    update*: proc (progress: PProgress){.cdecl.}
+    act_mode_enter*: proc (progress: PProgress){.cdecl.}
+    reserved561: proc (){.cdecl.}
+    reserved562: proc (){.cdecl.}
+    reserved563: proc (){.cdecl.}
+    reserved564: proc (){.cdecl.}
+
+  PProgressBarStyle* = ptr TProgressBarStyle
+  TProgressBarStyle* = enum 
+    PROGRESS_CONTINUOUS, PROGRESS_DISCRETE
+  PProgressBarOrientation* = ptr TProgressBarOrientation
+  TProgressBarOrientation* = enum 
+    PROGRESS_LEFT_TO_RIGHT, PROGRESS_RIGHT_TO_LEFT, PROGRESS_BOTTOM_TO_TOP, 
+    PROGRESS_TOP_TO_BOTTOM
+  PProgressBar* = ptr TProgressBar
+  TProgressBar* = object of TProgress
+    bar_style*: TProgressBarStyle
+    orientation*: TProgressBarOrientation
     blocks*: guint
     in_block*: gint
     activity_pos*: gint
     activity_step*: guint
     activity_blocks*: guint
     pulse_fraction*: gdouble
-    GtkProgressBar_flag0*: guint16
+    ProgressBar_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.}
+  PProgressBarClass* = ptr TProgressBarClass
+  TProgressBarClass* = object of TProgressClass
+    reserved571: proc (){.cdecl.}
+    reserved572: proc (){.cdecl.}
+    reserved573: proc (){.cdecl.}
+    reserved574: proc (){.cdecl.}
 
-  PGtkRadioButton* = ptr TGtkRadioButton
-  TGtkRadioButton* = object of TGtkCheckButton
+  PRadioButton* = ptr TRadioButton
+  TRadioButton* = object of TCheckButton
     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.}
+  PRadioButtonClass* = ptr TRadioButtonClass
+  TRadioButtonClass* = object of TCheckButtonClass
+    reserved581: proc (){.cdecl.}
+    reserved582: proc (){.cdecl.}
+    reserved583: proc (){.cdecl.}
+    reserved584: proc (){.cdecl.}
 
-  PGtkRadioMenuItem* = ptr TGtkRadioMenuItem
-  TGtkRadioMenuItem* = object of TGtkCheckMenuItem
+  PRadioMenuItem* = ptr TRadioMenuItem
+  TRadioMenuItem* = object of TCheckMenuItem
     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
+  PRadioMenuItemClass* = ptr TRadioMenuItemClass
+  TRadioMenuItemClass* = object of TCheckMenuItemClass
+    reserved591: proc (){.cdecl.}
+    reserved592: proc (){.cdecl.}
+    reserved593: proc (){.cdecl.}
+    reserved594: proc (){.cdecl.}
+
+  PScrolledWindow* = ptr TScrolledWindow
+  TScrolledWindow* = object of TBin
+    hscrollbar*: PWidget
+    vscrollbar*: PWidget
+    ScrolledWindow_flag0*: guint16
     shadow_type*: guint16
 
-  PGtkScrolledWindowClass* = ptr TGtkScrolledWindowClass
-  TGtkScrolledWindowClass* = object of TGtkBinClass
+  PScrolledWindowClass* = ptr TScrolledWindowClass
+  TScrolledWindowClass* = object of TBinClass
     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
+    scroll_child*: proc (scrolled_window: PScrolledWindow, scroll: TScrollType, 
+                         horizontal: gboolean){.cdecl.}
+    move_focus_out*: proc (scrolled_window: PScrolledWindow, 
+                           direction: TDirectionType){.cdecl.}
+    reserved601: proc (){.cdecl.}
+    reserved602: proc (){.cdecl.}
+    reserved603: proc (){.cdecl.}
+    reserved604: proc (){.cdecl.}
+
+  TSelectionData*{.final, pure.} = object 
+    selection*: gdk2.TAtom
+    target*: gdk2.TAtom
+    thetype*: gdk2.TAtom
     format*: gint
     data*: Pguchar
     length*: gint
-    display*: PGdkDisplay
+    display*: gdk2.PDisplay
 
-  PGtkTargetEntry* = ptr TGtkTargetEntry
-  TGtkTargetEntry* {.final, pure.} = object
+  PTargetEntry* = ptr TTargetEntry
+  TTargetEntry*{.final, pure.} = object 
     target*: cstring
     flags*: guint
     info*: guint
 
-  PGtkTargetList* = ptr TGtkTargetList
-  TGtkTargetList* {.final, pure.} = object
+  PTargetList* = ptr TTargetList
+  TTargetList*{.final, pure.} = object 
     list*: PGList
     ref_count*: guint
 
-  PGtkTargetPair* = ptr TGtkTargetPair
-  TGtkTargetPair* {.final, pure.} = object
-    target*: TGdkAtom
+  PTargetPair* = ptr TTargetPair
+  TTargetPair*{.final, pure.} = object 
+    target*: gdk2.TAtom
     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
+  PSeparatorMenuItem* = ptr TSeparatorMenuItem
+  TSeparatorMenuItem* = object of TMenuItem
+  PSeparatorMenuItemClass* = ptr TSeparatorMenuItemClass
+  TSeparatorMenuItemClass* = object of TMenuItemClass
+  PSizeGroup* = ptr TSizeGroup
+  TSizeGroup* = 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
+    SizeGroup_flag0*: guint16
+    requisition*: TRequisition
+
+  PSizeGroupClass* = ptr TSizeGroupClass
+  TSizeGroupClass* = object of TGObjectClass
+    reserved611: proc (){.cdecl.}
+    reserved612: proc (){.cdecl.}
+    reserved613: proc (){.cdecl.}
+    reserved614: proc (){.cdecl.}
+
+  PSizeGroupMode* = ptr TSizeGroupMode
+  TSizeGroupMode* = enum 
+    SIZE_GROUP_NONE, SIZE_GROUP_HORIZONTAL, SIZE_GROUP_VERTICAL, SIZE_GROUP_BOTH
+  PSocket* = ptr TSocket
+  TSocket* = object of TContainer
     request_width*: guint16
     request_height*: guint16
     current_width*: guint16
     current_height*: guint16
-    plug_window*: PGdkWindow
-    plug_widget*: PGtkWidget
+    plug_window*: gdk2.PWindow
+    plug_widget*: PWidget
     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
+    Socket_flag0*: guint16
+    accel_group*: PAccelGroup
+    toplevel*: PWidget
+
+  PSocketClass* = ptr TSocketClass
+  TSocketClass* = object of TContainerClass
+    plug_added*: proc (socket: PSocket){.cdecl.}
+    plug_removed*: proc (socket: PSocket): gboolean{.cdecl.}
+    reserved621: proc (){.cdecl.}
+    reserved622: proc (){.cdecl.}
+    reserved623: proc (){.cdecl.}
+    reserved624: proc (){.cdecl.}
+
+  PSpinButtonUpdatePolicy* = ptr TSpinButtonUpdatePolicy
+  TSpinButtonUpdatePolicy* = enum 
+    UPDATE_ALWAYS, UPDATE_IF_VALID
+  PSpinType* = ptr TSpinType
+  TSpinType* = enum 
+    SPIN_STEP_FORWARD, SPIN_STEP_BACKWARD, SPIN_PAGE_FORWARD, 
+    SPIN_PAGE_BACKWARD, SPIN_HOME, SPIN_END, SPIN_USER_DEFINED
+  PSpinButton* = ptr TSpinButton
+  TSpinButton* = object of TEntry
+    adjustment*: PAdjustment
+    panel*: gdk2.PWindow
     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
+    update_policy*: TSpinButtonUpdatePolicy
+    SpinButton_flag0*: int32
+
+  PSpinButtonClass* = ptr TSpinButtonClass
+  TSpinButtonClass* = object of TEntryClass
+    input*: proc (spin_button: PSpinButton, new_value: Pgdouble): gint{.cdecl.}
+    output*: proc (spin_button: PSpinButton): gint{.cdecl.}
+    value_changed*: proc (spin_button: PSpinButton){.cdecl.}
+    change_value*: proc (spin_button: PSpinButton, scroll: TScrollType){.cdecl.}
+    reserved631: proc (){.cdecl.}
+    reserved632: proc (){.cdecl.}
+    reserved633: proc (){.cdecl.}
+    reserved634: proc (){.cdecl.}
+
+  PStockItem* = ptr TStockItem
+  TStockItem*{.final, pure.} = object 
     stock_id*: cstring
     label*: cstring
-    modifier*: TGdkModifierType
+    modifier*: gdk2.TModifierType
     keyval*: guint
     translation_domain*: cstring
 
-  PGtkStatusbar* = ptr TGtkStatusbar
-  TGtkStatusbar* = object of TGtkHBox
-    frame*: PGtkWidget
-    `label`*: PGtkWidget
+  PStatusbar* = ptr TStatusbar
+  TStatusbar* = object of THBox
+    frame*: PWidget
+    `label`*: PWidget
     messages*: PGSList
     keys*: PGSList
     seq_context_id*: guint
     seq_message_id*: guint
-    grip_window*: PGdkWindow
-    GtkStatusbar_flag0*: guint16
+    grip_window*: gdk2.PWindow
+    Statusbar_flag0*: guint16
 
-  PGtkStatusbarClass* = ptr TGtkStatusbarClass
-  TGtkStatusbarClass* = object of TGtkHBoxClass
+  PStatusbarClass* = ptr TStatusbarClass
+  TStatusbarClass* = object of THBoxClass
     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
+    text_pushed*: proc (statusbar: PStatusbar, context_id: guint, text: cstring){.
+        cdecl.}
+    text_popped*: proc (statusbar: PStatusbar, context_id: guint, text: cstring){.
+        cdecl.}
+    reserved641: proc (){.cdecl.}
+    reserved642: proc (){.cdecl.}
+    reserved643: proc (){.cdecl.}
+    reserved644: proc (){.cdecl.}
+
+  PTableRowCol* = ptr TTableRowCol
+  PTable* = ptr TTable
+  TTable* = object of TContainer
     children*: PGList
-    rows*: PGtkTableRowCol
-    cols*: PGtkTableRowCol
+    rows*: PTableRowCol
+    cols*: PTableRowCol
     nrows*: guint16
     ncols*: guint16
     column_spacing*: guint16
     row_spacing*: guint16
-    GtkTable_flag0*: guint16
-
-  PGtkTableClass* = ptr TGtkTableClass
-  TGtkTableClass* = object of TGtkContainerClass
+    Table_flag0*: guint16
 
-  PGtkTableChild* = ptr TGtkTableChild
-  TGtkTableChild* {.final, pure.} = object
-    widget*: PGtkWidget
+  PTableClass* = ptr TTableClass
+  TTableClass* = object of TContainerClass
+  PTableChild* = ptr TTableChild
+  TTableChild*{.final, pure.} = object 
+    widget*: PWidget
     left_attach*: guint16
     right_attach*: guint16
     top_attach*: guint16
     bottom_attach*: guint16
     xpadding*: guint16
     ypadding*: guint16
-    GtkTableChild_flag0*: guint16
+    TableChild_flag0*: guint16
 
-  TGtkTableRowCol* {.final, pure.} = object
+  TTableRowCol*{.final, pure.} = object 
     requisition*: guint16
     allocation*: guint16
     spacing*: guint16
     flag0*: guint16
 
-  PGtkTearoffMenuItem* = ptr TGtkTearoffMenuItem
-  TGtkTearoffMenuItem* = object of TGtkMenuItem
-    GtkTearoffMenuItem_flag0*: guint16
+  PTearoffMenuItem* = ptr TTearoffMenuItem
+  TTearoffMenuItem* = object of TMenuItem
+    TearoffMenuItem_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.}
+  PTearoffMenuItemClass* = ptr TTearoffMenuItemClass
+  TTearoffMenuItemClass* = object of TMenuItemClass
+    reserved651: proc (){.cdecl.}
+    reserved652: proc (){.cdecl.}
+    reserved653: proc (){.cdecl.}
+    reserved654: proc (){.cdecl.}
 
-  PGtkTextFont* = pointer
-  PGtkPropertyMark* = ptr TGtkPropertyMark
-  TGtkPropertyMark* {.final, pure.} = object
+  PTextFont* = pointer
+  PPropertyMark* = ptr TPropertyMark
+  TPropertyMark*{.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
+  PText* = ptr TText
+  TText* = object of TOldEditable
+    text_area*: gdk2.PWindow
+    hadj*: PAdjustment
+    vadj*: PAdjustment
+    gc*: gdk2.PGC
+    line_wrap_bitmap*: gdk2.PPixmap
+    line_arrow_bitmap*: gdk2.PPixmap
     text*: Pguchar
     text_len*: guint
     gap_position*: guint
@@ -2735,38 +2646,38 @@ type
     first_cut_pixels*: guint
     first_onscreen_hor_pixel*: guint
     first_onscreen_ver_pixel*: guint
-    GtkText_flag0*: guint16
+    Text_flag0*: guint16
     freeze_count*: guint
     text_properties*: PGList
     text_properties_end*: PGList
-    point*: TGtkPropertyMark
+    point*: TPropertyMark
     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_mark*: TPropertyMark
+    cursor_char*: gdk2.TWChar
     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
+    current_font*: PTextFont
     timer*: gint
     button*: guint
-    bg_gc*: PGdkGC
+    bg_gc*: gdk2.PGC
 
-  PGtkTextClass* = ptr TGtkTextClass
-  TGtkTextClass* = object of TGtkOldEditableClass
-    set_scroll_adjustments*: proc (text: PGtkText, hadjustment: PGtkAdjustment,
-                                   vadjustment: PGtkAdjustment){.cdecl.}
+  PTextClass* = ptr TTextClass
+  TTextClass* = object of TOldEditableClass
+    set_scroll_adjustments*: proc (text: PText, hadjustment: PAdjustment, 
+                                   vadjustment: PAdjustment){.cdecl.}
 
-  PGtkTextSearchFlags* = ptr TGtkTextSearchFlags
-  TGtkTextSearchFlags* = int32
-  PGtkTextIter* = ptr TGtkTextIter
-  TGtkTextIter* {.final, pure.} = object
+  PTextSearchFlags* = ptr TTextSearchFlags
+  TTextSearchFlags* = int32
+  PTextIter* = ptr TTextIter
+  TTextIter*{.final, pure.} = object 
     dummy1*: gpointer
     dummy2*: gpointer
     dummy3*: gint
@@ -2782,43 +2693,43 @@ type
     dummy13*: gint
     dummy14*: gpointer
 
-  TGtkTextCharPredicate* = proc (ch: gunichar, user_data: gpointer): gboolean{.
+  TTextCharPredicate* = 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
+  PTextTagClass* = ptr TTextTagClass
+  PTextAttributes* = ptr TTextAttributes
+  PTextTag* = ptr TTextTag
+  PPGtkTextTag* = ptr PTextTag
+  TTextTag* = object of TGObject
+    table*: PTextTagTable
     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
+    values*: PTextAttributes
+    TextTag_flag0*: int32
+
+  TTextTagClass* = object of TGObjectClass
+    event*: proc (tag: PTextTag, event_object: PGObject, event: gdk2.PEvent, 
+                  iter: PTextIter): gboolean{.cdecl.}
+    reserved661: proc (){.cdecl.}
+    reserved662: proc (){.cdecl.}
+    reserved663: proc (){.cdecl.}
+    reserved664: proc (){.cdecl.}
+
+  PTextAppearance* = ptr TTextAppearance
+  TTextAppearance*{.final, pure.} = object 
+    bg_color*: gdk2.TColor
+    fg_color*: gdk2.TColor
+    bg_stipple*: gdk2.PBitmap
+    fg_stipple*: gdk2.PBitmap
     rise*: gint
     padding1*: gpointer
     flag0*: guint16
 
-  TGtkTextAttributes* {.final, pure.} = object
+  TTextAttributes*{.final, pure.} = object 
     refcount*: guint
-    appearance*: TGtkTextAppearance
-    justification*: TGtkJustification
-    direction*: TGtkTextDirection
-    font*: PPangoFontDescription
+    appearance*: TTextAppearance
+    justification*: TJustification
+    direction*: TTextDirection
+    font*: pango.PFontDescription
     font_scale*: gdouble
     left_margin*: gint
     indent*: gint
@@ -2826,218 +2737,216 @@ type
     pixels_above_lines*: gint
     pixels_below_lines*: gint
     pixels_inside_wrap*: gint
-    tabs*: PPangoTabArray
-    wrap_mode*: TGtkWrapMode
-    language*: PPangoLanguage
+    tabs*: pango.PTabArray
+    wrap_mode*: TWrapMode
+    language*: pango.PLanguage
     padding1*: gpointer
     flag0*: guint16
 
-  TGtkTextTagTableForeach* = proc (tag: PGtkTextTag, data: gpointer){.cdecl.}
-  TGtkTextTagTable* = object of TGObject
+  TTextTagTableForeach* = proc (tag: PTextTag, data: gpointer){.cdecl.}
+  TTextTagTable* = 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,
+  PTextTagTableClass* = ptr TTextTagTableClass
+  TTextTagTableClass* = object of TGObjectClass
+    tag_changed*: proc (table: PTextTagTable, tag: PTextTag, 
                         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
+    tag_added*: proc (table: PTextTagTable, tag: PTextTag){.cdecl.}
+    tag_removed*: proc (table: PTextTagTable, tag: PTextTag){.cdecl.}
+    reserved1: proc (){.cdecl.}
+    reserved2: proc (){.cdecl.}
+    reserved3: proc (){.cdecl.}
+    reserved4: proc (){.cdecl.}
+
+  PTextMark* = ptr TTextMark
+  TTextMark* = 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.}
+  PTextMarkClass* = ptr TTextMarkClass
+  TTextMarkClass* = object of TGObjectClass
+    reserved1: proc (){.cdecl.}
+    reserved2: proc (){.cdecl.}
+    reserved3: proc (){.cdecl.}
+    reserved4: proc (){.cdecl.}
 
-  PGtkTextMarkBody* = ptr TGtkTextMarkBody
-  TGtkTextMarkBody* {.final, pure.} = object
-    obj*: PGtkTextMark
+  PTextMarkBody* = ptr TTextMarkBody
+  TTextMarkBody*{.final, pure.} = object 
+    obj*: PTextMark
     name*: cstring
-    tree*: PGtkTextBTree
-    line*: PGtkTextLine
+    tree*: PTextBTree
+    line*: PTextLine
     flag0*: guint16
 
-  PGtkTextChildAnchor* = ptr TGtkTextChildAnchor
-  TGtkTextChildAnchor* = object of TGObject
+  PTextChildAnchor* = ptr TTextChildAnchor
+  TTextChildAnchor* = 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.}
+  PTextChildAnchorClass* = ptr TTextChildAnchorClass
+  TTextChildAnchorClass* = object of TGObjectClass
+    reserved1: proc (){.cdecl.}
+    reserved2: proc (){.cdecl.}
+    reserved3: proc (){.cdecl.}
+    reserved4: proc (){.cdecl.}
 
-  PGtkTextPixbuf* = ptr TGtkTextPixbuf
-  TGtkTextPixbuf* {.final, pure.} = object
-    pixbuf*: PGdkPixbuf
+  PTextPixbuf* = ptr TTextPixbuf
+  TTextPixbuf*{.final, pure.} = object 
+    pixbuf*: gdk2pixbuf.PPixbuf
 
-  PGtkTextChildBody* = ptr TGtkTextChildBody
-  TGtkTextChildBody* {.final, pure.} = object
-    obj*: PGtkTextChildAnchor
+  PTextChildBody* = ptr TTextChildBody
+  TTextChildBody*{.final, pure.} = object 
+    obj*: PTextChildAnchor
     widgets*: PGSList
-    tree*: PGtkTextBTree
-    line*: PGtkTextLine
-
-  PGtkTextLineSegment* = ptr TGtkTextLineSegment
-  PGtkTextLineSegmentClass* = ptr TGtkTextLineSegmentClass
-  PGtkTextTagInfo* = ptr TGtkTextTagInfo
-  TGtkTextTagInfo* {.final, pure.} = object
-    tag*: PGtkTextTag
-    tag_root*: PGtkTextBTreeNode
+    tree*: PTextBTree
+    line*: PTextLine
+
+  PTextLineSegment* = ptr TTextLineSegment
+  PTextLineSegmentClass* = ptr TTextLineSegmentClass
+  PTextTagInfo* = ptr TTextTagInfo
+  TTextTagInfo*{.final, pure.} = object 
+    tag*: PTextTag
+    tag_root*: PTextBTreeNode
     toggle_count*: gint
 
-  PGtkTextToggleBody* = ptr TGtkTextToggleBody
-  TGtkTextToggleBody* {.final, pure.} = object
-    info*: PGtkTextTagInfo
+  PTextToggleBody* = ptr TTextToggleBody
+  TTextToggleBody*{.final, pure.} = object 
+    info*: PTextTagInfo
     inNodeCounts*: gboolean
 
-  TGtkTextLineSegment* {.final, pure.} = object
-    `type`*: PGtkTextLineSegmentClass
-    next*: PGtkTextLineSegment
+  TTextLineSegment*{.final, pure.} = object 
+    `type`*: PTextLineSegmentClass
+    next*: PTextLineSegment
     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
+    body*: TTextChildBody
+
+  PTextSegSplitFunc* = ptr TTextSegSplitFunc
+  TTextSegSplitFunc* = TTextLineSegment
+  TTextSegDeleteFunc* = proc (seg: PTextLineSegment, line: PTextLine, 
+                              tree_gone: gboolean): gboolean{.cdecl.}
+  PTextSegCleanupFunc* = ptr TTextSegCleanupFunc
+  TTextSegCleanupFunc* = TTextLineSegment
+  TTextSegLineChangeFunc* = proc (seg: PTextLineSegment, line: PTextLine){.cdecl.}
+  TTextSegCheckFunc* = proc (seg: PTextLineSegment, line: PTextLine){.cdecl.}
+  TTextLineSegmentClass*{.final, pure.} = object 
     name*: cstring
     leftGravity*: gboolean
-    splitFunc*: TGtkTextSegSplitFunc
-    deleteFunc*: TGtkTextSegDeleteFunc
-    cleanupFunc*: TGtkTextSegCleanupFunc
-    lineChangeFunc*: TGtkTextSegLineChangeFunc
-    checkFunc*: TGtkTextSegCheckFunc
-
-  PGtkTextLineData* = ptr TGtkTextLineData
-  TGtkTextLineData* {.final, pure.} = object
+    splitFunc*: TTextSegSplitFunc
+    deleteFunc*: TTextSegDeleteFunc
+    cleanupFunc*: TTextSegCleanupFunc
+    lineChangeFunc*: TTextSegLineChangeFunc
+    checkFunc*: TTextSegCheckFunc
+
+  PTextLineData* = ptr TTextLineData
+  TTextLineData*{.final, pure.} = object 
     view_id*: gpointer
-    next*: PGtkTextLineData
+    next*: PTextLineData
     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
+  TTextLine*{.final, pure.} = object 
+    parent*: PTextBTreeNode
+    next*: PTextLine
+    segments*: PTextLineSegment
+    views*: PTextLineData
+
+  PTextLogAttrCache* = pointer
+  PTextBuffer* = ptr TTextBuffer
+  TTextBuffer* = object of TGObject
+    tag_table*: PTextTagTable
+    btree*: PTextBTree
     clipboard_contents_buffers*: PGSList
     selection_clipboards*: PGSList
-    log_attr_cache*: PGtkTextLogAttrCache
+    log_attr_cache*: PTextLogAttrCache
     user_action_count*: guint
-    GtkTextBuffer_flag0*: guint16
+    TextBuffer_flag0*: guint16
 
-  PGtkTextBufferClass* = ptr TGtkTextBufferClass
-  TGtkTextBufferClass* = object of TGObjectClass
-    insert_text*: proc (buffer: PGtkTextBuffer, pos: PGtkTextIter, text: cstring,
+  PTextBufferClass* = ptr TTextBufferClass
+  TTextBufferClass* = object of TGObjectClass
+    insert_text*: proc (buffer: PTextBuffer, pos: PTextIter, 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
+    insert_pixbuf*: proc (buffer: PTextBuffer, pos: PTextIter, 
+                          pixbuf: gdk2pixbuf.PPixbuf){.cdecl.}
+    insert_child_anchor*: proc (buffer: PTextBuffer, pos: PTextIter, 
+                                anchor: PTextChildAnchor){.cdecl.}
+    delete_range*: proc (buffer: PTextBuffer, start: PTextIter, 
+                         theEnd: PTextIter){.cdecl.}
+    changed*: proc (buffer: PTextBuffer){.cdecl.}
+    modified_changed*: proc (buffer: PTextBuffer){.cdecl.}
+    mark_set*: proc (buffer: PTextBuffer, location: PTextIter, mark: PTextMark){.
+        cdecl.}
+    mark_deleted*: proc (buffer: PTextBuffer, mark: PTextMark){.cdecl.}
+    apply_tag*: proc (buffer: PTextBuffer, tag: PTextTag, start_char: PTextIter, 
+                      end_char: PTextIter){.cdecl.}
+    remove_tag*: proc (buffer: PTextBuffer, tag: PTextTag, 
+                       start_char: PTextIter, end_char: PTextIter){.cdecl.}
+    begin_user_action*: proc (buffer: PTextBuffer){.cdecl.}
+    end_user_action*: proc (buffer: PTextBuffer){.cdecl.}
+    reserved1: proc (){.cdecl.}
+    reserved2: proc (){.cdecl.}
+    reserved3: proc (){.cdecl.}
+    reserved4: proc (){.cdecl.}
+    reserved5: proc (){.cdecl.}
+    reserved6: proc (){.cdecl.}
+
+  PTextLineDisplay* = ptr TTextLineDisplay
+  PTextLayout* = ptr TTextLayout
+  TTextLayout* = 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
+    buffer*: PTextBuffer
+    default_style*: PTextAttributes
+    ltr_context*: pango.PContext
+    rtl_context*: pango.PContext
+    one_style_cache*: PTextAttributes
+    one_display_cache*: PTextLineDisplay
     wrap_loop_count*: gint
-    GtkTextLayout_flag0*: guint16
+    TextLayout_flag0*: guint16
     preedit_string*: cstring
-    preedit_attrs*: PPangoAttrList
+    preedit_attrs*: pango.PAttrList
     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,
+  PTextLayoutClass* = ptr TTextLayoutClass
+  TTextLayoutClass* = object of TGObjectClass
+    invalidated*: proc (layout: PTextLayout){.cdecl.}
+    changed*: proc (layout: PTextLayout, 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
+    wrap*: proc (layout: PTextLayout, line: PTextLine, line_data: PTextLineData): PTextLineData{.
+        cdecl.}
+    get_log_attrs*: proc (layout: PTextLayout, line: PTextLine, 
+                          attrs: var pango.PLogAttr, n_attrs: Pgint){.cdecl.}
+    invalidate*: proc (layout: PTextLayout, start: PTextIter, theEnd: PTextIter){.
+        cdecl.}
+    free_line_data*: proc (layout: PTextLayout, line: PTextLine, 
+                           line_data: PTextLineData){.cdecl.}
+    allocate_child*: proc (layout: PTextLayout, child: PWidget, x: gint, y: gint){.
+        cdecl.}
+    reserved1: proc (){.cdecl.}
+    reserved2: proc (){.cdecl.}
+    reserved3: proc (){.cdecl.}
+    reserved4: proc (){.cdecl.}
+
+  PTextAttrAppearance* = ptr TTextAttrAppearance
+  TTextAttrAppearance*{.final, pure.} = object 
+    attr*: pango.TAttribute
+    appearance*: TTextAppearance
+
+  PTextCursorDisplay* = ptr TTextCursorDisplay
+  TTextCursorDisplay*{.final, pure.} = object 
     x*: gint
     y*: gint
     height*: gint
     flag0*: guint16
 
-  TGtkTextLineDisplay* {.final, pure.} = object
-    layout*: PPangoLayout
+  TTextLineDisplay*{.final, pure.} = object 
+    layout*: pango.PLayout
     cursors*: PGSList
     shaped_objects*: PGSList
-    direction*: TGtkTextDirection
+    direction*: TTextDirection
     width*: gint
     total_width*: gint
     height*: gint
@@ -3048,294 +2957,286 @@ type
     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
+    line*: PTextLine
+
+  PTextWindow* = pointer
+  PTextPendingScroll* = pointer
+  PTextWindowType* = ptr TTextWindowType
+  TTextWindowType* = enum 
+    TEXT_WINDOW_PRIVATE, TEXT_WINDOW_WIDGET, TEXT_WINDOW_TEXT, TEXT_WINDOW_LEFT, 
+    TEXT_WINDOW_RIGHT, TEXT_WINDOW_TOP, TEXT_WINDOW_BOTTOM
+  PTextView* = ptr TTextView
+  TTextView* = object of TContainer
+    layout*: PTextLayout
+    buffer*: PTextBuffer
     selection_drag_handler*: guint
     scroll_timeout*: guint
     pixels_above_lines*: gint
     pixels_below_lines*: gint
     pixels_inside_wrap*: gint
-    wrap_mode*: TGtkWrapMode
-    justify*: TGtkJustification
+    wrap_mode*: TWrapMode
+    justify*: TJustification
     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
+    tabs*: pango.PTabArray
+    TextView_flag0*: guint16
+    text_window*: PTextWindow
+    left_window*: PTextWindow
+    right_window*: PTextWindow
+    top_window*: PTextWindow
+    bottom_window*: PTextWindow
+    hadjustment*: PAdjustment
+    vadjustment*: PAdjustment
     xoffset*: gint
     yoffset*: gint
     width*: gint
     height*: gint
     virtual_cursor_x*: gint
     virtual_cursor_y*: gint
-    first_para_mark*: PGtkTextMark
+    first_para_mark*: PTextMark
     first_para_pixels*: gint
-    dnd_mark*: PGtkTextMark
+    dnd_mark*: PTextMark
     blink_timeout*: guint
     first_validate_idle*: guint
     incremental_validate_idle*: guint
-    im_context*: PGtkIMContext
-    popup_menu*: PGtkWidget
+    im_context*: PIMContext
+    popup_menu*: PWidget
     drag_start_x*: gint
     drag_start_y*: gint
     children*: PGSList
-    pending_scroll*: PGtkTextPendingScroll
+    pending_scroll*: PTextPendingScroll
     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,
+  PTextViewClass* = ptr TTextViewClass
+  TTextViewClass* = object of TContainerClass
+    set_scroll_adjustments*: proc (text_view: PTextView, 
+                                   hadjustment: PAdjustment, 
+                                   vadjustment: PAdjustment){.cdecl.}
+    populate_popup*: proc (text_view: PTextView, menu: PMenu){.cdecl.}
+    move_cursor*: proc (text_view: PTextView, step: TMovementStep, count: gint, 
+                        extend_selection: gboolean){.cdecl.}
+    page_horizontally*: proc (text_view: PTextView, 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,
+    set_anchor*: proc (text_view: PTextView){.cdecl.}
+    insert_at_cursor*: proc (text_view: PTextView, str: cstring){.cdecl.}
+    delete_from_cursor*: proc (text_view: PTextView, thetype: TDeleteType, 
                                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
+    cut_clipboard*: proc (text_view: PTextView){.cdecl.}
+    copy_clipboard*: proc (text_view: PTextView){.cdecl.}
+    paste_clipboard*: proc (text_view: PTextView){.cdecl.}
+    toggle_overwrite*: proc (text_view: PTextView){.cdecl.}
+    move_focus*: proc (text_view: PTextView, direction: TDirectionType){.cdecl.}
+    reserved711: proc (){.cdecl.}
+    reserved712: proc (){.cdecl.}
+    reserved713: proc (){.cdecl.}
+    reserved714: proc (){.cdecl.}
+    reserved715: proc (){.cdecl.}
+    reserved716: proc (){.cdecl.}
+    reserved717: proc (){.cdecl.}
+    reserved718: proc (){.cdecl.}
+
+  PTipsQuery* = ptr TTipsQuery
+  TTipsQuery* = object of TLabel
+    TipsQuery_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,
+    caller*: PWidget
+    last_crossed*: PWidget
+    query_cursor*: gdk2.PCursor
+
+  PTipsQueryClass* = ptr TTipsQueryClass
+  TTipsQueryClass* = object of TLabelClass
+    start_query*: proc (tips_query: PTipsQuery){.cdecl.}
+    stop_query*: proc (tips_query: PTipsQuery){.cdecl.}
+    widget_entered*: proc (tips_query: PTipsQuery, widget: PWidget, 
                            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
+    widget_selected*: proc (tips_query: PTipsQuery, widget: PWidget, 
+                            tip_text: cstring, tip_private: cstring, 
+                            event: gdk2.PEventButton): gint{.cdecl.}
+    reserved721: proc (){.cdecl.}
+    reserved722: proc (){.cdecl.}
+    reserved723: proc (){.cdecl.}
+    reserved724: proc (){.cdecl.}
+
+  PTooltips* = ptr TTooltips
+  PTooltipsData* = ptr TTooltipsData
+  TTooltipsData*{.final, pure.} = object 
+    tooltips*: PTooltips
+    widget*: PWidget
     tip_text*: cstring
     tip_private*: cstring
 
-  TGtkTooltips* = object of TGtkObject
-    tip_window*: PGtkWidget
-    tip_label*: PGtkWidget
-    active_tips_data*: PGtkTooltipsData
+  TTooltips* = object of TObject
+    tip_window*: PWidget
+    tip_label*: PWidget
+    active_tips_data*: PTooltipsData
     tips_data_list*: PGList
-    GtkTooltips_flag0*: int32
+    Tooltips_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
+  PTooltipsClass* = ptr TTooltipsClass
+  TTooltipsClass* = object of TObjectClass
+    reserved1: proc (){.cdecl.}
+    reserved2: proc (){.cdecl.}
+    reserved3: proc (){.cdecl.}
+    reserved4: proc (){.cdecl.}
+
+  PToolbarChildType* = ptr TToolbarChildType
+  TToolbarChildType* = enum 
+    TOOLBAR_CHILD_SPACE, TOOLBAR_CHILD_BUTTON, TOOLBAR_CHILD_TOGGLEBUTTON, 
+    TOOLBAR_CHILD_RADIOBUTTON, TOOLBAR_CHILD_WIDGET
+  PToolbarSpaceStyle* = ptr TToolbarSpaceStyle
+  TToolbarSpaceStyle* = enum 
+    TOOLBAR_SPACE_EMPTY, TOOLBAR_SPACE_LINE
+  PToolbarChild* = ptr TToolbarChild
+  TToolbarChild*{.final, pure.} = object 
+    `type`*: TToolbarChildType
+    widget*: PWidget
+    icon*: PWidget
+    label*: PWidget
+
+  PToolbar* = ptr TToolbar
+  TToolbar* = object of TContainer
     num_children*: gint
     children*: PGList
-    orientation*: TGtkOrientation
-    GtkToolbar_style*: TGtkToolbarStyle
-    icon_size*: TGtkIconSize
-    tooltips*: PGtkTooltips
+    orientation*: TOrientation
+    Toolbar_style*: TToolbarStyle
+    icon_size*: TIconSize
+    tooltips*: PTooltips
     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
+    Toolbar_flag0*: guint16
+
+  PToolbarClass* = ptr TToolbarClass
+  TToolbarClass* = object of TContainerClass
+    orientation_changed*: proc (toolbar: PToolbar, orientation: TOrientation){.
+        cdecl.}
+    style_changed*: proc (toolbar: PToolbar, style: TToolbarStyle){.cdecl.}
+    reserved731: proc (){.cdecl.}
+    reserved732: proc (){.cdecl.}
+    reserved733: proc (){.cdecl.}
+    reserved734: proc (){.cdecl.}
+
+  PTreeViewMode* = ptr TTreeViewMode
+  TTreeViewMode* = enum 
+    TREE_VIEW_LINE, TREE_VIEW_ITEM
+  PTree* = ptr TTree
+  TTree* = object of TContainer
     children*: PGList
-    root_tree*: PGtkTree
-    tree_owner*: PGtkWidget
+    root_tree*: PTree
+    tree_owner*: PWidget
     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{.
+    Tree_flag0*: guint16
+
+  PTreeClass* = ptr TTreeClass
+  TTreeClass* = object of TContainerClass
+    selection_changed*: proc (tree: PTree){.cdecl.}
+    select_child*: proc (tree: PTree, child: PWidget){.cdecl.}
+    unselect_child*: proc (tree: PTree, child: PWidget){.cdecl.}
+
+  PTreeDragSource* = pointer
+  PTreeDragDest* = pointer
+  PTreeDragSourceIface* = ptr TTreeDragSourceIface
+  TTreeDragSourceIface* = object of TGTypeInterface
+    row_draggable*: proc (drag_source: PTreeDragSource, path: PTreePath): 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{.
+    drag_data_get*: proc (drag_source: PTreeDragSource, path: PTreePath, 
+                          selection_data: PSelectionData): gboolean{.cdecl.}
+    drag_data_delete*: proc (drag_source: PTreeDragSource, path: PTreePath): 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
+  PTreeDragDestIface* = ptr TTreeDragDestIface
+  TTreeDragDestIface* = object of TGTypeInterface
+    drag_data_received*: proc (drag_dest: PTreeDragDest, dest: PTreePath, 
+                               selection_data: PSelectionData): gboolean{.cdecl.}
+    row_drop_possible*: proc (drag_dest: PTreeDragDest, dest_path: PTreePath, 
+                              selection_data: PSelectionData): gboolean{.cdecl.}
+
+  PTreeItem* = ptr TTreeItem
+  TTreeItem* = object of TItem
+    subtree*: PWidget
+    pixmaps_box*: PWidget
+    plus_pix_widget*: PWidget
+    minus_pix_widget*: PWidget
     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
+    TreeItem_flag0*: guint16
+
+  PTreeItemClass* = ptr TTreeItemClass
+  TTreeItemClass* = object of TItemClass
+    expand*: proc (tree_item: PTreeItem){.cdecl.}
+    collapse*: proc (tree_item: PTreeItem){.cdecl.}
+
+  PTreeSelection* = ptr TTreeSelection
+  TTreeSelectionFunc* = proc (selection: PTreeSelection, model: PTreeModel, 
+                              path: PTreePath, 
+                              path_currently_selected: gboolean, data: gpointer): gboolean{.
+      cdecl.}
+  TTreeSelectionForeachFunc* = proc (model: PTreeModel, path: PTreePath, 
+                                     iter: PTreeIter, data: gpointer){.cdecl.}
+  TTreeSelection* = object of TGObject
+    tree_view*: PTreeView
+    thetype*: TSelectionMode
+    user_func*: TTreeSelectionFunc
     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
+    destroy*: TDestroyNotify
+
+  PTreeSelectionClass* = ptr TTreeSelectionClass
+  TTreeSelectionClass* = object of TGObjectClass
+    changed*: proc (selection: PTreeSelection){.cdecl.}
+    reserved741: proc (){.cdecl.}
+    reserved742: proc (){.cdecl.}
+    reserved743: proc (){.cdecl.}
+    reserved744: proc (){.cdecl.}
+
+  PTreeStore* = ptr TTreeStore
+  TTreeStore* = object of TGObject
     stamp*: gint
     root*: gpointer
     last*: gpointer
     n_columns*: gint
     sort_column_id*: gint
     sort_list*: PGList
-    order*: TGtkSortType
+    order*: TSortType
     column_headers*: PGType
-    default_sort_func*: TGtkTreeIterCompareFunc
+    default_sort_func*: TTreeIterCompareFunc
     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
+    default_sort_destroy*: TDestroyNotify
+    TreeStore_flag0*: guint16
+
+  PTreeStoreClass* = ptr TTreeStoreClass
+  TTreeStoreClass* = object of TGObjectClass
+    reserved751: proc (){.cdecl.}
+    reserved752: proc (){.cdecl.}
+    reserved753: proc (){.cdecl.}
+    reserved754: proc (){.cdecl.}
+
+  PTreeViewColumnSizing* = ptr TTreeViewColumnSizing
+  TTreeViewColumnSizing* = enum 
+    TREE_VIEW_COLUMN_GROW_ONLY, TREE_VIEW_COLUMN_AUTOSIZE, 
+    TREE_VIEW_COLUMN_FIXED
+  TTreeCellDataFunc* = proc (tree_column: PTreeViewColumn, cell: PCellRenderer, 
+                             tree_model: PTreeModel, iter: PTreeIter, 
+                             data: gpointer){.cdecl.}
+  TTreeViewColumn* = object of TObject
+    tree_view*: PWidget
+    button*: PWidget
+    child*: PWidget
+    arrow*: PWidget
+    alignment*: PWidget
+    window*: gdk2.PWindow
+    editable_widget*: PCellEditable
     xalign*: gfloat
     property_changed_signal*: guint
     spacing*: gint
-    column_type*: TGtkTreeViewColumnSizing
+    column_type*: TTreeViewColumnSizing
     requested_width*: gint
     button_request*: gint
     resized_width*: gint
@@ -3350,679 +3251,652 @@ type
     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
+    sort_order*: TSortType
+    TreeViewColumn_flag0*: guint16
+
+  PTreeViewColumnClass* = ptr TTreeViewColumnClass
+  TTreeViewColumnClass* = object of TObjectClass
+    clicked*: proc (tree_column: PTreeViewColumn){.cdecl.}
+    reserved751: proc (){.cdecl.}
+    reserved752: proc (){.cdecl.}
+    reserved753: proc (){.cdecl.}
+    reserved754: proc (){.cdecl.}
+
+  PRBNodeColor* = ptr TRBNodeColor
+  TRBNodeColor* = int32
+  PRBTree* = ptr TRBTree
+  PRBNode* = ptr TRBNode
+  TRBTreeTraverseFunc* = proc (tree: PRBTree, node: PRBNode, data: gpointer){.
+      cdecl.}
+  TRBTree*{.final, pure.} = object 
+    root*: PRBNode
+    `nil`*: PRBNode
+    parent_tree*: PRBTree
+    parent_node*: PRBNode
+
+  TRBNode*{.final, pure.} = object 
     flag0*: guint16
-    left*: PGtkRBNode
-    right*: PGtkRBNode
-    parent*: PGtkRBNode
+    left*: PRBNode
+    right*: PRBNode
+    parent*: PRBNode
     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
+    children*: PRBTree
+
+  PTreeRowReference* = pointer
+  PTreeViewFlags* = ptr TTreeViewFlags
+  TTreeViewFlags* = int32
+  TTreeViewSearchDialogPositionFunc* = proc (tree_view: PTreeView, 
+      search_dialog: PWidget){.cdecl.}
+  PTreeViewColumnReorder* = ptr TTreeViewColumnReorder
+  TTreeViewColumnReorder*{.final, pure.} = object 
     left_align*: gint
     right_align*: gint
-    left_column*: PGtkTreeViewColumn
-    right_column*: PGtkTreeViewColumn
+    left_column*: PTreeViewColumn
+    right_column*: PTreeViewColumn
 
-  PGtkTreeViewPrivate* = ptr TGtkTreeViewPrivate
-  TGtkTreeViewPrivate* {.final, pure.} = object
-    model*: PGtkTreeModel
+  PTreeViewPrivate* = ptr TTreeViewPrivate
+  TTreeViewPrivate*{.final, pure.} = object 
+    model*: PTreeModel
     flags*: guint
-    tree*: PGtkRBTree
-    button_pressed_node*: PGtkRBNode
-    button_pressed_tree*: PGtkRBTree
+    tree*: PRBTree
+    button_pressed_node*: PRBNode
+    button_pressed_tree*: PRBTree
     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
+    hadjustment*: PAdjustment
+    vadjustment*: PAdjustment
+    bin_window*: gdk2.PWindow
+    header_window*: gdk2.PWindow
+    drag_window*: gdk2.PWindow
+    drag_highlight_window*: gdk2.PWindow
+    drag_column*: PTreeViewColumn
+    last_button_press*: PTreeRowReference
+    last_button_press_2*: PTreeRowReference
+    top_row*: PTreeRowReference
     top_row_dy*: gint
     dy*: gint
     drag_column_x*: gint
-    expander_column*: PGtkTreeViewColumn
-    edited_column*: PGtkTreeViewColumn
+    expander_column*: PTreeViewColumn
+    edited_column*: PTreeViewColumn
     presize_handler_timer*: guint
     validate_rows_timer*: guint
     scroll_sync_timer*: guint
-    focus_column*: PGtkTreeViewColumn
-    anchor*: PGtkTreeRowReference
-    cursor*: PGtkTreeRowReference
+    focus_column*: PTreeViewColumn
+    anchor*: PTreeRowReference
+    cursor*: PTreeRowReference
     drag_pos*: gint
     x_drag*: gint
-    prelight_node*: PGtkRBNode
-    prelight_tree*: PGtkRBTree
-    expanded_collapsed_node*: PGtkRBNode
-    expanded_collapsed_tree*: PGtkRBTree
+    prelight_node*: PRBNode
+    prelight_tree*: PRBTree
+    expanded_collapsed_node*: PRBNode
+    expanded_collapsed_tree*: PRBTree
     expand_collapse_timeout*: guint
-    selection*: PGtkTreeSelection
+    selection*: PTreeSelection
     n_columns*: gint
     columns*: PGList
     header_height*: gint
-    column_drop_func*: TGtkTreeViewColumnDropFunc
+    column_drop_func*: TTreeViewColumnDropFunc
     column_drop_func_data*: gpointer
-    column_drop_func_data_destroy*: TGtkDestroyNotify
+    column_drop_func_data_destroy*: TDestroyNotify
     column_drag_info*: PGList
-    cur_reorder*: PGtkTreeViewColumnReorder
-    destroy_count_func*: TGtkTreeDestroyCountFunc
+    cur_reorder*: PTreeViewColumnReorder
+    destroy_count_func*: TTreeDestroyCountFunc
     destroy_count_data*: gpointer
-    destroy_count_destroy*: TGtkDestroyNotify
+    destroy_count_destroy*: TDestroyNotify
     scroll_timeout*: guint
-    drag_dest_row*: PGtkTreeRowReference
-    drag_dest_pos*: TGtkTreeViewDropPosition
+    drag_dest_row*: PTreeRowReference
+    drag_dest_pos*: TTreeViewDropPosition
     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_path*: PTreeRowReference
+    scroll_to_column*: PTreeViewColumn
     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_dialog_position_func*: TTreeViewSearchDialogPositionFunc
+    search_equal_func*: TTreeViewSearchEqualFunc
     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){.
+    search_destroy*: TDestroyNotify
+
+  TTreeView* = object of TContainer
+    priv*: PTreeViewPrivate
+
+  PTreeViewClass* = ptr TTreeViewClass
+  TTreeViewClass* = object of TContainerClass
+    set_scroll_adjustments*: proc (tree_view: PTreeView, 
+                                   hadjustment: PAdjustment, 
+                                   vadjustment: PAdjustment){.cdecl.}
+    row_activated*: proc (tree_view: PTreeView, path: PTreePath, 
+                          column: PTreeViewColumn){.cdecl.}
+    test_expand_row*: proc (tree_view: PTreeView, iter: PTreeIter, 
+                            path: PTreePath): gboolean{.cdecl.}
+    test_collapse_row*: proc (tree_view: PTreeView, iter: PTreeIter, 
+                              path: PTreePath): gboolean{.cdecl.}
+    row_expanded*: proc (tree_view: PTreeView, iter: PTreeIter, path: PTreePath){.
+        cdecl.}
+    row_collapsed*: proc (tree_view: PTreeView, iter: PTreeIter, path: PTreePath){.
+        cdecl.}
+    columns_changed*: proc (tree_view: PTreeView){.cdecl.}
+    cursor_changed*: proc (tree_view: PTreeView){.cdecl.}
+    move_cursor*: proc (tree_view: PTreeView, step: TMovementStep, count: gint): 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,
+    select_all*: proc (tree_view: PTreeView){.cdecl.}
+    unselect_all*: proc (tree_view: PTreeView){.cdecl.}
+    select_cursor_row*: proc (tree_view: PTreeView, start_editing: gboolean){.
+        cdecl.}
+    toggle_cursor_row*: proc (tree_view: PTreeView){.cdecl.}
+    expand_collapse_cursor_row*: proc (tree_view: PTreeView, logical: gboolean, 
+                                       expand: gboolean, open_all: gboolean){.
+        cdecl.}
+    select_cursor_parent*: proc (tree_view: PTreeView){.cdecl.}
+    start_interactive_search*: proc (tree_view: PTreeView){.cdecl.}
+    reserved760: proc (){.cdecl.}
+    reserved761: proc (){.cdecl.}
+    reserved762: proc (){.cdecl.}
+    reserved763: proc (){.cdecl.}
+    reserved764: proc (){.cdecl.}
+
+  PVButtonBox* = ptr TVButtonBox
+  TVButtonBox* = object of TButtonBox
+  PVButtonBoxClass* = ptr TVButtonBoxClass
+  TVButtonBoxClass* = object of TButtonBoxClass
+  PViewport* = ptr TViewport
+  TViewport* = object of TBin
+    shadow_type*: TShadowType
+    view_window*: gdk2.PWindow
+    bin_window*: gdk2.PWindow
+    hadjustment*: PAdjustment
+    vadjustment*: PAdjustment
+
+  PViewportClass* = ptr TViewportClass
+  TViewportClass* = object of TBinClass
+    set_scroll_adjustments*: proc (viewport: PViewport, 
+                                   hadjustment: PAdjustment, 
+                                   vadjustment: PAdjustment){.cdecl.}
+
+  PVPaned* = ptr TVPaned
+  TVPaned* = object of TPaned
+  PVPanedClass* = ptr TVPanedClass
+  TVPanedClass* = object of TPanedClass
+  PVRuler* = ptr TVRuler
+  TVRuler* = object of TRuler
+  PVRulerClass* = ptr TVRulerClass
+  TVRulerClass* = object of TRulerClass
+  PVScale* = ptr TVScale
+  TVScale* = object of TScale
+  PVScaleClass* = ptr TVScaleClass
+  TVScaleClass* = object of TScaleClass
+  PVScrollbar* = ptr TVScrollbar
+  TVScrollbar* = object of TScrollbar
+  PVScrollbarClass* = ptr TVScrollbarClass
+  TVScrollbarClass* = object of TScrollbarClass
+  PVSeparator* = ptr TVSeparator
+  TVSeparator* = object of TSeparator
+  PVSeparatorClass* = ptr TVSeparatorClass
+  TVSeparatorClass* = object of TSeparatorClass
+
+const 
+  IN_DESTRUCTION* = 1 shl 0
+  FLOATING* = 1 shl 1
+  RESERVED_1* = 1 shl 2
+  RESERVED_2* = 1 shl 3
+  ARG_READABLE* = G_PARAM_READABLE
+  ARG_WRITABLE* = G_PARAM_WRITABLE
+  ARG_CONSTRUCT* = G_PARAM_CONSTRUCT
+  ARG_CONSTRUCT_ONLY* = G_PARAM_CONSTRUCT_ONLY
+  ARG_CHILD_ARG* = 1 shl 4
+
+proc TYPE_OBJECT*(): GType
+proc `OBJECT`*(anObject: pointer): PObject
+proc OBJECT_CLASS*(klass: pointer): PObjectClass
+proc IS_OBJECT*(anObject: pointer): bool
+proc IS_OBJECT_CLASS*(klass: pointer): bool
+proc OBJECT_GET_CLASS*(anObject: pointer): PObjectClass
+proc OBJECT_TYPE*(anObject: pointer): GType
+proc OBJECT_TYPE_NAME*(anObject: pointer): cstring
+proc OBJECT_FLAGS*(obj: pointer): guint32
+proc OBJECT_FLOATING*(obj: pointer): gboolean
+proc OBJECT_SET_FLAGS*(obj: pointer, flag: guint32)
+proc OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32)
+proc object_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_object_get_type".}
+proc object_new*(thetype: TType, first_property_name: cstring): PObject{.cdecl, 
+    varargs, dynlib: lib, importc: "gtk_object_new".}
+proc sink*(anObject: PObject){.cdecl, dynlib: lib, 
+                                      importc: "gtk_object_sink".}
+proc destroy*(anObject: PObject){.cdecl, dynlib: lib, 
     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,
+const 
+  TYPE_INVALID* = G_TYPE_INVALID
+  TYPE_NONE* = G_TYPE_NONE
+  TYPE_ENUM* = G_TYPE_ENUM
+  TYPE_FLAGS* = G_TYPE_FLAGS
+  TYPE_CHAR* = G_TYPE_CHAR
+  TYPE_UCHAR* = G_TYPE_UCHAR
+  TYPE_BOOL* = G_TYPE_BOOLEAN
+  TYPE_INT* = G_TYPE_INT
+  TYPE_UINT* = G_TYPE_UINT
+  TYPE_LONG* = G_TYPE_LONG
+  TYPE_ULONG* = G_TYPE_ULONG
+  TYPE_FLOAT* = G_TYPE_FLOAT
+  TYPE_DOUBLE* = G_TYPE_DOUBLE
+  TYPE_STRING* = G_TYPE_STRING
+  TYPE_BOXED* = G_TYPE_BOXED
+  TYPE_POINTER* = G_TYPE_POINTER
+
+proc TYPE_IDENTIFIER*(): GType
+proc identifier_get_type*(): GType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_identifier_get_type".}
+proc SIGNAL_FUNC*(f: pointer): TSignalFunc
+proc type_class*(thetype: TType): gpointer{.cdecl, dynlib: lib, 
     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
+const 
+  TOPLEVEL* = 1 shl 4
+  NO_WINDOW* = 1 shl 5
+  constREALIZED* = 1 shl 6
+  MAPPED* = 1 shl 7
+  constVISIBLE* = 1 shl 8
+  SENSITIVE* = 1 shl 9
+  PARENT_SENSITIVE* = 1 shl 10
+  CAN_FOCUS* = 1 shl 11
+  constHAS_FOCUS* = 1 shl 12
+  CAN_DEFAULT* = 1 shl 13
+  HAS_DEFAULT* = 1 shl 14
+  HAS_GRAB* = 1 shl 15
+  RC_STYLE* = 1 shl 16
+  COMPOSITE_CHILD* = 1 shl 17
+  NO_REPARENT* = 1 shl 18
+  APP_PAINTABLE* = 1 shl 19
+  RECEIVES_DEFAULT* = 1 shl 20
+  DOUBLE_BUFFERED* = 1 shl 21
+
+const 
+  bm_TGtkWidgetAuxInfo_x_set* = 0x0001'i16
   bp_TGtkWidgetAuxInfo_x_set* = 0'i16
-  bm_TGtkWidgetAuxInfo_y_set* = 0x00000002'i16
+  bm_TGtkWidgetAuxInfo_y_set* = 0x0002'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,
+proc TYPE_WIDGET*(): GType
+proc WIDGET*(widget: pointer): PWidget
+proc WIDGET_CLASS*(klass: pointer): PWidgetClass
+proc IS_WIDGET*(widget: pointer): bool
+proc IS_WIDGET_CLASS*(klass: pointer): bool
+proc WIDGET_GET_CLASS*(obj: pointer): PWidgetClass
+proc WIDGET_TYPE*(wid: pointer): GType
+proc WIDGET_STATE*(wid: pointer): int32
+proc WIDGET_SAVED_STATE*(wid: pointer): int32
+proc WIDGET_FLAGS*(wid: pointer): guint32
+proc WIDGET_TOPLEVEL*(wid: pointer): gboolean
+proc WIDGET_NO_WINDOW*(wid: pointer): gboolean
+proc WIDGET_REALIZED*(wid: pointer): gboolean
+proc WIDGET_MAPPED*(wid: pointer): gboolean
+proc WIDGET_VISIBLE*(wid: pointer): gboolean
+proc WIDGET_DRAWABLE*(wid: pointer): gboolean
+proc WIDGET_SENSITIVE*(wid: pointer): gboolean
+proc WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean
+proc WIDGET_IS_SENSITIVE*(wid: pointer): gboolean
+proc WIDGET_CAN_FOCUS*(wid: pointer): gboolean
+proc WIDGET_HAS_FOCUS*(wid: pointer): gboolean
+proc WIDGET_CAN_DEFAULT*(wid: pointer): gboolean
+proc WIDGET_HAS_DEFAULT*(wid: pointer): gboolean
+proc WIDGET_HAS_GRAB*(wid: pointer): gboolean
+proc WIDGET_RC_STYLE*(wid: pointer): gboolean
+proc WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean
+proc WIDGET_APP_PAINTABLE*(wid: pointer): gboolean
+proc WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean
+proc WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean
+proc SET_FLAGS*(wid: PWidget, flags: TWidgetFlags): TWidgetFlags
+proc UNSET_FLAGS*(wid: PWidget, flags: TWidgetFlags): TWidgetFlags
+proc TYPE_REQUISITION*(): GType
+proc x_set*(a: var TWidgetAuxInfo): guint
+proc set_x_set*(a: var TWidgetAuxInfo, x_set: guint)
+proc y_set*(a: var TWidgetAuxInfo): guint
+proc set_y_set*(a: var TWidgetAuxInfo, y_set: guint)
+proc widget_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_widget_get_type".}
+proc reference*(widget: PWidget): PWidget{.cdecl, dynlib: lib, 
     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,
+proc unref*(widget: PWidget){.cdecl, dynlib: lib, 
+                                     importc: "gtk_widget_unref".}
+proc destroy*(widget: PWidget){.cdecl, dynlib: lib, 
+                                       importc: "gtk_widget_destroy".}
+proc destroyed*(widget: PWidget, r: var PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_destroyed".}
+proc unparent*(widget: PWidget){.cdecl, dynlib: lib, 
+                                        importc: "gtk_widget_unparent".}
+proc show*(widget: PWidget){.cdecl, dynlib: lib, 
+                                    importc: "gtk_widget_show".}
+proc show_now*(widget: PWidget){.cdecl, dynlib: lib, 
+                                        importc: "gtk_widget_show_now".}
+proc hide*(widget: PWidget){.cdecl, dynlib: lib, 
+                                    importc: "gtk_widget_hide".}
+proc show_all*(widget: PWidget){.cdecl, dynlib: lib, 
+                                        importc: "gtk_widget_show_all".}
+proc hide_all*(widget: PWidget){.cdecl, dynlib: lib, 
+                                        importc: "gtk_widget_hide_all".}
+proc map*(widget: PWidget){.cdecl, dynlib: lib, importc: "gtk_widget_map".}
+proc unmap*(widget: PWidget){.cdecl, dynlib: lib, 
+                                     importc: "gtk_widget_unmap".}
+proc realize*(widget: PWidget){.cdecl, dynlib: lib, 
+                                       importc: "gtk_widget_realize".}
+proc unrealize*(widget: PWidget){.cdecl, dynlib: lib, 
     importc: "gtk_widget_unrealize".}
-proc gtk_widget_queue_draw*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
+proc queue_draw*(widget: PWidget){.cdecl, dynlib: lib, 
     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,
+proc queue_draw_area*(widget: PWidget, x: gint, y: gint, width: gint, 
+                             height: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_queue_draw_area".}
+proc queue_resize*(widget: PWidget){.cdecl, dynlib: lib, 
     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,
+proc size_request*(widget: PWidget, requisition: PRequisition){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_size_request".}
+proc size_allocate*(widget: PWidget, allocation: PAllocation){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_size_allocate".}
+proc get_child_requisition*(widget: PWidget, requisition: PRequisition){.
+    cdecl, dynlib: lib, importc: "gtk_widget_get_child_requisition".}
+proc add_accelerator*(widget: PWidget, accel_signal: cstring, 
+                             accel_group: PAccelGroup, accel_key: guint, 
+                             accel_mods: gdk2.TModifierType, 
+                             accel_flags: TAccelFlags){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_add_accelerator".}
+proc remove_accelerator*(widget: PWidget, accel_group: PAccelGroup, 
+                                accel_key: guint, accel_mods: gdk2.TModifierType): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_widget_remove_accelerator".}
+proc set_accel_path*(widget: PWidget, accel_path: cstring, 
+                            accel_group: PAccelGroup){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_set_accel_path".}
+proc get_accel_path*(widget: PWidget, locked: Pgboolean): cstring{.cdecl, 
+    dynlib: lib, importc: "_gtk_widget_get_accel_path".}
+proc list_accel_closures*(widget: PWidget): PGList{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_list_accel_closures".}
+proc mnemonic_activate*(widget: PWidget, group_cycling: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_widget_mnemonic_activate".}
+proc event*(widget: PWidget, event: gdk2.PEvent): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_event".}
+proc send_expose*(widget: PWidget, event: gdk2.PEvent): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_send_expose".}
+proc activate*(widget: PWidget): gboolean{.cdecl, dynlib: lib, 
     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,
+proc set_scroll_adjustments*(widget: PWidget, hadjustment: PAdjustment, 
+                                    vadjustment: PAdjustment): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_set_scroll_adjustments".}
+proc reparent*(widget: PWidget, new_parent: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_reparent".}
+proc intersect*(widget: PWidget, area: gdk2.PRectangle, 
+                       intersection: gdk2.PRectangle): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_intersect".}
+proc region_intersect*(widget: PWidget, region: gdk2.PRegion): gdk2.PRegion{.
+    cdecl, dynlib: lib, importc: "gtk_widget_region_intersect".}
+proc freeze_child_notify*(widget: PWidget){.cdecl, dynlib: lib, 
     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,
+proc child_notify*(widget: PWidget, child_property: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_child_notify".}
+proc thaw_child_notify*(widget: PWidget){.cdecl, dynlib: lib, 
     importc: "gtk_widget_thaw_child_notify".}
-proc gtk_widget_is_focus*(widget: PGtkWidget): gboolean{.cdecl, dynlib: gtklib,
+proc is_focus*(widget: PWidget): gboolean{.cdecl, dynlib: lib, 
     importc: "gtk_widget_is_focus".}
-proc gtk_widget_grab_focus*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
+proc grab_focus*(widget: PWidget){.cdecl, dynlib: lib, 
     importc: "gtk_widget_grab_focus".}
-proc gtk_widget_grab_default*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
+proc grab_default*(widget: PWidget){.cdecl, dynlib: lib, 
     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,
+proc set_name*(widget: PWidget, name: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_set_name".}
+proc get_name*(widget: PWidget): cstring{.cdecl, dynlib: lib, 
     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,
+proc set_state*(widget: PWidget, state: TStateType){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_set_state".}
+proc set_sensitive*(widget: PWidget, sensitive: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_set_sensitive".}
+proc set_app_paintable*(widget: PWidget, app_paintable: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_set_app_paintable".}
+proc set_double_buffered*(widget: PWidget, double_buffered: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_widget_set_double_buffered".}
+proc set_redraw_on_allocate*(widget: PWidget, 
+                                    redraw_on_allocate: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_set_redraw_on_allocate".}
+proc set_parent*(widget: PWidget, parent: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_set_parent".}
+proc set_parent_window*(widget: PWidget, parent_window: gdk2.PWindow){.
+    cdecl, dynlib: lib, importc: "gtk_widget_set_parent_window".}
+proc set_child_visible*(widget: PWidget, is_visible: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_set_child_visible".}
+proc get_child_visible*(widget: PWidget): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_child_visible".}
+proc get_parent*(widget: PWidget): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_parent".}
+proc get_parent_window*(widget: PWidget): gdk2.PWindow{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_parent_window".}
+proc child_focus*(widget: PWidget, direction: TDirectionType): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_widget_child_focus".}
+proc set_size_request*(widget: PWidget, width: gint, height: gint){.
+    cdecl, dynlib: lib, importc: "gtk_widget_set_size_request".}
+proc get_size_request*(widget: PWidget, width: Pgint, height: Pgint){.
+    cdecl, dynlib: lib, importc: "gtk_widget_get_size_request".}
+proc set_events*(widget: PWidget, events: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_set_events".}
+proc add_events*(widget: PWidget, events: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_add_events".}
+proc set_extension_events*(widget: PWidget, mode: gdk2.TExtensionMode){.
+    cdecl, dynlib: lib, importc: "gtk_widget_set_extension_events".}
+proc get_extension_events*(widget: PWidget): gdk2.TExtensionMode{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_get_extension_events".}
+proc get_toplevel*(widget: PWidget): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_toplevel".}
+proc get_ancestor*(widget: PWidget, widget_type: TType): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_get_ancestor".}
+proc get_colormap*(widget: PWidget): gdk2.PColormap{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_colormap".}
+proc get_visual*(widget: PWidget): gdk2.PVisual{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_visual".}
+proc get_screen*(widget: PWidget): gdk2.PScreen{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_screen".}
+proc has_screen*(widget: PWidget): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_has_screen".}
+proc get_display*(widget: PWidget): gdk2.PDisplay{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_display".}
+proc get_root_window*(widget: PWidget): gdk2.PWindow{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_root_window".}
+proc get_settings*(widget: PWidget): PSettings{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_settings".}
+proc get_clipboard*(widget: PWidget, selection: gdk2.TAtom): PClipboard{.
+    cdecl, dynlib: lib, importc: "gtk_widget_get_clipboard".}
+proc get_accessible*(widget: PWidget): atk.PObject{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_accessible".}
+proc set_colormap*(widget: PWidget, colormap: gdk2.PColormap){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_set_colormap".}
+proc get_events*(widget: PWidget): gint{.cdecl, dynlib: lib, 
     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,
+proc get_pointer*(widget: PWidget, x: Pgint, y: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_get_pointer".}
+proc is_ancestor*(widget: PWidget, ancestor: PWidget): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_is_ancestor".}
+proc translate_coordinates*(src_widget: PWidget, dest_widget: PWidget, 
+                                   src_x: gint, src_y: gint, dest_x: Pgint, 
+                                   dest_y: Pgint): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_translate_coordinates".}
+proc hide_on_delete*(widget: PWidget): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_hide_on_delete".}
+proc set_style*(widget: PWidget, style: PStyle){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_set_style".}
+proc ensure_style*(widget: PWidget){.cdecl, dynlib: lib, 
     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,
+proc get_style*(widget: PWidget): PStyle{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_style".}
+proc modify_style*(widget: PWidget, style: PRcStyle){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_modify_style".}
+proc get_modifier_style*(widget: PWidget): PRcStyle{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_modifier_style".}
+proc modify_fg*(widget: PWidget, state: TStateType, color: gdk2.PColor){.
+    cdecl, dynlib: lib, importc: "gtk_widget_modify_fg".}
+proc modify_bg*(widget: PWidget, state: TStateType, color: gdk2.PColor){.
+    cdecl, dynlib: lib, importc: "gtk_widget_modify_bg".}
+proc modify_text*(widget: PWidget, state: TStateType, color: gdk2.PColor){.
+    cdecl, dynlib: lib, importc: "gtk_widget_modify_text".}
+proc modify_base*(widget: PWidget, state: TStateType, color: gdk2.PColor){.
+    cdecl, dynlib: lib, importc: "gtk_widget_modify_base".}
+proc modify_font*(widget: PWidget, font_desc: pango.PFontDescription){.
+    cdecl, dynlib: lib, importc: "gtk_widget_modify_font".}
+proc create_pango_context*(widget: PWidget): pango.PContext{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_create_pango_context".}
+proc get_pango_context*(widget: PWidget): pango.PContext{.cdecl, 
+    dynlib: lib, importc: "gtk_widget_get_pango_context".}
+proc create_pango_layout*(widget: PWidget, text: cstring): pango.PLayout{.
+    cdecl, dynlib: lib, importc: "gtk_widget_create_pango_layout".}
+proc render_icon*(widget: PWidget, stock_id: cstring, size: TIconSize, 
+                         detail: cstring): gdk2pixbuf.PPixbuf{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_render_icon".}
+proc set_composite_name*(widget: PWidget, name: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_set_composite_name".}
+proc get_composite_name*(widget: PWidget): cstring{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_composite_name".}
+proc reset_rc_styles*(widget: PWidget){.cdecl, dynlib: lib, 
     importc: "gtk_widget_reset_rc_styles".}
-proc gtk_widget_push_colormap*(cmap: PGdkColormap){.cdecl, dynlib: gtklib,
+proc widget_push_colormap*(cmap: gdk2.PColormap){.cdecl, dynlib: lib, 
     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,
+proc widget_push_composite_child*(){.cdecl, dynlib: lib, 
+                                     importc: "gtk_widget_push_composite_child".}
+proc widget_pop_composite_child*(){.cdecl, dynlib: lib, 
+                                    importc: "gtk_widget_pop_composite_child".}
+proc widget_pop_colormap*(){.cdecl, dynlib: lib, 
+                             importc: "gtk_widget_pop_colormap".}
+proc install_style_property*(klass: PWidgetClass, 
+    pspec: PGParamSpec){.cdecl, dynlib: lib, 
                          importc: "gtk_widget_class_install_style_property".}
-proc gtk_widget_class_install_style_property_parser*(klass: PGtkWidgetClass,
-    pspec: PGParamSpec, parser: TGtkRcPropertyParser){.cdecl, dynlib: gtklib,
+proc install_style_property_parser*(klass: PWidgetClass, 
+    pspec: PGParamSpec, parser: TRcPropertyParser){.cdecl, dynlib: lib, 
     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,
+proc find_style_property*(klass: PWidgetClass, 
+                                       property_name: cstring): PGParamSpec{.
+    cdecl, dynlib: lib, importc: "gtk_widget_class_find_style_property".}
+proc list_style_properties*(klass: PWidgetClass, 
+    n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: lib, 
     importc: "gtk_widget_class_list_style_properties".}
-proc gtk_widget_style_get_property*(widget: PGtkWidget, property_name: cstring,
-                                    value: PGValue){.cdecl, dynlib: gtklib,
+proc style_get_property*(widget: PWidget, property_name: cstring, 
+                                value: PGValue){.cdecl, dynlib: lib, 
     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,
+proc widget_set_default_colormap*(colormap: gdk2.PColormap){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_set_default_colormap".}
+proc widget_get_default_style*(): PStyle{.cdecl, dynlib: lib, 
     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,
+proc set_direction*(widget: PWidget, dir: TTextDirection){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_set_direction".}
+proc get_direction*(widget: PWidget): TTextDirection{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_direction".}
+proc widget_set_default_direction*(dir: TTextDirection){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_set_default_direction".}
+proc widget_get_default_direction*(): TTextDirection{.cdecl, dynlib: lib, 
+    importc: "gtk_widget_get_default_direction".}
+proc shape_combine_mask*(widget: PWidget, shape_mask: gdk2.PBitmap, 
+                                offset_x: gint, offset_y: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_widget_shape_combine_mask".}
+proc reset_shapes*(widget: PWidget){.cdecl, dynlib: lib, 
     importc: "gtk_widget_reset_shapes".}
-proc gtk_widget_path*(widget: PGtkWidget, path_length: Pguint, path: PPgchar,
-                      path_reversed: PPgchar){.cdecl, dynlib: gtklib,
+proc path*(widget: PWidget, path_length: Pguint, path: PPgchar, 
+                  path_reversed: PPgchar){.cdecl, dynlib: lib, 
     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,
+proc class_path*(widget: PWidget, path_length: Pguint, path: PPgchar, 
+                        path_reversed: PPgchar){.cdecl, dynlib: lib, 
+    importc: "gtk_widget_class_path".}
+proc requisition_get_type*(): GType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_requisition_get_type".}
+proc copy*(requisition: PRequisition): PRequisition{.cdecl, 
+    dynlib: lib, importc: "gtk_requisition_copy".}
+proc free*(requisition: PRequisition){.cdecl, dynlib: lib, 
     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,
+proc get_aux_info*(widget: PWidget, create: gboolean): PWidgetAuxInfo{.
+    cdecl, dynlib: lib, importc: "gtk_widget_get_aux_info".}
+proc propagate_hierarchy_changed*(widget: PWidget, 
+    previous_toplevel: PWidget){.cdecl, dynlib: lib, importc: "_gtk_widget_propagate_hierarchy_changed".}
+proc widget_peek_colormap*(): gdk2.PColormap{.cdecl, dynlib: lib, 
     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
+proc TYPE_MISC*(): GType
+proc MISC*(obj: pointer): PMisc
+proc MISC_CLASS*(klass: pointer): PMiscClass
+proc IS_MISC*(obj: pointer): bool
+proc IS_MISC_CLASS*(klass: pointer): bool
+proc MISC_GET_CLASS*(obj: pointer): PMiscClass
+proc misc_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_misc_get_type".}
+proc set_alignment*(misc: PMisc, xalign: gfloat, yalign: gfloat){.cdecl, 
+    dynlib: lib, importc: "gtk_misc_set_alignment".}
+proc get_alignment*(misc: PMisc, xalign, yalign: var Pgfloat){.cdecl, 
+    dynlib: lib, importc: "gtk_misc_get_alignment".}
+proc set_padding*(misc: PMisc, xpad: gint, ypad: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_misc_set_padding".}
+proc get_padding*(misc: PMisc, xpad, ypad: var Pgint){.cdecl, dynlib: lib, 
+    importc: "gtk_misc_get_padding".}
+const 
+  ACCEL_VISIBLE* = 1 shl 0
+  ACCEL_LOCKED* = 1 shl 1
+  ACCEL_MASK* = 0x00000007
+  bm_TGtkAccelKey_accel_flags* = 0xFFFF'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,
+proc TYPE_ACCEL_GROUP*(): GType
+proc ACCEL_GROUP*(anObject: pointer): PAccelGroup
+proc ACCEL_GROUP_CLASS*(klass: pointer): PAccelGroupClass
+proc IS_ACCEL_GROUP*(anObject: pointer): bool
+proc IS_ACCEL_GROUP_CLASS*(klass: pointer): bool
+proc ACCEL_GROUP_GET_CLASS*(obj: pointer): PAccelGroupClass
+proc accel_flags*(a: var TAccelKey): guint
+proc set_accel_flags*(a: var TAccelKey, `accel_flags`: guint)
+proc accel_group_get_type*(): GType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_accel_group_get_type".}
+proc accel_group_new*(): PAccelGroup{.cdecl, dynlib: lib, 
+                                      importc: "gtk_accel_group_new".}
+proc lock*(accel_group: PAccelGroup){.cdecl, dynlib: lib, 
     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,
+proc unlock*(accel_group: PAccelGroup){.cdecl, dynlib: lib, 
+    importc: "gtk_accel_group_unlock".}
+proc connect*(accel_group: PAccelGroup, accel_key: guint, 
+                          accel_mods: gdk2.TModifierType, 
+                          accel_flags: TAccelFlags, closure: PGClosure){.cdecl, 
+    dynlib: lib, importc: "gtk_accel_group_connect".}
+proc connect_by_path*(accel_group: PAccelGroup, accel_path: cstring, 
+                                  closure: PGClosure){.cdecl, dynlib: lib, 
+    importc: "gtk_accel_group_connect_by_path".}
+proc disconnect*(accel_group: PAccelGroup, closure: PGClosure): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_accel_group_disconnect".}
+proc disconnect_key*(accel_group: PAccelGroup, accel_key: guint, 
+                                 accel_mods: gdk2.TModifierType): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_accel_group_disconnect_key".}
+proc attach*(accel_group: PAccelGroup, anObject: PGObject){.cdecl, 
+    dynlib: lib, importc: "_gtk_accel_group_attach".}
+proc detach*(accel_group: PAccelGroup, anObject: PGObject){.cdecl, 
+    dynlib: lib, importc: "_gtk_accel_group_detach".}
+proc accel_groups_activate*(anObject: PGObject, accel_key: guint, 
+                            accel_mods: gdk2.TModifierType): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_accel_groups_activate".}
+proc accel_groups_from_object*(anObject: PGObject): PGSList{.cdecl, dynlib: lib, 
+    importc: "gtk_accel_groups_from_object".}
+proc find*(accel_group: PAccelGroup, 
+                       find_func: Taccel_group_find_func, data: gpointer): PAccelKey{.
+    cdecl, dynlib: lib, importc: "gtk_accel_group_find".}
+proc accel_group_from_accel_closure*(closure: PGClosure): PAccelGroup{.cdecl, 
+    dynlib: lib, importc: "gtk_accel_group_from_accel_closure".}
+proc accelerator_valid*(keyval: guint, modifiers: gdk2.TModifierType): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_accelerator_valid".}
+proc accelerator_parse*(accelerator: cstring, accelerator_key: Pguint, 
+                        accelerator_mods: gdk2.PModifierType){.cdecl, dynlib: lib, 
+    importc: "gtk_accelerator_parse".}
+proc accelerator_name*(accelerator_key: guint, 
+                       accelerator_mods: gdk2.TModifierType): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_accelerator_name".}
+proc accelerator_set_default_mod_mask*(default_mod_mask: gdk2.TModifierType){.
+    cdecl, dynlib: lib, importc: "gtk_accelerator_set_default_mod_mask".}
+proc accelerator_get_default_mod_mask*(): guint{.cdecl, dynlib: lib, 
     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
+proc query*(accel_group: PAccelGroup, accel_key: guint, 
+                        accel_mods: gdk2.TModifierType, n_entries: Pguint): PAccelGroupEntry{.
+    cdecl, dynlib: lib, importc: "gtk_accel_group_query".}
+proc reconnect*(accel_group: PAccelGroup, accel_path_quark: TGQuark){.
+    cdecl, dynlib: lib, importc: "_gtk_accel_group_reconnect".}
+const 
   bm_TGtkContainer_border_width* = 0x0000FFFF'i32
   bp_TGtkContainer_border_width* = 0'i32
   bm_TGtkContainer_need_resize* = 0x00010000'i32
@@ -4034,121 +3908,113 @@ const
   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,
+proc TYPE_CONTAINER*(): GType
+proc CONTAINER*(obj: pointer): PContainer
+proc CONTAINER_CLASS*(klass: pointer): PContainerClass
+proc IS_CONTAINER*(obj: pointer): bool
+proc IS_CONTAINER_CLASS*(klass: pointer): bool
+proc CONTAINER_GET_CLASS*(obj: pointer): PContainerClass
+proc IS_RESIZE_CONTAINER*(widget: pointer): bool
+proc border_width*(a: var TContainer): guint
+proc set_border_width*(a: var TContainer, `border_width`: guint)
+proc need_resize*(a: var TContainer): guint
+proc set_need_resize*(a: var TContainer, `need_resize`: guint)
+proc resize_mode*(a: PContainer): guint
+proc set_resize_mode*(a: var TContainer, `resize_mode`: guint)
+proc reallocate_redraws*(a: var TContainer): guint
+proc set_reallocate_redraws*(a: var TContainer, `reallocate_redraws`: guint)
+proc has_focus_chain*(a: var TContainer): guint
+proc set_has_focus_chain*(a: var TContainer, `has_focus_chain`: guint)
+proc container_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_container_get_type".}
+proc set_border_width*(container: PContainer, border_width: guint){.
+    cdecl, dynlib: lib, importc: "gtk_container_set_border_width".}
+proc get_border_width*(container: PContainer): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_container_get_border_width".}
+proc add*(container: PContainer, widget: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_container_add".}
+proc remove*(container: PContainer, widget: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_container_remove".}
+proc set_resize_mode*(container: PContainer, resize_mode: TResizeMode){.
+    cdecl, dynlib: lib, importc: "gtk_container_set_resize_mode".}
+proc get_resize_mode*(container: PContainer): TResizeMode{.cdecl, 
+    dynlib: lib, importc: "gtk_container_get_resize_mode".}
+proc check_resize*(container: PContainer){.cdecl, dynlib: lib, 
+    importc: "gtk_container_check_resize".}
+proc foreach*(container: PContainer, callback: TCallback, 
+                        callback_data: gpointer){.cdecl, dynlib: lib, 
     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,
+proc get_children*(container: PContainer): PGList{.cdecl, dynlib: lib, 
+    importc: "gtk_container_get_children".}
+proc propagate_expose*(container: PContainer, child: PWidget, 
+                                 event: gdk2.PEventExpose){.cdecl, dynlib: lib, 
+    importc: "gtk_container_propagate_expose".}
+proc set_focus_chain*(container: PContainer, focusable_widgets: PGList){.
+    cdecl, dynlib: lib, importc: "gtk_container_set_focus_chain".}
+proc get_focus_chain*(container: PContainer, s: var PGList): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_container_get_focus_chain".}
+proc unset_focus_chain*(container: PContainer){.cdecl, dynlib: lib, 
+    importc: "gtk_container_unset_focus_chain".}
+proc set_reallocate_redraws*(container: PContainer, 
+                                       needs_redraws: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_container_set_reallocate_redraws".}
+proc set_focus_child*(container: PContainer, child: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_container_set_focus_child".}
+proc set_focus_vadjustment*(container: PContainer, 
+                                      adjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_container_set_focus_vadjustment".}
+proc get_focus_vadjustment*(container: PContainer): PAdjustment{.
+    cdecl, dynlib: lib, importc: "gtk_container_get_focus_vadjustment".}
+proc set_focus_hadjustment*(container: PContainer, 
+                                      adjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_container_set_focus_hadjustment".}
+proc get_focus_hadjustment*(container: PContainer): PAdjustment{.
+    cdecl, dynlib: lib, importc: "gtk_container_get_focus_hadjustment".}
+proc resize_children*(container: PContainer){.cdecl, dynlib: lib, 
+    importc: "gtk_container_resize_children".}
+proc child_type*(container: PContainer): TType{.cdecl, dynlib: lib, 
+    importc: "gtk_container_child_type".}
+proc install_child_property*(cclass: PContainerClass, 
+    property_id: guint, pspec: PGParamSpec){.cdecl, dynlib: lib, 
     importc: "gtk_container_class_install_child_property".}
-proc gtk_container_class_find_child_property*(cclass: PGObjectClass,
-    property_name: cstring): PGParamSpec{.cdecl, dynlib: gtklib,
+proc container_class_find_child_property*(cclass: PGObjectClass, 
+    property_name: cstring): PGParamSpec{.cdecl, dynlib: lib, 
     importc: "gtk_container_class_find_child_property".}
-proc gtk_container_class_list_child_properties*(cclass: PGObjectClass,
-    n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: gtklib,
+proc container_class_list_child_properties*(cclass: PGObjectClass, 
+    n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: lib, 
     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,
+proc child_set_property*(container: PContainer, child: PWidget, 
+                                   property_name: cstring, value: PGValue){.
+    cdecl, dynlib: lib, importc: "gtk_container_child_set_property".}
+proc child_get_property*(container: PContainer, child: PWidget, 
+                                   property_name: cstring, value: PGValue){.
+    cdecl, dynlib: lib, importc: "gtk_container_child_get_property".}
+proc 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,
+proc forall*(container: PContainer, callback: TCallback, 
+                       callback_data: gpointer){.cdecl, dynlib: lib, 
     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,
+proc queue_resize*(container: PContainer){.cdecl, dynlib: lib, 
+    importc: "_gtk_container_queue_resize".}
+proc clear_resize_widgets*(container: PContainer){.cdecl, dynlib: lib, 
+    importc: "_gtk_container_clear_resize_widgets".}
+proc child_composite_name*(container: PContainer, child: PWidget): cstring{.
+    cdecl, dynlib: lib, importc: "_gtk_container_child_composite_name".}
+proc dequeue_resize_handler*(container: PContainer){.cdecl, 
+    dynlib: lib, importc: "_gtk_container_dequeue_resize_handler".}
+proc focus_sort*(container: PContainer, children: PGList, 
+                           direction: TDirectionType, old_focus: PWidget): PGList{.
+    cdecl, dynlib: lib, importc: "_gtk_container_focus_sort".}
+proc TYPE_BIN*(): GType
+proc BIN*(obj: pointer): PBin
+proc BIN_CLASS*(klass: pointer): PBinClass
+proc IS_BIN*(obj: pointer): bool
+proc IS_BIN_CLASS*(klass: pointer): bool
+proc BIN_GET_CLASS*(obj: pointer): PBinClass
+proc bin_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_bin_get_type".}
+proc get_child*(bin: PBin): PWidget{.cdecl, dynlib: lib, 
     importc: "gtk_bin_get_child".}
-const
+const 
   bm_TGtkWindow_allow_shrink* = 0x00000001'i32
   bp_TGtkWindow_allow_shrink* = 0'i32
   bm_TGtkWindow_allow_grow* = 0x00000002'i32
@@ -4186,1187 +4052,1142 @@ const
   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,
+proc TYPE_WINDOW*(): GType
+proc WINDOW*(obj: pointer): PWindow
+proc WINDOW_CLASS*(klass: pointer): PWindowClass
+proc IS_WINDOW*(obj: pointer): bool
+proc IS_WINDOW_CLASS*(klass: pointer): bool
+proc WINDOW_GET_CLASS*(obj: pointer): PWindowClass
+proc allow_shrink*(a: var TWindow): guint
+proc set_allow_shrink*(a: var TWindow, `allow_shrink`: guint)
+proc allow_grow*(a: var TWindow): guint
+proc set_allow_grow*(a: var TWindow, `allow_grow`: guint)
+proc configure_notify_received*(a: var TWindow): guint
+proc set_configure_notify_received*(a: var TWindow, 
                                     `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,
+proc need_default_position*(a: var TWindow): guint
+proc set_need_default_position*(a: var TWindow, `need_default_position`: guint)
+proc need_default_size*(a: var TWindow): guint
+proc set_need_default_size*(a: var TWindow, `need_default_size`: guint)
+proc position*(a: var TWindow): guint
+proc set_position*(a: var TWindow, `position`: guint)
+proc get_type*(a: var TWindow): guint
+proc set_type*(a: var TWindow, `type`: guint)
+proc has_user_ref_count*(a: var TWindow): guint
+proc set_has_user_ref_count*(a: var TWindow, `has_user_ref_count`: guint)
+proc has_focus*(a: var TWindow): guint
+proc set_has_focus*(a: var TWindow, `has_focus`: guint)
+proc modal*(a: var TWindow): guint
+proc set_modal*(a: var TWindow, `modal`: guint)
+proc destroy_with_parent*(a: var TWindow): guint
+proc set_destroy_with_parent*(a: var TWindow, `destroy_with_parent`: guint)
+proc has_frame*(a: var TWindow): guint
+proc set_has_frame*(a: var TWindow, `has_frame`: guint)
+proc iconify_initially*(a: var TWindow): guint
+proc set_iconify_initially*(a: var TWindow, `iconify_initially`: guint)
+proc stick_initially*(a: var TWindow): guint
+proc set_stick_initially*(a: var TWindow, `stick_initially`: guint)
+proc maximize_initially*(a: var TWindow): guint
+proc set_maximize_initially*(a: var TWindow, `maximize_initially`: guint)
+proc decorated*(a: var TWindow): guint
+proc set_decorated*(a: var TWindow, `decorated`: guint)
+proc type_hint*(a: var TWindow): guint
+proc set_type_hint*(a: var TWindow, `type_hint`: guint)
+proc gravity*(a: var TWindow): guint
+proc set_gravity*(a: var TWindow, `gravity`: guint)
+proc TYPE_WINDOW_GROUP*(): GType
+proc WINDOW_GROUP*(anObject: pointer): PWindowGroup
+proc WINDOW_GROUP_CLASS*(klass: pointer): PWindowGroupClass
+proc IS_WINDOW_GROUP*(anObject: pointer): bool
+proc IS_WINDOW_GROUP_CLASS*(klass: pointer): bool
+proc WINDOW_GROUP_GET_CLASS*(obj: pointer): PWindowGroupClass
+proc window_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_window_get_type".}
+proc window_new*(thetype: TWindowType): PWindow{.cdecl, dynlib: lib, 
+    importc: "gtk_window_new".}
+proc set_title*(window: PWindow, title: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_window_set_title".}
+proc get_title*(window: PWindow): cstring{.cdecl, dynlib: lib, 
     importc: "gtk_window_get_title".}
-proc gtk_window_set_wmclass*(window: PGtkWindow, wmclass_name: cstring,
-                             wmclass_class: cstring){.cdecl, dynlib: gtklib,
+proc set_wmclass*(window: PWindow, wmclass_name: cstring, 
+                         wmclass_class: cstring){.cdecl, dynlib: lib, 
     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,
+proc set_role*(window: PWindow, role: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_window_set_role".}
+proc get_role*(window: PWindow): cstring{.cdecl, dynlib: lib, 
     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,
+proc add_accel_group*(window: PWindow, accel_group: PAccelGroup){.cdecl, 
+    dynlib: lib, importc: "gtk_window_add_accel_group".}
+proc remove_accel_group*(window: PWindow, accel_group: PAccelGroup){.
+    cdecl, dynlib: lib, importc: "gtk_window_remove_accel_group".}
+proc set_position*(window: PWindow, position: TWindowPosition){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_position".}
+proc activate_focus*(window: PWindow): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_window_activate_focus".}
+proc set_focus*(window: PWindow, focus: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_window_set_focus".}
+proc get_focus*(window: PWindow): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_focus".}
+proc set_default*(window: PWindow, default_widget: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_default".}
+proc activate_default*(window: PWindow): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_window_activate_default".}
+proc set_transient_for*(window: PWindow, parent: PWindow){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_transient_for".}
+proc get_transient_for*(window: PWindow): PWindow{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_transient_for".}
+proc set_type_hint*(window: PWindow, hint: gdk2.TWindowTypeHint){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_type_hint".}
+proc get_type_hint*(window: PWindow): gdk2.TWindowTypeHint{.cdecl, 
+    dynlib: lib, importc: "gtk_window_get_type_hint".}
+proc set_destroy_with_parent*(window: PWindow, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_destroy_with_parent".}
+proc get_destroy_with_parent*(window: PWindow): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_window_get_destroy_with_parent".}
+proc set_resizable*(window: PWindow, resizable: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_resizable".}
+proc get_resizable*(window: PWindow): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_resizable".}
+proc set_gravity*(window: PWindow, gravity: gdk2.TGravity){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_gravity".}
+proc get_gravity*(window: PWindow): gdk2.TGravity{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_gravity".}
+proc set_geometry_hints*(window: PWindow, geometry_widget: PWidget, 
+                                geometry: gdk2.PGeometry, 
+                                geom_mask: gdk2.TWindowHints){.cdecl, dynlib: lib, 
+    importc: "gtk_window_set_geometry_hints".}
+proc set_screen*(window: PWindow, screen: gdk2.PScreen){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_screen".}
+proc get_screen*(window: PWindow): gdk2.PScreen{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_screen".}
+proc set_has_frame*(window: PWindow, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_has_frame".}
+proc get_has_frame*(window: PWindow): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_has_frame".}
+proc set_frame_dimensions*(window: PWindow, left: gint, top: gint, 
+                                  right: gint, bottom: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_frame_dimensions".}
+proc get_frame_dimensions*(window: PWindow, left: Pgint, top: Pgint, 
+                                  right: Pgint, bottom: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_window_get_frame_dimensions".}
+proc set_decorated*(window: PWindow, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_window_set_decorated".}
+proc get_decorated*(window: PWindow): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_decorated".}
+proc set_icon_list*(window: PWindow, list: PGList){.cdecl, dynlib: lib, 
+    importc: "gtk_window_set_icon_list".}
+proc get_icon_list*(window: PWindow): PGList{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_icon_list".}
+proc set_icon*(window: PWindow, icon: gdk2pixbuf.PPixbuf){.cdecl, dynlib: lib, 
+    importc: "gtk_window_set_icon".}
+proc get_icon*(window: PWindow): gdk2pixbuf.PPixbuf{.cdecl, dynlib: lib, 
+    importc: "gtk_window_get_icon".}
+proc window_set_default_icon_list*(list: PGList){.cdecl, dynlib: lib, 
     importc: "gtk_window_set_default_icon_list".}
-proc gtk_window_get_default_icon_list*(): PGList{.cdecl, dynlib: gtklib,
+proc window_get_default_icon_list*(): PGList{.cdecl, dynlib: lib, 
     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,
+proc set_modal*(window: PWindow, modal: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_window_set_modal".}
+proc get_modal*(window: PWindow): gboolean{.cdecl, dynlib: lib, 
     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,
+proc window_list_toplevels*(): PGList{.cdecl, dynlib: lib, 
+                                       importc: "gtk_window_list_toplevels".}
+proc add_mnemonic*(window: PWindow, keyval: guint, target: PWidget){.
+    cdecl, dynlib: lib, importc: "gtk_window_add_mnemonic".}
+proc remove_mnemonic*(window: PWindow, keyval: guint, target: PWidget){.
+    cdecl, dynlib: lib, importc: "gtk_window_remove_mnemonic".}
+proc mnemonic_activate*(window: PWindow, keyval: guint, 
+                               modifier: gdk2.TModifierType): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_window_mnemonic_activate".}
+proc set_mnemonic_modifier*(window: PWindow, modifier: gdk2.TModifierType){.
+    cdecl, dynlib: lib, importc: "gtk_window_set_mnemonic_modifier".}
+proc get_mnemonic_modifier*(window: PWindow): gdk2.TModifierType{.cdecl, 
+    dynlib: lib, importc: "gtk_window_get_mnemonic_modifier".}
+proc present*(window: PWindow){.cdecl, dynlib: lib, 
+                                       importc: "gtk_window_present".}
+proc iconify*(window: PWindow){.cdecl, dynlib: lib, 
+                                       importc: "gtk_window_iconify".}
+proc deiconify*(window: PWindow){.cdecl, dynlib: lib, 
     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,
+proc stick*(window: PWindow){.cdecl, dynlib: lib, 
+                                     importc: "gtk_window_stick".}
+proc unstick*(window: PWindow){.cdecl, dynlib: lib, 
+                                       importc: "gtk_window_unstick".}
+proc maximize*(window: PWindow){.cdecl, dynlib: lib, 
+                                        importc: "gtk_window_maximize".}
+proc unmaximize*(window: PWindow){.cdecl, dynlib: lib, 
     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,
+proc begin_resize_drag*(window: PWindow, edge: gdk2.TWindowEdge, 
+                               button: gint, root_x: gint, root_y: gint, 
+                               timestamp: guint32){.cdecl, dynlib: lib, 
     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,
+proc begin_move_drag*(window: PWindow, button: gint, root_x: gint, 
+                             root_y: gint, timestamp: guint32){.cdecl, 
+    dynlib: lib, importc: "gtk_window_begin_move_drag".}
+proc set_default_size*(window: PWindow, width: gint, height: gint){.
+    cdecl, dynlib: lib, importc: "gtk_window_set_default_size".}
+proc get_default_size*(window: PWindow, width: Pgint, height: Pgint){.
+    cdecl, dynlib: lib, importc: "gtk_window_get_default_size".}
+proc resize*(window: PWindow, width: gint, height: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_window_resize".}
+proc get_size*(window: PWindow, width: Pgint, height: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_window_get_size".}
+proc move*(window: PWindow, x: gint, y: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_window_move".}
+proc get_position*(window: PWindow, root_x: Pgint, root_y: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_window_get_position".}
+proc parse_geometry*(window: PWindow, geometry: cstring): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_window_parse_geometry".}
+proc reshow_with_initial_size*(window: PWindow){.cdecl, dynlib: lib, 
+    importc: "gtk_window_reshow_with_initial_size".}
+proc window_group_get_type*(): GType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_window_group_get_type".}
+proc window_group_new*(): PWindowGroup{.cdecl, dynlib: lib, 
+                                        importc: "gtk_window_group_new".}
+proc add_window*(window_group: PWindowGroup, window: PWindow){.
+    cdecl, dynlib: lib, importc: "gtk_window_group_add_window".}
+proc remove_window*(window_group: PWindowGroup, window: PWindow){.
+    cdecl, dynlib: lib, importc: "gtk_window_group_remove_window".}
+proc window_set_default_icon_name*(name: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_window_set_default_icon_name".}
+proc internal_set_focus*(window: PWindow, focus: PWidget){.cdecl, 
+    dynlib: lib, importc: "_gtk_window_internal_set_focus".}
+proc remove_embedded_xid*(window: PWindow, xid: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_window_remove_embedded_xid".}
+proc add_embedded_xid*(window: PWindow, xid: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_window_add_embedded_xid".}
+proc reposition*(window: PWindow, x: gint, y: gint){.cdecl, dynlib: lib, 
+    importc: "_gtk_window_reposition".}
+proc constrain_size*(window: PWindow, width: gint, height: gint, 
+                            new_width: Pgint, new_height: Pgint){.cdecl, 
+    dynlib: lib, importc: "_gtk_window_constrain_size".}
+proc get_group*(window: PWindow): PWindowGroup{.cdecl, dynlib: lib, 
+    importc: "_gtk_window_get_group".}
+proc activate_key*(window: PWindow, event: gdk2.PEventKey): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_window_activate_key".}
+proc keys_foreach*(window: PWindow, func: TWindowKeysForeachFunc, 
+                          func_data: gpointer){.cdecl, dynlib: lib, 
     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
+proc query_nonaccels*(window: PWindow, accel_key: guint, 
+                             accel_mods: gdk2.TModifierType): gboolean{.cdecl, 
+    dynlib: lib, importc: "_gtk_window_query_nonaccels".}
+const 
+  bm_TGtkLabel_jtype* = 0x0003'i16
   bp_TGtkLabel_jtype* = 0'i16
-  bm_TGtkLabel_wrap* = 0x00000004'i16
+  bm_TGtkLabel_wrap* = 0x0004'i16
   bp_TGtkLabel_wrap* = 2'i16
-  bm_TGtkLabel_use_underline* = 0x00000008'i16
+  bm_TGtkLabel_use_underline* = 0x0008'i16
   bp_TGtkLabel_use_underline* = 3'i16
-  bm_TGtkLabel_use_markup* = 0x00000010'i16
+  bm_TGtkLabel_use_markup* = 0x0010'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,
+proc TYPE_LABEL*(): GType
+proc LABEL*(obj: pointer): PLabel
+proc LABEL_CLASS*(klass: pointer): PLabelClass
+proc IS_LABEL*(obj: pointer): bool
+proc IS_LABEL_CLASS*(klass: pointer): bool
+proc LABEL_GET_CLASS*(obj: pointer): PLabelClass
+proc jtype*(a: var TLabel): guint
+proc set_jtype*(a: var TLabel, `jtype`: guint)
+proc wrap*(a: var TLabel): guint
+proc set_wrap*(a: var TLabel, `wrap`: guint)
+proc use_underline*(a: var TLabel): guint
+proc set_use_underline*(a: var TLabel, `use_underline`: guint)
+proc use_markup*(a: var TLabel): guint
+proc set_use_markup*(a: var TLabel, `use_markup`: guint)
+proc label_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_label_get_type".}
+proc label_new*(str: cstring): PLabel{.cdecl, dynlib: lib, 
+                                       importc: "gtk_label_new".}
+proc label_new_with_mnemonic*(str: cstring): PLabel{.cdecl, dynlib: lib, 
+    importc: "gtk_label_new_with_mnemonic".}
+proc set_text*(`label`: PLabel, str: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_label_set_text".}
+proc get_text*(`label`: PLabel): cstring{.cdecl, dynlib: lib, 
     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,
+proc set_attributes*(`label`: PLabel, attrs: pango.PAttrList){.cdecl, 
+    dynlib: lib, importc: "gtk_label_set_attributes".}
+proc get_attributes*(`label`: PLabel): pango.PAttrList{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_attributes".}
+proc set_label*(`label`: PLabel, str: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_label_set_label".}
+proc get_label*(`label`: PLabel): cstring{.cdecl, dynlib: lib, 
     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
+proc set_markup*(`label`: PLabel, str: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_label_set_markup".}
+proc set_use_markup*(`label`: PLabel, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_label_set_use_markup".}
+proc get_use_markup*(`label`: PLabel): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_use_markup".}
+proc set_use_underline*(`label`: PLabel, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_label_set_use_underline".}
+proc get_use_underline*(`label`: PLabel): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_use_underline".}
+proc set_markup_with_mnemonic*(`label`: PLabel, str: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_label_set_markup_with_mnemonic".}
+proc get_mnemonic_keyval*(`label`: PLabel): guint{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_mnemonic_keyval".}
+proc set_mnemonic_widget*(`label`: PLabel, widget: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_label_set_mnemonic_widget".}
+proc get_mnemonic_widget*(`label`: PLabel): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_mnemonic_widget".}
+proc set_text_with_mnemonic*(`label`: PLabel, str: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_label_set_text_with_mnemonic".}
+proc set_justify*(`label`: PLabel, jtype: TJustification){.cdecl, 
+    dynlib: lib, importc: "gtk_label_set_justify".}
+proc get_justify*(`label`: PLabel): TJustification{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_justify".}
+proc set_pattern*(`label`: PLabel, pattern: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_label_set_pattern".}
+proc set_line_wrap*(`label`: PLabel, wrap: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_label_set_line_wrap".}
+proc get_line_wrap*(`label`: PLabel): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_line_wrap".}
+proc set_selectable*(`label`: PLabel, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_label_set_selectable".}
+proc get_selectable*(`label`: PLabel): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_selectable".}
+proc select_region*(`label`: PLabel, start_offset: gint, end_offset: gint){.
+    cdecl, dynlib: lib, importc: "gtk_label_select_region".}
+proc get_selection_bounds*(`label`: PLabel, start: Pgint, theEnd: Pgint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_label_get_selection_bounds".}
+proc get_layout*(`label`: PLabel): pango.PLayout{.cdecl, dynlib: lib, 
+    importc: "gtk_label_get_layout".}
+proc get_layout_offsets*(`label`: PLabel, x: Pgint, y: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_label_get_layout_offsets".}
+const 
+  bm_TGtkAccelLabelClass_latin1_to_char* = 0x0001'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,
+proc TYPE_ACCEL_LABEL*(): GType
+proc ACCEL_LABEL*(obj: pointer): PAccelLabel
+proc ACCEL_LABEL_CLASS*(klass: pointer): PAccelLabelClass
+proc IS_ACCEL_LABEL*(obj: pointer): bool
+proc IS_ACCEL_LABEL_CLASS*(klass: pointer): bool
+proc ACCEL_LABEL_GET_CLASS*(obj: pointer): PAccelLabelClass
+proc latin1_to_char*(a: var TAccelLabelClass): guint
+proc set_latin1_to_char*(a: var TAccelLabelClass, `latin1_to_char`: guint)
+proc accel_label_get_type*(): TType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_accel_label_get_type".}
+proc accel_label_new*(`string`: cstring): PAccelLabel{.cdecl, dynlib: lib, 
     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,
+proc get_accel_widget*(accel_label: PAccelLabel): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_accel_label_get_accel_widget".}
+proc get_accel_width*(accel_label: PAccelLabel): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_accel_label_get_accel_width".}
+proc set_accel_widget*(accel_label: PAccelLabel, 
+                                   accel_widget: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_accel_label_set_accel_widget".}
+proc set_accel_closure*(accel_label: PAccelLabel, 
+                                    accel_closure: PGClosure){.cdecl, 
+    dynlib: lib, importc: "gtk_accel_label_set_accel_closure".}
+proc refetch*(accel_label: PAccelLabel): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_accel_label_refetch".}
+proc accel_map_add_entry*(accel_path: cstring, accel_key: guint, 
+                          accel_mods: gdk2.TModifierType){.cdecl, dynlib: lib, 
+    importc: "gtk_accel_map_add_entry".}
+proc accel_map_lookup_entry*(accel_path: cstring, key: PAccelKey): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_accel_map_lookup_entry".}
+proc accel_map_change_entry*(accel_path: cstring, accel_key: guint, 
+                             accel_mods: gdk2.TModifierType, replace: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_accel_map_change_entry".}
+proc accel_map_load*(file_name: cstring){.cdecl, dynlib: lib, 
     importc: "gtk_accel_map_load".}
-proc gtk_accel_map_save*(file_name: cstring){.cdecl, dynlib: gtklib,
+proc accel_map_save*(file_name: cstring){.cdecl, dynlib: lib, 
     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,
+proc accel_map_foreach*(data: gpointer, foreach_func: TAccelMapForeach){.cdecl, 
+    dynlib: lib, importc: "gtk_accel_map_foreach".}
+proc accel_map_load_fd*(fd: gint){.cdecl, dynlib: lib, 
+                                   importc: "gtk_accel_map_load_fd".}
+proc accel_map_load_scanner*(scanner: PGScanner){.cdecl, dynlib: lib, 
     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,
+proc accel_map_save_fd*(fd: gint){.cdecl, dynlib: lib, 
+                                   importc: "gtk_accel_map_save_fd".}
+proc accel_map_add_filter*(filter_pattern: cstring){.cdecl, dynlib: lib, 
     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,
+proc accel_map_foreach_unfiltered*(data: gpointer, 
+                                   foreach_func: TAccelMapForeach){.cdecl, 
+    dynlib: lib, importc: "gtk_accel_map_foreach_unfiltered".}
+proc accel_map_init*(){.cdecl, dynlib: lib, importc: "_gtk_accel_map_init".}
+proc accel_map_add_group*(accel_path: cstring, accel_group: PAccelGroup){.cdecl, 
+    dynlib: lib, importc: "_gtk_accel_map_add_group".}
+proc accel_map_remove_group*(accel_path: cstring, accel_group: PAccelGroup){.
+    cdecl, dynlib: lib, importc: "_gtk_accel_map_remove_group".}
+proc accel_path_is_valid*(accel_path: cstring): gboolean{.cdecl, dynlib: lib, 
+    importc: "_gtk_accel_path_is_valid".}
+proc TYPE_ACCESSIBLE*(): GType
+proc ACCESSIBLE*(obj: pointer): PAccessible
+proc ACCESSIBLE_CLASS*(klass: pointer): PAccessibleClass
+proc IS_ACCESSIBLE*(obj: pointer): bool
+proc IS_ACCESSIBLE_CLASS*(klass: pointer): bool
+proc ACCESSIBLE_GET_CLASS*(obj: pointer): PAccessibleClass
+proc accessible_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_accessible_get_type".}
+proc connect_widget_destroyed*(accessible: PAccessible){.cdecl, 
+    dynlib: lib, importc: "gtk_accessible_connect_widget_destroyed".}
+proc TYPE_ADJUSTMENT*(): GType
+proc ADJUSTMENT*(obj: pointer): PAdjustment
+proc ADJUSTMENT_CLASS*(klass: pointer): PAdjustmentClass
+proc IS_ADJUSTMENT*(obj: pointer): bool
+proc IS_ADJUSTMENT_CLASS*(klass: pointer): bool
+proc ADJUSTMENT_GET_CLASS*(obj: pointer): PAdjustmentClass
+proc adjustment_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_adjustment_get_type".}
+proc adjustment_new*(value: gdouble, lower: gdouble, upper: gdouble, 
+                     step_increment: gdouble, page_increment: gdouble, 
+                     page_size: gdouble): PAdjustment{.cdecl, dynlib: lib, 
     importc: "gtk_adjustment_new".}
-proc gtk_adjustment_changed*(adjustment: PGtkAdjustment){.cdecl, dynlib: gtklib,
+proc changed*(adjustment: PAdjustment){.cdecl, dynlib: lib, 
     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,
+proc value_changed*(adjustment: PAdjustment){.cdecl, dynlib: lib, 
+    importc: "gtk_adjustment_value_changed".}
+proc clamp_page*(adjustment: PAdjustment, lower: gdouble, 
+                            upper: gdouble){.cdecl, dynlib: lib, 
     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,
+proc get_value*(adjustment: PAdjustment): gdouble{.cdecl, 
+    dynlib: lib, importc: "gtk_adjustment_get_value".}
+proc set_value*(adjustment: PAdjustment, value: gdouble){.cdecl, 
+    dynlib: lib, importc: "gtk_adjustment_set_value".}
+proc TYPE_ALIGNMENT*(): GType
+proc ALIGNMENT*(obj: pointer): PAlignment
+proc ALIGNMENT_CLASS*(klass: pointer): PAlignmentClass
+proc IS_ALIGNMENT*(obj: pointer): bool
+proc IS_ALIGNMENT_CLASS*(klass: pointer): bool
+proc ALIGNMENT_GET_CLASS*(obj: pointer): PAlignmentClass
+proc alignment_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_alignment_get_type".}
+proc alignment_new*(xalign: gfloat, yalign: gfloat, xscale: gfloat, 
+                    yscale: gfloat): PAlignment{.cdecl, dynlib: lib, 
     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,
+proc set*(alignment: PAlignment, xalign: gfloat, yalign: gfloat, 
+                    xscale: gfloat, yscale: gfloat){.cdecl, dynlib: lib, 
+    importc: "gtk_alignment_set".}
+proc TYPE_FRAME*(): GType
+proc FRAME*(obj: pointer): PFrame
+proc FRAME_CLASS*(klass: pointer): PFrameClass
+proc IS_FRAME*(obj: pointer): bool
+proc IS_FRAME_CLASS*(klass: pointer): bool
+proc FRAME_GET_CLASS*(obj: pointer): PFrameClass
+proc frame_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_frame_get_type".}
+proc frame_new*(`label`: cstring): PFrame{.cdecl, dynlib: lib, 
     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,
+proc set_label*(frame: PFrame, `label`: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_frame_set_label".}
+proc get_label*(frame: PFrame): cstring{.cdecl, dynlib: lib, 
     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
+proc set_label_widget*(frame: PFrame, label_widget: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_frame_set_label_widget".}
+proc get_label_widget*(frame: PFrame): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_frame_get_label_widget".}
+proc set_label_align*(frame: PFrame, xalign: gfloat, yalign: gfloat){.
+    cdecl, dynlib: lib, importc: "gtk_frame_set_label_align".}
+proc get_label_align*(frame: PFrame, xalign: Pgfloat, yalign: Pgfloat){.
+    cdecl, dynlib: lib, importc: "gtk_frame_get_label_align".}
+proc set_shadow_type*(frame: PFrame, thetype: TShadowType){.cdecl, 
+    dynlib: lib, importc: "gtk_frame_set_shadow_type".}
+proc get_shadow_type*(frame: PFrame): TShadowType{.cdecl, dynlib: lib, 
+    importc: "gtk_frame_get_shadow_type".}
+proc TYPE_ASPECT_FRAME*(): GType
+proc ASPECT_FRAME*(obj: pointer): PAspectFrame
+proc ASPECT_FRAME_CLASS*(klass: pointer): PAspectFrameClass
+proc IS_ASPECT_FRAME*(obj: pointer): bool
+proc IS_ASPECT_FRAME_CLASS*(klass: pointer): bool
+proc ASPECT_FRAME_GET_CLASS*(obj: pointer): PAspectFrameClass
+proc aspect_frame_get_type*(): TType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_aspect_frame_get_type".}
+proc aspect_frame_new*(`label`: cstring, xalign: gfloat, yalign: gfloat, 
+                       ratio: gfloat, obey_child: gboolean): PAspectFrame{.
+    cdecl, dynlib: lib, importc: "gtk_aspect_frame_new".}
+proc set*(aspect_frame: PAspectFrame, xalign: gfloat, 
+                       yalign: gfloat, ratio: gfloat, obey_child: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_aspect_frame_set".}
+proc TYPE_ARROW*(): GType
+proc ARROW*(obj: pointer): PArrow
+proc ARROW_CLASS*(klass: pointer): PArrowClass
+proc IS_ARROW*(obj: pointer): bool
+proc IS_ARROW_CLASS*(klass: pointer): bool
+proc ARROW_GET_CLASS*(obj: pointer): PArrowClass
+proc arrow_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_arrow_get_type".}
+proc arrow_new*(arrow_type: TArrowType, shadow_type: TShadowType): PArrow{.
+    cdecl, dynlib: lib, importc: "gtk_arrow_new".}
+proc set*(arrow: PArrow, arrow_type: TArrowType, shadow_type: TShadowType){.
+    cdecl, dynlib: lib, importc: "gtk_arrow_set".}
+const 
+  bm_TGtkBindingSet_parsed* = 0x0001'i16
   bp_TGtkBindingSet_parsed* = 0'i16
-  bm_TGtkBindingEntry_destroyed* = 0x00000001'i16
+  bm_TGtkBindingEntry_destroyed* = 0x0001'i16
   bp_TGtkBindingEntry_destroyed* = 0'i16
-  bm_TGtkBindingEntry_in_emission* = 0x00000002'i16
+  bm_TGtkBindingEntry_in_emission* = 0x0002'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
+proc entry_add*(binding_set: PBindingSet, keyval: guint, 
+                        modifiers: gdk2.TModifierType)
+proc parsed*(a: var TBindingSet): guint
+proc set_parsed*(a: var TBindingSet, `parsed`: guint)
+proc destroyed*(a: var TBindingEntry): guint
+proc set_destroyed*(a: var TBindingEntry, `destroyed`: guint)
+proc in_emission*(a: var TBindingEntry): guint
+proc set_in_emission*(a: var TBindingEntry, `in_emission`: guint)
+proc binding_set_new*(set_name: cstring): PBindingSet{.cdecl, dynlib: lib, 
+    importc: "gtk_binding_set_new".}
+proc binding_set_by_class*(object_class: gpointer): PBindingSet{.cdecl, 
+    dynlib: lib, importc: "gtk_binding_set_by_class".}
+proc binding_set_find*(set_name: cstring): PBindingSet{.cdecl, dynlib: lib, 
+    importc: "gtk_binding_set_find".}
+proc bindings_activate*(anObject: PObject, keyval: guint, 
+                        modifiers: gdk2.TModifierType): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_bindings_activate".}
+proc activate*(binding_set: PBindingSet, keyval: guint, 
+                           modifiers: gdk2.TModifierType, anObject: PObject): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_binding_set_activate".}
+proc entry_clear*(binding_set: PBindingSet, keyval: guint, 
+                          modifiers: gdk2.TModifierType){.cdecl, dynlib: lib, 
+    importc: "gtk_binding_entry_clear".}
+proc add_path*(binding_set: PBindingSet, path_type: TPathType, 
+                           path_pattern: cstring, priority: TPathPriorityType){.
+    cdecl, dynlib: lib, importc: "gtk_binding_set_add_path".}
+proc entry_remove*(binding_set: PBindingSet, keyval: guint, 
+                           modifiers: gdk2.TModifierType){.cdecl, dynlib: lib, 
+    importc: "gtk_binding_entry_remove".}
+proc entry_add_signall*(binding_set: PBindingSet, keyval: guint, 
+                                modifiers: gdk2.TModifierType, 
+                                signal_name: cstring, binding_args: PGSList){.
+    cdecl, dynlib: lib, importc: "gtk_binding_entry_add_signall".}
+proc binding_parse_binding*(scanner: PGScanner): guint{.cdecl, dynlib: lib, 
+    importc: "gtk_binding_parse_binding".}
+proc bindings_activate_event*(anObject: PObject, event: gdk2.PEventKey): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_bindings_activate_event".}
+proc binding_reset_parsed*(){.cdecl, dynlib: lib, 
+                              importc: "_gtk_binding_reset_parsed".}
+const 
+  bm_TGtkBox_homogeneous* = 0x0001'i16
   bp_TGtkBox_homogeneous* = 0'i16
-  bm_TGtkBoxChild_expand* = 0x00000001'i16
+  bm_TGtkBoxChild_expand* = 0x0001'i16
   bp_TGtkBoxChild_expand* = 0'i16
-  bm_TGtkBoxChild_fill* = 0x00000002'i16
+  bm_TGtkBoxChild_fill* = 0x0002'i16
   bp_TGtkBoxChild_fill* = 1'i16
-  bm_TGtkBoxChild_pack* = 0x00000004'i16
+  bm_TGtkBoxChild_pack* = 0x0004'i16
   bp_TGtkBoxChild_pack* = 2'i16
-  bm_TGtkBoxChild_is_secondary* = 0x00000008'i16
+  bm_TGtkBoxChild_is_secondary* = 0x0008'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,
+proc TYPE_BOX*(): GType
+proc BOX*(obj: pointer): PBox
+proc BOX_CLASS*(klass: pointer): PBoxClass
+proc IS_BOX*(obj: pointer): bool
+proc IS_BOX_CLASS*(klass: pointer): bool
+proc BOX_GET_CLASS*(obj: pointer): PBoxClass
+proc homogeneous*(a: var TBox): guint
+proc set_homogeneous*(a: var TBox, `homogeneous`: guint)
+proc expand*(a: var TBoxChild): guint
+proc set_expand*(a: var TBoxChild, `expand`: guint)
+proc fill*(a: var TBoxChild): guint
+proc set_fill*(a: var TBoxChild, `fill`: guint)
+proc pack*(a: var TBoxChild): guint
+proc set_pack*(a: var TBoxChild, `pack`: guint)
+proc is_secondary*(a: var TBoxChild): guint
+proc set_is_secondary*(a: var TBoxChild, `is_secondary`: guint)
+proc box_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_box_get_type".}
+proc pack_start*(box: PBox, child: PWidget, expand: gboolean, 
+                     fill: gboolean, padding: guint){.cdecl, dynlib: lib, 
     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,
+proc pack_end*(box: PBox, child: PWidget, expand: gboolean, fill: gboolean, 
+                   padding: guint){.cdecl, dynlib: lib, 
+                                    importc: "gtk_box_pack_end".}
+proc pack_start_defaults*(box: PBox, widget: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_box_pack_start_defaults".}
+proc pack_end_defaults*(box: PBox, widget: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_box_pack_end_defaults".}
+proc set_homogeneous*(box: PBox, homogeneous: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_box_set_homogeneous".}
+proc get_homogeneous*(box: PBox): gboolean{.cdecl, dynlib: lib, 
     importc: "gtk_box_get_homogeneous".}
-proc gtk_box_set_spacing*(box: PGtkBox, spacing: gint){.cdecl, dynlib: gtklib,
+proc set_spacing*(box: PBox, spacing: gint){.cdecl, dynlib: lib, 
     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
+proc get_spacing*(box: PBox): gint{.cdecl, dynlib: lib, 
+                                        importc: "gtk_box_get_spacing".}
+proc reorder_child*(box: PBox, child: PWidget, position: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_box_reorder_child".}
+proc query_child_packing*(box: PBox, child: PWidget, expand: Pgboolean, 
+                              fill: Pgboolean, padding: Pguint, 
+                              pack_type: PPackType){.cdecl, dynlib: lib, 
+    importc: "gtk_box_query_child_packing".}
+proc set_child_packing*(box: PBox, child: PWidget, expand: gboolean, 
+                            fill: gboolean, padding: guint, pack_type: TPackType){.
+    cdecl, dynlib: lib, importc: "gtk_box_set_child_packing".}
+const 
+  BUTTONBOX_DEFAULT* = - (1)
+
+proc TYPE_BUTTON_BOX*(): GType
+proc BUTTON_BOX*(obj: pointer): PButtonBox
+proc BUTTON_BOX_CLASS*(klass: pointer): PButtonBoxClass
+proc IS_BUTTON_BOX*(obj: pointer): bool
+proc IS_BUTTON_BOX_CLASS*(klass: pointer): bool
+proc BUTTON_BOX_GET_CLASS*(obj: pointer): PButtonBoxClass
+proc button_box_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_button_box_get_type".}
+proc get_layout*(widget: PButtonBox): TButtonBoxStyle{.cdecl, 
+    dynlib: lib, importc: "gtk_button_box_get_layout".}
+proc set_layout*(widget: PButtonBox, layout_style: TButtonBoxStyle){.
+    cdecl, dynlib: lib, importc: "gtk_button_box_set_layout".}
+proc set_child_secondary*(widget: PButtonBox, child: PWidget, 
+                                     is_secondary: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_button_box_set_child_secondary".}
+proc button_box_child_requisition*(widget: PWidget, nvis_children: var int32, 
+                                   nvis_secondaries: var int32, 
+                                   width: var int32, height: var int32){.cdecl, 
+    dynlib: lib, importc: "_gtk_button_box_child_requisition".}
+const 
+  bm_TGtkButton_constructed* = 0x0001'i16
   bp_TGtkButton_constructed* = 0'i16
-  bm_TGtkButton_in_button* = 0x00000002'i16
+  bm_TGtkButton_in_button* = 0x0002'i16
   bp_TGtkButton_in_button* = 1'i16
-  bm_TGtkButton_button_down* = 0x00000004'i16
+  bm_TGtkButton_button_down* = 0x0004'i16
   bp_TGtkButton_button_down* = 2'i16
-  bm_TGtkButton_relief* = 0x00000018'i16
+  bm_TGtkButton_relief* = 0x0018'i16
   bp_TGtkButton_relief* = 3'i16
-  bm_TGtkButton_use_underline* = 0x00000020'i16
+  bm_TGtkButton_use_underline* = 0x0020'i16
   bp_TGtkButton_use_underline* = 5'i16
-  bm_TGtkButton_use_stock* = 0x00000040'i16
+  bm_TGtkButton_use_stock* = 0x0040'i16
   bp_TGtkButton_use_stock* = 6'i16
-  bm_TGtkButton_depressed* = 0x00000080'i16
+  bm_TGtkButton_depressed* = 0x0080'i16
   bp_TGtkButton_depressed* = 7'i16
-  bm_TGtkButton_depress_on_activate* = 0x00000100'i16
+  bm_TGtkButton_depress_on_activate* = 0x0100'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,
+proc TYPE_BUTTON*(): GType
+proc BUTTON*(obj: pointer): PButton
+proc BUTTON_CLASS*(klass: pointer): PButtonClass
+proc IS_BUTTON*(obj: pointer): bool
+proc IS_BUTTON_CLASS*(klass: pointer): bool
+proc BUTTON_GET_CLASS*(obj: pointer): PButtonClass
+proc constructed*(a: var TButton): guint
+proc set_constructed*(a: var TButton, `constructed`: guint)
+proc in_button*(a: var TButton): guint
+proc set_in_button*(a: var TButton, `in_button`: guint)
+proc button_down*(a: var TButton): guint
+proc set_button_down*(a: var TButton, `button_down`: guint)
+proc relief*(a: var TButton): guint
+proc set_relief*(a: var TButton, `relief`: guint)
+proc use_underline*(a: var TButton): guint
+proc set_use_underline*(a: var TButton, `use_underline`: guint)
+proc use_stock*(a: var TButton): guint
+proc set_use_stock*(a: var TButton, `use_stock`: guint)
+proc depressed*(a: var TButton): guint
+proc set_depressed*(a: var TButton, `depressed`: guint)
+proc depress_on_activate*(a: var TButton): guint
+proc set_depress_on_activate*(a: var TButton, `depress_on_activate`: guint)
+proc button_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_button_get_type".}
+proc button_new*(): PButton{.cdecl, dynlib: lib, importc: "gtk_button_new".}
+proc button_new_with_label*(`label`: cstring): PButton{.cdecl, dynlib: lib, 
+    importc: "gtk_button_new_with_label".}
+proc button_new_from_stock*(stock_id: cstring): PButton{.cdecl, dynlib: lib, 
+    importc: "gtk_button_new_from_stock".}
+proc button_new_with_mnemonic*(`label`: cstring): PButton{.cdecl, dynlib: lib, 
+    importc: "gtk_button_new_with_mnemonic".}
+proc pressed*(button: PButton){.cdecl, dynlib: lib, 
+                                       importc: "gtk_button_pressed".}
+proc released*(button: PButton){.cdecl, dynlib: lib, 
+                                        importc: "gtk_button_released".}
+proc clicked*(button: PButton){.cdecl, dynlib: lib, 
+                                       importc: "gtk_button_clicked".}
+proc enter*(button: PButton){.cdecl, dynlib: lib, 
+                                     importc: "gtk_button_enter".}
+proc leave*(button: PButton){.cdecl, dynlib: lib, 
+                                     importc: "gtk_button_leave".}
+proc set_relief*(button: PButton, newstyle: TReliefStyle){.cdecl, 
+    dynlib: lib, importc: "gtk_button_set_relief".}
+proc get_relief*(button: PButton): TReliefStyle{.cdecl, dynlib: lib, 
+    importc: "gtk_button_get_relief".}
+proc set_label*(button: PButton, `label`: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_button_set_label".}
+proc get_label*(button: PButton): cstring{.cdecl, dynlib: lib, 
     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,
+proc set_use_underline*(button: PButton, use_underline: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_button_set_use_underline".}
+proc get_use_underline*(button: PButton): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_button_get_use_underline".}
+proc set_use_stock*(button: PButton, use_stock: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_button_set_use_stock".}
+proc get_use_stock*(button: PButton): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_button_get_use_stock".}
+proc set_depressed*(button: PButton, depressed: gboolean){.cdecl, 
+    dynlib: lib, importc: "_gtk_button_set_depressed".}
+proc paint*(button: PButton, area: gdk2.PRectangle, state_type: TStateType, 
+                   shadow_type: TShadowType, main_detail: cstring, 
+                   default_detail: cstring){.cdecl, dynlib: lib, 
+    importc: "_gtk_button_paint".}
+proc set_image*(button: PButton, image: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_button_set_image".}
+proc get_image*(button: PButton): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_button_get_image".}
+const 
+  CALENDAR_SHOW_HEADING* = 1 shl 0
+  CALENDAR_SHOW_DAY_NAMES* = 1 shl 1
+  CALENDAR_NO_MONTH_CHANGE* = 1 shl 2
+  CALENDAR_SHOW_WEEK_NUMBERS* = 1 shl 3
+  CALENDAR_WEEK_START_MONDAY* = 1 shl 4
+
+proc TYPE_CALENDAR*(): GType
+proc CALENDAR*(obj: pointer): PCalendar
+proc CALENDAR_CLASS*(klass: pointer): PCalendarClass
+proc IS_CALENDAR*(obj: pointer): bool
+proc IS_CALENDAR_CLASS*(klass: pointer): bool
+proc CALENDAR_GET_CLASS*(obj: pointer): PCalendarClass
+proc calendar_get_type*(): TType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_calendar_get_type".}
+proc calendar_new*(): PCalendar{.cdecl, dynlib: lib, importc: "gtk_calendar_new".}
+proc select_month*(calendar: PCalendar, month: guint, year: guint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_calendar_select_month".}
+proc select_day*(calendar: PCalendar, day: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_calendar_select_day".}
+proc mark_day*(calendar: PCalendar, day: guint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_calendar_mark_day".}
+proc unmark_day*(calendar: PCalendar, day: guint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_calendar_unmark_day".}
+proc clear_marks*(calendar: PCalendar){.cdecl, dynlib: lib, 
     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,
+proc display_options*(calendar: PCalendar, 
+                               flags: TCalendarDisplayOptions){.cdecl, 
+    dynlib: lib, importc: "gtk_calendar_display_options".}
+proc get_date*(calendar: PCalendar, year: Pguint, month: Pguint, 
+                        day: Pguint){.cdecl, dynlib: lib, 
+                                      importc: "gtk_calendar_get_date".}
+proc freeze*(calendar: PCalendar){.cdecl, dynlib: lib, 
     importc: "gtk_calendar_freeze".}
-proc gtk_calendar_thaw*(calendar: PGtkCalendar){.cdecl, dynlib: gtklib,
+proc thaw*(calendar: PCalendar){.cdecl, dynlib: lib, 
     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
+proc TYPE_CELL_EDITABLE*(): GType
+proc CELL_EDITABLE*(obj: pointer): PCellEditable
+proc CELL_EDITABLE_CLASS*(obj: pointer): PCellEditableIface
+proc IS_CELL_EDITABLE*(obj: pointer): bool
+proc CELL_EDITABLE_GET_IFACE*(obj: pointer): PCellEditableIface
+proc cell_editable_get_type*(): GType{.cdecl, dynlib: lib, 
+                                       importc: "gtk_cell_editable_get_type".}
+proc start_editing*(cell_editable: PCellEditable, event: gdk2.PEvent){.
+    cdecl, dynlib: lib, importc: "gtk_cell_editable_start_editing".}
+proc editing_done*(cell_editable: PCellEditable){.cdecl, 
+    dynlib: lib, importc: "gtk_cell_editable_editing_done".}
+proc remove_widget*(cell_editable: PCellEditable){.cdecl, 
+    dynlib: lib, importc: "gtk_cell_editable_remove_widget".}
+const 
+  CELL_RENDERER_SELECTED* = 1 shl 0
+  CELL_RENDERER_PRELIT* = 1 shl 1
+  CELL_RENDERER_INSENSITIVE* = 1 shl 2
+  CELL_RENDERER_SORTED* = 1 shl 3
+
+const 
+  bm_TGtkCellRenderer_mode* = 0x0003'i16
   bp_TGtkCellRenderer_mode* = 0'i16
-  bm_TGtkCellRenderer_visible* = 0x00000004'i16
+  bm_TGtkCellRenderer_visible* = 0x0004'i16
   bp_TGtkCellRenderer_visible* = 2'i16
-  bm_TGtkCellRenderer_is_expander* = 0x00000008'i16
+  bm_TGtkCellRenderer_is_expander* = 0x0008'i16
   bp_TGtkCellRenderer_is_expander* = 3'i16
-  bm_TGtkCellRenderer_is_expanded* = 0x00000010'i16
+  bm_TGtkCellRenderer_is_expanded* = 0x0010'i16
   bp_TGtkCellRenderer_is_expanded* = 4'i16
-  bm_TGtkCellRenderer_cell_background_set* = 0x00000020'i16
+  bm_TGtkCellRenderer_cell_background_set* = 0x0020'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,
+proc TYPE_CELL_RENDERER*(): GType
+proc CELL_RENDERER*(obj: pointer): PCellRenderer
+proc CELL_RENDERER_CLASS*(klass: pointer): PCellRendererClass
+proc IS_CELL_RENDERER*(obj: pointer): bool
+proc IS_CELL_RENDERER_CLASS*(klass: pointer): bool
+proc CELL_RENDERER_GET_CLASS*(obj: pointer): PCellRendererClass
+proc mode*(a: var TCellRenderer): guint
+proc set_mode*(a: var TCellRenderer, `mode`: guint)
+proc visible*(a: var TCellRenderer): guint
+proc set_visible*(a: var TCellRenderer, `visible`: guint)
+proc is_expander*(a: var TCellRenderer): guint
+proc set_is_expander*(a: var TCellRenderer, `is_expander`: guint)
+proc is_expanded*(a: var TCellRenderer): guint
+proc set_is_expanded*(a: var TCellRenderer, `is_expanded`: guint)
+proc cell_background_set*(a: var TCellRenderer): guint
+proc set_cell_background_set*(a: var TCellRenderer, `cell_background_set`: guint)
+proc cell_renderer_get_type*(): GType{.cdecl, dynlib: lib, 
+                                       importc: "gtk_cell_renderer_get_type".}
+proc get_size*(cell: PCellRenderer, widget: PWidget, 
+                             cell_area: gdk2.PRectangle, x_offset: Pgint, 
+                             y_offset: Pgint, width: Pgint, height: Pgint){.
+    cdecl, dynlib: lib, importc: "gtk_cell_renderer_get_size".}
+proc render*(cell: PCellRenderer, window: gdk2.PWindow, 
+                           widget: PWidget, background_area: gdk2.PRectangle, 
+                           cell_area: gdk2.PRectangle, expose_area: gdk2.PRectangle, 
+                           flags: TCellRendererState){.cdecl, dynlib: lib, 
+    importc: "gtk_cell_renderer_render".}
+proc activate*(cell: PCellRenderer, event: gdk2.PEvent, 
+                             widget: PWidget, path: cstring, 
+                             background_area: gdk2.PRectangle, 
+                             cell_area: gdk2.PRectangle, flags: TCellRendererState): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_cell_renderer_activate".}
+proc start_editing*(cell: PCellRenderer, event: gdk2.PEvent, 
+                                  widget: PWidget, path: cstring, 
+                                  background_area: gdk2.PRectangle, 
+                                  cell_area: gdk2.PRectangle, 
+                                  flags: TCellRendererState): PCellEditable{.
+    cdecl, dynlib: lib, importc: "gtk_cell_renderer_start_editing".}
+proc set_fixed_size*(cell: PCellRenderer, width: gint, 
+                                   height: gint){.cdecl, dynlib: lib, 
     importc: "gtk_cell_renderer_set_fixed_size".}
-proc gtk_cell_renderer_get_fixed_size*(cell: PGtkCellRenderer, width: Pgint,
-                                       height: Pgint){.cdecl, dynlib: gtklib,
+proc get_fixed_size*(cell: PCellRenderer, width: Pgint, 
+                                   height: Pgint){.cdecl, dynlib: lib, 
     importc: "gtk_cell_renderer_get_fixed_size".}
-const
-  bm_TGtkCellRendererText_strikethrough* = 0x00000001'i16
+const 
+  bm_TGtkCellRendererText_strikethrough* = 0x0001'i16
   bp_TGtkCellRendererText_strikethrough* = 0'i16
-  bm_TGtkCellRendererText_editable* = 0x00000002'i16
+  bm_TGtkCellRendererText_editable* = 0x0002'i16
   bp_TGtkCellRendererText_editable* = 1'i16
-  bm_TGtkCellRendererText_scale_set* = 0x00000004'i16
+  bm_TGtkCellRendererText_scale_set* = 0x0004'i16
   bp_TGtkCellRendererText_scale_set* = 2'i16
-  bm_TGtkCellRendererText_foreground_set* = 0x00000008'i16
+  bm_TGtkCellRendererText_foreground_set* = 0x0008'i16
   bp_TGtkCellRendererText_foreground_set* = 3'i16
-  bm_TGtkCellRendererText_background_set* = 0x00000010'i16
+  bm_TGtkCellRendererText_background_set* = 0x0010'i16
   bp_TGtkCellRendererText_background_set* = 4'i16
-  bm_TGtkCellRendererText_underline_set* = 0x00000020'i16
+  bm_TGtkCellRendererText_underline_set* = 0x0020'i16
   bp_TGtkCellRendererText_underline_set* = 5'i16
-  bm_TGtkCellRendererText_rise_set* = 0x00000040'i16
+  bm_TGtkCellRendererText_rise_set* = 0x0040'i16
   bp_TGtkCellRendererText_rise_set* = 6'i16
-  bm_TGtkCellRendererText_strikethrough_set* = 0x00000080'i16
+  bm_TGtkCellRendererText_strikethrough_set* = 0x0080'i16
   bp_TGtkCellRendererText_strikethrough_set* = 7'i16
-  bm_TGtkCellRendererText_editable_set* = 0x00000100'i16
+  bm_TGtkCellRendererText_editable_set* = 0x0100'i16
   bp_TGtkCellRendererText_editable_set* = 8'i16
-  bm_TGtkCellRendererText_calc_fixed_height* = 0x00000200'i16
+  bm_TGtkCellRendererText_calc_fixed_height* = 0x0200'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,
+proc TYPE_CELL_RENDERER_TEXT*(): GType
+proc CELL_RENDERER_TEXT*(obj: pointer): PCellRendererText
+proc CELL_RENDERER_TEXT_CLASS*(klass: pointer): PCellRendererTextClass
+proc IS_CELL_RENDERER_TEXT*(obj: pointer): bool
+proc IS_CELL_RENDERER_TEXT_CLASS*(klass: pointer): bool
+proc CELL_RENDERER_TEXT_GET_CLASS*(obj: pointer): PCellRendererTextClass
+proc strikethrough*(a: var TCellRendererText): guint
+proc set_strikethrough*(a: var TCellRendererText, `strikethrough`: guint)
+proc editable*(a: var TCellRendererText): guint
+proc set_editable*(a: var TCellRendererText, `editable`: guint)
+proc scale_set*(a: var TCellRendererText): guint
+proc set_scale_set*(a: var TCellRendererText, `scale_set`: guint)
+proc foreground_set*(a: var TCellRendererText): guint
+proc set_foreground_set*(a: var TCellRendererText, `foreground_set`: guint)
+proc background_set*(a: var TCellRendererText): guint
+proc set_background_set*(a: var TCellRendererText, `background_set`: guint)
+proc underline_set*(a: var TCellRendererText): guint
+proc set_underline_set*(a: var TCellRendererText, `underline_set`: guint)
+proc rise_set*(a: var TCellRendererText): guint
+proc set_rise_set*(a: var TCellRendererText, `rise_set`: guint)
+proc strikethrough_set*(a: var TCellRendererText): guint
+proc set_strikethrough_set*(a: var TCellRendererText, `strikethrough_set`: guint)
+proc editable_set*(a: var TCellRendererText): guint
+proc set_editable_set*(a: var TCellRendererText, `editable_set`: guint)
+proc calc_fixed_height*(a: var TCellRendererText): guint
+proc set_calc_fixed_height*(a: var TCellRendererText, `calc_fixed_height`: guint)
+proc cell_renderer_text_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_cell_renderer_text_get_type".}
-proc gtk_cell_renderer_text_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib,
+proc cell_renderer_text_new*(): PCellRenderer{.cdecl, dynlib: lib, 
     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
+proc text_set_fixed_height_from_font*(renderer: PCellRendererText, 
+    number_of_rows: gint){.cdecl, dynlib: lib, importc: "gtk_cell_renderer_text_set_fixed_height_from_font".}
+const 
+  bm_TGtkCellRendererToggle_active* = 0x0001'i16
   bp_TGtkCellRendererToggle_active* = 0'i16
-  bm_TGtkCellRendererToggle_activatable* = 0x00000002'i16
+  bm_TGtkCellRendererToggle_activatable* = 0x0002'i16
   bp_TGtkCellRendererToggle_activatable* = 1'i16
-  bm_TGtkCellRendererToggle_radio* = 0x00000004'i16
+  bm_TGtkCellRendererToggle_radio* = 0x0004'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,
+proc TYPE_CELL_RENDERER_TOGGLE*(): GType
+proc CELL_RENDERER_TOGGLE*(obj: pointer): PCellRendererToggle
+proc CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): PCellRendererToggleClass
+proc IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool
+proc IS_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): bool
+proc CELL_RENDERER_TOGGLE_GET_CLASS*(obj: pointer): PCellRendererToggleClass
+proc active*(a: var TCellRendererToggle): guint
+proc set_active*(a: var TCellRendererToggle, `active`: guint)
+proc activatable*(a: var TCellRendererToggle): guint
+proc set_activatable*(a: var TCellRendererToggle, `activatable`: guint)
+proc radio*(a: var TCellRendererToggle): guint
+proc set_radio*(a: var TCellRendererToggle, `radio`: guint)
+proc cell_renderer_toggle_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_cell_renderer_toggle_get_type".}
-proc gtk_cell_renderer_toggle_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib,
+proc cell_renderer_toggle_new*(): PCellRenderer{.cdecl, dynlib: lib, 
     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,
+proc toggle_get_radio*(toggle: PCellRendererToggle): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_cell_renderer_toggle_get_radio".}
+proc toggle_set_radio*(toggle: PCellRendererToggle, 
+                                     radio: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_cell_renderer_toggle_set_radio".}
+proc toggle_get_active*(toggle: PCellRendererToggle): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_cell_renderer_toggle_get_active".}
+proc toggle_set_active*(toggle: PCellRendererToggle, 
+                                      setting: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_cell_renderer_toggle_set_active".}
+proc TYPE_CELL_RENDERER_PIXBUF*(): GType
+proc CELL_RENDERER_PIXBUF*(obj: pointer): PCellRendererPixbuf
+proc CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): PCellRendererPixbufClass
+proc IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool
+proc IS_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): bool
+proc CELL_RENDERER_PIXBUF_GET_CLASS*(obj: pointer): PCellRendererPixbufClass
+proc cell_renderer_pixbuf_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_cell_renderer_pixbuf_get_type".}
-proc gtk_cell_renderer_pixbuf_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib,
+proc cell_renderer_pixbuf_new*(): PCellRenderer{.cdecl, dynlib: lib, 
     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
+proc TYPE_ITEM*(): GType
+proc ITEM*(obj: pointer): PItem
+proc ITEM_CLASS*(klass: pointer): PItemClass
+proc IS_ITEM*(obj: pointer): bool
+proc IS_ITEM_CLASS*(klass: pointer): bool
+proc ITEM_GET_CLASS*(obj: pointer): PItemClass
+proc item_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_item_get_type".}
+proc select*(item: PItem){.cdecl, dynlib: lib, importc: "gtk_item_select".}
+proc deselect*(item: PItem){.cdecl, dynlib: lib, 
+                                  importc: "gtk_item_deselect".}
+proc toggle*(item: PItem){.cdecl, dynlib: lib, importc: "gtk_item_toggle".}
+const 
+  bm_TGtkMenuItem_show_submenu_indicator* = 0x0001'i16
   bp_TGtkMenuItem_show_submenu_indicator* = 0'i16
-  bm_TGtkMenuItem_submenu_placement* = 0x00000002'i16
+  bm_TGtkMenuItem_submenu_placement* = 0x0002'i16
   bp_TGtkMenuItem_submenu_placement* = 1'i16
-  bm_TGtkMenuItem_submenu_direction* = 0x00000004'i16
+  bm_TGtkMenuItem_submenu_direction* = 0x0004'i16
   bp_TGtkMenuItem_submenu_direction* = 2'i16
-  bm_TGtkMenuItem_right_justify* = 0x00000008'i16
+  bm_TGtkMenuItem_right_justify* = 0x0008'i16
   bp_TGtkMenuItem_right_justify* = 3'i16
-  bm_TGtkMenuItem_timer_from_keypress* = 0x00000010'i16
+  bm_TGtkMenuItem_timer_from_keypress* = 0x0010'i16
   bp_TGtkMenuItem_timer_from_keypress* = 4'i16
-  bm_TGtkMenuItemClass_hide_on_activate* = 0x00000001'i16
+  bm_TGtkMenuItemClass_hide_on_activate* = 0x0001'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,
+proc TYPE_MENU_ITEM*(): GType
+proc MENU_ITEM*(obj: pointer): PMenuItem
+proc MENU_ITEM_CLASS*(klass: pointer): PMenuItemClass
+proc IS_MENU_ITEM*(obj: pointer): bool
+proc IS_MENU_ITEM_CLASS*(klass: pointer): bool
+proc MENU_ITEM_GET_CLASS*(obj: pointer): PMenuItemClass
+proc show_submenu_indicator*(a: var TMenuItem): guint
+proc set_show_submenu_indicator*(a: var TMenuItem, 
                                  `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,
+proc submenu_placement*(a: var TMenuItem): guint
+proc set_submenu_placement*(a: var TMenuItem, `submenu_placement`: guint)
+proc submenu_direction*(a: var TMenuItem): guint
+proc set_submenu_direction*(a: var TMenuItem, `submenu_direction`: guint)
+proc right_justify*(a: var TMenuItem): guint
+proc set_right_justify*(a: var TMenuItem, `right_justify`: guint)
+proc timer_from_keypress*(a: var TMenuItem): guint
+proc set_timer_from_keypress*(a: var TMenuItem, `timer_from_keypress`: guint)
+proc hide_on_activate*(a: var TMenuItemClass): guint
+proc set_hide_on_activate*(a: var TMenuItemClass, `hide_on_activate`: guint)
+proc menu_item_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_menu_item_get_type".}
+proc menu_item_new*(): PMenuItem{.cdecl, dynlib: lib, 
+                                  importc: "gtk_menu_item_new".}
+proc menu_item_new_with_label*(`label`: cstring): PMenuItem{.cdecl, dynlib: lib, 
+    importc: "gtk_menu_item_new_with_label".}
+proc menu_item_new_with_mnemonic*(`label`: cstring): PMenuItem{.cdecl, 
+    dynlib: lib, importc: "gtk_menu_item_new_with_mnemonic".}
+proc set_submenu*(menu_item: PMenuItem, submenu: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_item_set_submenu".}
+proc get_submenu*(menu_item: PMenuItem): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_menu_item_get_submenu".}
+proc remove_submenu*(menu_item: PMenuItem){.cdecl, dynlib: lib, 
+    importc: "gtk_menu_item_remove_submenu".}
+proc select*(menu_item: PMenuItem){.cdecl, dynlib: lib, 
     importc: "gtk_menu_item_select".}
-proc gtk_menu_item_deselect*(menu_item: PGtkMenuItem){.cdecl, dynlib: gtklib,
+proc deselect*(menu_item: PMenuItem){.cdecl, dynlib: lib, 
     importc: "gtk_menu_item_deselect".}
-proc gtk_menu_item_activate*(menu_item: PGtkMenuItem){.cdecl, dynlib: gtklib,
+proc activate*(menu_item: PMenuItem){.cdecl, dynlib: lib, 
     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
+proc toggle_size_request*(menu_item: PMenuItem, requisition: Pgint){.
+    cdecl, dynlib: lib, importc: "gtk_menu_item_toggle_size_request".}
+proc toggle_size_allocate*(menu_item: PMenuItem, allocation: gint){.
+    cdecl, dynlib: lib, importc: "gtk_menu_item_toggle_size_allocate".}
+proc set_right_justified*(menu_item: PMenuItem, 
+                                    right_justified: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_item_set_right_justified".}
+proc get_right_justified*(menu_item: PMenuItem): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_menu_item_get_right_justified".}
+proc set_accel_path*(menu_item: PMenuItem, accel_path: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_menu_item_set_accel_path".}
+proc refresh_accel_path*(menu_item: PMenuItem, prefix: cstring, 
+                                   accel_group: PAccelGroup, 
+                                   group_changed: gboolean){.cdecl, dynlib: lib, 
+    importc: "_gtk_menu_item_refresh_accel_path".}
+proc menu_item_is_selectable*(menu_item: PWidget): gboolean{.cdecl, dynlib: lib, 
+    importc: "_gtk_menu_item_is_selectable".}
+const 
+  bm_TGtkToggleButton_active* = 0x0001'i16
   bp_TGtkToggleButton_active* = 0'i16
-  bm_TGtkToggleButton_draw_indicator* = 0x00000002'i16
+  bm_TGtkToggleButton_draw_indicator* = 0x0002'i16
   bp_TGtkToggleButton_draw_indicator* = 1'i16
-  bm_TGtkToggleButton_inconsistent* = 0x00000004'i16
+  bm_TGtkToggleButton_inconsistent* = 0x0004'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,
+proc TYPE_TOGGLE_BUTTON*(): GType
+proc TOGGLE_BUTTON*(obj: pointer): PToggleButton
+proc TOGGLE_BUTTON_CLASS*(klass: pointer): PToggleButtonClass
+proc IS_TOGGLE_BUTTON*(obj: pointer): bool
+proc IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool
+proc TOGGLE_BUTTON_GET_CLASS*(obj: pointer): PToggleButtonClass
+proc active*(a: var TToggleButton): guint
+proc set_active*(a: var TToggleButton, `active`: guint)
+proc draw_indicator*(a: var TToggleButton): guint
+proc set_draw_indicator*(a: var TToggleButton, `draw_indicator`: guint)
+proc inconsistent*(a: var TToggleButton): guint
+proc set_inconsistent*(a: var TToggleButton, `inconsistent`: guint)
+proc toggle_button_get_type*(): TType{.cdecl, dynlib: lib, 
+                                       importc: "gtk_toggle_button_get_type".}
+proc toggle_button_new*(): PToggleButton{.cdecl, dynlib: lib, 
     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
+proc toggle_button_new_with_label*(`label`: cstring): PToggleButton{.cdecl, 
+    dynlib: lib, importc: "gtk_toggle_button_new_with_label".}
+proc toggle_button_new_with_mnemonic*(`label`: cstring): PToggleButton{.cdecl, 
+    dynlib: lib, importc: "gtk_toggle_button_new_with_mnemonic".}
+proc set_mode*(toggle_button: PToggleButton, 
+                             draw_indicator: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_toggle_button_set_mode".}
+proc get_mode*(toggle_button: PToggleButton): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_toggle_button_get_mode".}
+proc set_active*(toggle_button: PToggleButton, is_active: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_toggle_button_set_active".}
+proc get_active*(toggle_button: PToggleButton): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_toggle_button_get_active".}
+proc toggled*(toggle_button: PToggleButton){.cdecl, dynlib: lib, 
+    importc: "gtk_toggle_button_toggled".}
+proc set_inconsistent*(toggle_button: PToggleButton, 
+                                     setting: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_toggle_button_set_inconsistent".}
+proc get_inconsistent*(toggle_button: PToggleButton): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_toggle_button_get_inconsistent".}
+proc TYPE_CHECK_BUTTON*(): GType
+proc CHECK_BUTTON*(obj: pointer): PCheckButton
+proc CHECK_BUTTON_CLASS*(klass: pointer): PCheckButtonClass
+proc IS_CHECK_BUTTON*(obj: pointer): bool
+proc IS_CHECK_BUTTON_CLASS*(klass: pointer): bool
+proc CHECK_BUTTON_GET_CLASS*(obj: pointer): PCheckButtonClass
+proc check_button_get_type*(): TType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_check_button_get_type".}
+proc check_button_new*(): PCheckButton{.cdecl, dynlib: lib, 
+                                        importc: "gtk_check_button_new".}
+proc check_button_new_with_label*(`label`: cstring): PCheckButton{.cdecl, 
+    dynlib: lib, importc: "gtk_check_button_new_with_label".}
+proc check_button_new_with_mnemonic*(`label`: cstring): PCheckButton{.cdecl, 
+    dynlib: lib, importc: "gtk_check_button_new_with_mnemonic".}
+proc get_props*(check_button: PCheckButton, indicator_size: Pgint, 
+                             indicator_spacing: Pgint){.cdecl, dynlib: lib, 
+    importc: "_gtk_check_button_get_props".}
+const 
+  bm_TGtkCheckMenuItem_active* = 0x0001'i16
   bp_TGtkCheckMenuItem_active* = 0'i16
-  bm_TGtkCheckMenuItem_always_show_toggle* = 0x00000002'i16
+  bm_TGtkCheckMenuItem_always_show_toggle* = 0x0002'i16
   bp_TGtkCheckMenuItem_always_show_toggle* = 1'i16
-  bm_TGtkCheckMenuItem_inconsistent* = 0x00000004'i16
+  bm_TGtkCheckMenuItem_inconsistent* = 0x0004'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,
+proc TYPE_CHECK_MENU_ITEM*(): GType
+proc CHECK_MENU_ITEM*(obj: pointer): PCheckMenuItem
+proc CHECK_MENU_ITEM_CLASS*(klass: pointer): PCheckMenuItemClass
+proc IS_CHECK_MENU_ITEM*(obj: pointer): bool
+proc IS_CHECK_MENU_ITEM_CLASS*(klass: pointer): bool
+proc CHECK_MENU_ITEM_GET_CLASS*(obj: pointer): PCheckMenuItemClass
+proc active*(a: var TCheckMenuItem): guint
+proc set_active*(a: var TCheckMenuItem, `active`: guint)
+proc always_show_toggle*(a: var TCheckMenuItem): guint
+proc set_always_show_toggle*(a: var TCheckMenuItem, `always_show_toggle`: guint)
+proc inconsistent*(a: var TCheckMenuItem): guint
+proc set_inconsistent*(a: var TCheckMenuItem, `inconsistent`: guint)
+proc check_menu_item_get_type*(): TType{.cdecl, dynlib: lib, 
     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,
+proc check_menu_item_new*(): PWidget{.cdecl, dynlib: lib, 
+                                      importc: "gtk_check_menu_item_new".}
+proc check_menu_item_new_with_label*(`label`: cstring): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_check_menu_item_new_with_label".}
+proc check_menu_item_new_with_mnemonic*(`label`: cstring): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_check_menu_item_new_with_mnemonic".}
+proc item_set_active*(check_menu_item: PCheckMenuItem, 
+                                 is_active: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_check_menu_item_set_active".}
+proc item_get_active*(check_menu_item: PCheckMenuItem): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_check_menu_item_get_active".}
+proc item_toggled*(check_menu_item: PCheckMenuItem){.cdecl, 
+    dynlib: lib, importc: "gtk_check_menu_item_toggled".}
+proc item_set_inconsistent*(check_menu_item: PCheckMenuItem, 
+                                       setting: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_check_menu_item_set_inconsistent".}
+proc item_get_inconsistent*(check_menu_item: PCheckMenuItem): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_check_menu_item_get_inconsistent".}
+proc clipboard_get_for_display*(display: gdk2.PDisplay, selection: gdk2.TAtom): PClipboard{.
+    cdecl, dynlib: lib, importc: "gtk_clipboard_get_for_display".}
+proc get_display*(clipboard: PClipboard): gdk2.PDisplay{.cdecl, 
+    dynlib: lib, importc: "gtk_clipboard_get_display".}
+proc set_with_data*(clipboard: PClipboard, targets: PTargetEntry, 
+                              n_targets: guint, get_func: TClipboardGetFunc, 
+                              clear_func: TClipboardClearFunc, 
+                              user_data: gpointer): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_clipboard_set_with_data".}
+proc set_with_owner*(clipboard: PClipboard, targets: PTargetEntry, 
+                               n_targets: guint, get_func: TClipboardGetFunc, 
+                               clear_func: TClipboardClearFunc, owner: PGObject): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_clipboard_set_with_owner".}
+proc get_owner*(clipboard: PClipboard): PGObject{.cdecl, dynlib: lib, 
+    importc: "gtk_clipboard_get_owner".}
+proc clear*(clipboard: PClipboard){.cdecl, dynlib: lib, 
     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,
+proc set_text*(clipboard: PClipboard, text: cstring, len: gint){.
+    cdecl, dynlib: lib, importc: "gtk_clipboard_set_text".}
+proc request_contents*(clipboard: PClipboard, target: gdk2.TAtom, 
+                                 callback: TClipboardReceivedFunc, 
+                                 user_data: gpointer){.cdecl, dynlib: lib, 
+    importc: "gtk_clipboard_request_contents".}
+proc request_text*(clipboard: PClipboard, 
+                             callback: TClipboardTextReceivedFunc, 
+                             user_data: gpointer){.cdecl, dynlib: lib, 
     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
+proc wait_for_contents*(clipboard: PClipboard, target: gdk2.TAtom): PSelectionData{.
+    cdecl, dynlib: lib, importc: "gtk_clipboard_wait_for_contents".}
+proc wait_for_text*(clipboard: PClipboard): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_clipboard_wait_for_text".}
+proc wait_is_text_available*(clipboard: PClipboard): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_clipboard_wait_is_text_available".}
+const 
+  CLIST_IN_DRAG* = 1 shl 0
+  CLIST_ROW_HEIGHT_SET* = 1 shl 1
+  CLIST_SHOW_TITLES* = 1 shl 2
+  CLIST_ADD_MODE* = 1 shl 4
+  CLIST_AUTO_SORT* = 1 shl 5
+  CLIST_AUTO_RESIZE_BLOCKED* = 1 shl 6
+  CLIST_REORDERABLE* = 1 shl 7
+  CLIST_USE_DRAG_ICONS* = 1 shl 8
+  CLIST_DRAW_DRAG_LINE* = 1 shl 9
+  CLIST_DRAW_DRAG_RECT* = 1 shl 10
+  BUTTON_IGNORED* = 0
+  BUTTON_SELECTS* = 1 shl 0
+  BUTTON_DRAGS* = 1 shl 1
+  BUTTON_EXPANDS* = 1 shl 2
+
+const 
+  bm_TGtkCListColumn_visible* = 0x0001'i16
   bp_TGtkCListColumn_visible* = 0'i16
-  bm_TGtkCListColumn_width_set* = 0x00000002'i16
+  bm_TGtkCListColumn_width_set* = 0x0002'i16
   bp_TGtkCListColumn_width_set* = 1'i16
-  bm_TGtkCListColumn_resizeable* = 0x00000004'i16
+  bm_TGtkCListColumn_resizeable* = 0x0004'i16
   bp_TGtkCListColumn_resizeable* = 2'i16
-  bm_TGtkCListColumn_auto_resize* = 0x00000008'i16
+  bm_TGtkCListColumn_auto_resize* = 0x0008'i16
   bp_TGtkCListColumn_auto_resize* = 3'i16
-  bm_TGtkCListColumn_button_passive* = 0x00000010'i16
+  bm_TGtkCListColumn_button_passive* = 0x0010'i16
   bp_TGtkCListColumn_button_passive* = 4'i16
-  bm_TGtkCListRow_fg_set* = 0x00000001'i16
+  bm_TGtkCListRow_fg_set* = 0x0001'i16
   bp_TGtkCListRow_fg_set* = 0'i16
-  bm_TGtkCListRow_bg_set* = 0x00000002'i16
+  bm_TGtkCListRow_bg_set* = 0x0002'i16
   bp_TGtkCListRow_bg_set* = 1'i16
-  bm_TGtkCListRow_selectable* = 0x00000004'i16
+  bm_TGtkCListRow_selectable* = 0x0004'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 TYPE_CLIST*(): GType
+proc CLIST*(obj: pointer): PCList
+proc CLIST_CLASS*(klass: pointer): PCListClass
+proc IS_CLIST*(obj: pointer): bool
+proc IS_CLIST_CLASS*(klass: pointer): bool
+proc CLIST_GET_CLASS*(obj: pointer): PCListClass
+proc CLIST_FLAGS*(clist: pointer): guint16
+proc SET_FLAG*(clist: PCList, flag: guint16)
+proc UNSET_FLAG*(clist: PCList, 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
@@ -5382,3237 +5203,3082 @@ proc GTK_CLIST_UNSET_FLAG*(clist: PGtkCList, flag: guint16)
 #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,
+
+proc visible*(a: var TCListColumn): guint
+proc set_visible*(a: var TCListColumn, `visible`: guint)
+proc width_set*(a: var TCListColumn): guint
+proc set_width_set*(a: var TCListColumn, `width_set`: guint)
+proc resizeable*(a: var TCListColumn): guint
+proc set_resizeable*(a: var TCListColumn, `resizeable`: guint)
+proc auto_resize*(a: var TCListColumn): guint
+proc set_auto_resize*(a: var TCListColumn, `auto_resize`: guint)
+proc button_passive*(a: var TCListColumn): guint
+proc set_button_passive*(a: var TCListColumn, `button_passive`: guint)
+proc fg_set*(a: var TCListRow): guint
+proc set_fg_set*(a: var TCListRow, `fg_set`: guint)
+proc bg_set*(a: var TCListRow): guint
+proc set_bg_set*(a: var TCListRow, `bg_set`: guint)
+proc selectable*(a: var TCListRow): guint
+proc set_selectable*(a: var TCListRow, `selectable`: guint)
+proc clist_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_clist_get_type".}
+proc clist_new*(columns: gint): PCList{.cdecl, dynlib: lib, 
+                                        importc: "gtk_clist_new".}
+proc set_hadjustment*(clist: PCList, adjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_hadjustment".}
+proc set_vadjustment*(clist: PCList, adjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_vadjustment".}
+proc get_hadjustment*(clist: PCList): PAdjustment{.cdecl, dynlib: lib, 
+    importc: "gtk_clist_get_hadjustment".}
+proc get_vadjustment*(clist: PCList): PAdjustment{.cdecl, dynlib: lib, 
+    importc: "gtk_clist_get_vadjustment".}
+proc set_shadow_type*(clist: PCList, thetype: TShadowType){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_shadow_type".}
+proc set_selection_mode*(clist: PCList, mode: TSelectionMode){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_selection_mode".}
+proc set_reorderable*(clist: PCList, reorderable: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_reorderable".}
+proc set_use_drag_icons*(clist: PCList, use_icons: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_use_drag_icons".}
+proc set_button_actions*(clist: PCList, button: guint, 
+                               button_actions: guint8){.cdecl, dynlib: lib, 
+    importc: "gtk_clist_set_button_actions".}
+proc freeze*(clist: PCList){.cdecl, dynlib: lib, 
+                                   importc: "gtk_clist_freeze".}
+proc thaw*(clist: PCList){.cdecl, dynlib: lib, importc: "gtk_clist_thaw".}
+proc column_titles_show*(clist: PCList){.cdecl, dynlib: lib, 
     importc: "gtk_clist_column_titles_show".}
-proc gtk_clist_column_titles_hide*(clist: PGtkCList){.cdecl, dynlib: gtklib,
+proc column_titles_hide*(clist: PCList){.cdecl, dynlib: lib, 
     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,
+proc column_title_active*(clist: PCList, column: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_column_title_active".}
+proc column_title_passive*(clist: PCList, column: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_column_title_passive".}
+proc column_titles_active*(clist: PCList){.cdecl, dynlib: lib, 
     importc: "gtk_clist_column_titles_active".}
-proc gtk_clist_column_titles_passive*(clist: PGtkCList){.cdecl, dynlib: gtklib,
+proc column_titles_passive*(clist: PCList){.cdecl, dynlib: lib, 
     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,
+proc set_column_title*(clist: PCList, column: gint, title: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_column_title".}
+proc get_column_title*(clist: PCList, column: gint): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_clist_get_column_title".}
+proc set_column_widget*(clist: PCList, column: gint, widget: PWidget){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_column_widget".}
+proc get_column_widget*(clist: PCList, column: gint): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_clist_get_column_widget".}
+proc set_column_justification*(clist: PCList, column: gint, 
+                                     justification: TJustification){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_column_justification".}
+proc set_column_visibility*(clist: PCList, column: gint, visible: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_column_visibility".}
+proc set_column_resizeable*(clist: PCList, column: gint, 
+                                  resizeable: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_clist_set_column_resizeable".}
+proc set_column_auto_resize*(clist: PCList, column: gint, 
+                                   auto_resize: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_clist_set_column_auto_resize".}
+proc columns_autosize*(clist: PCList): gint{.cdecl, dynlib: lib, 
     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,
+proc optimal_column_width*(clist: PCList, column: gint): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_clist_optimal_column_width".}
+proc set_column_width*(clist: PCList, column: gint, width: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_column_width".}
+proc set_column_min_width*(clist: PCList, column: gint, min_width: gint){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_column_min_width".}
+proc set_column_max_width*(clist: PCList, column: gint, max_width: gint){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_column_max_width".}
+proc set_row_height*(clist: PCList, height: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_clist_set_row_height".}
+proc moveto*(clist: PCList, row: gint, column: gint, row_align: gfloat, 
+                   col_align: gfloat){.cdecl, dynlib: lib, 
+                                       importc: "gtk_clist_moveto".}
+proc row_is_visible*(clist: PCList, row: gint): TVisibility{.cdecl, 
+    dynlib: lib, importc: "gtk_clist_row_is_visible".}
+proc get_cell_type*(clist: PCList, row: gint, column: gint): TCellType{.
+    cdecl, dynlib: lib, importc: "gtk_clist_get_cell_type".}
+proc set_text*(clist: PCList, row: gint, column: gint, text: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_text".}
+proc get_text*(clist: PCList, row: gint, column: gint, text: PPgchar): gint{.
+    cdecl, dynlib: lib, importc: "gtk_clist_get_text".}
+proc set_pixmap*(clist: PCList, row: gint, column: gint, 
+                       pixmap: gdk2.PPixmap, mask: gdk2.PBitmap){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_pixmap".}
+proc get_pixmap*(clist: PCList, row: gint, column: gint, 
+                       pixmap: var gdk2.PPixmap, mask: var gdk2.PBitmap): gint{.
+    cdecl, dynlib: lib, importc: "gtk_clist_get_pixmap".}
+proc set_pixtext*(clist: PCList, row: gint, column: gint, text: cstring, 
+                        spacing: guint8, pixmap: gdk2.PPixmap, mask: gdk2.PBitmap){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_pixtext".}
+proc set_foreground*(clist: PCList, row: gint, color: gdk2.PColor){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_foreground".}
+proc set_background*(clist: PCList, row: gint, color: gdk2.PColor){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_background".}
+proc set_cell_style*(clist: PCList, row: gint, column: gint, style: PStyle){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_cell_style".}
+proc get_cell_style*(clist: PCList, row: gint, column: gint): PStyle{.
+    cdecl, dynlib: lib, importc: "gtk_clist_get_cell_style".}
+proc set_row_style*(clist: PCList, row: gint, style: PStyle){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_row_style".}
+proc get_row_style*(clist: PCList, row: gint): PStyle{.cdecl, dynlib: lib, 
+    importc: "gtk_clist_get_row_style".}
+proc set_shift*(clist: PCList, row: gint, column: gint, vertical: gint, 
+                      horizontal: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_clist_set_shift".}
+proc set_selectable*(clist: PCList, row: gint, selectable: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_clist_set_selectable".}
+proc get_selectable*(clist: PCList, row: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_clist_get_selectable".}
+proc remove*(clist: PCList, row: gint){.cdecl, dynlib: lib, 
     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,
+proc set_row_data*(clist: PCList, row: gint, data: gpointer){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_row_data".}
+proc set_row_data_full*(clist: PCList, row: gint, data: gpointer, 
+                              destroy: TDestroyNotify){.cdecl, dynlib: lib, 
+    importc: "gtk_clist_set_row_data_full".}
+proc get_row_data*(clist: PCList, row: gint): gpointer{.cdecl, 
+    dynlib: lib, importc: "gtk_clist_get_row_data".}
+proc find_row_from_data*(clist: PCList, data: gpointer): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_clist_find_row_from_data".}
+proc select_row*(clist: PCList, row: gint, column: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_select_row".}
+proc unselect_row*(clist: PCList, row: gint, column: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_unselect_row".}
+proc undo_selection*(clist: PCList){.cdecl, dynlib: lib, 
     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,
+proc clear*(clist: PCList){.cdecl, dynlib: lib, importc: "gtk_clist_clear".}
+proc get_selection_info*(clist: PCList, x: gint, y: gint, row: Pgint, 
+                               column: Pgint): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_clist_get_selection_info".}
+proc select_all*(clist: PCList){.cdecl, dynlib: lib, 
+                                       importc: "gtk_clist_select_all".}
+proc unselect_all*(clist: PCList){.cdecl, dynlib: lib, 
     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,
+proc swap_rows*(clist: PCList, row1: gint, row2: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_swap_rows".}
+proc row_move*(clist: PCList, source_row: gint, dest_row: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_row_move".}
+proc set_compare_func*(clist: PCList, cmp_func: TCListCompareFunc){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_compare_func".}
+proc set_sort_column*(clist: PCList, column: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_clist_set_sort_column".}
+proc set_sort_type*(clist: PCList, sort_type: TSortType){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_sort_type".}
+proc sort*(clist: PCList){.cdecl, dynlib: lib, importc: "gtk_clist_sort".}
+proc set_auto_sort*(clist: PCList, auto_sort: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_clist_set_auto_sort".}
+proc create_cell_layout*(clist: PCList, clist_row: PCListRow, column: gint): pango.PLayout{.
+    cdecl, dynlib: lib, importc: "_gtk_clist_create_cell_layout".}
+const 
+  DIALOG_MODAL* = 1 shl 0
+  DIALOG_DESTROY_WITH_PARENT* = 1 shl 1
+  DIALOG_NO_SEPARATOR* = 1 shl 2
+  RESPONSE_NONE* = - (1)
+  RESPONSE_REJECT* = - (2)
+  RESPONSE_ACCEPT* = - (3)
+  RESPONSE_DELETE_EVENT* = - (4)
+  RESPONSE_OK* = - (5)
+  RESPONSE_CANCEL* = - (6)
+  RESPONSE_CLOSE* = - (7)
+  RESPONSE_YES* = - (8)
+  RESPONSE_NO* = - (9)
+  RESPONSE_APPLY* = - (10)
+  RESPONSE_HELP* = - (11)
+
+proc TYPE_DIALOG*(): GType
+proc DIALOG*(obj: pointer): PDialog
+proc DIALOG_CLASS*(klass: pointer): PDialogClass
+proc IS_DIALOG*(obj: pointer): bool
+proc IS_DIALOG_CLASS*(klass: pointer): bool
+proc DIALOG_GET_CLASS*(obj: pointer): PDialogClass
+proc dialog_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_dialog_get_type".}
+proc dialog_new*(): PDialog{.cdecl, dynlib: lib, importc: "gtk_dialog_new".}
+proc add_action_widget*(dialog: PDialog, child: PWidget, 
+                               response_id: gint){.cdecl, dynlib: lib, 
     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,
+proc add_button*(dialog: PDialog, button_text: cstring, response_id: gint): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_dialog_add_button".}
+proc set_response_sensitive*(dialog: PDialog, response_id: gint, 
+                                    setting: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_dialog_set_response_sensitive".}
+proc set_default_response*(dialog: PDialog, response_id: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_dialog_set_default_response".}
+proc set_has_separator*(dialog: PDialog, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_dialog_set_has_separator".}
+proc get_has_separator*(dialog: PDialog): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_dialog_get_has_separator".}
+proc response*(dialog: PDialog, response_id: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_dialog_response".}
+proc run*(dialog: PDialog): gint{.cdecl, dynlib: lib, 
     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,
+proc show_about_dialog*(parent: PWindow, firstPropertyName: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_show_about_dialog", varargs.}
+proc TYPE_VBOX*(): GType
+proc VBOX*(obj: pointer): PVBox
+proc VBOX_CLASS*(klass: pointer): PVBoxClass
+proc IS_VBOX*(obj: pointer): bool
+proc IS_VBOX_CLASS*(klass: pointer): bool
+proc VBOX_GET_CLASS*(obj: pointer): PVBoxClass
+proc vbox_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_vbox_get_type".}
+proc vbox_new*(homogeneous: gboolean, spacing: gint): PVBox{.cdecl, dynlib: lib, 
+    importc: "gtk_vbox_new".}
+proc TYPE_COLOR_SELECTION*(): GType
+proc COLOR_SELECTION*(obj: pointer): PColorSelection
+proc COLOR_SELECTION_CLASS*(klass: pointer): PColorSelectionClass
+proc IS_COLOR_SELECTION*(obj: pointer): bool
+proc IS_COLOR_SELECTION_CLASS*(klass: pointer): bool
+proc COLOR_SELECTION_GET_CLASS*(obj: pointer): PColorSelectionClass
+proc color_selection_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_color_selection_get_type".}
-proc gtk_color_selection_new*(): PGtkColorSelection {.cdecl, dynlib: gtklib,
+proc color_selection_new*(): PColorSelection{.cdecl, dynlib: lib, 
     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,
+proc get_has_opacity_control*(colorsel: PColorSelection): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_color_selection_get_has_opacity_control".}
+proc set_has_opacity_control*(colorsel: PColorSelection, 
+    has_opacity: gboolean){.cdecl, dynlib: lib, importc: "gtk_color_selection_set_has_opacity_control".}
+proc get_has_palette*(colorsel: PColorSelection): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_color_selection_get_has_palette".}
+proc set_has_palette*(colorsel: PColorSelection, 
+                                      has_palette: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_color_selection_set_has_palette".}
+proc set_current_color*(colorsel: PColorSelection, 
+                                        color: gdk2.PColor){.cdecl, dynlib: lib, 
+    importc: "gtk_color_selection_set_current_color".}
+proc set_current_alpha*(colorsel: PColorSelection, 
+                                        alpha: guint16){.cdecl, dynlib: lib, 
+    importc: "gtk_color_selection_set_current_alpha".}
+proc get_current_color*(colorsel: PColorSelection, 
+                                        color: gdk2.PColor){.cdecl, dynlib: lib, 
+    importc: "gtk_color_selection_get_current_color".}
+proc get_current_alpha*(colorsel: PColorSelection): guint16{.
+    cdecl, dynlib: lib, importc: "gtk_color_selection_get_current_alpha".}
+proc set_previous_color*(colorsel: PColorSelection, 
+    color: gdk2.PColor){.cdecl, dynlib: lib, 
                        importc: "gtk_color_selection_set_previous_color".}
-proc gtk_color_selection_set_previous_alpha*(colorsel: PGtkColorSelection,
-    alpha: guint16){.cdecl, dynlib: gtklib,
+proc set_previous_alpha*(colorsel: PColorSelection, 
+    alpha: guint16){.cdecl, dynlib: lib, 
                      importc: "gtk_color_selection_set_previous_alpha".}
-proc gtk_color_selection_get_previous_color*(colorsel: PGtkColorSelection,
-    color: PGdkColor){.cdecl, dynlib: gtklib,
+proc get_previous_color*(colorsel: PColorSelection, 
+    color: gdk2.PColor){.cdecl, dynlib: lib, 
                        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,
+proc get_previous_alpha*(colorsel: PColorSelection): guint16{.
+    cdecl, dynlib: lib, importc: "gtk_color_selection_get_previous_alpha".}
+proc is_adjusting*(colorsel: PColorSelection): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_color_selection_is_adjusting".}
+proc color_selection_palette_from_string*(str: cstring, colors: var gdk2.PColor, 
+    n_colors: Pgint): gboolean{.cdecl, dynlib: lib, importc: "gtk_color_selection_palette_from_string".}
+proc color_selection_palette_to_string*(colors: gdk2.PColor, n_colors: gint): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_color_selection_palette_to_string".}
+proc color_selection_set_change_palette_with_screen_hook*(
+    func: TColorSelectionChangePaletteWithScreenFunc): TColorSelectionChangePaletteWithScreenFunc{.
+    cdecl, dynlib: lib, 
     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,
+proc TYPE_COLOR_SELECTION_DIALOG*(): GType
+proc COLOR_SELECTION_DIALOG*(obj: pointer): PColorSelectionDialog
+proc COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): PColorSelectionDialogClass
+proc IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool
+proc IS_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): bool
+proc COLOR_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PColorSelectionDialogClass
+proc color_selection_dialog_get_type*(): TType{.cdecl, dynlib: lib, 
     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
+proc color_selection_dialog_new*(title: cstring): PColorSelectionDialog{.cdecl, 
+    dynlib: lib, importc: "gtk_color_selection_dialog_new".}
+proc TYPE_HBOX*(): GType
+proc HBOX*(obj: pointer): PHBox
+proc HBOX_CLASS*(klass: pointer): PHBoxClass
+proc IS_HBOX*(obj: pointer): bool
+proc IS_HBOX_CLASS*(klass: pointer): bool
+proc HBOX_GET_CLASS*(obj: pointer): PHBoxClass
+proc hbox_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_hbox_get_type".}
+proc hbox_new*(homogeneous: gboolean, spacing: gint): PHBox{.cdecl, dynlib: lib, 
+    importc: "gtk_hbox_new".}
+const 
+  bm_TGtkCombo_value_in_list* = 0x0001'i16
   bp_TGtkCombo_value_in_list* = 0'i16
-  bm_TGtkCombo_ok_if_empty* = 0x00000002'i16
+  bm_TGtkCombo_ok_if_empty* = 0x0002'i16
   bp_TGtkCombo_ok_if_empty* = 1'i16
-  bm_TGtkCombo_case_sensitive* = 0x00000004'i16
+  bm_TGtkCombo_case_sensitive* = 0x0004'i16
   bp_TGtkCombo_case_sensitive* = 2'i16
-  bm_TGtkCombo_use_arrows* = 0x00000008'i16
+  bm_TGtkCombo_use_arrows* = 0x0008'i16
   bp_TGtkCombo_use_arrows* = 3'i16
-  bm_TGtkCombo_use_arrows_always* = 0x00000010'i16
+  bm_TGtkCombo_use_arrows_always* = 0x0010'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,
+proc TYPE_COMBO*(): GType
+proc COMBO*(obj: pointer): PCombo
+proc COMBO_CLASS*(klass: pointer): PComboClass
+proc IS_COMBO*(obj: pointer): bool
+proc IS_COMBO_CLASS*(klass: pointer): bool
+proc COMBO_GET_CLASS*(obj: pointer): PComboClass
+proc value_in_list*(a: var TCombo): guint
+proc set_value_in_list*(a: var TCombo, `value_in_list`: guint)
+proc ok_if_empty*(a: var TCombo): guint
+proc set_ok_if_empty*(a: var TCombo, `ok_if_empty`: guint)
+proc case_sensitive*(a: var TCombo): guint
+proc set_case_sensitive*(a: var TCombo, `case_sensitive`: guint)
+proc use_arrows*(a: var TCombo): guint
+proc set_use_arrows*(a: var TCombo, `use_arrows`: guint)
+proc use_arrows_always*(a: var TCombo): guint
+proc set_use_arrows_always*(a: var TCombo, `use_arrows_always`: guint)
+proc combo_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_combo_get_type".}
+proc combo_new*(): PCombo{.cdecl, dynlib: lib, importc: "gtk_combo_new".}
+proc set_value_in_list*(combo: PCombo, val: gboolean, 
+                              ok_if_empty: gboolean){.cdecl, dynlib: lib, 
     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,
+proc set_use_arrows*(combo: PCombo, val: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_combo_set_use_arrows".}
+proc set_use_arrows_always*(combo: PCombo, val: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_combo_set_use_arrows_always".}
+proc set_case_sensitive*(combo: PCombo, val: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_combo_set_case_sensitive".}
+proc set_item_string*(combo: PCombo, item: PItem, item_value: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_combo_set_item_string".}
+proc set_popdown_strings*(combo: PCombo, strings: PGList){.cdecl, 
+    dynlib: lib, importc: "gtk_combo_set_popdown_strings".}
+proc disable_activate*(combo: PCombo){.cdecl, dynlib: lib, 
     importc: "gtk_combo_disable_activate".}
-const
-  bm_TGtkCTree_line_style* = 0x00000003'i16
+const 
+  bm_TGtkCTree_line_style* = 0x0003'i16
   bp_TGtkCTree_line_style* = 0'i16
-  bm_TGtkCTree_expander_style* = 0x0000000C'i16
+  bm_TGtkCTree_expander_style* = 0x000C'i16
   bp_TGtkCTree_expander_style* = 2'i16
-  bm_TGtkCTree_show_stub* = 0x00000010'i16
+  bm_TGtkCTree_show_stub* = 0x0010'i16
   bp_TGtkCTree_show_stub* = 4'i16
-  bm_TGtkCTreeRow_is_leaf* = 0x00000001'i16
+  bm_TGtkCTreeRow_is_leaf* = 0x0001'i16
   bp_TGtkCTreeRow_is_leaf* = 0'i16
-  bm_TGtkCTreeRow_expanded* = 0x00000002'i16
+  bm_TGtkCTreeRow_expanded* = 0x0002'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,
+proc TYPE_CTREE*(): GType
+proc CTREE*(obj: pointer): PCTree
+proc CTREE_CLASS*(klass: pointer): PCTreeClass
+proc IS_CTREE*(obj: pointer): bool
+proc IS_CTREE_CLASS*(klass: pointer): bool
+proc CTREE_GET_CLASS*(obj: pointer): PCTreeClass
+proc CTREE_ROW*(node: TAddress): PCTreeRow
+proc CTREE_NODE*(node: TAddress): PCTreeNode
+proc CTREE_NODE_NEXT*(nnode: TAddress): PCTreeNode
+proc CTREE_NODE_PREV*(pnode: TAddress): PCTreeNode
+proc CTREE_FUNC*(fun: TAddress): TCTreeFunc
+proc TYPE_CTREE_NODE*(): GType
+proc line_style*(a: var TCTree): guint
+proc set_line_style*(a: var TCTree, `line_style`: guint)
+proc expander_style*(a: var TCTree): guint
+proc set_expander_style*(a: var TCTree, `expander_style`: guint)
+proc show_stub*(a: var TCTree): guint
+proc set_show_stub*(a: var TCTree, `show_stub`: guint)
+proc is_leaf*(a: var TCTreeRow): guint
+proc set_is_leaf*(a: var TCTreeRow, `is_leaf`: guint)
+proc expanded*(a: var TCTreeRow): guint
+proc set_expanded*(a: var TCTreeRow, `expanded`: guint)
+proc ctree_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_ctree_get_type".}
+proc ctree_new*(columns: gint, tree_column: gint): PCTree{.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_new".}
+proc insert_node*(ctree: PCTree, parent: PCTreeNode, sibling: PCTreeNode, 
+                        text: openarray[cstring], spacing: guint8, 
+                        pixmap_closed: gdk2.PPixmap, mask_closed: gdk2.PBitmap, 
+                        pixmap_opened: gdk2.PPixmap, mask_opened: gdk2.PBitmap, 
+                        is_leaf: gboolean, expanded: gboolean): PCTreeNode{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_insert_node".}
+proc remove_node*(ctree: PCTree, node: PCTreeNode){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_remove_node".}
+proc insert_gnode*(ctree: PCTree, parent: PCTreeNode, sibling: PCTreeNode, 
+                         gnode: PGNode, fun: TCTreeGNodeFunc, data: gpointer): PCTreeNode{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_insert_gnode".}
+proc export_to_gnode*(ctree: PCTree, parent: PGNode, sibling: PGNode, 
+                            node: PCTreeNode, fun: TCTreeGNodeFunc, 
+                            data: gpointer): PGNode{.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_export_to_gnode".}
+proc post_recursive*(ctree: PCTree, node: PCTreeNode, fun: TCTreeFunc, 
+                           data: gpointer){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_post_recursive".}
+proc post_recursive_to_depth*(ctree: PCTree, node: PCTreeNode, 
+                                    depth: gint, fun: TCTreeFunc, 
+                                    data: gpointer){.cdecl, dynlib: lib, 
     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,
+proc pre_recursive*(ctree: PCTree, node: PCTreeNode, fun: TCTreeFunc, 
+                          data: gpointer){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_pre_recursive".}
+proc pre_recursive_to_depth*(ctree: PCTree, node: PCTreeNode, 
+                                   depth: gint, fun: TCTreeFunc, 
+                                   data: gpointer){.cdecl, dynlib: lib, 
     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,
+proc is_viewable*(ctree: PCTree, node: PCTreeNode): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_is_viewable".}
+proc last*(ctree: PCTree, node: PCTreeNode): PCTreeNode{.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_last".}
+proc find_node_ptr*(ctree: PCTree, ctree_row: PCTreeRow): PCTreeNode{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_find_node_ptr".}
+proc node_nth*(ctree: PCTree, row: guint): PCTreeNode{.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_node_nth".}
+proc find*(ctree: PCTree, node: PCTreeNode, child: PCTreeNode): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_find".}
+proc is_ancestor*(ctree: PCTree, node: PCTreeNode, child: PCTreeNode): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_is_ancestor".}
+proc find_by_row_data*(ctree: PCTree, node: PCTreeNode, data: gpointer): PCTreeNode{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_find_by_row_data".}
+proc find_all_by_row_data*(ctree: PCTree, node: PCTreeNode, 
+                                 data: gpointer): PGList{.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_find_all_by_row_data".}
+proc find_by_row_data_custom*(ctree: PCTree, node: PCTreeNode, 
+                                    data: gpointer, fun: TGCompareFunc): PCTreeNode{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_find_by_row_data_custom".}
+proc find_all_by_row_data_custom*(ctree: PCTree, node: PCTreeNode, 
+                                        data: gpointer, fun: TGCompareFunc): PGList{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_find_all_by_row_data_custom".}
+proc is_hot_spot*(ctree: PCTree, x: gint, y: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_is_hot_spot".}
+proc move*(ctree: PCTree, node: PCTreeNode, new_parent: PCTreeNode, 
+                 new_sibling: PCTreeNode){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_move".}
+proc expand*(ctree: PCTree, node: PCTreeNode){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_expand".}
+proc expand_recursive*(ctree: PCTree, node: PCTreeNode){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_expand_recursive".}
+proc expand_to_depth*(ctree: PCTree, node: PCTreeNode, depth: gint){.
+    cdecl, dynlib: lib, importc: "gtk_ctree_expand_to_depth".}
+proc collapse*(ctree: PCTree, node: PCTreeNode){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_collapse".}
+proc collapse_recursive*(ctree: PCTree, node: PCTreeNode){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_collapse_recursive".}
+proc collapse_to_depth*(ctree: PCTree, node: PCTreeNode, depth: gint){.
+    cdecl, dynlib: lib, importc: "gtk_ctree_collapse_to_depth".}
+proc toggle_expansion*(ctree: PCTree, node: PCTreeNode){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_toggle_expansion".}
+proc toggle_expansion_recursive*(ctree: PCTree, node: PCTreeNode){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_toggle_expansion_recursive".}
+proc select*(ctree: PCTree, node: PCTreeNode){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_select".}
+proc select_recursive*(ctree: PCTree, node: PCTreeNode){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_select_recursive".}
+proc unselect*(ctree: PCTree, node: PCTreeNode){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_unselect".}
+proc unselect_recursive*(ctree: PCTree, node: PCTreeNode){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_unselect_recursive".}
+proc real_select_recursive*(ctree: PCTree, node: PCTreeNode, state: gint){.
+    cdecl, dynlib: lib, importc: "gtk_ctree_real_select_recursive".}
+proc node_set_text*(ctree: PCTree, node: PCTreeNode, column: gint, 
+                          text: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_node_set_text".}
+proc node_set_pixmap*(ctree: PCTree, node: PCTreeNode, column: gint, 
+                            pixmap: gdk2.PPixmap, mask: gdk2.PBitmap){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_node_set_pixmap".}
+proc node_set_pixtext*(ctree: PCTree, node: PCTreeNode, column: gint, 
+                             text: cstring, spacing: guint8, pixmap: gdk2.PPixmap, 
+                             mask: gdk2.PBitmap){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_node_set_pixtext".}
+proc set_node_info*(ctree: PCTree, node: PCTreeNode, text: cstring, 
+                          spacing: guint8, pixmap_closed: gdk2.PPixmap, 
+                          mask_closed: gdk2.PBitmap, pixmap_opened: gdk2.PPixmap, 
+                          mask_opened: gdk2.PBitmap, is_leaf: gboolean, 
+                          expanded: gboolean){.cdecl, dynlib: lib, 
     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,
+proc node_set_shift*(ctree: PCTree, node: PCTreeNode, column: gint, 
+                           vertical: gint, horizontal: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_node_set_shift".}
+proc node_set_selectable*(ctree: PCTree, node: PCTreeNode, 
+                                selectable: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_node_set_selectable".}
+proc node_get_selectable*(ctree: PCTree, node: PCTreeNode): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_node_get_selectable".}
+proc node_get_cell_type*(ctree: PCTree, node: PCTreeNode, column: gint): TCellType{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_node_get_cell_type".}
+proc node_get_text*(ctree: PCTree, node: PCTreeNode, column: gint, 
+                          text: PPgchar): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_node_get_text".}
+proc node_set_row_style*(ctree: PCTree, node: PCTreeNode, style: PStyle){.
+    cdecl, dynlib: lib, importc: "gtk_ctree_node_set_row_style".}
+proc node_get_row_style*(ctree: PCTree, node: PCTreeNode): PStyle{.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_node_get_row_style".}
+proc node_set_cell_style*(ctree: PCTree, node: PCTreeNode, column: gint, 
+                                style: PStyle){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_node_set_cell_style".}
+proc node_get_cell_style*(ctree: PCTree, node: PCTreeNode, column: gint): PStyle{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_node_get_cell_style".}
+proc node_set_foreground*(ctree: PCTree, node: PCTreeNode, 
+                                color: gdk2.PColor){.cdecl, dynlib: lib, 
     importc: "gtk_ctree_node_set_foreground".}
-proc gtk_ctree_node_set_background*(ctree: PGtkCTree, node: PGtkCTreeNode,
-                                    color: PGdkColor){.cdecl, dynlib: gtklib,
+proc node_set_background*(ctree: PCTree, node: PCTreeNode, 
+                                color: gdk2.PColor){.cdecl, dynlib: lib, 
     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,
+proc node_set_row_data*(ctree: PCTree, node: PCTreeNode, data: gpointer){.
+    cdecl, dynlib: lib, importc: "gtk_ctree_node_set_row_data".}
+proc node_set_row_data_full*(ctree: PCTree, node: PCTreeNode, 
+                                   data: gpointer, destroy: TDestroyNotify){.
+    cdecl, dynlib: lib, importc: "gtk_ctree_node_set_row_data_full".}
+proc node_get_row_data*(ctree: PCTree, node: PCTreeNode): gpointer{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_node_get_row_data".}
+proc node_moveto*(ctree: PCTree, node: PCTreeNode, column: gint, 
+                        row_align: gfloat, col_align: gfloat){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_node_moveto".}
+proc node_is_visible*(ctree: PCTree, node: PCTreeNode): TVisibility{.
+    cdecl, dynlib: lib, importc: "gtk_ctree_node_is_visible".}
+proc set_indent*(ctree: PCTree, indent: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_set_indent".}
+proc set_spacing*(ctree: PCTree, spacing: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_set_spacing".}
+proc set_show_stub*(ctree: PCTree, show_stub: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_set_show_stub".}
+proc set_line_style*(ctree: PCTree, line_style: TCTreeLineStyle){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_set_line_style".}
+proc set_expander_style*(ctree: PCTree, 
+                               expander_style: TCTreeExpanderStyle){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_set_expander_style".}
+proc set_drag_compare_func*(ctree: PCTree, cmp_func: TCTreeCompareDragFunc){.
+    cdecl, dynlib: lib, importc: "gtk_ctree_set_drag_compare_func".}
+proc sort_node*(ctree: PCTree, node: PCTreeNode){.cdecl, dynlib: lib, 
+    importc: "gtk_ctree_sort_node".}
+proc sort_recursive*(ctree: PCTree, node: PCTreeNode){.cdecl, 
+    dynlib: lib, importc: "gtk_ctree_sort_recursive".}
+proc ctree_set_reorderable*(t: pointer, r: bool)
+proc ctree_node_get_type*(): GType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_ctree_node_get_type".}
+proc TYPE_DRAWING_AREA*(): GType
+proc DRAWING_AREA*(obj: pointer): PDrawingArea
+proc DRAWING_AREA_CLASS*(klass: pointer): PDrawingAreaClass
+proc IS_DRAWING_AREA*(obj: pointer): bool
+proc IS_DRAWING_AREA_CLASS*(klass: pointer): bool
+proc DRAWING_AREA_GET_CLASS*(obj: pointer): PDrawingAreaClass
+proc drawing_area_get_type*(): TType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_drawing_area_get_type".}
+proc drawing_area_new*(): PDrawingArea{.cdecl, dynlib: lib, 
+                                        importc: "gtk_drawing_area_new".}
+proc TYPE_CURVE*(): GType
+proc CURVE*(obj: pointer): PCurve
+proc CURVE_CLASS*(klass: pointer): PCurveClass
+proc IS_CURVE*(obj: pointer): bool
+proc IS_CURVE_CLASS*(klass: pointer): bool
+proc CURVE_GET_CLASS*(obj: pointer): PCurveClass
+proc curve_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_curve_get_type".}
+proc curve_new*(): PCurve{.cdecl, dynlib: lib, importc: "gtk_curve_new".}
+proc reset*(curve: PCurve){.cdecl, dynlib: lib, importc: "gtk_curve_reset".}
+proc set_gamma*(curve: PCurve, gamma: gfloat){.cdecl, dynlib: lib, 
+    importc: "gtk_curve_set_gamma".}
+proc set_range*(curve: PCurve, min_x: gfloat, max_x: gfloat, 
+                      min_y: gfloat, max_y: gfloat){.cdecl, dynlib: lib, 
     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,
+proc set_curve_type*(curve: PCurve, thetype: TCurveType){.cdecl, 
+    dynlib: lib, importc: "gtk_curve_set_curve_type".}
+const 
+  DEST_DEFAULT_MOTION* = 1 shl 0
+  DEST_DEFAULT_HIGHLIGHT* = 1 shl 1
+  DEST_DEFAULT_DROP* = 1 shl 2
+  DEST_DEFAULT_ALL* = 0x00000007
+  TARGET_SAME_APP* = 1 shl 0
+  TARGET_SAME_WIDGET* = 1 shl 1
+
+proc drag_get_data*(widget: PWidget, context: gdk2.PDragContext, target: gdk2.TAtom, 
+                    time: guint32){.cdecl, dynlib: lib, 
+                                    importc: "gtk_drag_get_data".}
+proc drag_finish*(context: gdk2.PDragContext, success: gboolean, del: gboolean, 
+                  time: guint32){.cdecl, dynlib: lib, importc: "gtk_drag_finish".}
+proc drag_get_source_widget*(context: gdk2.PDragContext): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_drag_get_source_widget".}
+proc drag_highlight*(widget: PWidget){.cdecl, dynlib: lib, 
+                                       importc: "gtk_drag_highlight".}
+proc drag_unhighlight*(widget: PWidget){.cdecl, dynlib: lib, 
     importc: "gtk_drag_unhighlight".}
-proc gtk_drag_dest_set*(widget: PGtkWidget, flags: TGtkDestDefaults,
-                        targets: PGtkTargetEntry, n_targets: gint,
-                        actions: TGdkDragAction){.cdecl, dynlib: gtklib,
+proc drag_dest_set*(widget: PWidget, flags: TDestDefaults, 
+                    targets: PTargetEntry, n_targets: gint, 
+                    actions: gdk2.TDragAction){.cdecl, dynlib: lib, 
     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,
+proc drag_dest_set_proxy*(widget: PWidget, proxy_window: gdk2.PWindow, 
+                          protocol: gdk2.TDragProtocol, use_coordinates: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_drag_dest_set_proxy".}
+proc drag_dest_unset*(widget: PWidget){.cdecl, dynlib: lib, 
+                                        importc: "gtk_drag_dest_unset".}
+proc drag_dest_find_target*(widget: PWidget, context: gdk2.PDragContext, 
+                            target_list: PTargetList): gdk2.TAtom{.cdecl, 
+    dynlib: lib, importc: "gtk_drag_dest_find_target".}
+proc drag_dest_get_target_list*(widget: PWidget): PTargetList{.cdecl, 
+    dynlib: lib, importc: "gtk_drag_dest_get_target_list".}
+proc drag_dest_set_target_list*(widget: PWidget, target_list: PTargetList){.
+    cdecl, dynlib: lib, importc: "gtk_drag_dest_set_target_list".}
+proc drag_source_set*(widget: PWidget, start_button_mask: gdk2.TModifierType, 
+                      targets: PTargetEntry, n_targets: gint, 
+                      actions: gdk2.TDragAction){.cdecl, dynlib: lib, 
     importc: "gtk_drag_source_set".}
-proc gtk_drag_source_unset*(widget: PGtkWidget){.cdecl, dynlib: gtklib,
+proc drag_source_unset*(widget: PWidget){.cdecl, dynlib: lib, 
     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,
+proc drag_source_set_icon*(widget: PWidget, colormap: gdk2.PColormap, 
+                           pixmap: gdk2.PPixmap, mask: gdk2.PBitmap){.cdecl, 
+    dynlib: lib, importc: "gtk_drag_source_set_icon".}
+proc drag_source_set_icon_pixbuf*(widget: PWidget, pixbuf: gdk2pixbuf.PPixbuf){.cdecl, 
+    dynlib: lib, importc: "gtk_drag_source_set_icon_pixbuf".}
+proc drag_source_set_icon_stock*(widget: PWidget, stock_id: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_drag_source_set_icon_stock".}
+proc drag_begin*(widget: PWidget, targets: PTargetList, actions: gdk2.TDragAction, 
+                 button: gint, event: gdk2.PEvent): gdk2.PDragContext{.cdecl, 
+    dynlib: lib, importc: "gtk_drag_begin".}
+proc drag_set_icon_widget*(context: gdk2.PDragContext, widget: PWidget, 
+                           hot_x: gint, hot_y: gint){.cdecl, dynlib: lib, 
     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,
+proc drag_set_icon_pixmap*(context: gdk2.PDragContext, colormap: gdk2.PColormap, 
+                           pixmap: gdk2.PPixmap, mask: gdk2.PBitmap, hot_x: gint, 
+                           hot_y: gint){.cdecl, dynlib: lib, 
     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,
+proc drag_set_icon_pixbuf*(context: gdk2.PDragContext, pixbuf: gdk2pixbuf.PPixbuf, 
+                           hot_x: gint, hot_y: gint){.cdecl, dynlib: lib, 
     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,
+proc drag_set_icon_stock*(context: gdk2.PDragContext, stock_id: cstring, 
+                          hot_x: gint, hot_y: gint){.cdecl, dynlib: lib, 
     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,
+proc drag_set_icon_default*(context: gdk2.PDragContext){.cdecl, dynlib: lib, 
+    importc: "gtk_drag_set_icon_default".}
+proc drag_check_threshold*(widget: PWidget, start_x: gint, start_y: gint, 
+                           current_x: gint, current_y: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_drag_check_threshold".}
+proc drag_source_handle_event*(widget: PWidget, event: gdk2.PEvent){.cdecl, 
+    dynlib: lib, importc: "_gtk_drag_source_handle_event".}
+proc drag_dest_handle_event*(toplevel: PWidget, event: gdk2.PEvent){.cdecl, 
+    dynlib: lib, importc: "_gtk_drag_dest_handle_event".}
+proc TYPE_EDITABLE*(): GType
+proc EDITABLE*(obj: pointer): PEditable
+proc EDITABLE_CLASS*(vtable: pointer): PEditableClass
+proc IS_EDITABLE*(obj: pointer): bool
+proc IS_EDITABLE_CLASS*(vtable: pointer): bool
+proc EDITABLE_GET_CLASS*(inst: pointer): PEditableClass
+proc editable_get_type*(): TType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_editable_get_type".}
+proc select_region*(editable: PEditable, start: gint, theEnd: gint){.
+    cdecl, dynlib: lib, importc: "gtk_editable_select_region".}
+proc get_selection_bounds*(editable: PEditable, start: Pgint, 
+                                    theEnd: Pgint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_editable_get_selection_bounds".}
+proc insert_text*(editable: PEditable, new_text: cstring, 
+                           new_text_length: gint, position: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_editable_insert_text".}
+proc delete_text*(editable: PEditable, start_pos: gint, end_pos: gint){.
+    cdecl, dynlib: lib, importc: "gtk_editable_delete_text".}
+proc get_chars*(editable: PEditable, start_pos: gint, end_pos: gint): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_editable_get_chars".}
+proc cut_clipboard*(editable: PEditable){.cdecl, dynlib: lib, 
     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,
+proc copy_clipboard*(editable: PEditable){.cdecl, dynlib: lib, 
+    importc: "gtk_editable_copy_clipboard".}
+proc paste_clipboard*(editable: PEditable){.cdecl, dynlib: lib, 
+    importc: "gtk_editable_paste_clipboard".}
+proc delete_selection*(editable: PEditable){.cdecl, dynlib: lib, 
+    importc: "gtk_editable_delete_selection".}
+proc set_position*(editable: PEditable, position: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_editable_set_position".}
+proc get_position*(editable: PEditable): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_editable_get_position".}
+proc set_editable*(editable: PEditable, is_editable: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_editable_set_editable".}
+proc get_editable*(editable: PEditable): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_editable_get_editable".}
+proc TYPE_IM_CONTEXT*(): GType
+proc IM_CONTEXT*(obj: pointer): PIMContext
+proc IM_CONTEXT_CLASS*(klass: pointer): PIMContextClass
+proc IS_IM_CONTEXT*(obj: pointer): bool
+proc IS_IM_CONTEXT_CLASS*(klass: pointer): bool
+proc IM_CONTEXT_GET_CLASS*(obj: pointer): PIMContextClass
+proc im_context_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_im_context_get_type".}
+proc set_client_window*(context: PIMContext, window: gdk2.PWindow){.
+    cdecl, dynlib: lib, importc: "gtk_im_context_set_client_window".}
+proc filter_keypress*(context: PIMContext, event: gdk2.PEventKey): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_im_context_filter_keypress".}
+proc focus_in*(context: PIMContext){.cdecl, dynlib: lib, 
     importc: "gtk_im_context_focus_in".}
-proc gtk_im_context_focus_out*(context: PGtkIMContext){.cdecl, dynlib: gtklib,
+proc focus_out*(context: PIMContext){.cdecl, dynlib: lib, 
     importc: "gtk_im_context_focus_out".}
-proc gtk_im_context_reset*(context: PGtkIMContext){.cdecl, dynlib: gtklib,
+proc reset*(context: PIMContext){.cdecl, dynlib: lib, 
     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
+proc set_cursor_location*(context: PIMContext, area: gdk2.PRectangle){.
+    cdecl, dynlib: lib, importc: "gtk_im_context_set_cursor_location".}
+proc set_use_preedit*(context: PIMContext, use_preedit: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_im_context_set_use_preedit".}
+proc set_surrounding*(context: PIMContext, text: cstring, len: gint, 
+                                 cursor_index: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_im_context_set_surrounding".}
+proc get_surrounding*(context: PIMContext, text: PPgchar, 
+                                 cursor_index: Pgint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_im_context_get_surrounding".}
+proc delete_surrounding*(context: PIMContext, offset: gint, 
+                                    n_chars: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_im_context_delete_surrounding".}
+const 
+  bm_TGtkMenuShell_active* = 0x0001'i16
   bp_TGtkMenuShell_active* = 0'i16
-  bm_TGtkMenuShell_have_grab* = 0x00000002'i16
+  bm_TGtkMenuShell_have_grab* = 0x0002'i16
   bp_TGtkMenuShell_have_grab* = 1'i16
-  bm_TGtkMenuShell_have_xgrab* = 0x00000004'i16
+  bm_TGtkMenuShell_have_xgrab* = 0x0004'i16
   bp_TGtkMenuShell_have_xgrab* = 2'i16
-  bm_TGtkMenuShell_ignore_leave* = 0x00000008'i16
+  bm_TGtkMenuShell_ignore_leave* = 0x0008'i16
   bp_TGtkMenuShell_ignore_leave* = 3'i16
-  bm_TGtkMenuShell_menu_flag* = 0x00000010'i16
+  bm_TGtkMenuShell_menu_flag* = 0x0010'i16
   bp_TGtkMenuShell_menu_flag* = 4'i16
-  bm_TGtkMenuShell_ignore_enter* = 0x00000020'i16
+  bm_TGtkMenuShell_ignore_enter* = 0x0020'i16
   bp_TGtkMenuShell_ignore_enter* = 5'i16
-  bm_TGtkMenuShellClass_submenu_placement* = 0x00000001'i16
+  bm_TGtkMenuShellClass_submenu_placement* = 0x0001'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,
+proc TYPE_MENU_SHELL*(): GType
+proc MENU_SHELL*(obj: pointer): PMenuShell
+proc MENU_SHELL_CLASS*(klass: pointer): PMenuShellClass
+proc IS_MENU_SHELL*(obj: pointer): bool
+proc IS_MENU_SHELL_CLASS*(klass: pointer): bool
+proc MENU_SHELL_GET_CLASS*(obj: pointer): PMenuShellClass
+proc active*(a: var TMenuShell): guint
+proc set_active*(a: var TMenuShell, `active`: guint)
+proc have_grab*(a: var TMenuShell): guint
+proc set_have_grab*(a: var TMenuShell, `have_grab`: guint)
+proc have_xgrab*(a: var TMenuShell): guint
+proc set_have_xgrab*(a: var TMenuShell, `have_xgrab`: guint)
+proc ignore_leave*(a: var TMenuShell): guint
+proc set_ignore_leave*(a: var TMenuShell, `ignore_leave`: guint)
+proc menu_flag*(a: var TMenuShell): guint
+proc set_menu_flag*(a: var TMenuShell, `menu_flag`: guint)
+proc ignore_enter*(a: var TMenuShell): guint
+proc set_ignore_enter*(a: var TMenuShell, `ignore_enter`: guint)
+proc submenu_placement*(a: var TMenuShellClass): guint
+proc set_submenu_placement*(a: var TMenuShellClass, `submenu_placement`: guint)
+proc menu_shell_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_menu_shell_get_type".}
+proc append*(menu_shell: PMenuShell, child: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_shell_append".}
+proc prepend*(menu_shell: PMenuShell, child: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_shell_prepend".}
+proc insert*(menu_shell: PMenuShell, child: PWidget, position: gint){.
+    cdecl, dynlib: lib, importc: "gtk_menu_shell_insert".}
+proc deactivate*(menu_shell: PMenuShell){.cdecl, dynlib: lib, 
+    importc: "gtk_menu_shell_deactivate".}
+proc select_item*(menu_shell: PMenuShell, menu_item: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_shell_select_item".}
+proc deselect*(menu_shell: PMenuShell){.cdecl, dynlib: lib, 
     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
+proc activate_item*(menu_shell: PMenuShell, menu_item: PWidget, 
+                               force_deactivate: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_menu_shell_activate_item".}
+proc select_first*(menu_shell: PMenuShell){.cdecl, dynlib: lib, 
+    importc: "_gtk_menu_shell_select_first".}
+proc activate*(menu_shell: PMenuShell){.cdecl, dynlib: lib, 
+    importc: "_gtk_menu_shell_activate".}
+const 
+  bm_TGtkMenu_needs_destruction_ref_count* = 0x0001'i16
   bp_TGtkMenu_needs_destruction_ref_count* = 0'i16
-  bm_TGtkMenu_torn_off* = 0x00000002'i16
+  bm_TGtkMenu_torn_off* = 0x0002'i16
   bp_TGtkMenu_torn_off* = 1'i16
-  bm_TGtkMenu_tearoff_active* = 0x00000004'i16
+  bm_TGtkMenu_tearoff_active* = 0x0004'i16
   bp_TGtkMenu_tearoff_active* = 2'i16
-  bm_TGtkMenu_scroll_fast* = 0x00000008'i16
+  bm_TGtkMenu_scroll_fast* = 0x0008'i16
   bp_TGtkMenu_scroll_fast* = 3'i16
-  bm_TGtkMenu_upper_arrow_visible* = 0x00000010'i16
+  bm_TGtkMenu_upper_arrow_visible* = 0x0010'i16
   bp_TGtkMenu_upper_arrow_visible* = 4'i16
-  bm_TGtkMenu_lower_arrow_visible* = 0x00000020'i16
+  bm_TGtkMenu_lower_arrow_visible* = 0x0020'i16
   bp_TGtkMenu_lower_arrow_visible* = 5'i16
-  bm_TGtkMenu_upper_arrow_prelight* = 0x00000040'i16
+  bm_TGtkMenu_upper_arrow_prelight* = 0x0040'i16
   bp_TGtkMenu_upper_arrow_prelight* = 6'i16
-  bm_TGtkMenu_lower_arrow_prelight* = 0x00000080'i16
+  bm_TGtkMenu_lower_arrow_prelight* = 0x0080'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,
+proc TYPE_MENU*(): GType
+proc MENU*(obj: pointer): PMenu
+proc MENU_CLASS*(klass: pointer): PMenuClass
+proc IS_MENU*(obj: pointer): bool
+proc IS_MENU_CLASS*(klass: pointer): bool
+proc MENU_GET_CLASS*(obj: pointer): PMenuClass
+proc needs_destruction_ref_count*(a: var TMenu): guint
+proc set_needs_destruction_ref_count*(a: var TMenu, 
                                       `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,
+proc torn_off*(a: var TMenu): guint
+proc set_torn_off*(a: var TMenu, `torn_off`: guint)
+proc tearoff_active*(a: var TMenu): guint
+proc set_tearoff_active*(a: var TMenu, `tearoff_active`: guint)
+proc scroll_fast*(a: var TMenu): guint
+proc set_scroll_fast*(a: var TMenu, `scroll_fast`: guint)
+proc upper_arrow_visible*(a: var TMenu): guint
+proc set_upper_arrow_visible*(a: var TMenu, `upper_arrow_visible`: guint)
+proc lower_arrow_visible*(a: var TMenu): guint
+proc set_lower_arrow_visible*(a: var TMenu, `lower_arrow_visible`: guint)
+proc upper_arrow_prelight*(a: var TMenu): guint
+proc set_upper_arrow_prelight*(a: var TMenu, `upper_arrow_prelight`: guint)
+proc lower_arrow_prelight*(a: var TMenu): guint
+proc set_lower_arrow_prelight*(a: var TMenu, `lower_arrow_prelight`: guint)
+proc menu_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_menu_get_type".}
+proc menu_new*(): PMenu{.cdecl, dynlib: lib, importc: "gtk_menu_new".}
+proc popup*(menu: PMenu, parent_menu_shell: PWidget, 
+                 parent_menu_item: PWidget, fun: TMenuPositionFunc, 
+                 data: gpointer, button: guint, activate_time: guint32){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_popup".}
+proc reposition*(menu: PMenu){.cdecl, dynlib: lib, 
+                                    importc: "gtk_menu_reposition".}
+proc popdown*(menu: PMenu){.cdecl, dynlib: lib, importc: "gtk_menu_popdown".}
+proc get_active*(menu: PMenu): PWidget{.cdecl, dynlib: lib, 
     importc: "gtk_menu_get_active".}
-proc gtk_menu_set_active*(menu: PGtkMenu, index: guint){.cdecl, dynlib: gtklib,
+proc set_active*(menu: PMenu, index: guint){.cdecl, dynlib: lib, 
     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,
+proc set_accel_group*(menu: PMenu, accel_group: PAccelGroup){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_set_accel_group".}
+proc get_accel_group*(menu: PMenu): PAccelGroup{.cdecl, dynlib: lib, 
+    importc: "gtk_menu_get_accel_group".}
+proc set_accel_path*(menu: PMenu, accel_path: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_menu_set_accel_path".}
+proc attach_to_widget*(menu: PMenu, attach_widget: PWidget, 
+                            detacher: TMenuDetachFunc){.cdecl, dynlib: lib, 
+    importc: "gtk_menu_attach_to_widget".}
+proc detach*(menu: PMenu){.cdecl, dynlib: lib, importc: "gtk_menu_detach".}
+proc get_attach_widget*(menu: PMenu): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_menu_get_attach_widget".}
+proc set_tearoff_state*(menu: PMenu, torn_off: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_set_tearoff_state".}
+proc get_tearoff_state*(menu: PMenu): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_menu_get_tearoff_state".}
+proc set_title*(menu: PMenu, title: cstring){.cdecl, dynlib: lib, 
     importc: "gtk_menu_set_title".}
-proc gtk_menu_get_title*(menu: PGtkMenu): cstring{.cdecl, dynlib: gtklib,
+proc get_title*(menu: PMenu): cstring{.cdecl, dynlib: lib, 
     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
+proc reorder_child*(menu: PMenu, child: PWidget, position: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_menu_reorder_child".}
+proc set_screen*(menu: PMenu, screen: gdk2.PScreen){.cdecl, dynlib: lib, 
+    importc: "gtk_menu_set_screen".}
+const 
+  bm_TGtkEntry_editable* = 0x0001'i16
   bp_TGtkEntry_editable* = 0'i16
-  bm_TGtkEntry_visible* = 0x00000002'i16
+  bm_TGtkEntry_visible* = 0x0002'i16
   bp_TGtkEntry_visible* = 1'i16
-  bm_TGtkEntry_overwrite_mode* = 0x00000004'i16
+  bm_TGtkEntry_overwrite_mode* = 0x0004'i16
   bp_TGtkEntry_overwrite_mode* = 2'i16
-  bm_TGtkEntry_in_drag* = 0x00000008'i16
+  bm_TGtkEntry_in_drag* = 0x0008'i16
   bp_TGtkEntry_in_drag* = 3'i16
-  bm_TGtkEntry_cache_includes_preedit* = 0x00000001'i16
+  bm_TGtkEntry_cache_includes_preedit* = 0x0001'i16
   bp_TGtkEntry_cache_includes_preedit* = 0'i16
-  bm_TGtkEntry_need_im_reset* = 0x00000002'i16
+  bm_TGtkEntry_need_im_reset* = 0x0002'i16
   bp_TGtkEntry_need_im_reset* = 1'i16
-  bm_TGtkEntry_has_frame* = 0x00000004'i16
+  bm_TGtkEntry_has_frame* = 0x0004'i16
   bp_TGtkEntry_has_frame* = 2'i16
-  bm_TGtkEntry_activates_default* = 0x00000008'i16
+  bm_TGtkEntry_activates_default* = 0x0008'i16
   bp_TGtkEntry_activates_default* = 3'i16
-  bm_TGtkEntry_cursor_visible* = 0x00000010'i16
+  bm_TGtkEntry_cursor_visible* = 0x0010'i16
   bp_TGtkEntry_cursor_visible* = 4'i16
-  bm_TGtkEntry_in_click* = 0x00000020'i16
+  bm_TGtkEntry_in_click* = 0x0020'i16
   bp_TGtkEntry_in_click* = 5'i16
-  bm_TGtkEntry_is_cell_renderer* = 0x00000040'i16
+  bm_TGtkEntry_is_cell_renderer* = 0x0040'i16
   bp_TGtkEntry_is_cell_renderer* = 6'i16
-  bm_TGtkEntry_editing_canceled* = 0x00000080'i16
+  bm_TGtkEntry_editing_canceled* = 0x0080'i16
   bp_TGtkEntry_editing_canceled* = 7'i16
-  bm_TGtkEntry_mouse_cursor_obscured* = 0x00000100'i16
+  bm_TGtkEntry_mouse_cursor_obscured* = 0x0100'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,
+proc TYPE_ENTRY*(): GType
+proc ENTRY*(obj: pointer): PEntry
+proc ENTRY_CLASS*(klass: pointer): PEntryClass
+proc IS_ENTRY*(obj: pointer): bool
+proc IS_ENTRY_CLASS*(klass: pointer): bool
+proc ENTRY_GET_CLASS*(obj: pointer): PEntryClass
+proc editable*(a: var TEntry): guint
+proc set_editable*(a: var TEntry, `editable`: guint)
+proc visible*(a: var TEntry): guint
+proc set_visible*(a: var TEntry, `visible`: guint)
+proc overwrite_mode*(a: var TEntry): guint
+proc set_overwrite_mode*(a: var TEntry, `overwrite_mode`: guint)
+proc in_drag*(a: var TEntry): guint
+proc set_in_drag*(a: var TEntry, `in_drag`: guint)
+proc cache_includes_preedit*(a: var TEntry): guint
+proc set_cache_includes_preedit*(a: var TEntry, `cache_includes_preedit`: guint)
+proc need_im_reset*(a: var TEntry): guint
+proc set_need_im_reset*(a: var TEntry, `need_im_reset`: guint)
+proc has_frame*(a: var TEntry): guint
+proc set_has_frame*(a: var TEntry, `has_frame`: guint)
+proc activates_default*(a: var TEntry): guint
+proc set_activates_default*(a: var TEntry, `activates_default`: guint)
+proc cursor_visible*(a: var TEntry): guint
+proc set_cursor_visible*(a: var TEntry, `cursor_visible`: guint)
+proc in_click*(a: var TEntry): guint
+proc set_in_click*(a: var TEntry, `in_click`: guint)
+proc is_cell_renderer*(a: var TEntry): guint
+proc set_is_cell_renderer*(a: var TEntry, `is_cell_renderer`: guint)
+proc editing_canceled*(a: var TEntry): guint
+proc set_editing_canceled*(a: var TEntry, `editing_canceled`: guint)
+proc mouse_cursor_obscured*(a: var TEntry): guint
+proc set_mouse_cursor_obscured*(a: var TEntry, `mouse_cursor_obscured`: guint)
+proc entry_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_entry_get_type".}
+proc entry_new*(): PEntry{.cdecl, dynlib: lib, importc: "gtk_entry_new".}
+proc set_visibility*(entry: PEntry, visible: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_entry_set_visibility".}
+proc get_visibility*(entry: PEntry): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_entry_get_visibility".}
+proc set_invisible_char*(entry: PEntry, ch: gunichar){.cdecl, dynlib: lib, 
+    importc: "gtk_entry_set_invisible_char".}
+proc get_invisible_char*(entry: PEntry): gunichar{.cdecl, dynlib: lib, 
+    importc: "gtk_entry_get_invisible_char".}
+proc set_has_frame*(entry: PEntry, setting: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_entry_set_has_frame".}
+proc get_has_frame*(entry: PEntry): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_entry_get_has_frame".}
+proc set_max_length*(entry: PEntry, max: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_entry_set_max_length".}
+proc get_max_length*(entry: PEntry): gint{.cdecl, dynlib: lib, 
     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,
+proc set_activates_default*(entry: PEntry, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_entry_set_activates_default".}
+proc get_activates_default*(entry: PEntry): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_entry_get_activates_default".}
+proc set_width_chars*(entry: PEntry, n_chars: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_entry_set_width_chars".}
+proc get_width_chars*(entry: PEntry): gint{.cdecl, dynlib: lib, 
     importc: "gtk_entry_get_width_chars".}
-proc gtk_entry_set_text*(entry: PGtkEntry, text: cstring){.cdecl, dynlib: gtklib,
+proc set_text*(entry: PEntry, text: cstring){.cdecl, dynlib: lib, 
     importc: "gtk_entry_set_text".}
-proc gtk_entry_get_text*(entry: PGtkEntry): cstring{.cdecl, dynlib: gtklib,
+proc get_text*(entry: PEntry): cstring{.cdecl, dynlib: lib, 
     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
+proc get_layout*(entry: PEntry): pango.PLayout{.cdecl, dynlib: lib, 
+    importc: "gtk_entry_get_layout".}
+proc get_layout_offsets*(entry: PEntry, x: Pgint, y: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_entry_get_layout_offsets".}
+const 
+  ANCHOR_CENTER* = 0
+  ANCHOR_NORTH* = 1
+  ANCHOR_NORTH_WEST* = 2
+  ANCHOR_NORTH_EAST* = 3
+  ANCHOR_SOUTH* = 4
+  ANCHOR_SOUTH_WEST* = 5
+  ANCHOR_SOUTH_EAST* = 6
+  ANCHOR_WEST* = 7
+  ANCHOR_EAST* = 8
+  ANCHOR_N* = ANCHOR_NORTH
+  ANCHOR_NW* = ANCHOR_NORTH_WEST
+  ANCHOR_NE* = ANCHOR_NORTH_EAST
+  ANCHOR_S* = ANCHOR_SOUTH
+  ANCHOR_SW* = ANCHOR_SOUTH_WEST
+  ANCHOR_SE* = ANCHOR_SOUTH_EAST
+  ANCHOR_W* = ANCHOR_WEST
+  ANCHOR_E* = ANCHOR_EAST
+  ARROW_UP* = 0
+  ARROW_DOWN* = 1
+  ARROW_LEFT* = 2
+  ARROW_RIGHT* = 3
+  constEXPAND* = 1 shl 0
+  constSHRINK* = 1 shl 1
+  constFILL* = 1 shl 2
+  BUTTONBOX_DEFAULT_STYLE* = 0
+  BUTTONBOX_SPREAD* = 1
+  BUTTONBOX_EDGE* = 2
+  BUTTONBOX_START* = 3
+  BUTTONBOX_END* = 4
+  CURVE_TYPE_LINEAR* = 0
+  CURVE_TYPE_SPLINE* = 1
+  CURVE_TYPE_FREE* = 2
+  DELETE_CHARS* = 0
+  DELETE_WORD_ENDS* = 1
+  DELETE_WORDS* = 2
+  DELETE_DISPLAY_LINES* = 3
+  DELETE_DISPLAY_LINE_ENDS* = 4
+  DELETE_PARAGRAPH_ENDS* = 5
+  DELETE_PARAGRAPHS* = 6
+  DELETE_WHITESPACE* = 7
+  DIR_TAB_FORWARD* = 0
+  DIR_TAB_BACKWARD* = 1
+  DIR_UP* = 2
+  DIR_DOWN* = 3
+  DIR_LEFT* = 4
+  DIR_RIGHT* = 5
+  EXPANDER_COLLAPSED* = 0
+  EXPANDER_SEMI_COLLAPSED* = 1
+  EXPANDER_SEMI_EXPANDED* = 2
+  EXPANDER_EXPANDED* = 3
+  ICON_SIZE_INVALID* = 0
+  ICON_SIZE_MENU* = 1
+  ICON_SIZE_SMALL_TOOLBAR* = 2
+  ICON_SIZE_LARGE_TOOLBAR* = 3
+  ICON_SIZE_BUTTON* = 4
+  ICON_SIZE_DND* = 5
+  ICON_SIZE_DIALOG* = 6
+  TEXT_DIR_NONE* = 0
+  TEXT_DIR_LTR* = 1
+  TEXT_DIR_RTL* = 2
+  JUSTIFY_LEFT* = 0
+  JUSTIFY_RIGHT* = 1
+  JUSTIFY_CENTER* = 2
+  JUSTIFY_FILL* = 3
+  MENU_DIR_PARENT* = 0
+  MENU_DIR_CHILD* = 1
+  MENU_DIR_NEXT* = 2
+  MENU_DIR_PREV* = 3
+  PIXELS* = 0
+  INCHES* = 1
+  CENTIMETERS* = 2
+  MOVEMENT_LOGICAL_POSITIONS* = 0
+  MOVEMENT_VISUAL_POSITIONS* = 1
+  MOVEMENT_WORDS* = 2
+  MOVEMENT_DISPLAY_LINES* = 3
+  MOVEMENT_DISPLAY_LINE_ENDS* = 4
+  MOVEMENT_PARAGRAPHS* = 5
+  MOVEMENT_PARAGRAPH_ENDS* = 6
+  MOVEMENT_PAGES* = 7
+  MOVEMENT_BUFFER_ENDS* = 8
+  ORIENTATION_HORIZONTAL* = 0
+  ORIENTATION_VERTICAL* = 1
+  CORNER_TOP_LEFT* = 0
+  CORNER_BOTTOM_LEFT* = 1
+  CORNER_TOP_RIGHT* = 2
+  CORNER_BOTTOM_RIGHT* = 3
+  constPACK_START* = 0
+  constPACK_END* = 1
+  PATH_PRIO_LOWEST* = 0
+  PATH_PRIO_GTK* = 4
+  PATH_PRIO_APPLICATION* = 8
+  PATH_PRIO_THEME* = 10
+  PATH_PRIO_RC* = 12
+  PATH_PRIO_HIGHEST* = 15
+  PATH_WIDGET* = 0
+  PATH_WIDGET_CLASS* = 1
+  PATH_CLASS* = 2
+  POLICY_ALWAYS* = 0
+  POLICY_AUTOMATIC* = 1
+  POLICY_NEVER* = 2
+  POS_LEFT* = 0
+  POS_RIGHT* = 1
+  POS_TOP* = 2
+  POS_BOTTOM* = 3
+  PREVIEW_COLOR* = 0
+  PREVIEW_GRAYSCALE* = 1
+  RELIEF_NORMAL* = 0
+  RELIEF_HALF* = 1
+  RELIEF_NONE* = 2
+  RESIZE_PARENT* = 0
+  RESIZE_QUEUE* = 1
+  RESIZE_IMMEDIATE* = 2
+  SCROLL_NONE* = 0
+  SCROLL_JUMP* = 1
+  SCROLL_STEP_BACKWARD* = 2
+  SCROLL_STEP_FORWARD* = 3
+  SCROLL_PAGE_BACKWARD* = 4
+  SCROLL_PAGE_FORWARD* = 5
+  SCROLL_STEP_UP* = 6
+  SCROLL_STEP_DOWN* = 7
+  SCROLL_PAGE_UP* = 8
+  SCROLL_PAGE_DOWN* = 9
+  SCROLL_STEP_LEFT* = 10
+  SCROLL_STEP_RIGHT* = 11
+  SCROLL_PAGE_LEFT* = 12
+  SCROLL_PAGE_RIGHT* = 13
+  SCROLL_START* = 14
+  SCROLL_END* = 15
+  SELECTION_NONE* = 0
+  SELECTION_SINGLE* = 1
+  SELECTION_BROWSE* = 2
+  SELECTION_MULTIPLE* = 3
+  SELECTION_EXTENDED* = SELECTION_MULTIPLE
+  SHADOW_NONE* = 0
+  SHADOW_IN* = 1
+  SHADOW_OUT* = 2
+  SHADOW_ETCHED_IN* = 3
+  SHADOW_ETCHED_OUT* = 4
+  STATE_NORMAL* = 0
+  STATE_ACTIVE* = 1
+  STATE_PRELIGHT* = 2
+  STATE_SELECTED* = 3
+  STATE_INSENSITIVE* = 4
+  DIRECTION_LEFT* = 0
+  DIRECTION_RIGHT* = 1
+  TOP_BOTTOM* = 0
+  LEFT_RIGHT* = 1
+  TOOLBAR_ICONS* = 0
+  TOOLBAR_TEXT* = 1
+  TOOLBAR_BOTH* = 2
+  TOOLBAR_BOTH_HORIZ* = 3
+  UPDATE_CONTINUOUS* = 0
+  UPDATE_DISCONTINUOUS* = 1
+  UPDATE_DELAYED* = 2
+  VISIBILITY_NONE* = 0
+  VISIBILITY_PARTIAL* = 1
+  VISIBILITY_FULL* = 2
+  WIN_POS_NONE* = 0
+  WIN_POS_CENTER* = 1
+  WIN_POS_MOUSE* = 2
+  WIN_POS_CENTER_ALWAYS* = 3
+  WIN_POS_CENTER_ON_PARENT* = 4
+  WINDOW_TOPLEVEL* = 0
+  WINDOW_POPUP* = 1
+  WRAP_NONE* = 0
+  WRAP_CHAR* = 1
+  WRAP_WORD* = 2
+  SORT_ASCENDING* = 0
+  SORT_DESCENDING* = 1
+
+proc TYPE_EVENT_BOX*(): GType
+proc EVENT_BOX*(obj: pointer): PEventBox
+proc EVENT_BOX_CLASS*(klass: pointer): PEventBoxClass
+proc IS_EVENT_BOX*(obj: pointer): bool
+proc IS_EVENT_BOX_CLASS*(klass: pointer): bool
+proc EVENT_BOX_GET_CLASS*(obj: pointer): PEventBoxClass
+proc event_box_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_event_box_get_type".}
+proc event_box_new*(): PEventBox{.cdecl, dynlib: lib, 
+                                  importc: "gtk_event_box_new".}
+const 
   FNM_PATHNAME* = 1 shl 0
   FNM_NOESCAPE* = 1 shl 1
   FNM_PERIOD* = 1 shl 2
 
-const
+const 
   FNM_FILE_NAME* = FNM_PATHNAME
   FNM_LEADING_DIR* = 1 shl 3
   FNM_CASEFOLD* = 1 shl 4
 
-const
+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,
+proc fnmatch*(`pattern`: char, `string`: char, `flags`: gint): gint{.cdecl, 
+    dynlib: lib, importc: "fnmatch".}
+proc TYPE_FILE_SELECTION*(): GType
+proc FILE_SELECTION*(obj: pointer): PFileSelection
+proc FILE_SELECTION_CLASS*(klass: pointer): PFileSelectionClass
+proc IS_FILE_SELECTION*(obj: pointer): bool
+proc IS_FILE_SELECTION_CLASS*(klass: pointer): bool
+proc FILE_SELECTION_GET_CLASS*(obj: pointer): PFileSelectionClass
+proc file_selection_get_type*(): TType{.cdecl, dynlib: lib, 
+                                        importc: "gtk_file_selection_get_type".}
+proc file_selection_new*(title: cstring): PFileSelection{.cdecl, dynlib: lib, 
     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,
+proc set_filename*(filesel: PFileSelection, filename: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_file_selection_set_filename".}
+proc get_filename*(filesel: PFileSelection): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_file_selection_get_filename".}
+proc complete*(filesel: PFileSelection, pattern: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_file_selection_complete".}
+proc show_fileop_buttons*(filesel: PFileSelection){.cdecl, 
+    dynlib: lib, importc: "gtk_file_selection_show_fileop_buttons".}
+proc hide_fileop_buttons*(filesel: PFileSelection){.cdecl, 
+    dynlib: lib, importc: "gtk_file_selection_hide_fileop_buttons".}
+proc get_selections*(filesel: PFileSelection): PPgchar{.cdecl, 
+    dynlib: lib, importc: "gtk_file_selection_get_selections".}
+proc set_select_multiple*(filesel: PFileSelection, 
+    select_multiple: gboolean){.cdecl, dynlib: lib, importc: "gtk_file_selection_set_select_multiple".}
+proc get_select_multiple*(filesel: PFileSelection): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_selection_get_select_multiple".}
+proc TYPE_FIXED*(): GType
+proc FIXED*(obj: pointer): PFixed
+proc FIXED_CLASS*(klass: pointer): PFixedClass
+proc IS_FIXED*(obj: pointer): bool
+proc IS_FIXED_CLASS*(klass: pointer): bool
+proc FIXED_GET_CLASS*(obj: pointer): PFixedClass
+proc fixed_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_fixed_get_type".}
+proc fixed_new*(): PFixed{.cdecl, dynlib: lib, importc: "gtk_fixed_new".}
+proc put*(fixed: PFixed, widget: PWidget, x: gint, y: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_fixed_put".}
+proc move*(fixed: PFixed, widget: PWidget, x: gint, y: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_fixed_move".}
+proc set_has_window*(fixed: PFixed, has_window: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_fixed_set_has_window".}
+proc get_has_window*(fixed: PFixed): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_fixed_get_has_window".}
+proc TYPE_FONT_SELECTION*(): GType
+proc FONT_SELECTION*(obj: pointer): PFontSelection
+proc FONT_SELECTION_CLASS*(klass: pointer): PFontSelectionClass
+proc IS_FONT_SELECTION*(obj: pointer): bool
+proc IS_FONT_SELECTION_CLASS*(klass: pointer): bool
+proc FONT_SELECTION_GET_CLASS*(obj: pointer): PFontSelectionClass
+proc TYPE_FONT_SELECTION_DIALOG*(): GType
+proc FONT_SELECTION_DIALOG*(obj: pointer): PFontSelectionDialog
+proc FONT_SELECTION_DIALOG_CLASS*(klass: pointer): PFontSelectionDialogClass
+proc IS_FONT_SELECTION_DIALOG*(obj: pointer): bool
+proc IS_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): bool
+proc FONT_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PFontSelectionDialogClass
+proc font_selection_get_type*(): TType{.cdecl, dynlib: lib, 
+                                        importc: "gtk_font_selection_get_type".}
+proc font_selection_new*(): PFontSelection{.cdecl, dynlib: lib, 
     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,
+proc get_font_name*(fontsel: PFontSelection): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_font_selection_get_font_name".}
+proc set_font_name*(fontsel: PFontSelection, fontname: cstring): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_font_selection_set_font_name".}
+proc get_preview_text*(fontsel: PFontSelection): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_font_selection_get_preview_text".}
+proc set_preview_text*(fontsel: PFontSelection, text: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_font_selection_set_preview_text".}
+proc font_selection_dialog_get_type*(): TType{.cdecl, dynlib: lib, 
     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,
+proc font_selection_dialog_new*(title: cstring): PFontSelectionDialog{.cdecl, 
+    dynlib: lib, importc: "gtk_font_selection_dialog_new".}
+proc dialog_get_font_name*(fsd: PFontSelectionDialog): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_font_selection_dialog_get_font_name".}
+proc dialog_set_font_name*(fsd: PFontSelectionDialog, 
+    fontname: cstring): gboolean{.cdecl, dynlib: lib, importc: "gtk_font_selection_dialog_set_font_name".}
+proc dialog_get_preview_text*(fsd: PFontSelectionDialog): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_font_selection_dialog_get_preview_text".}
+proc dialog_set_preview_text*(fsd: PFontSelectionDialog, 
+    text: cstring){.cdecl, dynlib: lib, 
+                    importc: "gtk_font_selection_dialog_set_preview_text".}
+proc TYPE_GAMMA_CURVE*(): GType
+proc GAMMA_CURVE*(obj: pointer): PGammaCurve
+proc GAMMA_CURVE_CLASS*(klass: pointer): PGammaCurveClass
+proc IS_GAMMA_CURVE*(obj: pointer): bool
+proc IS_GAMMA_CURVE_CLASS*(klass: pointer): bool
+proc GAMMA_CURVE_GET_CLASS*(obj: pointer): PGammaCurveClass
+proc gamma_curve_get_type*(): TType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_gamma_curve_get_type".}
+proc gamma_curve_new*(): PGammaCurve{.cdecl, dynlib: lib, 
+                                      importc: "gtk_gamma_curve_new".}
+proc gc_get*(depth: gint, colormap: gdk2.PColormap, values: gdk2.PGCValues, 
+             values_mask: gdk2.TGCValuesMask): gdk2.PGC{.cdecl, dynlib: lib, 
     importc: "gtk_gc_get".}
-proc gtk_gc_release*(gc: PGdkGC){.cdecl, dynlib: gtklib,
-                                  importc: "gtk_gc_release".}
-const
-  bm_TGtkHandleBox_handle_position* = 0x00000003'i16
+proc gc_release*(gc: gdk2.PGC){.cdecl, dynlib: lib, importc: "gtk_gc_release".}
+const 
+  bm_TGtkHandleBox_handle_position* = 0x0003'i16
   bp_TGtkHandleBox_handle_position* = 0'i16
-  bm_TGtkHandleBox_float_window_mapped* = 0x00000004'i16
+  bm_TGtkHandleBox_float_window_mapped* = 0x0004'i16
   bp_TGtkHandleBox_float_window_mapped* = 2'i16
-  bm_TGtkHandleBox_child_detached* = 0x00000008'i16
+  bm_TGtkHandleBox_child_detached* = 0x0008'i16
   bp_TGtkHandleBox_child_detached* = 3'i16
-  bm_TGtkHandleBox_in_drag* = 0x00000010'i16
+  bm_TGtkHandleBox_in_drag* = 0x0010'i16
   bp_TGtkHandleBox_in_drag* = 4'i16
-  bm_TGtkHandleBox_shrink_on_detach* = 0x00000020'i16
+  bm_TGtkHandleBox_shrink_on_detach* = 0x0020'i16
   bp_TGtkHandleBox_shrink_on_detach* = 5'i16
-  bm_TGtkHandleBox_snap_edge* = 0x000001C0'i16
+  bm_TGtkHandleBox_snap_edge* = 0x01C0'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
+proc TYPE_HANDLE_BOX*(): GType
+proc HANDLE_BOX*(obj: pointer): PHandleBox
+proc HANDLE_BOX_CLASS*(klass: pointer): PHandleBoxClass
+proc IS_HANDLE_BOX*(obj: pointer): bool
+proc IS_HANDLE_BOX_CLASS*(klass: pointer): bool
+proc HANDLE_BOX_GET_CLASS*(obj: pointer): PHandleBoxClass
+proc handle_position*(a: var THandleBox): guint
+proc set_handle_position*(a: var THandleBox, `handle_position`: guint)
+proc float_window_mapped*(a: var THandleBox): guint
+proc set_float_window_mapped*(a: var THandleBox, `float_window_mapped`: guint)
+proc child_detached*(a: var THandleBox): guint
+proc set_child_detached*(a: var THandleBox, `child_detached`: guint)
+proc in_drag*(a: var THandleBox): guint
+proc set_in_drag*(a: var THandleBox, `in_drag`: guint)
+proc shrink_on_detach*(a: var THandleBox): guint
+proc set_shrink_on_detach*(a: var THandleBox, `shrink_on_detach`: guint)
+proc snap_edge*(a: var THandleBox): gint
+proc set_snap_edge*(a: var THandleBox, `snap_edge`: gint)
+proc handle_box_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_handle_box_get_type".}
+proc handle_box_new*(): PHandleBox{.cdecl, dynlib: lib, 
+                                    importc: "gtk_handle_box_new".}
+proc set_shadow_type*(handle_box: PHandleBox, thetype: TShadowType){.
+    cdecl, dynlib: lib, importc: "gtk_handle_box_set_shadow_type".}
+proc get_shadow_type*(handle_box: PHandleBox): TShadowType{.cdecl, 
+    dynlib: lib, importc: "gtk_handle_box_get_shadow_type".}
+proc set_handle_position*(handle_box: PHandleBox, 
+                                     position: TPositionType){.cdecl, 
+    dynlib: lib, importc: "gtk_handle_box_set_handle_position".}
+proc get_handle_position*(handle_box: PHandleBox): TPositionType{.
+    cdecl, dynlib: lib, importc: "gtk_handle_box_get_handle_position".}
+proc set_snap_edge*(handle_box: PHandleBox, edge: TPositionType){.
+    cdecl, dynlib: lib, importc: "gtk_handle_box_set_snap_edge".}
+proc get_snap_edge*(handle_box: PHandleBox): TPositionType{.cdecl, 
+    dynlib: lib, importc: "gtk_handle_box_get_snap_edge".}
+const 
+  bm_TGtkPaned_position_set* = 0x0001'i16
   bp_TGtkPaned_position_set* = 0'i16
-  bm_TGtkPaned_in_drag* = 0x00000002'i16
+  bm_TGtkPaned_in_drag* = 0x0002'i16
   bp_TGtkPaned_in_drag* = 1'i16
-  bm_TGtkPaned_child1_shrink* = 0x00000004'i16
+  bm_TGtkPaned_child1_shrink* = 0x0004'i16
   bp_TGtkPaned_child1_shrink* = 2'i16
-  bm_TGtkPaned_child1_resize* = 0x00000008'i16
+  bm_TGtkPaned_child1_resize* = 0x0008'i16
   bp_TGtkPaned_child1_resize* = 3'i16
-  bm_TGtkPaned_child2_shrink* = 0x00000010'i16
+  bm_TGtkPaned_child2_shrink* = 0x0010'i16
   bp_TGtkPaned_child2_shrink* = 4'i16
-  bm_TGtkPaned_child2_resize* = 0x00000020'i16
+  bm_TGtkPaned_child2_resize* = 0x0020'i16
   bp_TGtkPaned_child2_resize* = 5'i16
-  bm_TGtkPaned_orientation* = 0x00000040'i16
+  bm_TGtkPaned_orientation* = 0x0040'i16
   bp_TGtkPaned_orientation* = 6'i16
-  bm_TGtkPaned_in_recursion* = 0x00000080'i16
+  bm_TGtkPaned_in_recursion* = 0x0080'i16
   bp_TGtkPaned_in_recursion* = 7'i16
-  bm_TGtkPaned_handle_prelit* = 0x00000100'i16
+  bm_TGtkPaned_handle_prelit* = 0x0100'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,
+proc TYPE_PANED*(): GType
+proc PANED*(obj: pointer): PPaned
+proc PANED_CLASS*(klass: pointer): PPanedClass
+proc IS_PANED*(obj: pointer): bool
+proc IS_PANED_CLASS*(klass: pointer): bool
+proc PANED_GET_CLASS*(obj: pointer): PPanedClass
+proc position_set*(a: var TPaned): guint
+proc set_position_set*(a: var TPaned, `position_set`: guint)
+proc in_drag*(a: var TPaned): guint
+proc set_in_drag*(a: var TPaned, `in_drag`: guint)
+proc child1_shrink*(a: var TPaned): guint
+proc set_child1_shrink*(a: var TPaned, `child1_shrink`: guint)
+proc child1_resize*(a: var TPaned): guint
+proc set_child1_resize*(a: var TPaned, `child1_resize`: guint)
+proc child2_shrink*(a: var TPaned): guint
+proc set_child2_shrink*(a: var TPaned, `child2_shrink`: guint)
+proc child2_resize*(a: var TPaned): guint
+proc set_child2_resize*(a: var TPaned, `child2_resize`: guint)
+proc orientation*(a: var TPaned): guint
+proc set_orientation*(a: var TPaned, `orientation`: guint)
+proc in_recursion*(a: var TPaned): guint
+proc set_in_recursion*(a: var TPaned, `in_recursion`: guint)
+proc handle_prelit*(a: var TPaned): guint
+proc set_handle_prelit*(a: var TPaned, `handle_prelit`: guint)
+proc paned_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_paned_get_type".}
+proc add1*(paned: PPaned, child: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_paned_add1".}
+proc add2*(paned: PPaned, child: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_paned_add2".}
+proc pack1*(paned: PPaned, child: PWidget, resize: gboolean, 
+                  shrink: gboolean){.cdecl, dynlib: lib, 
+                                     importc: "gtk_paned_pack1".}
+proc pack2*(paned: PPaned, child: PWidget, resize: gboolean, 
+                  shrink: gboolean){.cdecl, dynlib: lib, 
+                                     importc: "gtk_paned_pack2".}
+proc get_position*(paned: PPaned): gint{.cdecl, dynlib: lib, 
     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,
+proc set_position*(paned: PPaned, position: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paned_set_position".}
+proc compute_position*(paned: PPaned, allocation: gint, child1_req: gint, 
+                             child2_req: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paned_compute_position".}
+proc TYPE_HBUTTON_BOX*(): GType
+proc HBUTTON_BOX*(obj: pointer): PHButtonBox
+proc HBUTTON_BOX_CLASS*(klass: pointer): PHButtonBoxClass
+proc IS_HBUTTON_BOX*(obj: pointer): bool
+proc IS_HBUTTON_BOX_CLASS*(klass: pointer): bool
+proc HBUTTON_BOX_GET_CLASS*(obj: pointer): PHButtonBoxClass
+proc hbutton_box_get_type*(): TType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_hbutton_box_get_type".}
+proc hbutton_box_new*(): PHButtonBox{.cdecl, dynlib: lib, 
+                                      importc: "gtk_hbutton_box_new".}
+proc TYPE_HPANED*(): GType
+proc HPANED*(obj: pointer): PHPaned
+proc HPANED_CLASS*(klass: pointer): PHPanedClass
+proc IS_HPANED*(obj: pointer): bool
+proc IS_HPANED_CLASS*(klass: pointer): bool
+proc HPANED_GET_CLASS*(obj: pointer): PHPanedClass
+proc hpaned_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_hpaned_get_type".}
+proc hpaned_new*(): PHPaned{.cdecl, dynlib: lib, importc: "gtk_hpaned_new".}
+proc TYPE_RULER*(): GType
+proc RULER*(obj: pointer): PRuler
+proc RULER_CLASS*(klass: pointer): PRulerClass
+proc IS_RULER*(obj: pointer): bool
+proc IS_RULER_CLASS*(klass: pointer): bool
+proc RULER_GET_CLASS*(obj: pointer): PRulerClass
+proc ruler_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_ruler_get_type".}
+proc set_metric*(ruler: PRuler, metric: TMetricType){.cdecl, dynlib: lib, 
+    importc: "gtk_ruler_set_metric".}
+proc set_range*(ruler: PRuler, lower: gdouble, upper: gdouble, 
+                      position: gdouble, max_size: gdouble){.cdecl, dynlib: lib, 
+    importc: "gtk_ruler_set_range".}
+proc draw_ticks*(ruler: PRuler){.cdecl, dynlib: lib, 
+                                       importc: "gtk_ruler_draw_ticks".}
+proc draw_pos*(ruler: PRuler){.cdecl, dynlib: lib, 
+                                     importc: "gtk_ruler_draw_pos".}
+proc get_metric*(ruler: PRuler): TMetricType{.cdecl, dynlib: lib, 
+    importc: "gtk_ruler_get_metric".}
+proc get_range*(ruler: PRuler, lower: Pgdouble, upper: Pgdouble, 
+                      position: Pgdouble, max_size: Pgdouble){.cdecl, 
+    dynlib: lib, importc: "gtk_ruler_get_range".}
+proc TYPE_HRULER*(): GType
+proc HRULER*(obj: pointer): PHRuler
+proc HRULER_CLASS*(klass: pointer): PHRulerClass
+proc IS_HRULER*(obj: pointer): bool
+proc IS_HRULER_CLASS*(klass: pointer): bool
+proc HRULER_GET_CLASS*(obj: pointer): PHRulerClass
+proc hruler_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_hruler_get_type".}
+proc hruler_new*(): PHRuler{.cdecl, dynlib: lib, importc: "gtk_hruler_new".}
+proc TYPE_SETTINGS*(): GType
+proc SETTINGS*(obj: pointer): PSettings
+proc SETTINGS_CLASS*(klass: pointer): PSettingsClass
+proc IS_SETTINGS*(obj: pointer): bool
+proc IS_SETTINGS_CLASS*(klass: pointer): bool
+proc SETTINGS_GET_CLASS*(obj: pointer): PSettingsClass
+proc settings_get_type*(): GType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_settings_get_type".}
+proc settings_get_for_screen*(screen: gdk2.PScreen): PSettings{.cdecl, 
+    dynlib: lib, importc: "gtk_settings_get_for_screen".}
+proc settings_install_property*(pspec: PGParamSpec){.cdecl, dynlib: lib, 
     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
+proc settings_install_property_parser*(pspec: PGParamSpec, 
+                                       parser: TRcPropertyParser){.cdecl, 
+    dynlib: lib, importc: "gtk_settings_install_property_parser".}
+proc rc_property_parse_color*(pspec: PGParamSpec, gstring: PGString, 
+                              property_value: PGValue): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_rc_property_parse_color".}
+proc rc_property_parse_enum*(pspec: PGParamSpec, gstring: PGString, 
+                             property_value: PGValue): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_rc_property_parse_enum".}
+proc rc_property_parse_flags*(pspec: PGParamSpec, gstring: PGString, 
+                              property_value: PGValue): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_rc_property_parse_flags".}
+proc rc_property_parse_requisition*(pspec: PGParamSpec, gstring: PGString, 
+                                    property_value: PGValue): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_rc_property_parse_requisition".}
+proc rc_property_parse_border*(pspec: PGParamSpec, gstring: PGString, 
+                               property_value: PGValue): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_rc_property_parse_border".}
+proc set_property_value*(settings: PSettings, name: cstring, 
+                                  svalue: PSettingsValue){.cdecl, dynlib: lib, 
+    importc: "gtk_settings_set_property_value".}
+proc set_string_property*(settings: PSettings, name: cstring, 
+                                   v_string: cstring, origin: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_settings_set_string_property".}
+proc set_long_property*(settings: PSettings, name: cstring, 
+                                 v_long: glong, origin: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_settings_set_long_property".}
+proc set_double_property*(settings: PSettings, name: cstring, 
+                                   v_double: gdouble, origin: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_settings_set_double_property".}
+proc settings_handle_event*(event: gdk2.PEventSetting){.cdecl, dynlib: lib, 
+    importc: "_gtk_settings_handle_event".}
+proc rc_property_parser_from_type*(thetype: GType): TRcPropertyParser{.cdecl, 
+    dynlib: lib, importc: "_gtk_rc_property_parser_from_type".}
+proc settings_parse_convert*(parser: TRcPropertyParser, src_value: PGValue, 
+                             pspec: PGParamSpec, dest_value: PGValue): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_settings_parse_convert".}
+const 
+  RC_FG* = 1 shl 0
+  RC_BG* = 1 shl 1
+  RC_TEXT* = 1 shl 2
+  RC_BASE* = 1 shl 3
+  bm_TGtkRcStyle_engine_specified* = 0x0001'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,
+proc TYPE_RC_STYLE*(): GType
+proc RC_STYLE_get*(anObject: pointer): PRcStyle
+proc RC_STYLE_CLASS*(klass: pointer): PRcStyleClass
+proc IS_RC_STYLE*(anObject: pointer): bool
+proc IS_RC_STYLE_CLASS*(klass: pointer): bool
+proc RC_STYLE_GET_CLASS*(obj: pointer): PRcStyleClass
+proc engine_specified*(a: var TRcStyle): guint
+proc set_engine_specified*(a: var TRcStyle, `engine_specified`: guint)
+proc rc_init*(){.cdecl, dynlib: lib, importc: "_gtk_rc_init".}
+proc rc_add_default_file*(filename: cstring){.cdecl, dynlib: lib, 
     importc: "gtk_rc_add_default_file".}
-proc gtk_rc_set_default_files*(filenames: PPgchar){.cdecl, dynlib: gtklib,
+proc rc_set_default_files*(filenames: PPgchar){.cdecl, dynlib: lib, 
     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,
+proc rc_get_default_files*(): PPgchar{.cdecl, dynlib: lib, 
+                                       importc: "gtk_rc_get_default_files".}
+proc rc_get_style*(widget: PWidget): PStyle{.cdecl, dynlib: lib, 
     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,
+proc rc_get_style_by_paths*(settings: PSettings, widget_path: cstring, 
+                            class_path: cstring, thetype: GType): PStyle{.cdecl, 
+    dynlib: lib, importc: "gtk_rc_get_style_by_paths".}
+proc rc_reparse_all_for_settings*(settings: PSettings, force_load: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_rc_reparse_all_for_settings".}
+proc rc_find_pixmap_in_path*(settings: PSettings, scanner: PGScanner, 
+                             pixmap_file: cstring): cstring{.cdecl, dynlib: lib, 
+    importc: "gtk_rc_find_pixmap_in_path".}
+proc rc_parse*(filename: cstring){.cdecl, dynlib: lib, importc: "gtk_rc_parse".}
+proc rc_parse_string*(rc_string: cstring){.cdecl, dynlib: lib, 
     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,
+proc rc_reparse_all*(): gboolean{.cdecl, dynlib: lib, 
+                                  importc: "gtk_rc_reparse_all".}
+proc rc_style_get_type*(): GType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_rc_style_get_type".}
+proc rc_style_new*(): PRcStyle{.cdecl, dynlib: lib, importc: "gtk_rc_style_new".}
+proc copy*(orig: PRcStyle): PRcStyle{.cdecl, dynlib: lib, 
     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,
+proc reference*(rc_style: PRcStyle){.cdecl, dynlib: lib, 
+                                        importc: "gtk_rc_style_ref".}
+proc unref*(rc_style: PRcStyle){.cdecl, dynlib: lib, 
     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,
+proc rc_find_module_in_path*(module_file: cstring): cstring{.cdecl, dynlib: lib, 
+    importc: "gtk_rc_find_module_in_path".}
+proc rc_get_theme_dir*(): cstring{.cdecl, dynlib: lib, 
+                                   importc: "gtk_rc_get_theme_dir".}
+proc rc_get_module_dir*(): cstring{.cdecl, dynlib: lib, 
+                                    importc: "gtk_rc_get_module_dir".}
+proc rc_get_im_module_path*(): cstring{.cdecl, dynlib: lib, 
+                                        importc: "gtk_rc_get_im_module_path".}
+proc rc_get_im_module_file*(): cstring{.cdecl, dynlib: lib, 
+                                        importc: "gtk_rc_get_im_module_file".}
+proc rc_scanner_new*(): PGScanner{.cdecl, dynlib: lib, 
+                                   importc: "gtk_rc_scanner_new".}
+proc rc_parse_color*(scanner: PGScanner, color: gdk2.PColor): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_rc_parse_color".}
+proc rc_parse_state*(scanner: PGScanner, state: PStateType): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_rc_parse_state".}
+proc rc_parse_priority*(scanner: PGScanner, priority: PPathPriorityType): guint{.
+    cdecl, dynlib: lib, importc: "gtk_rc_parse_priority".}
+proc lookup_rc_property*(rc_style: PRcStyle, type_name: TGQuark, 
+                                  property_name: TGQuark): PRcProperty{.cdecl, 
+    dynlib: lib, importc: "_gtk_rc_style_lookup_rc_property".}
+proc rc_context_get_default_font_name*(settings: PSettings): cstring{.cdecl, 
+    dynlib: lib, importc: "_gtk_rc_context_get_default_font_name".}
+proc TYPE_STYLE*(): GType
+proc STYLE*(anObject: pointer): PStyle
+proc STYLE_CLASS*(klass: pointer): PStyleClass
+proc IS_STYLE*(anObject: pointer): bool
+proc IS_STYLE_CLASS*(klass: pointer): bool
+proc STYLE_GET_CLASS*(obj: pointer): PStyleClass
+proc TYPE_BORDER*(): GType
+proc STYLE_ATTACHED*(style: pointer): bool
+proc style_get_type*(): GType{.cdecl, dynlib: lib, importc: "gtk_style_get_type".}
+proc style_new*(): PStyle{.cdecl, dynlib: lib, importc: "gtk_style_new".}
+proc copy*(style: PStyle): PStyle{.cdecl, dynlib: lib, 
     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,
+proc attach*(style: PStyle, window: gdk2.PWindow): PStyle{.cdecl, 
+    dynlib: lib, importc: "gtk_style_attach".}
+proc detach*(style: PStyle){.cdecl, dynlib: lib, 
+                                   importc: "gtk_style_detach".}
+proc set_background*(style: PStyle, window: gdk2.PWindow, 
+                           state_type: TStateType){.cdecl, dynlib: lib, 
+    importc: "gtk_style_set_background".}
+proc apply_default_background*(style: PStyle, window: gdk2.PWindow, 
+                                     set_bg: gboolean, state_type: TStateType, 
+                                     area: gdk2.PRectangle, x: gint, y: gint, 
+                                     width: gint, height: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_style_apply_default_background".}
+proc lookup_icon_set*(style: PStyle, stock_id: cstring): PIconSet{.cdecl, 
+    dynlib: lib, importc: "gtk_style_lookup_icon_set".}
+proc render_icon*(style: PStyle, source: PIconSource, 
+                        direction: TTextDirection, state: TStateType, 
+                        size: TIconSize, widget: PWidget, detail: cstring): gdk2pixbuf.PPixbuf{.
+    cdecl, dynlib: lib, importc: "gtk_style_render_icon".}
+proc paint_hline*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                  area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                  x1: gint, x2: gint, y: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_hline".}
+proc paint_vline*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                  area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                  y1: gint, y2: gint, x: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_vline".}
+proc paint_shadow*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                   shadow_type: TShadowType, area: gdk2.PRectangle, 
+                   widget: PWidget, detail: cstring, x: gint, y: gint, 
+                   width: gint, height: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_shadow".}
+proc paint_polygon*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                    shadow_type: TShadowType, area: gdk2.PRectangle, 
+                    widget: PWidget, detail: cstring, points: gdk2.PPoint, 
+                    npoints: gint, fill: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_polygon".}
+proc paint_arrow*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                  shadow_type: TShadowType, area: gdk2.PRectangle, 
+                  widget: PWidget, detail: cstring, arrow_type: TArrowType, 
+                  fill: gboolean, x: gint, y: gint, width: gint, height: gint){.
+    cdecl, dynlib: lib, importc: "gtk_paint_arrow".}
+proc paint_diamond*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                    shadow_type: TShadowType, area: gdk2.PRectangle, 
+                    widget: PWidget, detail: cstring, x: gint, y: gint, 
+                    width: gint, height: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_diamond".}
+proc paint_box*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                shadow_type: TShadowType, area: gdk2.PRectangle, widget: PWidget, 
+                detail: cstring, x: gint, y: gint, width: gint, height: gint){.
+    cdecl, dynlib: lib, importc: "gtk_paint_box".}
+proc paint_flat_box*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                     shadow_type: TShadowType, area: gdk2.PRectangle, 
+                     widget: PWidget, detail: cstring, x: gint, y: gint, 
+                     width: gint, height: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_flat_box".}
+proc paint_check*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                  shadow_type: TShadowType, area: gdk2.PRectangle, 
+                  widget: PWidget, detail: cstring, x: gint, y: gint, 
+                  width: gint, height: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_check".}
+proc paint_option*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                   shadow_type: TShadowType, area: gdk2.PRectangle, 
+                   widget: PWidget, detail: cstring, x: gint, y: gint, 
+                   width: gint, height: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_option".}
+proc paint_tab*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                shadow_type: TShadowType, area: gdk2.PRectangle, widget: PWidget, 
+                detail: cstring, x: gint, y: gint, width: gint, height: gint){.
+    cdecl, dynlib: lib, importc: "gtk_paint_tab".}
+proc paint_shadow_gap*(style: PStyle, window: gdk2.PWindow, 
+                       state_type: TStateType, shadow_type: TShadowType, 
+                       area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                       x: gint, y: gint, width: gint, height: gint, 
+                       gap_side: TPositionType, gap_x: gint, gap_width: gint){.
+    cdecl, dynlib: lib, importc: "gtk_paint_shadow_gap".}
+proc paint_box_gap*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                    shadow_type: TShadowType, area: gdk2.PRectangle, 
+                    widget: PWidget, detail: cstring, x: gint, y: gint, 
+                    width: gint, height: gint, gap_side: TPositionType, 
+                    gap_x: gint, gap_width: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_paint_box_gap".}
+proc paint_extension*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                      shadow_type: TShadowType, area: gdk2.PRectangle, 
+                      widget: PWidget, detail: cstring, x: gint, y: gint, 
+                      width: gint, height: gint, gap_side: TPositionType){.
+    cdecl, dynlib: lib, importc: "gtk_paint_extension".}
+proc paint_focus*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                  area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                  x: gint, y: gint, width: gint, height: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_paint_focus".}
+proc paint_slider*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                   shadow_type: TShadowType, area: gdk2.PRectangle, 
+                   widget: PWidget, detail: cstring, x: gint, y: gint, 
+                   width: gint, height: gint, orientation: TOrientation){.cdecl, 
+    dynlib: lib, importc: "gtk_paint_slider".}
+proc paint_handle*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                   shadow_type: TShadowType, area: gdk2.PRectangle, 
+                   widget: PWidget, detail: cstring, x: gint, y: gint, 
+                   width: gint, height: gint, orientation: TOrientation){.cdecl, 
+    dynlib: lib, importc: "gtk_paint_handle".}
+proc paint_expander*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                     area: gdk2.PRectangle, widget: PWidget, detail: cstring, 
+                     x: gint, y: gint, expander_style: TExpanderStyle){.cdecl, 
+    dynlib: lib, importc: "gtk_paint_expander".}
+proc paint_layout*(style: PStyle, window: gdk2.PWindow, state_type: TStateType, 
+                   use_text: gboolean, area: gdk2.PRectangle, widget: PWidget, 
+                   detail: cstring, x: gint, y: gint, layout: pango.PLayout){.
+    cdecl, dynlib: lib, importc: "gtk_paint_layout".}
+proc paint_resize_grip*(style: PStyle, window: gdk2.PWindow, 
+                        state_type: TStateType, area: gdk2.PRectangle, 
+                        widget: PWidget, detail: cstring, edge: gdk2.TWindowEdge, 
+                        x: gint, y: gint, width: gint, height: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_paint_resize_grip".}
+proc border_get_type*(): GType{.cdecl, dynlib: lib, 
+                                importc: "gtk_border_get_type".}
+proc copy*(border: PBorder): PBorder{.cdecl, dynlib: lib, 
     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,
+proc free*(border: PBorder){.cdecl, dynlib: lib, 
+                                    importc: "gtk_border_free".}
+proc peek_property_value*(style: PStyle, widget_type: GType, 
+                                pspec: PGParamSpec, parser: TRcPropertyParser): PGValue{.
+    cdecl, dynlib: lib, importc: "_gtk_style_peek_property_value".}
+proc get_insertion_cursor_gc*(widget: PWidget, is_primary: gboolean): gdk2.PGC{.
+    cdecl, dynlib: lib, importc: "_gtk_get_insertion_cursor_gc".}
+proc draw_insertion_cursor*(widget: PWidget, drawable: gdk2.PDrawable, gc: gdk2.PGC, 
+                            location: gdk2.PRectangle, direction: TTextDirection, 
+                            draw_arrow: gboolean){.cdecl, dynlib: lib, 
     importc: "_gtk_draw_insertion_cursor".}
-const
-  bm_TGtkRange_inverted* = 0x00000001'i16
+const 
+  bm_TGtkRange_inverted* = 0x0001'i16
   bp_TGtkRange_inverted* = 0'i16
-  bm_TGtkRange_flippable* = 0x00000002'i16
+  bm_TGtkRange_flippable* = 0x0002'i16
   bp_TGtkRange_flippable* = 1'i16
-  bm_TGtkRange_has_stepper_a* = 0x00000004'i16
+  bm_TGtkRange_has_stepper_a* = 0x0004'i16
   bp_TGtkRange_has_stepper_a* = 2'i16
-  bm_TGtkRange_has_stepper_b* = 0x00000008'i16
+  bm_TGtkRange_has_stepper_b* = 0x0008'i16
   bp_TGtkRange_has_stepper_b* = 3'i16
-  bm_TGtkRange_has_stepper_c* = 0x00000010'i16
+  bm_TGtkRange_has_stepper_c* = 0x0010'i16
   bp_TGtkRange_has_stepper_c* = 4'i16
-  bm_TGtkRange_has_stepper_d* = 0x00000020'i16
+  bm_TGtkRange_has_stepper_d* = 0x0020'i16
   bp_TGtkRange_has_stepper_d* = 5'i16
-  bm_TGtkRange_need_recalc* = 0x00000040'i16
+  bm_TGtkRange_need_recalc* = 0x0040'i16
   bp_TGtkRange_need_recalc* = 6'i16
-  bm_TGtkRange_slider_size_fixed* = 0x00000080'i16
+  bm_TGtkRange_slider_size_fixed* = 0x0080'i16
   bp_TGtkRange_slider_size_fixed* = 7'i16
-  bm_TGtkRange_trough_click_forward* = 0x00000001'i16
+  bm_TGtkRange_trough_click_forward* = 0x0001'i16
   bp_TGtkRange_trough_click_forward* = 0'i16
-  bm_TGtkRange_update_pending* = 0x00000002'i16
+  bm_TGtkRange_update_pending* = 0x0002'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,
+proc TYPE_RANGE*(): GType
+proc RANGE*(obj: pointer): PRange
+proc RANGE_CLASS*(klass: pointer): PRangeClass
+proc IS_RANGE*(obj: pointer): bool
+proc IS_RANGE_CLASS*(klass: pointer): bool
+proc RANGE_GET_CLASS*(obj: pointer): PRangeClass
+proc inverted*(a: var TRange): guint
+proc set_inverted*(a: var TRange, `inverted`: guint)
+proc flippable*(a: var TRange): guint
+proc set_flippable*(a: var TRange, `flippable`: guint)
+proc has_stepper_a*(a: var TRange): guint
+proc set_has_stepper_a*(a: var TRange, `has_stepper_a`: guint)
+proc has_stepper_b*(a: var TRange): guint
+proc set_has_stepper_b*(a: var TRange, `has_stepper_b`: guint)
+proc has_stepper_c*(a: var TRange): guint
+proc set_has_stepper_c*(a: var TRange, `has_stepper_c`: guint)
+proc has_stepper_d*(a: var TRange): guint
+proc set_has_stepper_d*(a: var TRange, `has_stepper_d`: guint)
+proc need_recalc*(a: var TRange): guint
+proc set_need_recalc*(a: var TRange, `need_recalc`: guint)
+proc slider_size_fixed*(a: var TRange): guint
+proc set_slider_size_fixed*(a: var TRange, `slider_size_fixed`: guint)
+proc trough_click_forward*(a: var TRange): guint
+proc set_trough_click_forward*(a: var TRange, `trough_click_forward`: guint)
+proc update_pending*(a: var TRange): guint
+proc set_update_pending*(a: var TRange, `update_pending`: guint)
+proc range_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_range_get_type".}
+proc set_update_policy*(range: PRange, policy: TUpdateType){.cdecl, 
+    dynlib: lib, importc: "gtk_range_set_update_policy".}
+proc get_update_policy*(range: PRange): TUpdateType{.cdecl, dynlib: lib, 
+    importc: "gtk_range_get_update_policy".}
+proc set_adjustment*(range: PRange, adjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_range_set_adjustment".}
+proc get_adjustment*(range: PRange): PAdjustment{.cdecl, dynlib: lib, 
+    importc: "gtk_range_get_adjustment".}
+proc set_inverted*(range: PRange, setting: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_range_set_inverted".}
+proc get_inverted*(range: PRange): gboolean{.cdecl, dynlib: lib, 
     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,
+proc set_increments*(range: PRange, step: gdouble, page: gdouble){.cdecl, 
+    dynlib: lib, importc: "gtk_range_set_increments".}
+proc set_range*(range: PRange, min: gdouble, max: gdouble){.cdecl, 
+    dynlib: lib, importc: "gtk_range_set_range".}
+proc set_value*(range: PRange, value: gdouble){.cdecl, dynlib: lib, 
+    importc: "gtk_range_set_value".}
+proc get_value*(range: PRange): gdouble{.cdecl, dynlib: lib, 
     importc: "gtk_range_get_value".}
-const
-  bm_TGtkScale_draw_value* = 0x00000001'i16
+const 
+  bm_TGtkScale_draw_value* = 0x0001'i16
   bp_TGtkScale_draw_value* = 0'i16
-  bm_TGtkScale_value_pos* = 0x00000006'i16
+  bm_TGtkScale_value_pos* = 0x0006'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,
+proc TYPE_SCALE*(): GType
+proc SCALE*(obj: pointer): PScale
+proc SCALE_CLASS*(klass: pointer): PScaleClass
+proc IS_SCALE*(obj: pointer): bool
+proc IS_SCALE_CLASS*(klass: pointer): bool
+proc SCALE_GET_CLASS*(obj: pointer): PScaleClass
+proc draw_value*(a: var TScale): guint
+proc set_draw_value*(a: var TScale, `draw_value`: guint)
+proc value_pos*(a: var TScale): guint
+proc set_value_pos*(a: var TScale, `value_pos`: guint)
+proc scale_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_scale_get_type".}
+proc set_digits*(scale: PScale, digits: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_scale_set_digits".}
+proc get_digits*(scale: PScale): gint{.cdecl, dynlib: lib, 
     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,
+proc set_draw_value*(scale: PScale, draw_value: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_scale_set_draw_value".}
+proc get_draw_value*(scale: PScale): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_scale_get_draw_value".}
+proc set_value_pos*(scale: PScale, pos: TPositionType){.cdecl, 
+    dynlib: lib, importc: "gtk_scale_set_value_pos".}
+proc get_value_pos*(scale: PScale): TPositionType{.cdecl, dynlib: lib, 
+    importc: "gtk_scale_get_value_pos".}
+proc get_value_size*(scale: PScale, width: Pgint, height: Pgint){.cdecl, 
+    dynlib: lib, importc: "_gtk_scale_get_value_size".}
+proc format_value*(scale: PScale, value: gdouble): cstring{.cdecl, 
+    dynlib: lib, importc: "_gtk_scale_format_value".}
+proc TYPE_HSCALE*(): GType
+proc HSCALE*(obj: pointer): PHScale
+proc HSCALE_CLASS*(klass: pointer): PHScaleClass
+proc IS_HSCALE*(obj: pointer): bool
+proc IS_HSCALE_CLASS*(klass: pointer): bool
+proc HSCALE_GET_CLASS*(obj: pointer): PHScaleClass
+proc hscale_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_hscale_get_type".}
+proc hscale_new*(adjustment: PAdjustment): PHScale{.cdecl, dynlib: lib, 
+    importc: "gtk_hscale_new".}
+proc hscale_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PHScale{.
+    cdecl, dynlib: lib, importc: "gtk_hscale_new_with_range".}
+proc TYPE_SCROLLBAR*(): GType
+proc SCROLLBAR*(obj: pointer): PScrollbar
+proc SCROLLBAR_CLASS*(klass: pointer): PScrollbarClass
+proc IS_SCROLLBAR*(obj: pointer): bool
+proc IS_SCROLLBAR_CLASS*(klass: pointer): bool
+proc SCROLLBAR_GET_CLASS*(obj: pointer): PScrollbarClass
+proc scrollbar_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_scrollbar_get_type".}
+proc TYPE_HSCROLLBAR*(): GType
+proc HSCROLLBAR*(obj: pointer): PHScrollbar
+proc HSCROLLBAR_CLASS*(klass: pointer): PHScrollbarClass
+proc IS_HSCROLLBAR*(obj: pointer): bool
+proc IS_HSCROLLBAR_CLASS*(klass: pointer): bool
+proc HSCROLLBAR_GET_CLASS*(obj: pointer): PHScrollbarClass
+proc hscrollbar_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_hscrollbar_get_type".}
+proc hscrollbar_new*(adjustment: PAdjustment): PHScrollbar{.cdecl, dynlib: lib, 
+    importc: "gtk_hscrollbar_new".}
+proc TYPE_SEPARATOR*(): GType
+proc SEPARATOR*(obj: pointer): PSeparator
+proc SEPARATOR_CLASS*(klass: pointer): PSeparatorClass
+proc IS_SEPARATOR*(obj: pointer): bool
+proc IS_SEPARATOR_CLASS*(klass: pointer): bool
+proc SEPARATOR_GET_CLASS*(obj: pointer): PSeparatorClass
+proc separator_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_separator_get_type".}
+proc TYPE_HSEPARATOR*(): GType
+proc HSEPARATOR*(obj: pointer): PHSeparator
+proc HSEPARATOR_CLASS*(klass: pointer): PHSeparatorClass
+proc IS_HSEPARATOR*(obj: pointer): bool
+proc IS_HSEPARATOR_CLASS*(klass: pointer): bool
+proc HSEPARATOR_GET_CLASS*(obj: pointer): PHSeparatorClass
+proc hseparator_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_hseparator_get_type".}
+proc hseparator_new*(): PHSeparator{.cdecl, dynlib: lib, 
+                                     importc: "gtk_hseparator_new".}
+proc TYPE_ICON_FACTORY*(): GType
+proc ICON_FACTORY*(anObject: pointer): PIconFactory
+proc ICON_FACTORY_CLASS*(klass: pointer): PIconFactoryClass
+proc IS_ICON_FACTORY*(anObject: pointer): bool
+proc IS_ICON_FACTORY_CLASS*(klass: pointer): bool
+proc ICON_FACTORY_GET_CLASS*(obj: pointer): PIconFactoryClass
+proc TYPE_ICON_SET*(): GType
+proc TYPE_ICON_SOURCE*(): GType
+proc icon_factory_get_type*(): GType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_icon_factory_get_type".}
+proc icon_factory_new*(): PIconFactory{.cdecl, dynlib: lib, 
+                                        importc: "gtk_icon_factory_new".}
+proc add*(factory: PIconFactory, stock_id: cstring, 
+                       icon_set: PIconSet){.cdecl, dynlib: lib, 
     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,
+proc lookup*(factory: PIconFactory, stock_id: cstring): PIconSet{.
+    cdecl, dynlib: lib, importc: "gtk_icon_factory_lookup".}
+proc add_default*(factory: PIconFactory){.cdecl, dynlib: lib, 
+    importc: "gtk_icon_factory_add_default".}
+proc remove_default*(factory: PIconFactory){.cdecl, dynlib: lib, 
+    importc: "gtk_icon_factory_remove_default".}
+proc icon_factory_lookup_default*(stock_id: cstring): PIconSet{.cdecl, 
+    dynlib: lib, importc: "gtk_icon_factory_lookup_default".}
+proc icon_size_lookup*(size: TIconSize, width: Pgint, height: Pgint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_icon_size_lookup".}
+proc icon_size_register*(name: cstring, width: gint, height: gint): TIconSize{.
+    cdecl, dynlib: lib, importc: "gtk_icon_size_register".}
+proc icon_size_register_alias*(alias: cstring, target: TIconSize){.cdecl, 
+    dynlib: lib, importc: "gtk_icon_size_register_alias".}
+proc icon_size_from_name*(name: cstring): TIconSize{.cdecl, dynlib: lib, 
+    importc: "gtk_icon_size_from_name".}
+proc icon_size_get_name*(size: TIconSize): cstring{.cdecl, dynlib: lib, 
     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,
+proc icon_set_get_type*(): GType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_icon_set_get_type".}
+proc icon_set_new*(): PIconSet{.cdecl, dynlib: lib, importc: "gtk_icon_set_new".}
+proc icon_set_new_from_pixbuf*(pixbuf: gdk2pixbuf.PPixbuf): PIconSet{.cdecl, 
+    dynlib: lib, importc: "gtk_icon_set_new_from_pixbuf".}
+proc reference*(icon_set: PIconSet): PIconSet{.cdecl, dynlib: lib, 
+    importc: "gtk_icon_set_ref".}
+proc unref*(icon_set: PIconSet){.cdecl, dynlib: lib, 
     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,
+proc copy*(icon_set: PIconSet): PIconSet{.cdecl, dynlib: lib, 
+    importc: "gtk_icon_set_copy".}
+proc render_icon*(icon_set: PIconSet, style: PStyle, 
+                           direction: TTextDirection, state: TStateType, 
+                           size: TIconSize, widget: PWidget, detail: cstring): gdk2pixbuf.PPixbuf{.
+    cdecl, dynlib: lib, importc: "gtk_icon_set_render_icon".}
+proc add_source*(icon_set: PIconSet, source: PIconSource){.cdecl, 
+    dynlib: lib, importc: "gtk_icon_set_add_source".}
+proc get_sizes*(icon_set: PIconSet, sizes: PPGtkIconSize, 
+                         n_sizes: pgint){.cdecl, dynlib: lib, 
     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,
+proc icon_source_get_type*(): GType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_icon_source_get_type".}
+proc icon_source_new*(): PIconSource{.cdecl, dynlib: lib, 
+                                      importc: "gtk_icon_source_new".}
+proc copy*(source: PIconSource): PIconSource{.cdecl, dynlib: lib, 
+    importc: "gtk_icon_source_copy".}
+proc free*(source: PIconSource){.cdecl, dynlib: lib, 
     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,
+proc set_filename*(source: PIconSource, filename: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_set_filename".}
+proc set_pixbuf*(source: PIconSource, pixbuf: gdk2pixbuf.PPixbuf){.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_set_pixbuf".}
+proc get_filename*(source: PIconSource): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_get_filename".}
+proc get_pixbuf*(source: PIconSource): gdk2pixbuf.PPixbuf{.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_get_pixbuf".}
+proc set_direction_wildcarded*(source: PIconSource, 
+    setting: gboolean){.cdecl, dynlib: lib, 
                         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,
+proc set_state_wildcarded*(source: PIconSource, setting: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_icon_source_set_state_wildcarded".}
+proc set_size_wildcarded*(source: PIconSource, setting: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_icon_source_set_size_wildcarded".}
+proc get_size_wildcarded*(source: PIconSource): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_get_size_wildcarded".}
+proc get_state_wildcarded*(source: PIconSource): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_get_state_wildcarded".}
+proc get_direction_wildcarded*(source: PIconSource): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_icon_source_get_direction_wildcarded".}
+proc set_direction*(source: PIconSource, direction: TTextDirection){.
+    cdecl, dynlib: lib, importc: "gtk_icon_source_set_direction".}
+proc set_state*(source: PIconSource, state: TStateType){.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_set_state".}
+proc set_size*(source: PIconSource, size: TIconSize){.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_set_size".}
+proc get_direction*(source: PIconSource): TTextDirection{.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_get_direction".}
+proc get_state*(source: PIconSource): TStateType{.cdecl, 
+    dynlib: lib, importc: "gtk_icon_source_get_state".}
+proc get_size*(source: PIconSource): TIconSize{.cdecl, dynlib: lib, 
+    importc: "gtk_icon_source_get_size".}
+proc icon_set_invalidate_caches*(){.cdecl, dynlib: lib, 
+                                    importc: "_gtk_icon_set_invalidate_caches".}
+proc icon_factory_list_ids*(): PGSList{.cdecl, dynlib: lib, 
+                                        importc: "_gtk_icon_factory_list_ids".}
+proc TYPE_IMAGE*(): GType
+proc IMAGE*(obj: pointer): PImage
+proc IMAGE_CLASS*(klass: pointer): PImageClass
+proc IS_IMAGE*(obj: pointer): bool
+proc IS_IMAGE_CLASS*(klass: pointer): bool
+proc IMAGE_GET_CLASS*(obj: pointer): PImageClass
+proc image_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_image_get_type".}
+proc image_new*(): PImage{.cdecl, dynlib: lib, importc: "gtk_image_new".}
+proc image_new_from_pixmap*(pixmap: gdk2.PPixmap, mask: gdk2.PBitmap): PImage{.
+    cdecl, dynlib: lib, importc: "gtk_image_new_from_pixmap".}
+proc image_new_from_image*(image: gdk2.PImage, mask: gdk2.PBitmap): PImage{.cdecl, 
+    dynlib: lib, importc: "gtk_image_new_from_image".}
+proc image_new_from_file*(filename: cstring): PImage{.cdecl, dynlib: lib, 
+    importc: "gtk_image_new_from_file".}
+proc image_new_from_pixbuf*(pixbuf: gdk2pixbuf.PPixbuf): PImage{.cdecl, dynlib: lib, 
+    importc: "gtk_image_new_from_pixbuf".}
+proc image_new_from_stock*(stock_id: cstring, size: TIconSize): PImage{.cdecl, 
+    dynlib: lib, importc: "gtk_image_new_from_stock".}
+proc image_new_from_icon_set*(icon_set: PIconSet, size: TIconSize): PImage{.
+    cdecl, dynlib: lib, importc: "gtk_image_new_from_icon_set".}
+proc image_new_from_animation*(animation: gdk2pixbuf.PPixbufAnimation): PImage{.cdecl, 
+    dynlib: lib, importc: "gtk_image_new_from_animation".}
+proc set_from_pixmap*(image: PImage, pixmap: gdk2.PPixmap, mask: gdk2.PBitmap){.
+    cdecl, dynlib: lib, importc: "gtk_image_set_from_pixmap".}
+proc set_from_image*(image: PImage, gdk_image: gdk2.PImage, mask: gdk2.PBitmap){.
+    cdecl, dynlib: lib, importc: "gtk_image_set_from_image".}
+proc set_from_file*(image: PImage, filename: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_image_set_from_file".}
+proc set_from_pixbuf*(image: PImage, pixbuf: gdk2pixbuf.PPixbuf){.cdecl, 
+    dynlib: lib, importc: "gtk_image_set_from_pixbuf".}
+proc set_from_stock*(image: PImage, stock_id: cstring, size: TIconSize){.
+    cdecl, dynlib: lib, importc: "gtk_image_set_from_stock".}
+proc set_from_icon_set*(image: PImage, icon_set: PIconSet, size: TIconSize){.
+    cdecl, dynlib: lib, importc: "gtk_image_set_from_icon_set".}
+proc set_from_animation*(image: PImage, animation: gdk2pixbuf.PPixbufAnimation){.
+    cdecl, dynlib: lib, importc: "gtk_image_set_from_animation".}
+proc get_storage_type*(image: PImage): TImageType{.cdecl, dynlib: lib, 
+    importc: "gtk_image_get_storage_type".}
+proc get_pixbuf*(image: PImage): gdk2pixbuf.PPixbuf{.cdecl, dynlib: lib, 
     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,
+proc get_stock*(image: PImage, stock_id: PPgchar, size: PIconSize){.cdecl, 
+    dynlib: lib, importc: "gtk_image_get_stock".}
+proc get_animation*(image: PImage): gdk2pixbuf.PPixbufAnimation{.cdecl, 
+    dynlib: lib, importc: "gtk_image_get_animation".}
+proc TYPE_IMAGE_MENU_ITEM*(): GType
+proc IMAGE_MENU_ITEM*(obj: pointer): PImageMenuItem
+proc IMAGE_MENU_ITEM_CLASS*(klass: pointer): PImageMenuItemClass
+proc IS_IMAGE_MENU_ITEM*(obj: pointer): bool
+proc IS_IMAGE_MENU_ITEM_CLASS*(klass: pointer): bool
+proc IMAGE_MENU_ITEM_GET_CLASS*(obj: pointer): PImageMenuItemClass
+proc image_menu_item_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_image_menu_item_get_type".}
-proc gtk_image_menu_item_new*(): PGtkImageMenuItem{.cdecl, dynlib: gtklib,
+proc image_menu_item_new*(): PImageMenuItem{.cdecl, dynlib: lib, 
     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
+proc image_menu_item_new_with_label*(`label`: cstring): PImageMenuItem{.cdecl, 
+    dynlib: lib, importc: "gtk_image_menu_item_new_with_label".}
+proc image_menu_item_new_with_mnemonic*(`label`: cstring): PImageMenuItem{.
+    cdecl, dynlib: lib, importc: "gtk_image_menu_item_new_with_mnemonic".}
+proc image_menu_item_new_from_stock*(stock_id: cstring, accel_group: PAccelGroup): PImageMenuItem{.
+    cdecl, dynlib: lib, importc: "gtk_image_menu_item_new_from_stock".}
+proc item_set_image*(image_menu_item: PImageMenuItem, image: PWidget){.
+    cdecl, dynlib: lib, importc: "gtk_image_menu_item_set_image".}
+proc item_get_image*(image_menu_item: PImageMenuItem): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_image_menu_item_get_image".}
+const 
+  bm_TGtkIMContextSimple_in_hex_sequence* = 0x0001'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,
+proc TYPE_IM_CONTEXT_SIMPLE*(): GType
+proc IM_CONTEXT_SIMPLE*(obj: pointer): PIMContextSimple
+proc IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): PIMContextSimpleClass
+proc IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool
+proc IS_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): bool
+proc IM_CONTEXT_SIMPLE_GET_CLASS*(obj: pointer): PIMContextSimpleClass
+proc in_hex_sequence*(a: var TIMContextSimple): guint
+proc set_in_hex_sequence*(a: var TIMContextSimple, `in_hex_sequence`: guint)
+proc im_context_simple_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_im_context_simple_get_type".}
-proc gtk_im_context_simple_new*(): PGtkIMContext{.cdecl, dynlib: gtklib,
+proc im_context_simple_new*(): PIMContext{.cdecl, dynlib: lib, 
     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,
+proc simple_add_table*(context_simple: PIMContextSimple, 
+                                  data: Pguint16, max_seq_len: gint, 
+                                  n_seqs: gint){.cdecl, dynlib: lib, 
     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,
+proc TYPE_IM_MULTICONTEXT*(): GType
+proc IM_MULTICONTEXT*(obj: pointer): PIMMulticontext
+proc IM_MULTICONTEXT_CLASS*(klass: pointer): PIMMulticontextClass
+proc IS_IM_MULTICONTEXT*(obj: pointer): bool
+proc IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool
+proc IM_MULTICONTEXT_GET_CLASS*(obj: pointer): PIMMulticontextClass
+proc im_multicontext_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_im_multicontext_get_type".}
-proc gtk_im_multicontext_new*(): PGtkIMContext{.cdecl, dynlib: gtklib,
+proc im_multicontext_new*(): PIMContext{.cdecl, dynlib: lib, 
     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
+proc append_menuitems*(context: PIMMulticontext, 
+                                       menushell: PMenuShell){.cdecl, 
+    dynlib: lib, importc: "gtk_im_multicontext_append_menuitems".}
+proc TYPE_INPUT_DIALOG*(): GType
+proc INPUT_DIALOG*(obj: pointer): PInputDialog
+proc INPUT_DIALOG_CLASS*(klass: pointer): PInputDialogClass
+proc IS_INPUT_DIALOG*(obj: pointer): bool
+proc IS_INPUT_DIALOG_CLASS*(klass: pointer): bool
+proc INPUT_DIALOG_GET_CLASS*(obj: pointer): PInputDialogClass
+proc input_dialog_get_type*(): TType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_input_dialog_get_type".}
+proc input_dialog_new*(): PInputDialog{.cdecl, dynlib: lib, 
+                                        importc: "gtk_input_dialog_new".}
+proc TYPE_INVISIBLE*(): GType
+proc INVISIBLE*(obj: pointer): PInvisible
+proc INVISIBLE_CLASS*(klass: pointer): PInvisibleClass
+proc IS_INVISIBLE*(obj: pointer): bool
+proc IS_INVISIBLE_CLASS*(klass: pointer): bool
+proc INVISIBLE_GET_CLASS*(obj: pointer): PInvisibleClass
+proc invisible_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_invisible_get_type".}
+proc invisible_new*(): PInvisible{.cdecl, dynlib: lib, 
+                                   importc: "gtk_invisible_new".}
+proc invisible_new_for_screen*(screen: gdk2.PScreen): PInvisible{.cdecl, 
+    dynlib: lib, importc: "gtk_invisible_new_for_screen".}
+proc set_screen*(invisible: PInvisible, screen: gdk2.PScreen){.cdecl, 
+    dynlib: lib, importc: "gtk_invisible_set_screen".}
+proc get_screen*(invisible: PInvisible): gdk2.PScreen{.cdecl, 
+    dynlib: lib, importc: "gtk_invisible_get_screen".}
+proc TYPE_ITEM_FACTORY*(): GType
+proc ITEM_FACTORY*(anObject: pointer): PItemFactory
+proc ITEM_FACTORY_CLASS*(klass: pointer): PItemFactoryClass
+proc IS_ITEM_FACTORY*(anObject: pointer): bool
+proc IS_ITEM_FACTORY_CLASS*(klass: pointer): bool
+proc ITEM_FACTORY_GET_CLASS*(obj: pointer): PItemFactoryClass
+proc item_factory_get_type*(): TType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_item_factory_get_type".}
+proc item_factory_new*(container_type: TType, path: cstring, 
+                       accel_group: PAccelGroup): PItemFactory{.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_new".}
+proc construct*(ifactory: PItemFactory, container_type: TType, 
+                             path: cstring, accel_group: PAccelGroup){.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_construct".}
+proc item_factory_add_foreign*(accel_widget: PWidget, full_path: cstring, 
+                               accel_group: PAccelGroup, keyval: guint, 
+                               modifiers: gdk2.TModifierType){.cdecl, dynlib: lib, 
+    importc: "gtk_item_factory_add_foreign".}
+proc item_factory_from_widget*(widget: PWidget): PItemFactory{.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_from_widget".}
+proc item_factory_path_from_widget*(widget: PWidget): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_path_from_widget".}
+proc get_item*(ifactory: PItemFactory, path: cstring): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_item_factory_get_item".}
+proc get_widget*(ifactory: PItemFactory, path: cstring): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_item_factory_get_widget".}
+proc get_widget_by_action*(ifactory: PItemFactory, action: guint): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_item_factory_get_widget_by_action".}
+proc get_item_by_action*(ifactory: PItemFactory, action: guint): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_item_factory_get_item_by_action".}
+proc create_item*(ifactory: PItemFactory, entry: PItemFactoryEntry, 
+                               callback_data: gpointer, callback_type: guint){.
+    cdecl, dynlib: lib, importc: "gtk_item_factory_create_item".}
+proc create_items*(ifactory: PItemFactory, n_entries: guint, 
+                                entries: PItemFactoryEntry, 
+                                callback_data: gpointer){.cdecl, dynlib: lib, 
+    importc: "gtk_item_factory_create_items".}
+proc delete_item*(ifactory: PItemFactory, path: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_delete_item".}
+proc delete_entry*(ifactory: PItemFactory, entry: PItemFactoryEntry){.
+    cdecl, dynlib: lib, importc: "gtk_item_factory_delete_entry".}
+proc delete_entries*(ifactory: PItemFactory, n_entries: guint, 
+                                  entries: PItemFactoryEntry){.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_delete_entries".}
+proc popup*(ifactory: PItemFactory, x: guint, y: guint, 
+                         mouse_button: guint, time: guint32){.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_popup".}
+proc popup_with_data*(ifactory: PItemFactory, popup_data: gpointer, 
+                                   destroy: TDestroyNotify, x: guint, y: guint, 
+                                   mouse_button: guint, time: guint32){.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_popup_with_data".}
+proc popup_data*(ifactory: PItemFactory): gpointer{.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_popup_data".}
+proc item_factory_popup_data_from_widget*(widget: PWidget): gpointer{.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_popup_data_from_widget".}
+proc set_translate_func*(ifactory: PItemFactory, 
+                                      fun: TTranslateFunc, data: gpointer, 
+                                      notify: TDestroyNotify){.cdecl, 
+    dynlib: lib, importc: "gtk_item_factory_set_translate_func".}
+proc TYPE_LAYOUT*(): GType
+proc LAYOUT*(obj: pointer): PLayout
+proc LAYOUT_CLASS*(klass: pointer): PLayoutClass
+proc IS_LAYOUT*(obj: pointer): bool
+proc IS_LAYOUT_CLASS*(klass: pointer): bool
+proc LAYOUT_GET_CLASS*(obj: pointer): PLayoutClass
+proc layout_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_layout_get_type".}
+proc layout_new*(hadjustment: PAdjustment, vadjustment: PAdjustment): PLayout{.
+    cdecl, dynlib: lib, importc: "gtk_layout_new".}
+proc put*(layout: PLayout, child_widget: PWidget, x: gint, y: gint){.
+    cdecl, dynlib: lib, importc: "gtk_layout_put".}
+proc move*(layout: PLayout, child_widget: PWidget, x: gint, y: gint){.
+    cdecl, dynlib: lib, importc: "gtk_layout_move".}
+proc set_size*(layout: PLayout, width: guint, height: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_layout_set_size".}
+proc get_size*(layout: PLayout, width: Pguint, height: Pguint){.cdecl, 
+    dynlib: lib, importc: "gtk_layout_get_size".}
+proc get_hadjustment*(layout: PLayout): PAdjustment{.cdecl, dynlib: lib, 
+    importc: "gtk_layout_get_hadjustment".}
+proc get_vadjustment*(layout: PLayout): PAdjustment{.cdecl, dynlib: lib, 
+    importc: "gtk_layout_get_vadjustment".}
+proc set_hadjustment*(layout: PLayout, adjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_layout_set_hadjustment".}
+proc set_vadjustment*(layout: PLayout, adjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_layout_set_vadjustment".}
+const 
+  bm_TGtkList_selection_mode* = 0x0003'i16
   bp_TGtkList_selection_mode* = 0'i16
-  bm_TGtkList_drag_selection* = 0x00000004'i16
+  bm_TGtkList_drag_selection* = 0x0004'i16
   bp_TGtkList_drag_selection* = 2'i16
-  bm_TGtkList_add_mode* = 0x00000008'i16
+  bm_TGtkList_add_mode* = 0x0008'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,
+proc TYPE_LIST*(): GType
+proc LIST*(obj: pointer): PList
+proc LIST_CLASS*(klass: pointer): PListClass
+proc IS_LIST*(obj: pointer): bool
+proc IS_LIST_CLASS*(klass: pointer): bool
+proc LIST_GET_CLASS*(obj: pointer): PListClass
+proc selection_mode*(a: var TList): guint
+proc set_selection_mode*(a: var TList, `selection_mode`: guint)
+proc drag_selection*(a: var TList): guint
+proc set_drag_selection*(a: var TList, `drag_selection`: guint)
+proc add_mode*(a: var TList): guint
+proc set_add_mode*(a: var TList, `add_mode`: guint)
+proc list_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_list_get_type".}
+proc list_new*(): PList{.cdecl, dynlib: lib, importc: "gtk_list_new".}
+proc insert_items*(list: PList, items: PGList, position: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_list_insert_items".}
+proc append_items*(list: PList, items: PGList){.cdecl, dynlib: lib, 
+    importc: "gtk_list_append_items".}
+proc prepend_items*(list: PList, items: PGList){.cdecl, dynlib: lib, 
+    importc: "gtk_list_prepend_items".}
+proc remove_items*(list: PList, items: PGList){.cdecl, dynlib: lib, 
+    importc: "gtk_list_remove_items".}
+proc remove_items_no_unref*(list: PList, items: PGList){.cdecl, 
+    dynlib: lib, importc: "gtk_list_remove_items_no_unref".}
+proc clear_items*(list: PList, start: gint, theEnd: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_list_clear_items".}
+proc select_item*(list: PList, item: gint){.cdecl, dynlib: lib, 
     importc: "gtk_list_select_item".}
-proc gtk_list_unselect_item*(list: PGtkList, item: gint){.cdecl, dynlib: gtklib,
+proc unselect_item*(list: PList, item: gint){.cdecl, dynlib: lib, 
     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,
+proc select_child*(list: PList, child: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_list_select_child".}
+proc unselect_child*(list: PList, child: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_list_unselect_child".}
+proc child_position*(list: PList, child: PWidget): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_list_child_position".}
+proc set_selection_mode*(list: PList, mode: TSelectionMode){.cdecl, 
+    dynlib: lib, importc: "gtk_list_set_selection_mode".}
+proc extend_selection*(list: PList, scroll_type: TScrollType, 
+                            position: gfloat, auto_start_selection: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_list_extend_selection".}
+proc start_selection*(list: PList){.cdecl, dynlib: lib, 
     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,
+proc end_selection*(list: PList){.cdecl, dynlib: lib, 
+                                       importc: "gtk_list_end_selection".}
+proc select_all*(list: PList){.cdecl, dynlib: lib, 
+                                    importc: "gtk_list_select_all".}
+proc unselect_all*(list: PList){.cdecl, dynlib: lib, 
+                                      importc: "gtk_list_unselect_all".}
+proc scroll_horizontal*(list: PList, scroll_type: TScrollType, 
+                             position: gfloat){.cdecl, dynlib: lib, 
     importc: "gtk_list_scroll_horizontal".}
-proc gtk_list_scroll_vertical*(list: PGtkList, scroll_type: TGtkScrollType,
-                               position: gfloat){.cdecl, dynlib: gtklib,
+proc scroll_vertical*(list: PList, scroll_type: TScrollType, 
+                           position: gfloat){.cdecl, dynlib: lib, 
     importc: "gtk_list_scroll_vertical".}
-proc gtk_list_toggle_add_mode*(list: PGtkList){.cdecl, dynlib: gtklib,
+proc toggle_add_mode*(list: PList){.cdecl, dynlib: lib, 
     importc: "gtk_list_toggle_add_mode".}
-proc gtk_list_toggle_focus_row*(list: PGtkList){.cdecl, dynlib: gtklib,
+proc toggle_focus_row*(list: PList){.cdecl, dynlib: lib, 
     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,
+proc toggle_row*(list: PList, item: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_list_toggle_row".}
+proc undo_selection*(list: PList){.cdecl, dynlib: lib, 
+                                        importc: "gtk_list_undo_selection".}
+proc end_drag_selection*(list: PList){.cdecl, dynlib: lib, 
     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,
+const 
+  TREE_MODEL_ITERS_PERSIST* = 1 shl 0
+  TREE_MODEL_LIST_ONLY* = 1 shl 1
+
+proc TYPE_TREE_MODEL*(): GType
+proc TREE_MODEL*(obj: pointer): PTreeModel
+proc IS_TREE_MODEL*(obj: pointer): bool
+proc TREE_MODEL_GET_IFACE*(obj: pointer): PTreeModelIface
+proc TYPE_TREE_ITER*(): GType
+proc TYPE_TREE_PATH*(): GType
+proc tree_path_new*(): PTreePath{.cdecl, dynlib: lib, 
+                                  importc: "gtk_tree_path_new".}
+proc tree_path_new_from_string*(path: cstring): PTreePath{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_path_new_from_string".}
+proc to_string*(path: PTreePath): cstring{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_path_to_string".}
+proc tree_path_new_root*(): PTreePath
+proc tree_path_new_first*(): PTreePath{.cdecl, dynlib: lib, 
+                                        importc: "gtk_tree_path_new_first".}
+proc append_index*(path: PTreePath, index: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_path_append_index".}
+proc prepend_index*(path: PTreePath, index: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_path_prepend_index".}
+proc get_depth*(path: PTreePath): gint{.cdecl, dynlib: lib, 
     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,
+proc get_indices*(path: PTreePath): Pgint{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_path_get_indices".}
+proc free*(path: PTreePath){.cdecl, dynlib: lib, 
+                                       importc: "gtk_tree_path_free".}
+proc copy*(path: PTreePath): PTreePath{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_path_copy".}
+proc tree_path_get_type*(): GType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_tree_path_get_type".}
+proc compare*(a: PTreePath, b: PTreePath): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_path_compare".}
+proc next*(path: PTreePath){.cdecl, dynlib: lib, 
+                                       importc: "gtk_tree_path_next".}
+proc prev*(path: PTreePath): gboolean{.cdecl, dynlib: lib, 
     importc: "gtk_tree_path_prev".}
-proc gtk_tree_path_up*(path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib,
+proc up*(path: PTreePath): gboolean{.cdecl, dynlib: lib, 
     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,
+proc down*(path: PTreePath){.cdecl, dynlib: lib, 
+                                       importc: "gtk_tree_path_down".}
+proc is_ancestor*(path: PTreePath, descendant: PTreePath): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_path_is_ancestor".}
+proc is_descendant*(path: PTreePath, ancestor: PTreePath): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_path_is_descendant".}
+proc row_reference_new*(model: PTreeModel, path: PTreePath): PTreeRowReference{.
+    cdecl, dynlib: lib, importc: "gtk_tree_row_reference_new".}
+proc tree_row_reference_new_proxy*(proxy: PGObject, model: PTreeModel, 
+                                   path: PTreePath): PTreeRowReference{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_row_reference_new_proxy".}
+proc reference_get_path*(reference: PTreeRowReference): PTreePath{.
+    cdecl, dynlib: lib, importc: "gtk_tree_row_reference_get_path".}
+proc reference_valid*(reference: PTreeRowReference): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_row_reference_valid".}
+proc reference_free*(reference: PTreeRowReference){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_row_reference_free".}
+proc tree_row_reference_inserted*(proxy: PGObject, path: PTreePath){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_row_reference_inserted".}
+proc tree_row_reference_deleted*(proxy: PGObject, path: PTreePath){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_row_reference_deleted".}
+proc tree_row_reference_reordered*(proxy: PGObject, path: PTreePath, 
+                                   iter: PTreeIter, new_order: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_row_reference_reordered".}
+proc copy*(iter: PTreeIter): PTreeIter{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_iter_copy".}
+proc free*(iter: PTreeIter){.cdecl, dynlib: lib, 
+                                       importc: "gtk_tree_iter_free".}
+proc tree_iter_get_type*(): GType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_tree_iter_get_type".}
+proc tree_model_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_tree_model_get_type".}
+proc get_flags*(tree_model: PTreeModel): TTreeModelFlags{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_get_flags".}
+proc get_n_columns*(tree_model: PTreeModel): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_get_n_columns".}
+proc get_column_type*(tree_model: PTreeModel, index: gint): GType{.
+    cdecl, dynlib: lib, importc: "gtk_tree_model_get_column_type".}
+proc get_iter*(tree_model: PTreeModel, iter: PTreeIter, 
+                          path: PTreePath): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_model_get_iter".}
+proc get_iter_from_string*(tree_model: PTreeModel, iter: PTreeIter, 
+                                      path_string: cstring): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_get_iter_from_string".}
+proc get_iter_root*(tree_model: PTreeModel, iter: PTreeIter): gboolean
+proc get_iter_first*(tree_model: PTreeModel, iter: PTreeIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_model_get_iter_first".}
+proc get_path*(tree_model: PTreeModel, iter: PTreeIter): PTreePath{.
+    cdecl, dynlib: lib, importc: "gtk_tree_model_get_path".}
+proc get_value*(tree_model: PTreeModel, iter: PTreeIter, 
+                           column: gint, value: PGValue){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_model_get_value".}
+proc iter_next*(tree_model: PTreeModel, iter: PTreeIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_model_iter_next".}
+proc iter_children*(tree_model: PTreeModel, iter: PTreeIter, 
+                               parent: PTreeIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_model_iter_children".}
+proc iter_has_child*(tree_model: PTreeModel, iter: PTreeIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_model_iter_has_child".}
+proc iter_n_children*(tree_model: PTreeModel, iter: PTreeIter): gint{.
+    cdecl, dynlib: lib, importc: "gtk_tree_model_iter_n_children".}
+proc iter_nth_child*(tree_model: PTreeModel, iter: PTreeIter, 
+                                parent: PTreeIter, n: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_iter_nth_child".}
+proc iter_parent*(tree_model: PTreeModel, iter: PTreeIter, 
+                             child: PTreeIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_model_iter_parent".}
+proc ref_node*(tree_model: PTreeModel, iter: PTreeIter){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_ref_node".}
+proc unref_node*(tree_model: PTreeModel, iter: PTreeIter){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_unref_node".}
+proc foreach*(model: PTreeModel, fun: TTreeModelForeachFunc, 
+                         user_data: gpointer){.cdecl, dynlib: lib, 
     importc: "gtk_tree_model_foreach".}
-proc gtk_tree_model_row_changed*(tree_model: PGtkTreeModel, path: PGtkTreePath,
-                                 iter: PGtkTreeIter){.cdecl, dynlib: gtklib,
+proc row_changed*(tree_model: PTreeModel, path: PTreePath, 
+                             iter: PTreeIter){.cdecl, dynlib: lib, 
     importc: "gtk_tree_model_row_changed".}
-proc gtk_tree_model_row_inserted*(tree_model: PGtkTreeModel, path: PGtkTreePath,
-                                  iter: PGtkTreeIter){.cdecl, dynlib: gtklib,
+proc row_inserted*(tree_model: PTreeModel, path: PTreePath, 
+                              iter: PTreeIter){.cdecl, dynlib: lib, 
     importc: "gtk_tree_model_row_inserted".}
-proc gtk_tree_model_row_has_child_toggled*(tree_model: PGtkTreeModel,
-    path: PGtkTreePath, iter: PGtkTreeIter){.cdecl, dynlib: gtklib,
+proc row_has_child_toggled*(tree_model: PTreeModel, path: PTreePath, 
+                                       iter: PTreeIter){.cdecl, dynlib: lib, 
     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,
+proc row_deleted*(tree_model: PTreeModel, path: PTreePath){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_row_deleted".}
+proc rows_reordered*(tree_model: PTreeModel, path: PTreePath, 
+                                iter: PTreeIter, new_order: Pgint){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_rows_reordered".}
+const 
+  TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID* = - (1)
+
+proc TYPE_TREE_SORTABLE*(): GType
+proc TREE_SORTABLE*(obj: pointer): PTreeSortable
+proc TREE_SORTABLE_CLASS*(obj: pointer): PTreeSortableIface
+proc IS_TREE_SORTABLE*(obj: pointer): bool
+proc TREE_SORTABLE_GET_IFACE*(obj: pointer): PTreeSortableIface
+proc tree_sortable_get_type*(): GType{.cdecl, dynlib: lib, 
+                                       importc: "gtk_tree_sortable_get_type".}
+proc sort_column_changed*(sortable: PTreeSortable){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_sortable_sort_column_changed".}
+proc get_sort_column_id*(sortable: PTreeSortable, 
+                                       sort_column_id: Pgint, order: PSortType): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_sortable_get_sort_column_id".}
+proc set_sort_column_id*(sortable: PTreeSortable, 
+                                       sort_column_id: gint, order: TSortType){.
+    cdecl, dynlib: lib, importc: "gtk_tree_sortable_set_sort_column_id".}
+proc set_sort_func*(sortable: PTreeSortable, sort_column_id: gint, 
+                                  sort_func: TTreeIterCompareFunc, 
+                                  user_data: gpointer, destroy: TDestroyNotify){.
+    cdecl, dynlib: lib, importc: "gtk_tree_sortable_set_sort_func".}
+proc set_default_sort_func*(sortable: PTreeSortable, 
+    sort_func: TTreeIterCompareFunc, user_data: gpointer, 
+    destroy: TDestroyNotify){.cdecl, dynlib: lib, importc: "gtk_tree_sortable_set_default_sort_func".}
+proc has_default_sort_func*(sortable: PTreeSortable): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_sortable_has_default_sort_func".}
+proc TYPE_TREE_MODEL_SORT*(): GType
+proc TREE_MODEL_SORT*(obj: pointer): PTreeModelSort
+proc TREE_MODEL_SORT_CLASS*(klass: pointer): PTreeModelSortClass
+proc IS_TREE_MODEL_SORT*(obj: pointer): bool
+proc IS_TREE_MODEL_SORT_CLASS*(klass: pointer): bool
+proc TREE_MODEL_SORT_GET_CLASS*(obj: pointer): PTreeModelSortClass
+proc tree_model_sort_get_type*(): GType{.cdecl, dynlib: lib, 
     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
+proc sort_new_with_model*(child_model: PTreeModel): PTreeModel{.
+    cdecl, dynlib: lib, importc: "gtk_tree_model_sort_new_with_model".}
+proc sort_get_model*(tree_model: PTreeModelSort): PTreeModel{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_sort_get_model".}
+proc tree_model_sort_convert_child_path_to_path*(
+    tree_model_sort: PTreeModelSort, child_path: PTreePath): PTreePath{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_sort_convert_child_path_to_path".}
+proc tree_model_sort_convert_child_iter_to_iter*(
+    tree_model_sort: PTreeModelSort, sort_iter: PTreeIter, child_iter: PTreeIter){.
+    cdecl, dynlib: lib, 
+    importc: "gtk_tree_model_sort_convert_child_iter_to_iter".}
+proc tree_model_sort_convert_path_to_child_path*(
+    tree_model_sort: PTreeModelSort, sorted_path: PTreePath): PTreePath{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_sort_convert_path_to_child_path".}
+proc tree_model_sort_convert_iter_to_child_iter*(
+    tree_model_sort: PTreeModelSort, child_iter: PTreeIter, 
+    sorted_iter: PTreeIter){.cdecl, dynlib: lib, importc: "gtk_tree_model_sort_convert_iter_to_child_iter".}
+proc sort_reset_default_sort_func*(tree_model_sort: PTreeModelSort){.
+    cdecl, dynlib: lib, importc: "gtk_tree_model_sort_reset_default_sort_func".}
+proc sort_clear_cache*(tree_model_sort: PTreeModelSort){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_model_sort_clear_cache".}
+const 
+  bm_TGtkListStore_columns_dirty* = 0x0001'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,
+proc TYPE_LIST_STORE*(): GType
+proc LIST_STORE*(obj: pointer): PListStore
+proc LIST_STORE_CLASS*(klass: pointer): PListStoreClass
+proc IS_LIST_STORE*(obj: pointer): bool
+proc IS_LIST_STORE_CLASS*(klass: pointer): bool
+proc LIST_STORE_GET_CLASS*(obj: pointer): PListStoreClass
+proc columns_dirty*(a: var TListStore): guint
+proc set_columns_dirty*(a: var TListStore, `columns_dirty`: guint)
+proc list_store_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_list_store_get_type".}
+proc list_store_newv*(n_columns: gint, types: PGType): PListStore{.cdecl, 
+    dynlib: lib, importc: "gtk_list_store_newv".}
+proc set_column_types*(list_store: PListStore, n_columns: gint, 
+                                  types: PGType){.cdecl, dynlib: lib, 
+    importc: "gtk_list_store_set_column_types".}
+proc set_value*(list_store: PListStore, iter: PTreeIter, 
+                           column: gint, value: PGValue){.cdecl, dynlib: lib, 
+    importc: "gtk_list_store_set_value".}
+proc remove*(list_store: PListStore, iter: PTreeIter){.cdecl, 
+    dynlib: lib, importc: "gtk_list_store_remove".}
+proc insert*(list_store: PListStore, iter: PTreeIter, position: gint){.
+    cdecl, dynlib: lib, importc: "gtk_list_store_insert".}
+proc insert_before*(list_store: PListStore, iter: PTreeIter, 
+                               sibling: PTreeIter){.cdecl, dynlib: lib, 
+    importc: "gtk_list_store_insert_before".}
+proc insert_after*(list_store: PListStore, iter: PTreeIter, 
+                              sibling: PTreeIter){.cdecl, dynlib: lib, 
     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,
+proc prepend*(list_store: PListStore, iter: PTreeIter){.cdecl, 
+    dynlib: lib, importc: "gtk_list_store_prepend".}
+proc append*(list_store: PListStore, iter: PTreeIter){.cdecl, 
+    dynlib: lib, importc: "gtk_list_store_append".}
+proc clear*(list_store: PListStore){.cdecl, dynlib: lib, 
     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,
+when false: 
+  const 
+    PRIORITY_RESIZE* = G_PRIORITY_HIGH_IDLE + 10
+proc check_version*(required_major: guint, required_minor: guint, 
+                    required_micro: guint): cstring{.cdecl, dynlib: lib, 
     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,
+proc disable_setlocale*(){.cdecl, dynlib: lib, importc: "gtk_disable_setlocale".}
+proc set_locale*(): cstring{.cdecl, dynlib: lib, importc: "gtk_set_locale".}
+proc get_default_language*(): pango.PLanguage{.cdecl, dynlib: lib, 
     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,
+proc events_pending*(): gint{.cdecl, dynlib: lib, importc: "gtk_events_pending".}
+proc main_do_event*(event: gdk2.PEvent){.cdecl, dynlib: lib, 
+                                       importc: "gtk_main_do_event".}
+proc main*(){.cdecl, dynlib: lib, importc: "gtk_main".}
+proc init*(argc, argv: pointer){.cdecl, dynlib: lib, importc: "gtk_init".}
+proc main_level*(): guint{.cdecl, dynlib: lib, importc: "gtk_main_level".}
+proc main_quit*(){.cdecl, dynlib: lib, importc: "gtk_main_quit".}
+proc main_iteration*(): gboolean{.cdecl, dynlib: lib, 
+                                  importc: "gtk_main_iteration".}
+proc main_iteration_do*(blocking: gboolean): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_main_iteration_do".}
+proc gtkTrue*(): gboolean{.cdecl, dynlib: lib, importc: "gtk_true".}
+proc gtkFalse*(): gboolean{.cdecl, dynlib: lib, importc: "gtk_false".}
+proc grab_add*(widget: PWidget){.cdecl, dynlib: lib, importc: "gtk_grab_add".}
+proc grab_get_current*(): PWidget{.cdecl, dynlib: lib, 
+                                   importc: "gtk_grab_get_current".}
+proc grab_remove*(widget: PWidget){.cdecl, dynlib: lib, 
+                                    importc: "gtk_grab_remove".}
+proc init_add*(`function`: TFunction, data: gpointer){.cdecl, dynlib: lib, 
+    importc: "gtk_init_add".}
+proc quit_add_destroy*(main_level: guint, anObject: PObject){.cdecl, 
+    dynlib: lib, importc: "gtk_quit_add_destroy".}
+proc quit_add*(main_level: guint, `function`: TFunction, data: gpointer): guint{.
+    cdecl, dynlib: lib, importc: "gtk_quit_add".}
+proc quit_add_full*(main_level: guint, `function`: TFunction, 
+                    marshal: TCallbackMarshal, data: gpointer, 
+                    destroy: TDestroyNotify): guint{.cdecl, dynlib: lib, 
+    importc: "gtk_quit_add_full".}
+proc quit_remove*(quit_handler_id: guint){.cdecl, dynlib: lib, 
     importc: "gtk_quit_remove".}
-proc gtk_quit_remove_by_data*(data: gpointer){.cdecl, dynlib: gtklib,
+proc quit_remove_by_data*(data: gpointer){.cdecl, dynlib: lib, 
     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,
+proc timeout_add*(interval: guint32, `function`: TFunction, data: gpointer): guint{.
+    cdecl, dynlib: lib, importc: "gtk_timeout_add".}
+proc timeout_add_full*(interval: guint32, `function`: TFunction, 
+                       marshal: TCallbackMarshal, data: gpointer, 
+                       destroy: TDestroyNotify): guint{.cdecl, dynlib: lib, 
+    importc: "gtk_timeout_add_full".}
+proc timeout_remove*(timeout_handler_id: guint){.cdecl, dynlib: lib, 
     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,
+proc idle_add*(`function`: TFunction, data: gpointer): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_idle_add".}
+proc idle_add_priority*(priority: gint, `function`: TFunction, data: gpointer): guint{.
+    cdecl, dynlib: lib, importc: "gtk_idle_add_priority".}
+proc idle_add_full*(priority: gint, `function`: TFunction, 
+                    marshal: TCallbackMarshal, data: gpointer, 
+                    destroy: TDestroyNotify): guint{.cdecl, dynlib: lib, 
+    importc: "gtk_idle_add_full".}
+proc idle_remove*(idle_handler_id: guint){.cdecl, dynlib: lib, 
     importc: "gtk_idle_remove".}
-proc gtk_idle_remove_by_data*(data: gpointer){.cdecl, dynlib: gtklib,
+proc idle_remove_by_data*(data: gpointer){.cdecl, dynlib: lib, 
     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,
+proc input_add_full*(source: gint, condition: gdk2.TInputCondition, 
+                     `function`: gdk2.TInputFunction, marshal: TCallbackMarshal, 
+                     data: gpointer, destroy: TDestroyNotify): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_input_add_full".}
+proc input_remove*(input_handler_id: guint){.cdecl, dynlib: lib, 
     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,
+proc key_snooper_install*(snooper: TKeySnoopFunc, func_data: gpointer): guint{.
+    cdecl, dynlib: lib, importc: "gtk_key_snooper_install".}
+proc key_snooper_remove*(snooper_handler_id: guint){.cdecl, dynlib: lib, 
     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,
+proc get_current_event*(): gdk2.PEvent{.cdecl, dynlib: lib, 
+                                      importc: "gtk_get_current_event".}
+proc get_current_event_time*(): guint32{.cdecl, dynlib: lib, 
     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,
+proc get_current_event_state*(state: gdk2.PModifierType): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_get_current_event_state".}
+proc get_event_widget*(event: gdk2.PEvent): PWidget{.cdecl, dynlib: lib, 
     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,
+proc propagate_event*(widget: PWidget, event: gdk2.PEvent){.cdecl, dynlib: lib, 
+    importc: "gtk_propagate_event".}
+proc boolean_handled_accumulator*(ihint: PGSignalInvocationHint, 
+                                  return_accu: PGValue, handler_return: PGValue, 
+                                  dummy: gpointer): gboolean{.cdecl, 
+    dynlib: lib, importc: "_gtk_boolean_handled_accumulator".}
+proc find_module*(name: cstring, thetype: cstring): cstring{.cdecl, dynlib: lib, 
+    importc: "_gtk_find_module".}
+proc get_module_path*(thetype: cstring): PPgchar{.cdecl, dynlib: lib, 
     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
+proc TYPE_MENU_BAR*(): GType
+proc MENU_BAR*(obj: pointer): PMenuBar
+proc MENU_BAR_CLASS*(klass: pointer): PMenuBarClass
+proc IS_MENU_BAR*(obj: pointer): bool
+proc IS_MENU_BAR_CLASS*(klass: pointer): bool
+proc MENU_BAR_GET_CLASS*(obj: pointer): PMenuBarClass
+proc menu_bar_get_type*(): TType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_menu_bar_get_type".}
+proc menu_bar_new*(): PMenuBar{.cdecl, dynlib: lib, importc: "gtk_menu_bar_new".}
+proc cycle_focus*(menubar: PMenuBar, dir: TDirectionType){.cdecl, 
+    dynlib: lib, importc: "_gtk_menu_bar_cycle_focus".}
+proc TYPE_MESSAGE_DIALOG*(): GType
+proc MESSAGE_DIALOG*(obj: pointer): PMessageDialog
+proc MESSAGE_DIALOG_CLASS*(klass: pointer): PMessageDialogClass
+proc IS_MESSAGE_DIALOG*(obj: pointer): bool
+proc IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool
+proc MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PMessageDialogClass
+proc message_dialog_get_type*(): TType{.cdecl, dynlib: lib, 
+                                        importc: "gtk_message_dialog_get_type".}
+const 
+  bm_TGtkNotebook_show_tabs* = 0x0001'i16
   bp_TGtkNotebook_show_tabs* = 0'i16
-  bm_TGtkNotebook_homogeneous* = 0x00000002'i16
+  bm_TGtkNotebook_homogeneous* = 0x0002'i16
   bp_TGtkNotebook_homogeneous* = 1'i16
-  bm_TGtkNotebook_show_border* = 0x00000004'i16
+  bm_TGtkNotebook_show_border* = 0x0004'i16
   bp_TGtkNotebook_show_border* = 2'i16
-  bm_TGtkNotebook_tab_pos* = 0x00000018'i16
+  bm_TGtkNotebook_tab_pos* = 0x0018'i16
   bp_TGtkNotebook_tab_pos* = 3'i16
-  bm_TGtkNotebook_scrollable* = 0x00000020'i16
+  bm_TGtkNotebook_scrollable* = 0x0020'i16
   bp_TGtkNotebook_scrollable* = 5'i16
-  bm_TGtkNotebook_in_child* = 0x000000C0'i16
+  bm_TGtkNotebook_in_child* = 0x00C0'i16
   bp_TGtkNotebook_in_child* = 6'i16
-  bm_TGtkNotebook_click_child* = 0x00000300'i16
+  bm_TGtkNotebook_click_child* = 0x0300'i16
   bp_TGtkNotebook_click_child* = 8'i16
-  bm_TGtkNotebook_button* = 0x00000C00'i16
+  bm_TGtkNotebook_button* = 0x0C00'i16
   bp_TGtkNotebook_button* = 10'i16
-  bm_TGtkNotebook_need_timer* = 0x00001000'i16
+  bm_TGtkNotebook_need_timer* = 0x1000'i16
   bp_TGtkNotebook_need_timer* = 12'i16
-  bm_TGtkNotebook_child_has_focus* = 0x00002000'i16
+  bm_TGtkNotebook_child_has_focus* = 0x2000'i16
   bp_TGtkNotebook_child_has_focus* = 13'i16
-  bm_TGtkNotebook_have_visible_child* = 0x00004000'i16
+  bm_TGtkNotebook_have_visible_child* = 0x4000'i16
   bp_TGtkNotebook_have_visible_child* = 14'i16
-  bm_TGtkNotebook_focus_out* = 0x00008000'i16
+  bm_TGtkNotebook_focus_out* = 0x8000'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,
+proc TYPE_NOTEBOOK*(): GType
+proc NOTEBOOK*(obj: pointer): PNotebook
+proc NOTEBOOK_CLASS*(klass: pointer): PNotebookClass
+proc IS_NOTEBOOK*(obj: pointer): bool
+proc IS_NOTEBOOK_CLASS*(klass: pointer): bool
+proc NOTEBOOK_GET_CLASS*(obj: pointer): PNotebookClass
+proc show_tabs*(a: var TNotebook): guint
+proc set_show_tabs*(a: var TNotebook, `show_tabs`: guint)
+proc homogeneous*(a: var TNotebook): guint
+proc set_homogeneous*(a: var TNotebook, `homogeneous`: guint)
+proc show_border*(a: var TNotebook): guint
+proc set_show_border*(a: var TNotebook, `show_border`: guint)
+proc tab_pos*(a: var TNotebook): guint
+proc set_tab_pos*(a: var TNotebook, `tab_pos`: guint)
+proc scrollable*(a: var TNotebook): guint
+proc set_scrollable*(a: var TNotebook, `scrollable`: guint)
+proc in_child*(a: var TNotebook): guint
+proc set_in_child*(a: var TNotebook, `in_child`: guint)
+proc click_child*(a: var TNotebook): guint
+proc set_click_child*(a: var TNotebook, `click_child`: guint)
+proc button*(a: var TNotebook): guint
+proc set_button*(a: var TNotebook, `button`: guint)
+proc need_timer*(a: var TNotebook): guint
+proc set_need_timer*(a: var TNotebook, `need_timer`: guint)
+proc child_has_focus*(a: var TNotebook): guint
+proc set_child_has_focus*(a: var TNotebook, `child_has_focus`: guint)
+proc have_visible_child*(a: var TNotebook): guint
+proc set_have_visible_child*(a: var TNotebook, `have_visible_child`: guint)
+proc focus_out*(a: var TNotebook): guint
+proc set_focus_out*(a: var TNotebook, `focus_out`: guint)
+proc notebook_get_type*(): TType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_notebook_get_type".}
+proc notebook_new*(): PNotebook{.cdecl, dynlib: lib, importc: "gtk_notebook_new".}
+proc append_page*(notebook: PNotebook, child: PWidget, 
+                           tab_label: PWidget): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_append_page".}
+proc append_page_menu*(notebook: PNotebook, child: PWidget, 
+                                tab_label: PWidget, menu_label: PWidget): gint{.
+    cdecl, dynlib: lib, importc: "gtk_notebook_append_page_menu".}
+proc prepend_page*(notebook: PNotebook, child: PWidget, 
+                            tab_label: PWidget): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_prepend_page".}
+proc prepend_page_menu*(notebook: PNotebook, child: PWidget, 
+                                 tab_label: PWidget, menu_label: PWidget): gint{.
+    cdecl, dynlib: lib, importc: "gtk_notebook_prepend_page_menu".}
+proc insert_page*(notebook: PNotebook, child: PWidget, 
+                           tab_label: PWidget, position: gint): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_insert_page".}
+proc insert_page_menu*(notebook: PNotebook, child: PWidget, 
+                                tab_label: PWidget, menu_label: PWidget, 
+                                position: gint): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_insert_page_menu".}
+proc remove_page*(notebook: PNotebook, page_num: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_remove_page".}
+proc get_current_page*(notebook: PNotebook): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_get_current_page".}
+proc get_n_pages*(notebook: PNotebook): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_get_n_pages".}
+proc get_nth_page*(notebook: PNotebook, page_num: gint): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_notebook_get_nth_page".}
+proc page_num*(notebook: PNotebook, child: PWidget): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_page_num".}
+proc set_current_page*(notebook: PNotebook, page_num: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_set_current_page".}
+proc next_page*(notebook: PNotebook){.cdecl, dynlib: lib, 
     importc: "gtk_notebook_next_page".}
-proc gtk_notebook_prev_page*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib,
+proc prev_page*(notebook: PNotebook){.cdecl, dynlib: lib, 
     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,
+proc set_show_border*(notebook: PNotebook, show_border: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_notebook_set_show_border".}
+proc get_show_border*(notebook: PNotebook): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_get_show_border".}
+proc set_show_tabs*(notebook: PNotebook, show_tabs: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_set_show_tabs".}
+proc get_show_tabs*(notebook: PNotebook): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_get_show_tabs".}
+proc set_tab_pos*(notebook: PNotebook, pos: TPositionType){.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_set_tab_pos".}
+proc get_tab_pos*(notebook: PNotebook): TPositionType{.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_get_tab_pos".}
+proc set_scrollable*(notebook: PNotebook, scrollable: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_set_scrollable".}
+proc get_scrollable*(notebook: PNotebook): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_get_scrollable".}
+proc popup_enable*(notebook: PNotebook){.cdecl, dynlib: lib, 
     importc: "gtk_notebook_popup_enable".}
-proc gtk_notebook_popup_disable*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib,
+proc popup_disable*(notebook: PNotebook){.cdecl, dynlib: lib, 
     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,
+proc get_tab_label*(notebook: PNotebook, child: PWidget): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_notebook_get_tab_label".}
+proc set_tab_label*(notebook: PNotebook, child: PWidget, 
+                             tab_label: PWidget){.cdecl, dynlib: lib, 
     importc: "gtk_notebook_set_tab_label".}
-proc gtk_notebook_set_tab_label_text*(notebook: PGtkNotebook, child: PGtkWidget,
-                                      tab_text: cstring){.cdecl, dynlib: gtklib,
+proc set_tab_label_text*(notebook: PNotebook, child: PWidget, 
+                                  tab_text: cstring){.cdecl, dynlib: lib, 
     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
+proc get_tab_label_text*(notebook: PNotebook, child: PWidget): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_notebook_get_tab_label_text".}
+proc get_menu_label*(notebook: PNotebook, child: PWidget): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_notebook_get_menu_label".}
+proc set_menu_label*(notebook: PNotebook, child: PWidget, 
+                              menu_label: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_set_menu_label".}
+proc set_menu_label_text*(notebook: PNotebook, child: PWidget, 
+                                   menu_text: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_set_menu_label_text".}
+proc get_menu_label_text*(notebook: PNotebook, child: PWidget): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_notebook_get_menu_label_text".}
+proc query_tab_label_packing*(notebook: PNotebook, child: PWidget, 
+                                       expand: Pgboolean, fill: Pgboolean, 
+                                       pack_type: PPackType){.cdecl, 
+    dynlib: lib, importc: "gtk_notebook_query_tab_label_packing".}
+proc set_tab_label_packing*(notebook: PNotebook, child: PWidget, 
+                                     expand: gboolean, fill: gboolean, 
+                                     pack_type: TPackType){.cdecl, dynlib: lib, 
+    importc: "gtk_notebook_set_tab_label_packing".}
+proc reorder_child*(notebook: PNotebook, child: PWidget, position: gint){.
+    cdecl, dynlib: lib, importc: "gtk_notebook_reorder_child".}
+const 
+  bm_TGtkOldEditable_has_selection* = 0x0001'i16
   bp_TGtkOldEditable_has_selection* = 0'i16
-  bm_TGtkOldEditable_editable* = 0x00000002'i16
+  bm_TGtkOldEditable_editable* = 0x0002'i16
   bp_TGtkOldEditable_editable* = 1'i16
-  bm_TGtkOldEditable_visible* = 0x00000004'i16
+  bm_TGtkOldEditable_visible* = 0x0004'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
+proc TYPE_OLD_EDITABLE*(): GType
+proc OLD_EDITABLE*(obj: pointer): POldEditable
+proc OLD_EDITABLE_CLASS*(klass: pointer): POldEditableClass
+proc IS_OLD_EDITABLE*(obj: pointer): bool
+proc IS_OLD_EDITABLE_CLASS*(klass: pointer): bool
+proc OLD_EDITABLE_GET_CLASS*(obj: pointer): POldEditableClass
+proc has_selection*(a: var TOldEditable): guint
+proc set_has_selection*(a: var TOldEditable, `has_selection`: guint)
+proc editable*(a: var TOldEditable): guint
+proc set_editable*(a: var TOldEditable, `editable`: guint)
+proc visible*(a: var TOldEditable): guint
+proc set_visible*(a: var TOldEditable, `visible`: guint)
+proc old_editable_get_type*(): TType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_old_editable_get_type".}
+proc claim_selection*(old_editable: POldEditable, claim: gboolean, 
+                                   time: guint32){.cdecl, dynlib: lib, 
+    importc: "gtk_old_editable_claim_selection".}
+proc changed*(old_editable: POldEditable){.cdecl, dynlib: lib, 
+    importc: "gtk_old_editable_changed".}
+proc TYPE_OPTION_MENU*(): GType
+proc OPTION_MENU*(obj: pointer): POptionMenu
+proc OPTION_MENU_CLASS*(klass: pointer): POptionMenuClass
+proc IS_OPTION_MENU*(obj: pointer): bool
+proc IS_OPTION_MENU_CLASS*(klass: pointer): bool
+proc OPTION_MENU_GET_CLASS*(obj: pointer): POptionMenuClass
+proc option_menu_get_type*(): TType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_option_menu_get_type".}
+proc option_menu_new*(): POptionMenu{.cdecl, dynlib: lib, 
+                                      importc: "gtk_option_menu_new".}
+proc get_menu*(option_menu: POptionMenu): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_option_menu_get_menu".}
+proc set_menu*(option_menu: POptionMenu, menu: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_option_menu_set_menu".}
+proc remove_menu*(option_menu: POptionMenu){.cdecl, dynlib: lib, 
+    importc: "gtk_option_menu_remove_menu".}
+proc get_history*(option_menu: POptionMenu): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_option_menu_get_history".}
+proc set_history*(option_menu: POptionMenu, index: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_option_menu_set_history".}
+const 
+  bm_TGtkPixmap_build_insensitive* = 0x0001'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
+proc TYPE_PIXMAP*(): GType
+proc PIXMAP*(obj: pointer): PPixmap
+proc PIXMAP_CLASS*(klass: pointer): PPixmapClass
+proc IS_PIXMAP*(obj: pointer): bool
+proc IS_PIXMAP_CLASS*(klass: pointer): bool
+proc PIXMAP_GET_CLASS*(obj: pointer): PPixmapClass
+proc build_insensitive*(a: var TPixmap): guint
+proc set_build_insensitive*(a: var TPixmap, `build_insensitive`: guint)
+proc pixmap_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_pixmap_get_type".}
+proc pixmap_new*(pixmap: gdk2.PPixmap, mask: gdk2.PBitmap): PPixmap{.cdecl, 
+    dynlib: lib, importc: "gtk_pixmap_new".}
+proc set*(pixmap: PPixmap, val: gdk2.PPixmap, mask: gdk2.PBitmap){.cdecl, 
+    dynlib: lib, importc: "gtk_pixmap_set".}
+proc get*(pixmap: PPixmap, val: var gdk2.PPixmap, mask: var gdk2.PBitmap){.
+    cdecl, dynlib: lib, importc: "gtk_pixmap_get".}
+proc set_build_insensitive*(pixmap: PPixmap, build: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_pixmap_set_build_insensitive".}
+const 
+  bm_TGtkPlug_same_app* = 0x0001'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,
+proc TYPE_PLUG*(): GType
+proc PLUG*(obj: pointer): PPlug
+proc PLUG_CLASS*(klass: pointer): PPlugClass
+proc IS_PLUG*(obj: pointer): bool
+proc IS_PLUG_CLASS*(klass: pointer): bool
+proc PLUG_GET_CLASS*(obj: pointer): PPlugClass
+proc same_app*(a: var TPlug): guint
+proc set_same_app*(a: var TPlug, `same_app`: guint)
+proc plug_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_plug_get_type".}
+proc construct_for_display*(plug: PPlug, display: gdk2.PDisplay, 
+                                 socket_id: gdk2.TNativeWindow){.cdecl, 
+    dynlib: lib, importc: "gtk_plug_construct_for_display".}
+proc plug_new_for_display*(display: gdk2.PDisplay, socket_id: gdk2.TNativeWindow): PPlug{.
+    cdecl, dynlib: lib, importc: "gtk_plug_new_for_display".}
+proc get_id*(plug: PPlug): gdk2.TNativeWindow{.cdecl, dynlib: lib, 
     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
+proc add_to_socket*(plug: PPlug, socket: PSocket){.cdecl, dynlib: lib, 
+    importc: "_gtk_plug_add_to_socket".}
+proc remove_from_socket*(plug: PPlug, socket: PSocket){.cdecl, dynlib: lib, 
+    importc: "_gtk_plug_remove_from_socket".}
+const 
+  bm_TGtkPreview_type* = 0x0001'i16
   bp_TGtkPreview_type* = 0'i16
-  bm_TGtkPreview_expand* = 0x00000002'i16
+  bm_TGtkPreview_expand* = 0x0002'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,
+proc TYPE_PREVIEW*(): GType
+proc PREVIEW*(obj: pointer): PPreview
+proc PREVIEW_CLASS*(klass: pointer): PPreviewClass
+proc IS_PREVIEW*(obj: pointer): bool
+proc IS_PREVIEW_CLASS*(klass: pointer): bool
+proc PREVIEW_GET_CLASS*(obj: pointer): PPreviewClass
+proc get_type*(a: var TPreview): guint
+proc set_type*(a: var TPreview, `type`: guint)
+proc get_expand*(a: var TPreview): guint
+proc set_expand*(a: var TPreview, `expand`: guint)
+proc preview_get_type*(): TType{.cdecl, dynlib: lib, 
+                                 importc: "gtk_preview_get_type".}
+proc preview_uninit*(){.cdecl, dynlib: lib, importc: "gtk_preview_uninit".}
+proc preview_new*(thetype: TPreviewClass): PPreview{.cdecl, dynlib: lib, 
+    importc: "gtk_preview_new".}
+proc size*(preview: PPreview, width: gint, height: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_preview_size".}
+proc put*(preview: PPreview, window: gdk2.PWindow, gc: gdk2.PGC, srcx: gint, 
+                  srcy: gint, destx: gint, desty: gint, width: gint, 
+                  height: gint){.cdecl, dynlib: lib, importc: "gtk_preview_put".}
+proc draw_row*(preview: PPreview, data: Pguchar, x: gint, y: gint, 
+                       w: gint){.cdecl, dynlib: lib, 
+                                 importc: "gtk_preview_draw_row".}
+proc set_expand*(preview: PPreview, expand: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_preview_set_expand".}
+proc preview_set_gamma*(gamma: float64){.cdecl, dynlib: lib, 
     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,
+proc preview_set_color_cube*(nred_shades: guint, ngreen_shades: guint, 
+                             nblue_shades: guint, ngray_shades: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_preview_set_color_cube".}
+proc preview_set_install_cmap*(install_cmap: gint){.cdecl, dynlib: lib, 
     importc: "gtk_preview_set_install_cmap".}
-proc gtk_preview_set_reserved*(nreserved: gint){.cdecl, dynlib: gtklib,
+proc preview_set_reserved*(nreserved: gint){.cdecl, dynlib: lib, 
     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
+proc set_dither*(preview: PPreview, dither: gdk2.TRgbDither){.cdecl, 
+    dynlib: lib, importc: "gtk_preview_set_dither".}
+proc preview_get_info*(): PPreviewInfo{.cdecl, dynlib: lib, 
+                                        importc: "gtk_preview_get_info".}
+proc preview_reset*(){.cdecl, dynlib: lib, importc: "gtk_preview_reset".}
+const 
+  bm_TGtkProgress_show_text* = 0x0001'i16
   bp_TGtkProgress_show_text* = 0'i16
-  bm_TGtkProgress_activity_mode* = 0x00000002'i16
+  bm_TGtkProgress_activity_mode* = 0x0002'i16
   bp_TGtkProgress_activity_mode* = 1'i16
-  bm_TGtkProgress_use_text_format* = 0x00000004'i16
+  bm_TGtkProgress_use_text_format* = 0x0004'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
+proc show_text*(a: var TProgress): guint
+proc set_show_text*(a: var TProgress, `show_text`: guint)
+proc activity_mode*(a: var TProgress): guint
+proc set_activity_mode*(a: var TProgress, `activity_mode`: guint)
+proc use_text_format*(a: var TProgress): guint
+proc set_use_text_format*(a: var TProgress, `use_text_format`: guint)
+const 
+  bm_TGtkProgressBar_activity_dir* = 0x0001'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,
+proc TYPE_PROGRESS_BAR*(): GType
+proc PROGRESS_BAR*(obj: pointer): PProgressBar
+proc PROGRESS_BAR_CLASS*(klass: pointer): PProgressBarClass
+proc IS_PROGRESS_BAR*(obj: pointer): bool
+proc IS_PROGRESS_BAR_CLASS*(klass: pointer): bool
+proc PROGRESS_BAR_GET_CLASS*(obj: pointer): PProgressBarClass
+proc activity_dir*(a: var TProgressBar): guint
+proc set_activity_dir*(a: var TProgressBar, `activity_dir`: guint)
+proc progress_bar_get_type*(): TType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_progress_bar_get_type".}
+proc progress_bar_new*(): PProgressBar{.cdecl, dynlib: lib, 
+                                        importc: "gtk_progress_bar_new".}
+proc pulse*(pbar: PProgressBar){.cdecl, dynlib: lib, 
     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,
+proc set_text*(pbar: PProgressBar, text: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_progress_bar_set_text".}
+proc set_fraction*(pbar: PProgressBar, fraction: gdouble){.cdecl, 
+    dynlib: lib, importc: "gtk_progress_bar_set_fraction".}
+proc set_pulse_step*(pbar: PProgressBar, fraction: gdouble){.cdecl, 
+    dynlib: lib, importc: "gtk_progress_bar_set_pulse_step".}
+proc set_orientation*(pbar: PProgressBar, 
+                                   orientation: TProgressBarOrientation){.cdecl, 
+    dynlib: lib, importc: "gtk_progress_bar_set_orientation".}
+proc get_text*(pbar: PProgressBar): cstring{.cdecl, dynlib: lib, 
+    importc: "gtk_progress_bar_get_text".}
+proc get_fraction*(pbar: PProgressBar): gdouble{.cdecl, 
+    dynlib: lib, importc: "gtk_progress_bar_get_fraction".}
+proc get_pulse_step*(pbar: PProgressBar): gdouble{.cdecl, 
+    dynlib: lib, importc: "gtk_progress_bar_get_pulse_step".}
+proc get_orientation*(pbar: PProgressBar): TProgressBarOrientation{.
+    cdecl, dynlib: lib, importc: "gtk_progress_bar_get_orientation".}
+proc TYPE_RADIO_BUTTON*(): GType
+proc RADIO_BUTTON*(obj: pointer): PRadioButton
+proc RADIO_BUTTON_CLASS*(klass: pointer): PRadioButtonClass
+proc IS_RADIO_BUTTON*(obj: pointer): bool
+proc IS_RADIO_BUTTON_CLASS*(klass: pointer): bool
+proc RADIO_BUTTON_GET_CLASS*(obj: pointer): PRadioButtonClass
+proc radio_button_get_type*(): TType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_radio_button_get_type".}
+proc radio_button_new*(group: PGSList): PRadioButton{.cdecl, dynlib: lib, 
     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,
+proc new_from_widget*(group: PRadioButton): PRadioButton{.cdecl, 
+    dynlib: lib, importc: "gtk_radio_button_new_from_widget".}
+proc radio_button_new_with_label*(group: PGSList, `label`: cstring): PRadioButton{.
+    cdecl, dynlib: lib, importc: "gtk_radio_button_new_with_label".}
+proc new_with_label_from_widget*(group: PRadioButton, 
+    `label`: cstring): PRadioButton{.cdecl, dynlib: lib, importc: "gtk_radio_button_new_with_label_from_widget".}
+proc radio_button_new_with_mnemonic*(group: PGSList, `label`: cstring): PRadioButton{.
+    cdecl, dynlib: lib, importc: "gtk_radio_button_new_with_mnemonic".}
+proc new_with_mnemonic_from_widget*(group: PRadioButton, 
+    `label`: cstring): PRadioButton{.cdecl, dynlib: lib, importc: "gtk_radio_button_new_with_mnemonic_from_widget".}
+proc get_group*(radio_button: PRadioButton): PGSList{.cdecl, 
+    dynlib: lib, importc: "gtk_radio_button_get_group".}
+proc set_group*(radio_button: PRadioButton, group: PGSList){.cdecl, 
+    dynlib: lib, importc: "gtk_radio_button_set_group".}
+proc TYPE_RADIO_MENU_ITEM*(): GType
+proc RADIO_MENU_ITEM*(obj: pointer): PRadioMenuItem
+proc RADIO_MENU_ITEM_CLASS*(klass: pointer): PRadioMenuItemClass
+proc IS_RADIO_MENU_ITEM*(obj: pointer): bool
+proc IS_RADIO_MENU_ITEM_CLASS*(klass: pointer): bool
+proc RADIO_MENU_ITEM_GET_CLASS*(obj: pointer): PRadioMenuItemClass
+proc radio_menu_item_get_type*(): TType{.cdecl, dynlib: lib, 
     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
+proc radio_menu_item_new*(group: PGSList): PRadioMenuItem{.cdecl, dynlib: lib, 
+    importc: "gtk_radio_menu_item_new".}
+proc radio_menu_item_new_with_label*(group: PGSList, `label`: cstring): PRadioMenuItem{.
+    cdecl, dynlib: lib, importc: "gtk_radio_menu_item_new_with_label".}
+proc radio_menu_item_new_with_mnemonic*(group: PGSList, `label`: cstring): PRadioMenuItem{.
+    cdecl, dynlib: lib, importc: "gtk_radio_menu_item_new_with_mnemonic".}
+proc item_get_group*(radio_menu_item: PRadioMenuItem): PGSList{.
+    cdecl, dynlib: lib, importc: "gtk_radio_menu_item_get_group".}
+proc item_set_group*(radio_menu_item: PRadioMenuItem, group: PGSList){.
+    cdecl, dynlib: lib, importc: "gtk_radio_menu_item_set_group".}
+const 
+  bm_TGtkScrolledWindow_hscrollbar_policy* = 0x0003'i16
   bp_TGtkScrolledWindow_hscrollbar_policy* = 0'i16
-  bm_TGtkScrolledWindow_vscrollbar_policy* = 0x0000000C'i16
+  bm_TGtkScrolledWindow_vscrollbar_policy* = 0x000C'i16
   bp_TGtkScrolledWindow_vscrollbar_policy* = 2'i16
-  bm_TGtkScrolledWindow_hscrollbar_visible* = 0x00000010'i16
+  bm_TGtkScrolledWindow_hscrollbar_visible* = 0x0010'i16
   bp_TGtkScrolledWindow_hscrollbar_visible* = 4'i16
-  bm_TGtkScrolledWindow_vscrollbar_visible* = 0x00000020'i16
+  bm_TGtkScrolledWindow_vscrollbar_visible* = 0x0020'i16
   bp_TGtkScrolledWindow_vscrollbar_visible* = 5'i16
-  bm_TGtkScrolledWindow_window_placement* = 0x000000C0'i16
+  bm_TGtkScrolledWindow_window_placement* = 0x00C0'i16
   bp_TGtkScrolledWindow_window_placement* = 6'i16
-  bm_TGtkScrolledWindow_focus_out* = 0x00000100'i16
+  bm_TGtkScrolledWindow_focus_out* = 0x0100'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,
+proc TYPE_SCROLLED_WINDOW*(): GType
+proc SCROLLED_WINDOW*(obj: pointer): PScrolledWindow
+proc SCROLLED_WINDOW_CLASS*(klass: pointer): PScrolledWindowClass
+proc IS_SCROLLED_WINDOW*(obj: pointer): bool
+proc IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool
+proc SCROLLED_WINDOW_GET_CLASS*(obj: pointer): PScrolledWindowClass
+proc hscrollbar_policy*(a: var TScrolledWindow): guint
+proc set_hscrollbar_policy*(a: var TScrolledWindow, `hscrollbar_policy`: guint)
+proc vscrollbar_policy*(a: var TScrolledWindow): guint
+proc set_vscrollbar_policy*(a: var TScrolledWindow, `vscrollbar_policy`: guint)
+proc hscrollbar_visible*(a: var TScrolledWindow): guint
+proc set_hscrollbar_visible*(a: var TScrolledWindow, `hscrollbar_visible`: guint)
+proc vscrollbar_visible*(a: var TScrolledWindow): guint
+proc set_vscrollbar_visible*(a: var TScrolledWindow, `vscrollbar_visible`: guint)
+proc window_placement*(a: var TScrolledWindow): guint
+proc set_window_placement*(a: var TScrolledWindow, `window_placement`: guint)
+proc focus_out*(a: var TScrolledWindow): guint
+proc set_focus_out*(a: var TScrolledWindow, `focus_out`: guint)
+proc scrolled_window_get_type*(): TType{.cdecl, dynlib: lib, 
     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,
+proc scrolled_window_new*(hadjustment: PAdjustment, vadjustment: PAdjustment): PScrolledWindow{.
+    cdecl, dynlib: lib, importc: "gtk_scrolled_window_new".}
+proc set_hadjustment*(scrolled_window: PScrolledWindow, 
+                                      hadjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_scrolled_window_set_hadjustment".}
+proc set_vadjustment*(scrolled_window: PScrolledWindow, 
+                                      hadjustment: PAdjustment){.cdecl, 
+    dynlib: lib, importc: "gtk_scrolled_window_set_vadjustment".}
+proc get_hadjustment*(scrolled_window: PScrolledWindow): PAdjustment{.
+    cdecl, dynlib: lib, importc: "gtk_scrolled_window_get_hadjustment".}
+proc get_vadjustment*(scrolled_window: PScrolledWindow): PAdjustment{.
+    cdecl, dynlib: lib, importc: "gtk_scrolled_window_get_vadjustment".}
+proc set_policy*(scrolled_window: PScrolledWindow, 
+                                 hscrollbar_policy: TPolicyType, 
+                                 vscrollbar_policy: TPolicyType){.cdecl, 
+    dynlib: lib, importc: "gtk_scrolled_window_set_policy".}
+proc get_policy*(scrolled_window: PScrolledWindow, 
+                                 hscrollbar_policy: PPolicyType, 
+                                 vscrollbar_policy: PPolicyType){.cdecl, 
+    dynlib: lib, importc: "gtk_scrolled_window_get_policy".}
+proc set_placement*(scrolled_window: PScrolledWindow, 
+                                    window_placement: TCornerType){.cdecl, 
+    dynlib: lib, importc: "gtk_scrolled_window_set_placement".}
+proc get_placement*(scrolled_window: PScrolledWindow): TCornerType{.
+    cdecl, dynlib: lib, importc: "gtk_scrolled_window_get_placement".}
+proc set_shadow_type*(scrolled_window: PScrolledWindow, 
+                                      thetype: TShadowType){.cdecl, dynlib: lib, 
+    importc: "gtk_scrolled_window_set_shadow_type".}
+proc get_shadow_type*(scrolled_window: PScrolledWindow): TShadowType{.
+    cdecl, dynlib: lib, importc: "gtk_scrolled_window_get_shadow_type".}
+proc add_with_viewport*(scrolled_window: PScrolledWindow, 
+                                        child: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_scrolled_window_add_with_viewport".}
+proc TYPE_SELECTION_DATA*(): GType
+proc list_new*(targets: PTargetEntry, ntargets: guint): PTargetList{.
+    cdecl, dynlib: lib, importc: "gtk_target_list_new".}
+proc reference*(list: PTargetList){.cdecl, dynlib: lib, 
     importc: "gtk_target_list_ref".}
-proc gtk_target_list_unref*(list: PGtkTargetList){.cdecl, dynlib: gtklib,
+proc unref*(list: PTargetList){.cdecl, dynlib: lib, 
     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,
+proc add*(list: PTargetList, target: gdk2.TAtom, flags: guint, 
+                      info: guint){.cdecl, dynlib: lib, 
+                                    importc: "gtk_target_list_add".}
+proc add_table*(list: PTargetList, targets: PTargetEntry, 
+                            ntargets: guint){.cdecl, dynlib: lib, 
     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,
+proc remove*(list: PTargetList, target: gdk2.TAtom){.cdecl, 
+    dynlib: lib, importc: "gtk_target_list_remove".}
+proc find*(list: PTargetList, target: gdk2.TAtom, info: Pguint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_target_list_find".}
+proc selection_owner_set*(widget: PWidget, selection: gdk2.TAtom, time: guint32): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_selection_owner_set".}
+proc selection_owner_set_for_display*(display: gdk2.PDisplay, widget: PWidget, 
+                                      selection: gdk2.TAtom, time: guint32): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_selection_owner_set_for_display".}
+proc selection_add_target*(widget: PWidget, selection: gdk2.TAtom, 
+                           target: gdk2.TAtom, info: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_selection_add_target".}
+proc selection_add_targets*(widget: PWidget, selection: gdk2.TAtom, 
+                            targets: PTargetEntry, ntargets: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_selection_add_targets".}
+proc selection_clear_targets*(widget: PWidget, selection: gdk2.TAtom){.cdecl, 
+    dynlib: lib, importc: "gtk_selection_clear_targets".}
+proc selection_convert*(widget: PWidget, selection: gdk2.TAtom, target: gdk2.TAtom, 
+                        time: guint32): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_selection_convert".}
+proc set*(selection_data: PSelectionData, thetype: gdk2.TAtom, 
+                         format: gint, data: Pguchar, length: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_selection_data_set".}
+proc set_text*(selection_data: PSelectionData, str: cstring, 
+                              len: gint): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_selection_data_set_text".}
+proc get_text*(selection_data: PSelectionData): Pguchar{.cdecl, 
+    dynlib: lib, importc: "gtk_selection_data_get_text".}
+proc targets_include_text*(selection_data: PSelectionData): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_selection_data_targets_include_text".}
+proc selection_remove_all*(widget: PWidget){.cdecl, dynlib: lib, 
     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,
+proc selection_clear*(widget: PWidget, event: gdk2.PEventSelection): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_selection_clear".}
+proc selection_request*(widget: PWidget, event: gdk2.PEventSelection): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_selection_request".}
+proc selection_incr_event*(window: gdk2.PWindow, event: gdk2.PEventProperty): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_selection_incr_event".}
+proc selection_notify*(widget: PWidget, event: gdk2.PEventSelection): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_selection_notify".}
+proc selection_property_notify*(widget: PWidget, event: gdk2.PEventProperty): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_selection_property_notify".}
+proc selection_data_get_type*(): GType{.cdecl, dynlib: lib, 
+                                        importc: "gtk_selection_data_get_type".}
+proc copy*(data: PSelectionData): PSelectionData{.cdecl, 
+    dynlib: lib, importc: "gtk_selection_data_copy".}
+proc free*(data: PSelectionData){.cdecl, dynlib: lib, 
     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,
+proc TYPE_SEPARATOR_MENU_ITEM*(): GType
+proc SEPARATOR_MENU_ITEM*(obj: pointer): PSeparatorMenuItem
+proc SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): PSeparatorMenuItemClass
+proc IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool
+proc IS_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): bool
+proc SEPARATOR_MENU_ITEM_GET_CLASS*(obj: pointer): PSeparatorMenuItemClass
+proc separator_menu_item_get_type*(): GType{.cdecl, dynlib: lib, 
     importc: "gtk_separator_menu_item_get_type".}
-proc gtk_separator_menu_item_new*(): PGtkSeparatorMenuItem{.cdecl, dynlib: gtklib,
+proc separator_menu_item_new*(): PSeparatorMenuItem{.cdecl, dynlib: lib, 
     importc: "gtk_separator_menu_item_new".}
-const
-  bm_TGtkSizeGroup_have_width* = 0x00000001'i16
+const 
+  bm_TGtkSizeGroup_have_width* = 0x0001'i16
   bp_TGtkSizeGroup_have_width* = 0'i16
-  bm_TGtkSizeGroup_have_height* = 0x00000002'i16
+  bm_TGtkSizeGroup_have_height* = 0x0002'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,
+proc TYPE_SIZE_GROUP*(): GType
+proc SIZE_GROUP*(obj: pointer): PSizeGroup
+proc SIZE_GROUP_CLASS*(klass: pointer): PSizeGroupClass
+proc IS_SIZE_GROUP*(obj: pointer): bool
+proc IS_SIZE_GROUP_CLASS*(klass: pointer): bool
+proc SIZE_GROUP_GET_CLASS*(obj: pointer): PSizeGroupClass
+proc have_width*(a: var TSizeGroup): guint
+proc set_have_width*(a: var TSizeGroup, `have_width`: guint)
+proc have_height*(a: var TSizeGroup): guint
+proc set_have_height*(a: var TSizeGroup, `have_height`: guint)
+proc size_group_get_type*(): GType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_size_group_get_type".}
+proc size_group_new*(mode: TSizeGroupMode): PSizeGroup{.cdecl, dynlib: lib, 
+    importc: "gtk_size_group_new".}
+proc set_mode*(size_group: PSizeGroup, mode: TSizeGroupMode){.cdecl, 
+    dynlib: lib, importc: "gtk_size_group_set_mode".}
+proc get_mode*(size_group: PSizeGroup): TSizeGroupMode{.cdecl, 
+    dynlib: lib, importc: "gtk_size_group_get_mode".}
+proc add_widget*(size_group: PSizeGroup, widget: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_size_group_add_widget".}
+proc remove_widget*(size_group: PSizeGroup, widget: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_size_group_remove_widget".}
+proc size_group_get_child_requisition*(widget: PWidget, 
+                                       requisition: PRequisition){.cdecl, 
+    dynlib: lib, importc: "_gtk_size_group_get_child_requisition".}
+proc size_group_compute_requisition*(widget: PWidget, requisition: PRequisition){.
+    cdecl, dynlib: lib, importc: "_gtk_size_group_compute_requisition".}
+proc size_group_queue_resize*(widget: PWidget){.cdecl, dynlib: lib, 
     importc: "_gtk_size_group_queue_resize".}
-const
-  bm_TGtkSocket_same_app* = 0x00000001'i16
+const 
+  bm_TGtkSocket_same_app* = 0x0001'i16
   bp_TGtkSocket_same_app* = 0'i16
-  bm_TGtkSocket_focus_in* = 0x00000002'i16
+  bm_TGtkSocket_focus_in* = 0x0002'i16
   bp_TGtkSocket_focus_in* = 1'i16
-  bm_TGtkSocket_have_size* = 0x00000004'i16
+  bm_TGtkSocket_have_size* = 0x0004'i16
   bp_TGtkSocket_have_size* = 2'i16
-  bm_TGtkSocket_need_map* = 0x00000008'i16
+  bm_TGtkSocket_need_map* = 0x0008'i16
   bp_TGtkSocket_need_map* = 3'i16
-  bm_TGtkSocket_is_mapped* = 0x00000010'i16
+  bm_TGtkSocket_is_mapped* = 0x0010'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)
+proc TYPE_SOCKET*(): GType
+proc SOCKET*(obj: pointer): PSocket
+proc SOCKET_CLASS*(klass: pointer): PSocketClass
+proc IS_SOCKET*(obj: pointer): bool
+proc IS_SOCKET_CLASS*(klass: pointer): bool
+proc SOCKET_GET_CLASS*(obj: pointer): PSocketClass
+proc same_app*(a: var TSocket): guint
+proc set_same_app*(a: var TSocket, `same_app`: guint)
+proc focus_in*(a: var TSocket): guint
+proc set_focus_in*(a: var TSocket, `focus_in`: guint)
+proc have_size*(a: var TSocket): guint
+proc set_have_size*(a: var TSocket, `have_size`: guint)
+proc need_map*(a: var TSocket): guint
+proc set_need_map*(a: var TSocket, `need_map`: guint)
+proc is_mapped*(a: var TSocket): guint
+proc set_is_mapped*(a: var TSocket, `is_mapped`: guint)
+proc socket_new*(): PSocket{.cdecl, dynlib: lib, importc: "gtk_socket_new".}
+proc socket_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_socket_get_type".}
+proc add_id*(socket: PSocket, window_id: gdk2.TNativeWindow){.cdecl, 
+    dynlib: lib, importc: "gtk_socket_add_id".}
+proc get_id*(socket: PSocket): gdk2.TNativeWindow{.cdecl, dynlib: lib, 
+    importc: "gtk_socket_get_id".}
+const 
+  INPUT_ERROR* = - (1)
   bm_TGtkSpinButton_in_child* = 0x00000003'i32
   bp_TGtkSpinButton_in_child* = 0'i32
   bm_TGtkSpinButton_click_child* = 0x0000000C'i32
@@ -8632,588 +8298,569 @@ const
   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,
+proc TYPE_SPIN_BUTTON*(): GType
+proc SPIN_BUTTON*(obj: pointer): PSpinButton
+proc SPIN_BUTTON_CLASS*(klass: pointer): PSpinButtonClass
+proc IS_SPIN_BUTTON*(obj: pointer): bool
+proc IS_SPIN_BUTTON_CLASS*(klass: pointer): bool
+proc SPIN_BUTTON_GET_CLASS*(obj: pointer): PSpinButtonClass
+proc in_child*(a: var TSpinButton): guint
+proc set_in_child*(a: var TSpinButton, `in_child`: guint)
+proc click_child*(a: var TSpinButton): guint
+proc set_click_child*(a: var TSpinButton, `click_child`: guint)
+proc button*(a: var TSpinButton): guint
+proc set_button*(a: var TSpinButton, `button`: guint)
+proc need_timer*(a: var TSpinButton): guint
+proc set_need_timer*(a: var TSpinButton, `need_timer`: guint)
+proc timer_calls*(a: var TSpinButton): guint
+proc set_timer_calls*(a: var TSpinButton, `timer_calls`: guint)
+proc digits*(a: var TSpinButton): guint
+proc set_digits*(a: var TSpinButton, `digits`: guint)
+proc numeric*(a: var TSpinButton): guint
+proc set_numeric*(a: var TSpinButton, `numeric`: guint)
+proc wrap*(a: var TSpinButton): guint
+proc set_wrap*(a: var TSpinButton, `wrap`: guint)
+proc snap_to_ticks*(a: var TSpinButton): guint
+proc set_snap_to_ticks*(a: var TSpinButton, `snap_to_ticks`: guint)
+proc spin_button_get_type*(): TType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_spin_button_get_type".}
+proc configure*(spin_button: PSpinButton, adjustment: PAdjustment, 
+                            climb_rate: gdouble, digits: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_configure".}
+proc spin_button_new*(adjustment: PAdjustment, climb_rate: gdouble, 
+                      digits: guint): PSpinButton{.cdecl, dynlib: lib, 
     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,
+proc spin_button_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PSpinButton{.
+    cdecl, dynlib: lib, importc: "gtk_spin_button_new_with_range".}
+proc set_adjustment*(spin_button: PSpinButton, 
+                                 adjustment: PAdjustment){.cdecl, dynlib: lib, 
+    importc: "gtk_spin_button_set_adjustment".}
+proc get_adjustment*(spin_button: PSpinButton): PAdjustment{.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_get_adjustment".}
+proc set_digits*(spin_button: PSpinButton, digits: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_set_digits".}
+proc get_digits*(spin_button: PSpinButton): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_get_digits".}
+proc set_increments*(spin_button: PSpinButton, step: gdouble, 
+                                 page: gdouble){.cdecl, dynlib: lib, 
     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,
+proc get_increments*(spin_button: PSpinButton, step: Pgdouble, 
+                                 page: Pgdouble){.cdecl, dynlib: lib, 
+    importc: "gtk_spin_button_get_increments".}
+proc set_range*(spin_button: PSpinButton, min: gdouble, max: gdouble){.
+    cdecl, dynlib: lib, importc: "gtk_spin_button_set_range".}
+proc get_range*(spin_button: PSpinButton, min: Pgdouble, 
+                            max: Pgdouble){.cdecl, dynlib: lib, 
     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,
+proc get_value*(spin_button: PSpinButton): gdouble{.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_get_value".}
+proc get_value_as_int*(spin_button: PSpinButton): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_get_value_as_int".}
+proc set_value*(spin_button: PSpinButton, value: gdouble){.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_set_value".}
+proc set_update_policy*(spin_button: PSpinButton, 
+                                    policy: TSpinButtonUpdatePolicy){.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_set_update_policy".}
+proc get_update_policy*(spin_button: PSpinButton): TSpinButtonUpdatePolicy{.
+    cdecl, dynlib: lib, importc: "gtk_spin_button_get_update_policy".}
+proc set_numeric*(spin_button: PSpinButton, numeric: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_spin_button_set_numeric".}
+proc get_numeric*(spin_button: PSpinButton): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_get_numeric".}
+proc spin*(spin_button: PSpinButton, direction: TSpinType, 
+                       increment: gdouble){.cdecl, dynlib: lib, 
     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,
+proc set_wrap*(spin_button: PSpinButton, wrap: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_set_wrap".}
+proc get_wrap*(spin_button: PSpinButton): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_get_wrap".}
+proc set_snap_to_ticks*(spin_button: PSpinButton, 
+                                    snap_to_ticks: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_set_snap_to_ticks".}
+proc get_snap_to_ticks*(spin_button: PSpinButton): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_spin_button_get_snap_to_ticks".}
+proc update*(spin_button: PSpinButton){.cdecl, dynlib: lib, 
+    importc: "gtk_spin_button_update".}
+const 
+  STOCK_DIALOG_INFO* = "gtk-dialog-info"
+  STOCK_DIALOG_WARNING* = "gtk-dialog-warning"
+  STOCK_DIALOG_ERROR* = "gtk-dialog-error"
+  STOCK_DIALOG_QUESTION* = "gtk-dialog-question"
+  STOCK_DND* = "gtk-dnd"
+  STOCK_DND_MULTIPLE* = "gtk-dnd-multiple"
+  STOCK_ABOUT* = "gtk-about"
+  STOCK_ADD_name* = "gtk-add"
+  STOCK_APPLY* = "gtk-apply"
+  STOCK_BOLD* = "gtk-bold"
+  STOCK_CANCEL* = "gtk-cancel"
+  STOCK_CDROM* = "gtk-cdrom"
+  STOCK_CLEAR* = "gtk-clear"
+  STOCK_CLOSE* = "gtk-close"
+  STOCK_COLOR_PICKER* = "gtk-color-picker"
+  STOCK_CONVERT* = "gtk-convert"
+  STOCK_CONNECT* = "gtk-connect"
+  STOCK_COPY* = "gtk-copy"
+  STOCK_CUT* = "gtk-cut"
+  STOCK_DELETE* = "gtk-delete"
+  STOCK_EDIT* = "gtk-edit"
+  STOCK_EXECUTE* = "gtk-execute"
+  STOCK_FIND* = "gtk-find"
+  STOCK_FIND_AND_REPLACE* = "gtk-find-and-replace"
+  STOCK_FLOPPY* = "gtk-floppy"
+  STOCK_GOTO_BOTTOM* = "gtk-goto-bottom"
+  STOCK_GOTO_FIRST* = "gtk-goto-first"
+  STOCK_GOTO_LAST* = "gtk-goto-last"
+  STOCK_GOTO_TOP* = "gtk-goto-top"
+  STOCK_GO_BACK* = "gtk-go-back"
+  STOCK_GO_DOWN* = "gtk-go-down"
+  STOCK_GO_FORWARD* = "gtk-go-forward"
+  STOCK_GO_UP* = "gtk-go-up"
+  STOCK_HELP* = "gtk-help"
+  STOCK_HOME* = "gtk-home"
+  STOCK_INDEX* = "gtk-index"
+  STOCK_ITALIC* = "gtk-italic"
+  STOCK_JUMP_TO* = "gtk-jump-to"
+  STOCK_JUSTIFY_CENTER* = "gtk-justify-center"
+  STOCK_JUSTIFY_FILL* = "gtk-justify-fill"
+  STOCK_JUSTIFY_LEFT* = "gtk-justify-left"
+  STOCK_JUSTIFY_RIGHT* = "gtk-justify-right"
+  STOCK_MEDIA_FORWARD* = "gtk-media-forward"
+  STOCK_MEDIA_NEXT* = "gtk-media-next"
+  STOCK_MEDIA_PAUSE* = "gtk-media-pause"
+  STOCK_MEDIA_PLAY* = "gtk-media-play"
+  STOCK_MEDIA_PREVIOUS* = "gtk-media-previous"
+  STOCK_MEDIA_RECORD* = "gtk-media-record"
+  STOCK_MEDIA_REWIND* = "gtk-media-rewind"
+  STOCK_MEDIA_STOP* = "gtk-media-stop"
+  STOCK_MISSING_IMAGE* = "gtk-missing-image"
+  STOCK_NEW* = "gtk-new"
+  STOCK_NO* = "gtk-no"
+  STOCK_OK* = "gtk-ok"
+  STOCK_OPEN* = "gtk-open"
+  STOCK_PASTE* = "gtk-paste"
+  STOCK_PREFERENCES* = "gtk-preferences"
+  STOCK_PRINT* = "gtk-print"
+  STOCK_PRINT_PREVIEW* = "gtk-print-preview"
+  STOCK_PROPERTIES* = "gtk-properties"
+  STOCK_QUIT* = "gtk-quit"
+  STOCK_REDO* = "gtk-redo"
+  STOCK_REFRESH* = "gtk-refresh"
+  STOCK_REMOVE* = "gtk-remove"
+  STOCK_REVERT_TO_SAVED* = "gtk-revert-to-saved"
+  STOCK_SAVE* = "gtk-save"
+  STOCK_SAVE_AS* = "gtk-save-as"
+  STOCK_SELECT_COLOR* = "gtk-select-color"
+  STOCK_SELECT_FONT* = "gtk-select-font"
+  STOCK_SORT_ASCENDING* = "gtk-sort-ascending"
+  STOCK_SORT_DESCENDING* = "gtk-sort-descending"
+  STOCK_SPELL_CHECK* = "gtk-spell-check"
+  STOCK_STOP* = "gtk-stop"
+  STOCK_STRIKETHROUGH* = "gtk-strikethrough"
+  STOCK_UNDELETE* = "gtk-undelete"
+  STOCK_UNDERLINE* = "gtk-underline"
+  STOCK_UNDO* = "gtk-undo"
+  STOCK_YES* = "gtk-yes"
+  STOCK_ZOOM_100* = "gtk-zoom-100"
+  STOCK_ZOOM_FIT* = "gtk-zoom-fit"
+  STOCK_ZOOM_IN* = "gtk-zoom-in"
+  STOCK_ZOOM_OUT* = "gtk-zoom-out"
+
+proc add*(items: PStockItem, n_items: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_stock_add".}
+proc add_static*(items: PStockItem, n_items: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_stock_add_static".}
+proc stock_lookup*(stock_id: cstring, item: PStockItem): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_stock_lookup".}
+proc stock_list_ids*(): PGSList{.cdecl, dynlib: lib, 
+                                 importc: "gtk_stock_list_ids".}
+proc copy*(item: PStockItem): PStockItem{.cdecl, dynlib: lib, 
+    importc: "gtk_stock_item_copy".}
+proc free*(item: PStockItem){.cdecl, dynlib: lib, 
     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
+proc TYPE_STATUSBAR*(): GType
+proc STATUSBAR*(obj: pointer): PStatusbar
+proc STATUSBAR_CLASS*(klass: pointer): PStatusbarClass
+proc IS_STATUSBAR*(obj: pointer): bool
+proc IS_STATUSBAR_CLASS*(klass: pointer): bool
+proc STATUSBAR_GET_CLASS*(obj: pointer): PStatusbarClass
+const 
+  bm_TGtkStatusbar_has_resize_grip* = 0x0001'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,
+proc has_resize_grip*(a: var TStatusbar): guint
+proc set_has_resize_grip*(a: var TStatusbar, `has_resize_grip`: guint)
+proc statusbar_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_statusbar_get_type".}
+proc statusbar_new*(): PStatusbar{.cdecl, dynlib: lib, 
+                                   importc: "gtk_statusbar_new".}
+proc get_context_id*(statusbar: PStatusbar, 
+                               context_description: cstring): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_statusbar_get_context_id".}
+proc push*(statusbar: PStatusbar, context_id: guint, text: cstring): guint{.
+    cdecl, dynlib: lib, importc: "gtk_statusbar_push".}
+proc pop*(statusbar: PStatusbar, context_id: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_statusbar_pop".}
+proc remove*(statusbar: PStatusbar, context_id: guint, 
+                       message_id: guint){.cdecl, dynlib: lib, 
     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
+proc set_has_resize_grip*(statusbar: PStatusbar, setting: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_statusbar_set_has_resize_grip".}
+proc get_has_resize_grip*(statusbar: PStatusbar): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_statusbar_get_has_resize_grip".}
+const 
+  bm_TGtkTable_homogeneous* = 0x0001'i16
   bp_TGtkTable_homogeneous* = 0'i16
-  bm_TGtkTableChild_xexpand* = 0x00000001'i16
+  bm_TGtkTableChild_xexpand* = 0x0001'i16
   bp_TGtkTableChild_xexpand* = 0'i16
-  bm_TGtkTableChild_yexpand* = 0x00000002'i16
+  bm_TGtkTableChild_yexpand* = 0x0002'i16
   bp_TGtkTableChild_yexpand* = 1'i16
-  bm_TGtkTableChild_xshrink* = 0x00000004'i16
+  bm_TGtkTableChild_xshrink* = 0x0004'i16
   bp_TGtkTableChild_xshrink* = 2'i16
-  bm_TGtkTableChild_yshrink* = 0x00000008'i16
+  bm_TGtkTableChild_yshrink* = 0x0008'i16
   bp_TGtkTableChild_yshrink* = 3'i16
-  bm_TGtkTableChild_xfill* = 0x00000010'i16
+  bm_TGtkTableChild_xfill* = 0x0010'i16
   bp_TGtkTableChild_xfill* = 4'i16
-  bm_TGtkTableChild_yfill* = 0x00000020'i16
+  bm_TGtkTableChild_yfill* = 0x0020'i16
   bp_TGtkTableChild_yfill* = 5'i16
-  bm_TGtkTableRowCol_need_expand* = 0x00000001'i16
+  bm_TGtkTableRowCol_need_expand* = 0x0001'i16
   bp_TGtkTableRowCol_need_expand* = 0'i16
-  bm_TGtkTableRowCol_need_shrink* = 0x00000002'i16
+  bm_TGtkTableRowCol_need_shrink* = 0x0002'i16
   bp_TGtkTableRowCol_need_shrink* = 1'i16
-  bm_TGtkTableRowCol_expand* = 0x00000004'i16
+  bm_TGtkTableRowCol_expand* = 0x0004'i16
   bp_TGtkTableRowCol_expand* = 2'i16
-  bm_TGtkTableRowCol_shrink* = 0x00000008'i16
+  bm_TGtkTableRowCol_shrink* = 0x0008'i16
   bp_TGtkTableRowCol_shrink* = 3'i16
-  bm_TGtkTableRowCol_empty* = 0x00000010'i16
+  bm_TGtkTableRowCol_empty* = 0x0010'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,
+proc TYPE_TABLE*(): GType
+proc TABLE*(obj: pointer): PTable
+proc TABLE_CLASS*(klass: pointer): PTableClass
+proc IS_TABLE*(obj: pointer): bool
+proc IS_TABLE_CLASS*(klass: pointer): bool
+proc TABLE_GET_CLASS*(obj: pointer): PTableClass
+proc homogeneous*(a: var TTable): guint
+proc set_homogeneous*(a: var TTable, `homogeneous`: guint)
+proc xexpand*(a: var TTableChild): guint
+proc set_xexpand*(a: var TTableChild, `xexpand`: guint)
+proc yexpand*(a: var TTableChild): guint
+proc set_yexpand*(a: var TTableChild, `yexpand`: guint)
+proc xshrink*(a: var TTableChild): guint
+proc set_xshrink*(a: var TTableChild, `xshrink`: guint)
+proc yshrink*(a: var TTableChild): guint
+proc set_yshrink*(a: var TTableChild, `yshrink`: guint)
+proc xfill*(a: var TTableChild): guint
+proc set_xfill*(a: var TTableChild, `xfill`: guint)
+proc yfill*(a: var TTableChild): guint
+proc set_yfill*(a: var TTableChild, `yfill`: guint)
+proc need_expand*(a: var TTableRowCol): guint
+proc set_need_expand*(a: var TTableRowCol, `need_expand`: guint)
+proc need_shrink*(a: var TTableRowCol): guint
+proc set_need_shrink*(a: var TTableRowCol, `need_shrink`: guint)
+proc expand*(a: var TTableRowCol): guint
+proc set_expand*(a: var TTableRowCol, `expand`: guint)
+proc shrink*(a: var TTableRowCol): guint
+proc set_shrink*(a: var TTableRowCol, `shrink`: guint)
+proc empty*(a: var TTableRowCol): guint
+proc set_empty*(a: var TTableRowCol, `empty`: guint)
+proc table_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_table_get_type".}
+proc table_new*(rows: guint, columns: guint, homogeneous: gboolean): PTable{.
+    cdecl, dynlib: lib, importc: "gtk_table_new".}
+proc resize*(table: PTable, rows: guint, columns: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_table_resize".}
+proc attach*(table: PTable, child: PWidget, left_attach: guint, 
+                   right_attach: guint, top_attach: guint, bottom_attach: guint, 
+                   xoptions: TAttachOptions, yoptions: TAttachOptions, 
+                   xpadding: guint, ypadding: guint){.cdecl, dynlib: lib, 
     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
+proc attach_defaults*(table: PTable, widget: PWidget, left_attach: guint, 
+                            right_attach: guint, top_attach: guint, 
+                            bottom_attach: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_table_attach_defaults".}
+proc set_row_spacing*(table: PTable, row: guint, spacing: guint){.cdecl, 
+    dynlib: lib, importc: "gtk_table_set_row_spacing".}
+proc get_row_spacing*(table: PTable, row: guint): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_table_get_row_spacing".}
+proc set_col_spacing*(table: PTable, column: guint, spacing: guint){.
+    cdecl, dynlib: lib, importc: "gtk_table_set_col_spacing".}
+proc get_col_spacing*(table: PTable, column: guint): guint{.cdecl, 
+    dynlib: lib, importc: "gtk_table_get_col_spacing".}
+proc set_row_spacings*(table: PTable, spacing: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_table_set_row_spacings".}
+proc get_default_row_spacing*(table: PTable): guint{.cdecl, dynlib: lib, 
+    importc: "gtk_table_get_default_row_spacing".}
+proc set_col_spacings*(table: PTable, spacing: guint){.cdecl, dynlib: lib, 
+    importc: "gtk_table_set_col_spacings".}
+proc get_default_col_spacing*(table: PTable): guint{.cdecl, dynlib: lib, 
+    importc: "gtk_table_get_default_col_spacing".}
+proc set_homogeneous*(table: PTable, homogeneous: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_table_set_homogeneous".}
+proc get_homogeneous*(table: PTable): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_table_get_homogeneous".}
+const 
+  bm_TGtkTearoffMenuItem_torn_off* = 0x0001'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,
+proc TYPE_TEAROFF_MENU_ITEM*(): GType
+proc TEAROFF_MENU_ITEM*(obj: pointer): PTearoffMenuItem
+proc TEAROFF_MENU_ITEM_CLASS*(klass: pointer): PTearoffMenuItemClass
+proc IS_TEAROFF_MENU_ITEM*(obj: pointer): bool
+proc IS_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): bool
+proc TEAROFF_MENU_ITEM_GET_CLASS*(obj: pointer): PTearoffMenuItemClass
+proc torn_off*(a: var TTearoffMenuItem): guint
+proc set_torn_off*(a: var TTearoffMenuItem, `torn_off`: guint)
+proc tearoff_menu_item_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_tearoff_menu_item_get_type".}
-proc gtk_tearoff_menu_item_new*(): PGtkTearoffMenuItem{.cdecl, dynlib: gtklib,
+proc tearoff_menu_item_new*(): PTearoffMenuItem{.cdecl, dynlib: lib, 
     importc: "gtk_tearoff_menu_item_new".}
-const
-  bm_TGtkText_line_wrap* = 0x00000001'i16
+const 
+  bm_TGtkText_line_wrap* = 0x0001'i16
   bp_TGtkText_line_wrap* = 0'i16
-  bm_TGtkText_word_wrap* = 0x00000002'i16
+  bm_TGtkText_word_wrap* = 0x0002'i16
   bp_TGtkText_word_wrap* = 1'i16
-  bm_TGtkText_use_wchar* = 0x00000004'i16
+  bm_TGtkText_use_wchar* = 0x0004'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,
+proc TYPE_TEXT*(): GType
+proc TEXT*(obj: pointer): PText
+proc TEXT_CLASS*(klass: pointer): PTextClass
+proc IS_TEXT*(obj: pointer): bool
+proc IS_TEXT_CLASS*(klass: pointer): bool
+proc TEXT_GET_CLASS*(obj: pointer): PTextClass
+proc line_wrap*(a: PText): guint
+proc set_line_wrap*(a: PText, `line_wrap`: guint)
+proc word_wrap*(a: PText): guint
+proc set_word_wrap*(a: PText, `word_wrap`: guint)
+proc use_wchar*(a: PText): gboolean
+proc set_use_wchar*(a: PText, `use_wchar`: gboolean)
+proc text_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_text_get_type".}
+proc text_new*(hadj: PAdjustment, vadj: PAdjustment): PText{.cdecl, dynlib: lib, 
+    importc: "gtk_text_new".}
+proc set_editable*(text: PText, editable: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_text_set_editable".}
+proc set_word_wrap*(text: PText, word_wrap: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_text_set_word_wrap".}
+proc set_line_wrap*(text: PText, line_wrap: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_text_set_line_wrap".}
+proc set_adjustments*(text: PText, hadj: PAdjustment, vadj: PAdjustment){.
+    cdecl, dynlib: lib, importc: "gtk_text_set_adjustments".}
+proc set_point*(text: PText, index: guint){.cdecl, dynlib: lib, 
     importc: "gtk_text_set_point".}
-proc gtk_text_get_point*(text: PGtkText): guint{.cdecl, dynlib: gtklib,
+proc get_point*(text: PText): guint{.cdecl, dynlib: lib, 
     importc: "gtk_text_get_point".}
-proc gtk_text_get_length*(text: PGtkText): guint{.cdecl, dynlib: gtklib,
+proc get_length*(text: PText): guint{.cdecl, dynlib: lib, 
     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,
+proc freeze*(text: PText){.cdecl, dynlib: lib, importc: "gtk_text_freeze".}
+proc thaw*(text: PText){.cdecl, dynlib: lib, importc: "gtk_text_thaw".}
+proc insert*(text: PText, font: gdk2.PFont, fore: gdk2.PColor, back: gdk2.PColor, 
+                  chars: cstring, length: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_insert".}
+proc backward_delete*(text: PText, nchars: guint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_backward_delete".}
+proc forward_delete*(text: PText, nchars: guint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_forward_delete".}
+proc INDEX_WCHAR*(t: PText, index: guint): guint32
+proc INDEX_UCHAR*(t: PText, index: guint): GUChar
+const 
+  TEXT_SEARCH_VISIBLE_ONLY* = 0
+  TEXT_SEARCH_TEXT_ONLY* = 1
+
+proc TYPE_TEXT_ITER*(): GType
+proc get_buffer*(iter: PTextIter): PTextBuffer{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_buffer".}
+proc copy*(iter: PTextIter): PTextIter{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_copy".}
+proc free*(iter: PTextIter){.cdecl, dynlib: lib, 
+                                       importc: "gtk_text_iter_free".}
+proc text_iter_get_type*(): GType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_text_iter_get_type".}
+proc get_offset*(iter: PTextIter): gint{.cdecl, dynlib: lib, 
     importc: "gtk_text_iter_get_offset".}
-proc gtk_text_iter_get_line*(iter: PGtkTextIter): gint{.cdecl, dynlib: gtklib,
+proc get_line*(iter: PTextIter): gint{.cdecl, dynlib: lib, 
     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,
+proc get_line_offset*(iter: PTextIter): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_line_offset".}
+proc get_line_index*(iter: PTextIter): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_line_index".}
+proc get_visible_line_offset*(iter: PTextIter): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_get_visible_line_offset".}
+proc get_visible_line_index*(iter: PTextIter): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_get_visible_line_index".}
+proc get_char*(iter: PTextIter): gunichar{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_char".}
+proc get_slice*(start: PTextIter, theEnd: PTextIter): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_get_slice".}
+proc get_text*(start: PTextIter, theEnd: PTextIter): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_get_text".}
+proc get_visible_slice*(start: PTextIter, theEnd: PTextIter): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_get_visible_slice".}
+proc get_visible_text*(start: PTextIter, theEnd: PTextIter): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_get_visible_text".}
+proc get_pixbuf*(iter: PTextIter): gdk2pixbuf.PPixbuf{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_pixbuf".}
+proc get_marks*(iter: PTextIter): PGSList{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_marks".}
+proc get_child_anchor*(iter: PTextIter): PTextChildAnchor{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_get_child_anchor".}
+proc get_toggled_tags*(iter: PTextIter, toggled_on: gboolean): PGSList{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_get_toggled_tags".}
+proc begins_tag*(iter: PTextIter, tag: PTextTag): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_begins_tag".}
+proc ends_tag*(iter: PTextIter, tag: PTextTag): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_ends_tag".}
+proc toggles_tag*(iter: PTextIter, tag: PTextTag): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_toggles_tag".}
+proc has_tag*(iter: PTextIter, tag: PTextTag): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_has_tag".}
+proc get_tags*(iter: PTextIter): PGSList{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_tags".}
+proc editable*(iter: PTextIter, default_setting: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_editable".}
+proc can_insert*(iter: PTextIter, default_editability: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_can_insert".}
+proc starts_word*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_starts_word".}
+proc ends_word*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_ends_word".}
+proc inside_word*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_inside_word".}
+proc starts_sentence*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_starts_sentence".}
+proc ends_sentence*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_ends_sentence".}
+proc inside_sentence*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_inside_sentence".}
+proc starts_line*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_starts_line".}
+proc ends_line*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_ends_line".}
+proc is_cursor_position*(iter: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_is_cursor_position".}
+proc get_chars_in_line*(iter: PTextIter): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_chars_in_line".}
+proc get_bytes_in_line*(iter: PTextIter): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_get_bytes_in_line".}
+proc get_attributes*(iter: PTextIter, values: PTextAttributes): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_get_attributes".}
+proc get_language*(iter: PTextIter): pango.PLanguage{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_get_language".}
+proc is_end*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
     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,
+proc is_start*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_is_start".}
+proc forward_char*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_forward_char".}
+proc backward_char*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_backward_char".}
+proc forward_chars*(iter: PTextIter, count: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_forward_chars".}
+proc backward_chars*(iter: PTextIter, count: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_backward_chars".}
+proc forward_line*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_forward_line".}
+proc backward_line*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_backward_line".}
+proc forward_lines*(iter: PTextIter, count: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_forward_lines".}
+proc backward_lines*(iter: PTextIter, count: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_backward_lines".}
+proc forward_word_end*(iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_forward_word_end".}
+proc backward_word_start*(iter: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_backward_word_start".}
+proc forward_word_ends*(iter: PTextIter, count: gint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_forward_word_ends".}
+proc backward_word_starts*(iter: PTextIter, count: gint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_backward_word_starts".}
+proc forward_sentence_end*(iter: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_forward_sentence_end".}
+proc backward_sentence_start*(iter: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_backward_sentence_start".}
+proc forward_sentence_ends*(iter: PTextIter, count: gint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_forward_sentence_ends".}
+proc backward_sentence_starts*(iter: PTextIter, count: gint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_backward_sentence_starts".}
+proc forward_cursor_position*(iter: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_forward_cursor_position".}
+proc backward_cursor_position*(iter: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_backward_cursor_position".}
+proc forward_cursor_positions*(iter: PTextIter, count: gint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_forward_cursor_positions".}
+proc backward_cursor_positions*(iter: PTextIter, count: gint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_backward_cursor_positions".}
+proc set_offset*(iter: PTextIter, char_offset: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_set_offset".}
+proc set_line*(iter: PTextIter, line_number: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_set_line".}
+proc set_line_offset*(iter: PTextIter, char_on_line: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_set_line_offset".}
+proc set_line_index*(iter: PTextIter, byte_on_line: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_set_line_index".}
+proc forward_to_end*(iter: PTextIter){.cdecl, dynlib: lib, 
     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,
+proc forward_to_line_end*(iter: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_forward_to_line_end".}
+proc set_visible_line_offset*(iter: PTextIter, char_on_line: gint){.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_set_visible_line_offset".}
+proc set_visible_line_index*(iter: PTextIter, byte_on_line: gint){.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_set_visible_line_index".}
+proc forward_to_tag_toggle*(iter: PTextIter, tag: PTextTag): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_forward_to_tag_toggle".}
+proc backward_to_tag_toggle*(iter: PTextIter, tag: PTextTag): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_backward_to_tag_toggle".}
+proc forward_find_char*(iter: PTextIter, pred: TTextCharPredicate, 
+                                  user_data: gpointer, limit: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_forward_find_char".}
+proc backward_find_char*(iter: PTextIter, pred: TTextCharPredicate, 
+                                   user_data: gpointer, limit: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_backward_find_char".}
+proc forward_search*(iter: PTextIter, str: cstring, 
+                               flags: TTextSearchFlags, match_start: PTextIter, 
+                               match_end: PTextIter, limit: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_forward_search".}
+proc backward_search*(iter: PTextIter, str: cstring, 
+                                flags: TTextSearchFlags, match_start: PTextIter, 
+                                match_end: PTextIter, limit: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_backward_search".}
+proc equal*(lhs: PTextIter, rhs: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_equal".}
+proc compare*(lhs: PTextIter, rhs: PTextIter): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_text_iter_compare".}
+proc in_range*(iter: PTextIter, start: PTextIter, theEnd: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_iter_in_range".}
+proc order*(first: PTextIter, second: PTextIter){.cdecl, dynlib: lib, 
+    importc: "gtk_text_iter_order".}
+proc TYPE_TEXT_TAG*(): GType
+proc TEXT_TAG*(obj: pointer): PTextTag
+proc TEXT_TAG_CLASS*(klass: pointer): PTextTagClass
+proc IS_TEXT_TAG*(obj: pointer): bool
+proc IS_TEXT_TAG_CLASS*(klass: pointer): bool
+proc TEXT_TAG_GET_CLASS*(obj: pointer): PTextTagClass
+proc TYPE_TEXT_ATTRIBUTES*(): GType
+proc text_tag_get_type*(): GType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_text_tag_get_type".}
+proc text_tag_new*(name: cstring): PTextTag{.cdecl, dynlib: lib, 
     importc: "gtk_text_tag_new".}
-proc gtk_text_tag_get_priority*(tag: PGtkTextTag): gint{.cdecl, dynlib: gtklib,
+proc get_priority*(tag: PTextTag): gint{.cdecl, dynlib: lib, 
     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,
+proc set_priority*(tag: PTextTag, priority: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_tag_set_priority".}
+proc event*(tag: PTextTag, event_object: PGObject, event: gdk2.PEvent, 
+                     iter: PTextIter): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_tag_event".}
+proc text_attributes_new*(): PTextAttributes{.cdecl, dynlib: lib, 
     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,
+proc copy*(src: PTextAttributes): PTextAttributes{.cdecl, 
+    dynlib: lib, importc: "gtk_text_attributes_copy".}
+proc copy_values*(src: PTextAttributes, dest: PTextAttributes){.
+    cdecl, dynlib: lib, importc: "gtk_text_attributes_copy_values".}
+proc unref*(values: PTextAttributes){.cdecl, dynlib: lib, 
+    importc: "gtk_text_attributes_unref".}
+proc reference*(values: PTextAttributes){.cdecl, dynlib: lib, 
+    importc: "gtk_text_attributes_ref".}
+proc text_attributes_get_type*(): GType{.cdecl, dynlib: lib, 
     importc: "gtk_text_attributes_get_type".}
-const
+const 
   bm_TGtkTextTag_bg_color_set* = 0x00000001'i32
   bp_TGtkTextTag_bg_color_set* = 0'i32
   bm_TGtkTextTag_bg_stipple_set* = 0x00000002'i32
@@ -9263,980 +8910,945 @@ const
   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,
+proc bg_color_set*(a: var TTextTag): guint
+proc set_bg_color_set*(a: var TTextTag, `bg_color_set`: guint)
+proc bg_stipple_set*(a: var TTextTag): guint
+proc set_bg_stipple_set*(a: var TTextTag, `bg_stipple_set`: guint)
+proc fg_color_set*(a: var TTextTag): guint
+proc set_fg_color_set*(a: var TTextTag, `fg_color_set`: guint)
+proc scale_set*(a: var TTextTag): guint
+proc set_scale_set*(a: var TTextTag, `scale_set`: guint)
+proc fg_stipple_set*(a: var TTextTag): guint
+proc set_fg_stipple_set*(a: var TTextTag, `fg_stipple_set`: guint)
+proc justification_set*(a: var TTextTag): guint
+proc set_justification_set*(a: var TTextTag, `justification_set`: guint)
+proc left_margin_set*(a: var TTextTag): guint
+proc set_left_margin_set*(a: var TTextTag, `left_margin_set`: guint)
+proc indent_set*(a: var TTextTag): guint
+proc set_indent_set*(a: var TTextTag, `indent_set`: guint)
+proc rise_set*(a: var TTextTag): guint
+proc set_rise_set*(a: var TTextTag, `rise_set`: guint)
+proc strikethrough_set*(a: var TTextTag): guint
+proc set_strikethrough_set*(a: var TTextTag, `strikethrough_set`: guint)
+proc right_margin_set*(a: var TTextTag): guint
+proc set_right_margin_set*(a: var TTextTag, `right_margin_set`: guint)
+proc pixels_above_lines_set*(a: var TTextTag): guint
+proc set_pixels_above_lines_set*(a: var TTextTag, 
                                  `pixels_above_lines_set`: guint)
-proc pixels_below_lines_set*(a: var TGtkTextTag): guint
-proc set_pixels_below_lines_set*(a: var TGtkTextTag,
+proc pixels_below_lines_set*(a: var TTextTag): guint
+proc set_pixels_below_lines_set*(a: var TTextTag, 
                                  `pixels_below_lines_set`: guint)
-proc pixels_inside_wrap_set*(a: var TGtkTextTag): guint
-proc set_pixels_inside_wrap_set*(a: var TGtkTextTag,
+proc pixels_inside_wrap_set*(a: var TTextTag): guint
+proc set_pixels_inside_wrap_set*(a: var TTextTag, 
                                  `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
+proc tabs_set*(a: var TTextTag): guint
+proc set_tabs_set*(a: var TTextTag, `tabs_set`: guint)
+proc underline_set*(a: var TTextTag): guint
+proc set_underline_set*(a: var TTextTag, `underline_set`: guint)
+proc wrap_mode_set*(a: var TTextTag): guint
+proc set_wrap_mode_set*(a: var TTextTag, `wrap_mode_set`: guint)
+proc bg_full_height_set*(a: var TTextTag): guint
+proc set_bg_full_height_set*(a: var TTextTag, `bg_full_height_set`: guint)
+proc invisible_set*(a: var TTextTag): guint
+proc set_invisible_set*(a: var TTextTag, `invisible_set`: guint)
+proc editable_set*(a: var TTextTag): guint
+proc set_editable_set*(a: var TTextTag, `editable_set`: guint)
+proc language_set*(a: var TTextTag): guint
+proc set_language_set*(a: var TTextTag, `language_set`: guint)
+proc pad1*(a: var TTextTag): guint
+proc set_pad1*(a: var TTextTag, `pad1`: guint)
+proc pad2*(a: var TTextTag): guint
+proc set_pad2*(a: var TTextTag, `pad2`: guint)
+proc pad3*(a: var TTextTag): guint
+proc set_pad3*(a: var TTextTag, `pad3`: guint)
+const 
+  bm_TGtkTextAppearance_underline* = 0x000F'i16
   bp_TGtkTextAppearance_underline* = 0'i16
-  bm_TGtkTextAppearance_strikethrough* = 0x00000010'i16
+  bm_TGtkTextAppearance_strikethrough* = 0x0010'i16
   bp_TGtkTextAppearance_strikethrough* = 4'i16
-  bm_TGtkTextAppearance_draw_bg* = 0x00000020'i16
+  bm_TGtkTextAppearance_draw_bg* = 0x0020'i16
   bp_TGtkTextAppearance_draw_bg* = 5'i16
-  bm_TGtkTextAppearance_inside_selection* = 0x00000040'i16
+  bm_TGtkTextAppearance_inside_selection* = 0x0040'i16
   bp_TGtkTextAppearance_inside_selection* = 6'i16
-  bm_TGtkTextAppearance_is_text* = 0x00000080'i16
+  bm_TGtkTextAppearance_is_text* = 0x0080'i16
   bp_TGtkTextAppearance_is_text* = 7'i16
-  bm_TGtkTextAppearance_pad1* = 0x00000100'i16
+  bm_TGtkTextAppearance_pad1* = 0x0100'i16
   bp_TGtkTextAppearance_pad1* = 8'i16
-  bm_TGtkTextAppearance_pad2* = 0x00000200'i16
+  bm_TGtkTextAppearance_pad2* = 0x0200'i16
   bp_TGtkTextAppearance_pad2* = 9'i16
-  bm_TGtkTextAppearance_pad3* = 0x00000400'i16
+  bm_TGtkTextAppearance_pad3* = 0x0400'i16
   bp_TGtkTextAppearance_pad3* = 10'i16
-  bm_TGtkTextAppearance_pad4* = 0x00000800'i16
+  bm_TGtkTextAppearance_pad4* = 0x0800'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
+proc underline*(a: var TTextAppearance): guint
+proc set_underline*(a: var TTextAppearance, `underline`: guint)
+proc strikethrough*(a: var TTextAppearance): guint
+proc set_strikethrough*(a: var TTextAppearance, `strikethrough`: guint)
+proc draw_bg*(a: var TTextAppearance): guint
+proc set_draw_bg*(a: var TTextAppearance, `draw_bg`: guint)
+proc inside_selection*(a: var TTextAppearance): guint
+proc set_inside_selection*(a: var TTextAppearance, `inside_selection`: guint)
+proc is_text*(a: var TTextAppearance): guint
+proc set_is_text*(a: var TTextAppearance, `is_text`: guint)
+proc pad1*(a: var TTextAppearance): guint
+proc set_pad1*(a: var TTextAppearance, `pad1`: guint)
+proc pad2*(a: var TTextAppearance): guint
+proc set_pad2*(a: var TTextAppearance, `pad2`: guint)
+proc pad3*(a: var TTextAppearance): guint
+proc set_pad3*(a: var TTextAppearance, `pad3`: guint)
+proc pad4*(a: var TTextAppearance): guint
+proc set_pad4*(a: var TTextAppearance, `pad4`: guint)
+const 
+  bm_TGtkTextAttributes_invisible* = 0x0001'i16
   bp_TGtkTextAttributes_invisible* = 0'i16
-  bm_TGtkTextAttributes_bg_full_height* = 0x00000002'i16
+  bm_TGtkTextAttributes_bg_full_height* = 0x0002'i16
   bp_TGtkTextAttributes_bg_full_height* = 1'i16
-  bm_TGtkTextAttributes_editable* = 0x00000004'i16
+  bm_TGtkTextAttributes_editable* = 0x0004'i16
   bp_TGtkTextAttributes_editable* = 2'i16
-  bm_TGtkTextAttributes_realized* = 0x00000008'i16
+  bm_TGtkTextAttributes_realized* = 0x0008'i16
   bp_TGtkTextAttributes_realized* = 3'i16
-  bm_TGtkTextAttributes_pad1* = 0x00000010'i16
+  bm_TGtkTextAttributes_pad1* = 0x0010'i16
   bp_TGtkTextAttributes_pad1* = 4'i16
-  bm_TGtkTextAttributes_pad2* = 0x00000020'i16
+  bm_TGtkTextAttributes_pad2* = 0x0020'i16
   bp_TGtkTextAttributes_pad2* = 5'i16
-  bm_TGtkTextAttributes_pad3* = 0x00000040'i16
+  bm_TGtkTextAttributes_pad3* = 0x0040'i16
   bp_TGtkTextAttributes_pad3* = 6'i16
-  bm_TGtkTextAttributes_pad4* = 0x00000080'i16
+  bm_TGtkTextAttributes_pad4* = 0x0080'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,
+proc invisible*(a: var TTextAttributes): guint
+proc set_invisible*(a: var TTextAttributes, `invisible`: guint)
+proc bg_full_height*(a: var TTextAttributes): guint
+proc set_bg_full_height*(a: var TTextAttributes, `bg_full_height`: guint)
+proc editable*(a: var TTextAttributes): guint
+proc set_editable*(a: var TTextAttributes, `editable`: guint)
+proc realized*(a: var TTextAttributes): guint
+proc set_realized*(a: var TTextAttributes, `realized`: guint)
+proc pad1*(a: var TTextAttributes): guint
+proc set_pad1*(a: var TTextAttributes, `pad1`: guint)
+proc pad2*(a: var TTextAttributes): guint
+proc set_pad2*(a: var TTextAttributes, `pad2`: guint)
+proc pad3*(a: var TTextAttributes): guint
+proc set_pad3*(a: var TTextAttributes, `pad3`: guint)
+proc pad4*(a: var TTextAttributes): guint
+proc set_pad4*(a: var TTextAttributes, `pad4`: guint)
+proc TYPE_TEXT_TAG_TABLE*(): GType
+proc TEXT_TAG_TABLE*(obj: pointer): PTextTagTable
+proc TEXT_TAG_TABLE_CLASS*(klass: pointer): PTextTagTableClass
+proc IS_TEXT_TAG_TABLE*(obj: pointer): bool
+proc IS_TEXT_TAG_TABLE_CLASS*(klass: pointer): bool
+proc TEXT_TAG_TABLE_GET_CLASS*(obj: pointer): PTextTagTableClass
+proc text_tag_table_get_type*(): GType{.cdecl, dynlib: lib, 
+                                        importc: "gtk_text_tag_table_get_type".}
+proc text_tag_table_new*(): PTextTagTable{.cdecl, dynlib: lib, 
     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,
+proc table_add*(table: PTextTagTable, tag: PTextTag){.cdecl, 
+    dynlib: lib, importc: "gtk_text_tag_table_add".}
+proc table_remove*(table: PTextTagTable, tag: PTextTag){.cdecl, 
+    dynlib: lib, importc: "gtk_text_tag_table_remove".}
+proc table_lookup*(table: PTextTagTable, name: cstring): PTextTag{.
+    cdecl, dynlib: lib, importc: "gtk_text_tag_table_lookup".}
+proc table_foreach*(table: PTextTagTable, fun: TTextTagTableForeach, 
+                             data: gpointer){.cdecl, dynlib: lib, 
+    importc: "gtk_text_tag_table_foreach".}
+proc table_get_size*(table: PTextTagTable): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_tag_table_get_size".}
+proc table_add_buffer*(table: PTextTagTable, buffer: gpointer){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_tag_table_add_buffer".}
+proc table_remove_buffer*(table: PTextTagTable, buffer: gpointer){.
+    cdecl, dynlib: lib, importc: "_gtk_text_tag_table_remove_buffer".}
+proc TYPE_TEXT_MARK*(): GType
+proc TEXT_MARK*(anObject: pointer): PTextMark
+proc TEXT_MARK_CLASS*(klass: pointer): PTextMarkClass
+proc IS_TEXT_MARK*(anObject: pointer): bool
+proc IS_TEXT_MARK_CLASS*(klass: pointer): bool
+proc TEXT_MARK_GET_CLASS*(obj: pointer): PTextMarkClass
+proc text_mark_get_type*(): GType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_text_mark_get_type".}
+proc set_visible*(mark: PTextMark, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_text_mark_set_visible".}
+proc get_visible*(mark: PTextMark): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_mark_get_visible".}
+proc get_name*(mark: PTextMark): cstring{.cdecl, dynlib: lib, 
     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
+proc get_deleted*(mark: PTextMark): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_mark_get_deleted".}
+proc get_buffer*(mark: PTextMark): PTextBuffer{.cdecl, dynlib: lib, 
+    importc: "gtk_text_mark_get_buffer".}
+proc get_left_gravity*(mark: PTextMark): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_mark_get_left_gravity".}
+const 
+  bm_TGtkTextMarkBody_visible* = 0x0001'i16
   bp_TGtkTextMarkBody_visible* = 0'i16
-  bm_TGtkTextMarkBody_not_deleteable* = 0x00000002'i16
+  bm_TGtkTextMarkBody_not_deleteable* = 0x0002'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,
+proc visible*(a: var TTextMarkBody): guint
+proc set_visible*(a: var TTextMarkBody, `visible`: guint)
+proc not_deleteable*(a: var TTextMarkBody): guint
+proc set_not_deleteable*(a: var TTextMarkBody, `not_deleteable`: guint)
+proc mark_segment_new*(tree: PTextBTree, left_gravity: gboolean, name: cstring): PTextLineSegment{.
+    cdecl, dynlib: lib, importc: "_gtk_mark_segment_new".}
+proc TYPE_TEXT_CHILD_ANCHOR*(): GType
+proc TEXT_CHILD_ANCHOR*(anObject: pointer): PTextChildAnchor
+proc TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): PTextChildAnchorClass
+proc IS_TEXT_CHILD_ANCHOR*(anObject: pointer): bool
+proc IS_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): bool
+proc TEXT_CHILD_ANCHOR_GET_CLASS*(obj: pointer): PTextChildAnchorClass
+proc text_child_anchor_get_type*(): GType{.cdecl, dynlib: lib, 
     importc: "gtk_text_child_anchor_get_type".}
-proc gtk_text_child_anchor_new*(): PGtkTextChildAnchor{.cdecl, dynlib: gtklib,
+proc text_child_anchor_new*(): PTextChildAnchor{.cdecl, dynlib: lib, 
     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,
+proc anchor_get_widgets*(anchor: PTextChildAnchor): PGList{.cdecl, 
+    dynlib: lib, importc: "gtk_text_child_anchor_get_widgets".}
+proc anchor_get_deleted*(anchor: PTextChildAnchor): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_child_anchor_get_deleted".}
+proc pixbuf_segment_new*(pixbuf: gdk2pixbuf.PPixbuf): PTextLineSegment{.cdecl, 
+    dynlib: lib, importc: "_gtk_pixbuf_segment_new".}
+proc widget_segment_new*(anchor: PTextChildAnchor): PTextLineSegment{.cdecl, 
+    dynlib: lib, importc: "_gtk_widget_segment_new".}
+proc widget_segment_add*(widget_segment: PTextLineSegment, child: PWidget){.
+    cdecl, dynlib: lib, importc: "_gtk_widget_segment_add".}
+proc widget_segment_remove*(widget_segment: PTextLineSegment, child: PWidget){.
+    cdecl, dynlib: lib, importc: "_gtk_widget_segment_remove".}
+proc widget_segment_ref*(widget_segment: PTextLineSegment){.cdecl, dynlib: lib, 
+    importc: "_gtk_widget_segment_ref".}
+proc widget_segment_unref*(widget_segment: PTextLineSegment){.cdecl, 
+    dynlib: lib, importc: "_gtk_widget_segment_unref".}
+proc anchored_child_get_layout*(child: PWidget): PTextLayout{.cdecl, 
+    dynlib: lib, importc: "_gtk_anchored_child_get_layout".}
+proc line_segment_split*(iter: PTextIter): PTextLineSegment{.cdecl, 
+    dynlib: lib, importc: "gtk_text_line_segment_split".}
+proc char_segment_new*(text: cstring, len: guint): PTextLineSegment{.cdecl, 
+    dynlib: lib, importc: "_gtk_char_segment_new".}
+proc char_segment_new_from_two_strings*(text1: cstring, len1: guint, 
+                                        text2: cstring, len2: guint): PTextLineSegment{.
+    cdecl, dynlib: lib, importc: "_gtk_char_segment_new_from_two_strings".}
+proc toggle_segment_new*(info: PTextTagInfo, StateOn: gboolean): PTextLineSegment{.
+    cdecl, dynlib: lib, importc: "_gtk_toggle_segment_new".}
+proc btree_new*(table: PTextTagTable, buffer: PTextBuffer): PTextBTree{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_new".}
+proc reference*(tree: PTextBTree){.cdecl, dynlib: lib, 
+                                   importc: "_gtk_text_btree_ref".}
+proc unref*(tree: PTextBTree){.cdecl, dynlib: lib, 
     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,
+proc get_buffer*(tree: PTextBTree): PTextBuffer{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_get_buffer".}
+proc get_chars_changed_stamp*(tree: PTextBTree): guint{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_chars_changed_stamp".}
+proc get_segments_changed_stamp*(tree: PTextBTree): guint{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_segments_changed_stamp".}
+proc segments_changed*(tree: PTextBTree){.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_segments_changed".}
+proc is_end*(tree: PTextBTree, line: PTextLine, 
+                        seg: PTextLineSegment, byte_index: int32, 
+                        char_offset: int32): gboolean{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_is_end".}
+proc btree_delete*(start: PTextIter, theEnd: PTextIter){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_delete".}
+proc btree_insert*(iter: PTextIter, text: cstring, len: gint){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_insert".}
+proc btree_insert_pixbuf*(iter: PTextIter, pixbuf: gdk2pixbuf.PPixbuf){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_insert_pixbuf".}
+proc btree_insert_child_anchor*(iter: PTextIter, anchor: PTextChildAnchor){.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_insert_child_anchor".}
+proc btree_unregister_child_anchor*(anchor: PTextChildAnchor){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_unregister_child_anchor".}
+proc find_line_by_y*(tree: PTextBTree, view_id: gpointer, 
+                                ypixel: gint, line_top_y: Pgint): PTextLine{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_find_line_by_y".}
+proc find_line_top*(tree: PTextBTree, line: PTextLine, 
+                               view_id: gpointer): gint{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_find_line_top".}
+proc add_view*(tree: PTextBTree, layout: PTextLayout){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_add_view".}
+proc remove_view*(tree: PTextBTree, view_id: gpointer){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_remove_view".}
+proc invalidate_region*(tree: PTextBTree, start: PTextIter, 
+                                   theEnd: PTextIter){.cdecl, dynlib: lib, 
     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,
+proc get_view_size*(tree: PTextBTree, view_id: gpointer, 
+                               width: Pgint, height: Pgint){.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_get_view_size".}
+proc is_valid*(tree: PTextBTree, view_id: gpointer): gboolean{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_is_valid".}
+proc validate*(tree: PTextBTree, view_id: gpointer, max_pixels: gint, 
+                          y: Pgint, old_height: Pgint, new_height: Pgint): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_validate".}
+proc validate_line*(tree: PTextBTree, line: PTextLine, 
+                               view_id: gpointer){.cdecl, dynlib: lib, 
     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
+proc btree_tag*(start: PTextIter, theEnd: PTextIter, tag: PTextTag, 
+                     apply: gboolean){.cdecl, dynlib: lib, 
+                                       importc: "_gtk_text_btree_tag".}
+proc get_line*(tree: PTextBTree, line_number: gint, 
+                          real_line_number: Pgint): PTextLine{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_line".}
+proc get_line_no_last*(tree: PTextBTree, line_number: gint, 
+                                  real_line_number: Pgint): PTextLine{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_line_no_last".}
+proc get_end_iter_line*(tree: PTextBTree): PTextLine{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_end_iter_line".}
+proc get_line_at_char*(tree: PTextBTree, char_index: gint, 
+                                  line_start_index: Pgint, 
+                                  real_char_index: Pgint): PTextLine{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_line_at_char".}
+proc btree_get_tags*(iter: PTextIter, num_tags: Pgint): PPGtkTextTag{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_get_tags".}
+proc btree_get_text*(start: PTextIter, theEnd: PTextIter, 
+                          include_hidden: gboolean, include_nonchars: gboolean): cstring{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_get_text".}
+proc line_count*(tree: PTextBTree): gint{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_line_count".}
+proc char_count*(tree: PTextBTree): gint{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_char_count".}
+proc btree_char_is_invisible*(iter: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_char_is_invisible".}
+proc get_iter_at_char*(tree: PTextBTree, iter: PTextIter, 
+                                  char_index: gint){.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_get_iter_at_char".}
+proc get_iter_at_line_char*(tree: PTextBTree, iter: PTextIter, 
+                                       line_number: gint, char_index: gint){.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_line_char".}
+proc get_iter_at_line_byte*(tree: PTextBTree, iter: PTextIter, 
+                                       line_number: gint, byte_index: gint){.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_line_byte".}
+proc get_iter_from_string*(tree: PTextBTree, iter: PTextIter, 
+                                      `string`: cstring): gboolean{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_iter_from_string".}
+proc get_iter_at_mark_name*(tree: PTextBTree, iter: PTextIter, 
+                                       mark_name: cstring): gboolean{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_iter_at_mark_name".}
+proc get_iter_at_mark*(tree: PTextBTree, iter: PTextIter, 
+                                  mark: PTextMark){.cdecl, dynlib: lib, 
+    importc: "_gtk_text_btree_get_iter_at_mark".}
+proc get_end_iter*(tree: PTextBTree, iter: PTextIter){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_end_iter".}
+proc get_iter_at_line*(tree: PTextBTree, iter: PTextIter, 
+                                  line: PTextLine, byte_offset: gint){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_iter_at_line".}
+proc get_iter_at_first_toggle*(tree: PTextBTree, iter: PTextIter, 
+    tag: PTextTag): gboolean{.cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_first_toggle".}
+proc get_iter_at_last_toggle*(tree: PTextBTree, iter: PTextIter, 
+    tag: PTextTag): gboolean{.cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_last_toggle".}
+proc get_iter_at_child_anchor*(tree: PTextBTree, iter: PTextIter, 
+    anchor: PTextChildAnchor){.cdecl, dynlib: lib, importc: "_gtk_text_btree_get_iter_at_child_anchor".}
+proc set_mark*(tree: PTextBTree, existing_mark: PTextMark, 
+                          name: cstring, left_gravity: gboolean, 
+                          index: PTextIter, should_exist: gboolean): PTextMark{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_set_mark".}
+proc remove_mark_by_name*(tree: PTextBTree, name: cstring){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_remove_mark_by_name".}
+proc remove_mark*(tree: PTextBTree, segment: PTextMark){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_remove_mark".}
+proc get_selection_bounds*(tree: PTextBTree, start: PTextIter, 
+                                      theEnd: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_get_selection_bounds".}
+proc place_cursor*(tree: PTextBTree, `where`: PTextIter){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_place_cursor".}
+proc mark_is_insert*(tree: PTextBTree, segment: PTextMark): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_mark_is_insert".}
+proc mark_is_selection_bound*(tree: PTextBTree, segment: PTextMark): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_mark_is_selection_bound".}
+proc get_mark_by_name*(tree: PTextBTree, name: cstring): PTextMark{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_get_mark_by_name".}
+proc first_could_contain_tag*(tree: PTextBTree, tag: PTextTag): PTextLine{.
+    cdecl, dynlib: lib, importc: "_gtk_text_btree_first_could_contain_tag".}
+proc last_could_contain_tag*(tree: PTextBTree, tag: PTextTag): PTextLine{.
+    cdecl, dynlib: lib, 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,
+proc width*(a: PTextLineData): gint
+proc set_width*(a: PTextLineData, NewWidth: gint)
+proc valid*(a: PTextLineData): gint
+proc set_valid*(a: PTextLineData, `valid`: gint)
+proc get_number*(line: PTextLine): gint{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_line_get_number".}
+proc char_has_tag*(line: PTextLine, tree: PTextBTree, 
+                             char_in_line: gint, tag: PTextTag): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_text_line_char_has_tag".}
+proc byte_has_tag*(line: PTextLine, tree: PTextBTree, 
+                             byte_in_line: gint, tag: PTextTag): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_text_line_byte_has_tag".}
+proc is_last*(line: PTextLine, tree: PTextBTree): gboolean{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_is_last".}
+proc contains_end_iter*(line: PTextLine, tree: PTextBTree): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_text_line_contains_end_iter".}
+proc next*(line: PTextLine): PTextLine{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_line_next".}
+proc next_excluding_last*(line: PTextLine): PTextLine{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_next_excluding_last".}
+proc previous*(line: PTextLine): PTextLine{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_line_previous".}
+proc add_data*(line: PTextLine, data: PTextLineData){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_add_data".}
+proc remove_data*(line: PTextLine, view_id: gpointer): gpointer{.
+    cdecl, dynlib: lib, importc: "_gtk_text_line_remove_data".}
+proc get_data*(line: PTextLine, view_id: gpointer): gpointer{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_get_data".}
+proc invalidate_wrap*(line: PTextLine, ld: PTextLineData){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_invalidate_wrap".}
+proc char_count*(line: PTextLine): gint{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_line_char_count".}
+proc byte_count*(line: PTextLine): gint{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_line_byte_count".}
+proc char_index*(line: PTextLine): gint{.cdecl, dynlib: lib, 
+    importc: "_gtk_text_line_char_index".}
+proc byte_to_segment*(line: PTextLine, byte_offset: gint, 
+                                seg_offset: Pgint): PTextLineSegment{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_byte_to_segment".}
+proc char_to_segment*(line: PTextLine, char_offset: gint, 
+                                seg_offset: Pgint): PTextLineSegment{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_char_to_segment".}
+proc byte_to_char_offsets*(line: PTextLine, byte_offset: gint, 
+                                     line_char_offset: Pgint, 
+                                     seg_char_offset: Pgint){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_byte_to_char_offsets".}
+proc char_to_byte_offsets*(line: PTextLine, char_offset: gint, 
+                                     line_byte_offset: Pgint, 
+                                     seg_byte_offset: Pgint){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_char_to_byte_offsets".}
+proc byte_to_any_segment*(line: PTextLine, byte_offset: gint, 
+                                    seg_offset: Pgint): PTextLineSegment{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_byte_to_any_segment".}
+proc char_to_any_segment*(line: PTextLine, char_offset: gint, 
+                                    seg_offset: Pgint): PTextLineSegment{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_char_to_any_segment".}
+proc byte_to_char*(line: PTextLine, byte_offset: gint): gint{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_byte_to_char".}
+proc char_to_byte*(line: PTextLine, char_offset: gint): gint{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_char_to_byte".}
+proc next_could_contain_tag*(line: PTextLine, tree: PTextBTree, 
+                                       tag: PTextTag): PTextLine{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_line_next_could_contain_tag".}
+proc previous_could_contain_tag*(line: PTextLine, tree: PTextBTree, 
+    tag: PTextTag): PTextLine{.cdecl, dynlib: lib, importc: "_gtk_text_line_previous_could_contain_tag".}
+proc line_data_new*(layout: PTextLayout, line: PTextLine): PTextLineData{.
+    cdecl, dynlib: lib, importc: "_gtk_text_line_data_new".}
+proc check*(tree: PTextBTree){.cdecl, dynlib: lib, 
     importc: "_gtk_text_btree_check".}
-proc gtk_text_btree_spew*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib,
+proc spew*(tree: PTextBTree){.cdecl, dynlib: lib, 
     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
+proc toggle_segment_check_func*(segPtr: PTextLineSegment, line: PTextLine){.
+    cdecl, dynlib: lib, importc: "_gtk_toggle_segment_check_func".}
+proc change_node_toggle_count*(node: PTextBTreeNode, info: PTextTagInfo, 
+                               delta: gint){.cdecl, dynlib: lib, 
+    importc: "_gtk_change_node_toggle_count".}
+proc release_mark_segment*(tree: PTextBTree, 
+                                      segment: PTextLineSegment){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_release_mark_segment".}
+proc notify_will_remove_tag*(tree: PTextBTree, tag: PTextTag){.cdecl, 
+    dynlib: lib, importc: "_gtk_text_btree_notify_will_remove_tag".}
+const 
+  bm_TGtkTextBuffer_modified* = 0x0001'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,
+proc TYPE_TEXT_BUFFER*(): GType
+proc TEXT_BUFFER*(obj: pointer): PTextBuffer
+proc TEXT_BUFFER_CLASS*(klass: pointer): PTextBufferClass
+proc IS_TEXT_BUFFER*(obj: pointer): bool
+proc IS_TEXT_BUFFER_CLASS*(klass: pointer): bool
+proc TEXT_BUFFER_GET_CLASS*(obj: pointer): PTextBufferClass
+proc modified*(a: var TTextBuffer): guint
+proc set_modified*(a: var TTextBuffer, `modified`: guint)
+proc text_buffer_get_type*(): GType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_text_buffer_get_type".}
+proc buffer_new*(table: PTextTagTable): PTextBuffer{.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_new".}
+proc get_line_count*(buffer: PTextBuffer): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_get_line_count".}
+proc get_char_count*(buffer: PTextBuffer): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_get_char_count".}
+proc get_tag_table*(buffer: PTextBuffer): PTextTagTable{.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_get_tag_table".}
+proc set_text*(buffer: PTextBuffer, text: cstring, len: gint){.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_set_text".}
+proc insert*(buffer: PTextBuffer, iter: PTextIter, text: cstring, 
+                         len: gint){.cdecl, dynlib: lib, 
+                                     importc: "gtk_text_buffer_insert".}
+proc insert_at_cursor*(buffer: PTextBuffer, text: cstring, len: gint){.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_insert_at_cursor".}
+proc insert_interactive*(buffer: PTextBuffer, iter: PTextIter, 
+                                     text: cstring, len: gint, 
+                                     default_editable: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_insert_interactive".}
+proc insert_interactive_at_cursor*(buffer: PTextBuffer, 
+    text: cstring, len: gint, default_editable: gboolean): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_insert_interactive_at_cursor".}
+proc insert_range*(buffer: PTextBuffer, iter: PTextIter, 
+                               start: PTextIter, theEnd: PTextIter){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_insert_range".}
+proc insert_range_interactive*(buffer: PTextBuffer, iter: PTextIter, 
+    start: PTextIter, theEnd: PTextIter, default_editable: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_insert_range_interactive".}
+proc delete*(buffer: PTextBuffer, start: PTextIter, 
+                         theEnd: PTextIter){.cdecl, dynlib: lib, 
     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,
+proc delete_interactive*(buffer: PTextBuffer, start_iter: PTextIter, 
+                                     end_iter: PTextIter, 
+                                     default_editable: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_delete_interactive".}
+proc get_text*(buffer: PTextBuffer, start: PTextIter, 
+                           theEnd: PTextIter, include_hidden_chars: gboolean): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_get_text".}
+proc get_slice*(buffer: PTextBuffer, start: PTextIter, 
+                            theEnd: PTextIter, include_hidden_chars: gboolean): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_get_slice".}
+proc insert_pixbuf*(buffer: PTextBuffer, iter: PTextIter, 
+                                pixbuf: gdk2pixbuf.PPixbuf){.cdecl, dynlib: lib, 
     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,
+proc insert_child_anchor*(buffer: PTextBuffer, iter: PTextIter, 
+                                      anchor: PTextChildAnchor){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_insert_child_anchor".}
+proc create_child_anchor*(buffer: PTextBuffer, iter: PTextIter): PTextChildAnchor{.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_create_child_anchor".}
+proc create_mark*(buffer: PTextBuffer, mark_name: cstring, 
+                              `where`: PTextIter, left_gravity: gboolean): PTextMark{.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_create_mark".}
+proc move_mark*(buffer: PTextBuffer, mark: PTextMark, 
+                            `where`: PTextIter){.cdecl, dynlib: lib, 
     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,
+proc delete_mark*(buffer: PTextBuffer, mark: PTextMark){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_delete_mark".}
+proc get_mark*(buffer: PTextBuffer, name: cstring): PTextMark{.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_get_mark".}
+proc move_mark_by_name*(buffer: PTextBuffer, name: cstring, 
+                                    `where`: PTextIter){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_move_mark_by_name".}
+proc delete_mark_by_name*(buffer: PTextBuffer, name: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_delete_mark_by_name".}
+proc get_insert*(buffer: PTextBuffer): PTextMark{.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_get_insert".}
+proc get_selection_bound*(buffer: PTextBuffer): PTextMark{.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_get_selection_bound".}
+proc place_cursor*(buffer: PTextBuffer, `where`: PTextIter){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_place_cursor".}
+proc apply_tag*(buffer: PTextBuffer, tag: PTextTag, 
+                            start: PTextIter, theEnd: PTextIter){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_apply_tag".}
+proc remove_tag*(buffer: PTextBuffer, tag: PTextTag, 
+                             start: PTextIter, theEnd: PTextIter){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_remove_tag".}
+proc apply_tag_by_name*(buffer: PTextBuffer, name: cstring, 
+                                    start: PTextIter, theEnd: PTextIter){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_apply_tag_by_name".}
+proc remove_tag_by_name*(buffer: PTextBuffer, name: cstring, 
+                                     start: PTextIter, theEnd: PTextIter){.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_remove_tag_by_name".}
+proc remove_all_tags*(buffer: PTextBuffer, start: PTextIter, 
+                                  theEnd: PTextIter){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_remove_all_tags".}
+proc get_iter_at_line_offset*(buffer: PTextBuffer, iter: PTextIter, 
+    line_number: gint, char_offset: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_get_iter_at_line_offset".}
+proc get_iter_at_line_index*(buffer: PTextBuffer, iter: PTextIter, 
+    line_number: gint, byte_index: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_get_iter_at_line_index".}
+proc get_iter_at_offset*(buffer: PTextBuffer, iter: PTextIter, 
+                                     char_offset: gint){.cdecl, dynlib: lib, 
     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,
+proc get_iter_at_line*(buffer: PTextBuffer, iter: PTextIter, 
+                                   line_number: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_get_iter_at_line".}
+proc get_start_iter*(buffer: PTextBuffer, iter: PTextIter){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_get_start_iter".}
+proc get_end_iter*(buffer: PTextBuffer, iter: PTextIter){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_get_end_iter".}
+proc get_bounds*(buffer: PTextBuffer, start: PTextIter, 
+                             theEnd: PTextIter){.cdecl, dynlib: lib, 
     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,
+proc get_iter_at_mark*(buffer: PTextBuffer, iter: PTextIter, 
+                                   mark: PTextMark){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_get_iter_at_mark".}
+proc get_iter_at_child_anchor*(buffer: PTextBuffer, iter: PTextIter, 
+    anchor: PTextChildAnchor){.cdecl, dynlib: lib, importc: "gtk_text_buffer_get_iter_at_child_anchor".}
+proc get_modified*(buffer: PTextBuffer): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_get_modified".}
+proc set_modified*(buffer: PTextBuffer, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_set_modified".}
+proc add_selection_clipboard*(buffer: PTextBuffer, 
+    clipboard: PClipboard){.cdecl, dynlib: lib, 
+                            importc: "gtk_text_buffer_add_selection_clipboard".}
+proc remove_selection_clipboard*(buffer: PTextBuffer, 
+    clipboard: PClipboard){.cdecl, dynlib: lib, importc: "gtk_text_buffer_remove_selection_clipboard".}
+proc cut_clipboard*(buffer: PTextBuffer, clipboard: PClipboard, 
+                                default_editable: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_cut_clipboard".}
+proc copy_clipboard*(buffer: PTextBuffer, clipboard: PClipboard){.
+    cdecl, dynlib: lib, importc: "gtk_text_buffer_copy_clipboard".}
+proc paste_clipboard*(buffer: PTextBuffer, clipboard: PClipboard, 
+                                  override_location: PTextIter, 
+                                  default_editable: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_paste_clipboard".}
+proc get_selection_bounds*(buffer: PTextBuffer, start: PTextIter, 
+                                       theEnd: PTextIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_get_selection_bounds".}
+proc delete_selection*(buffer: PTextBuffer, interactive: gboolean, 
+                                   default_editable: gboolean): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_buffer_delete_selection".}
+proc begin_user_action*(buffer: PTextBuffer){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_begin_user_action".}
+proc end_user_action*(buffer: PTextBuffer){.cdecl, dynlib: lib, 
+    importc: "gtk_text_buffer_end_user_action".}
+proc spew*(buffer: PTextBuffer){.cdecl, dynlib: lib, 
     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
+proc get_btree*(buffer: PTextBuffer): PTextBTree{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_buffer_get_btree".}
+proc get_line_log_attrs*(buffer: PTextBuffer, 
+                                     anywhere_in_line: PTextIter, 
+                                     char_len: Pgint): pango.PLogAttr{.cdecl, 
+    dynlib: lib, importc: "_gtk_text_buffer_get_line_log_attrs".}
+proc notify_will_remove_tag*(buffer: PTextBuffer, tag: PTextTag){.
+    cdecl, dynlib: lib, importc: "_gtk_text_buffer_notify_will_remove_tag".}
+proc TYPE_TEXT_LAYOUT*(): GType
+proc TEXT_LAYOUT*(obj: pointer): PTextLayout
+proc TEXT_LAYOUT_CLASS*(klass: pointer): PTextLayoutClass
+proc IS_TEXT_LAYOUT*(obj: pointer): bool
+proc IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool
+proc TEXT_LAYOUT_GET_CLASS*(obj: pointer): PTextLayoutClass
+const 
+  bm_TGtkTextLayout_cursor_visible* = 0x0001'i16
   bp_TGtkTextLayout_cursor_visible* = 0'i16
-  bm_TGtkTextLayout_cursor_direction* = 0x00000006'i16
+  bm_TGtkTextLayout_cursor_direction* = 0x0006'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
+proc cursor_visible*(a: var TTextLayout): guint
+proc set_cursor_visible*(a: var TTextLayout, `cursor_visible`: guint)
+proc cursor_direction*(a: var TTextLayout): gint
+proc set_cursor_direction*(a: var TTextLayout, `cursor_direction`: gint)
+const 
+  bm_TGtkTextCursorDisplay_is_strong* = 0x0001'i16
   bp_TGtkTextCursorDisplay_is_strong* = 0'i16
-  bm_TGtkTextCursorDisplay_is_weak* = 0x00000002'i16
+  bm_TGtkTextCursorDisplay_is_weak* = 0x0002'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,
+proc is_strong*(a: var TTextCursorDisplay): guint
+proc set_is_strong*(a: var TTextCursorDisplay, `is_strong`: guint)
+proc is_weak*(a: var TTextCursorDisplay): guint
+proc set_is_weak*(a: var TTextCursorDisplay, `is_weak`: guint)
+proc text_layout_get_type*(): GType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_text_layout_get_type".}
+proc text_layout_new*(): PTextLayout{.cdecl, dynlib: lib, 
+                                      importc: "gtk_text_layout_new".}
+proc set_buffer*(layout: PTextLayout, buffer: PTextBuffer){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_set_buffer".}
+proc get_buffer*(layout: PTextLayout): PTextBuffer{.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_get_buffer".}
+proc set_default_style*(layout: PTextLayout, values: PTextAttributes){.
+    cdecl, dynlib: lib, importc: "gtk_text_layout_set_default_style".}
+proc set_contexts*(layout: PTextLayout, ltr_context: pango.PContext, 
+                               rtl_context: pango.PContext){.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_set_contexts".}
+proc set_cursor_direction*(layout: PTextLayout, 
+                                       direction: TTextDirection){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_set_cursor_direction".}
+proc default_style_changed*(layout: PTextLayout){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_default_style_changed".}
+proc set_screen_width*(layout: PTextLayout, width: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_set_screen_width".}
+proc set_preedit_string*(layout: PTextLayout, 
+                                     preedit_string: cstring, 
+                                     preedit_attrs: pango.PAttrList, 
+                                     cursor_pos: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_set_preedit_string".}
+proc set_cursor_visible*(layout: PTextLayout, 
+                                     cursor_visible: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_set_cursor_visible".}
+proc get_cursor_visible*(layout: PTextLayout): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_get_cursor_visible".}
+proc get_size*(layout: PTextLayout, width: Pgint, height: Pgint){.
+    cdecl, dynlib: lib, importc: "gtk_text_layout_get_size".}
+proc get_lines*(layout: PTextLayout, top_y: gint, bottom_y: gint, 
+                            first_line_y: Pgint): PGSList{.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_get_lines".}
+proc wrap_loop_start*(layout: PTextLayout){.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_wrap_loop_start".}
+proc wrap_loop_end*(layout: PTextLayout){.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_wrap_loop_end".}
+proc get_line_display*(layout: PTextLayout, line: PTextLine, 
+                                   size_only: gboolean): PTextLineDisplay{.
+    cdecl, dynlib: lib, importc: "gtk_text_layout_get_line_display".}
+proc free_line_display*(layout: PTextLayout, 
+                                    display: PTextLineDisplay){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_free_line_display".}
+proc get_line_at_y*(layout: PTextLayout, target_iter: PTextIter, 
+                                y: gint, line_top: Pgint){.cdecl, dynlib: lib, 
     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,
+proc get_iter_at_pixel*(layout: PTextLayout, iter: PTextIter, 
+                                    x: gint, y: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_get_iter_at_pixel".}
+proc invalidate*(layout: PTextLayout, start: PTextIter, 
+                             theEnd: PTextIter){.cdecl, dynlib: lib, 
     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,
+proc free_line_data*(layout: PTextLayout, line: PTextLine, 
+                                 line_data: PTextLineData){.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_free_line_data".}
+proc is_valid*(layout: PTextLayout): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_is_valid".}
+proc validate_yrange*(layout: PTextLayout, anchor_line: PTextIter, 
+                                  y0: gint, y1: gint){.cdecl, dynlib: lib, 
     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,
+proc validate*(layout: PTextLayout, max_pixels: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_validate".}
+proc wrap*(layout: PTextLayout, line: PTextLine, 
+                       line_data: PTextLineData): PTextLineData{.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_wrap".}
+proc changed*(layout: PTextLayout, y: gint, old_height: gint, 
+                          new_height: gint){.cdecl, dynlib: lib, 
     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,
+proc get_iter_location*(layout: PTextLayout, iter: PTextIter, 
+                                    rect: gdk2.PRectangle){.cdecl, dynlib: lib, 
+    importc: "gtk_text_layout_get_iter_location".}
+proc get_line_yrange*(layout: PTextLayout, iter: PTextIter, 
+                                  y: Pgint, height: Pgint){.cdecl, dynlib: lib, 
     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,
+proc get_line_xrange*(layout: PTextLayout, iter: PTextIter, 
+                                  x: Pgint, width: Pgint){.cdecl, dynlib: lib, 
     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,
+proc get_cursor_locations*(layout: PTextLayout, iter: PTextIter, 
+                                       strong_pos: gdk2.PRectangle, 
+                                       weak_pos: gdk2.PRectangle){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_get_cursor_locations".}
+proc clamp_iter_to_vrange*(layout: PTextLayout, iter: PTextIter, 
+                                       top: gint, bottom: gint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_layout_clamp_iter_to_vrange".}
+proc move_iter_to_line_end*(layout: PTextLayout, iter: PTextIter, 
+                                        direction: gint): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_move_iter_to_line_end".}
+proc move_iter_to_previous_line*(layout: PTextLayout, 
+    iter: PTextIter): gboolean{.cdecl, dynlib: lib, importc: "gtk_text_layout_move_iter_to_previous_line".}
+proc move_iter_to_next_line*(layout: PTextLayout, iter: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_layout_move_iter_to_next_line".}
+proc move_iter_to_x*(layout: PTextLayout, iter: PTextIter, x: gint){.
+    cdecl, dynlib: lib, importc: "gtk_text_layout_move_iter_to_x".}
+proc move_iter_visually*(layout: PTextLayout, iter: PTextIter, 
+                                     count: gint): gboolean{.cdecl, dynlib: lib, 
     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,
+proc iter_starts_line*(layout: PTextLayout, iter: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_layout_iter_starts_line".}
+proc get_iter_at_line*(layout: PTextLayout, iter: PTextIter, 
+                                   line: PTextLine, byte_offset: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_layout_get_iter_at_line".}
+proc anchor_register_child*(anchor: PTextChildAnchor, child: PWidget, 
+                                       layout: PTextLayout){.cdecl, dynlib: lib, 
     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,
+proc anchor_unregister_child*(anchor: PTextChildAnchor, 
+    child: PWidget){.cdecl, dynlib: lib, 
+                     importc: "gtk_text_child_anchor_unregister_child".}
+proc anchor_queue_resize*(anchor: PTextChildAnchor, 
+                                     layout: PTextLayout){.cdecl, dynlib: lib, 
+    importc: "gtk_text_child_anchor_queue_resize".}
+proc text_anchored_child_set_layout*(child: PWidget, layout: PTextLayout){.
+    cdecl, dynlib: lib, importc: "gtk_text_anchored_child_set_layout".}
+proc spew*(layout: PTextLayout){.cdecl, dynlib: lib, 
     importc: "gtk_text_layout_spew".}
-const # GTK_TEXT_VIEW_PRIORITY_VALIDATE* = GDK_PRIORITY_REDRAW + 5
-  bm_TGtkTextView_editable* = 0x00000001'i16
+const                         # GTK_TEXT_VIEW_PRIORITY_VALIDATE* = GDK_PRIORITY_REDRAW + 5
+  bm_TGtkTextView_editable* = 0x0001'i16
   bp_TGtkTextView_editable* = 0'i16
-  bm_TGtkTextView_overwrite_mode* = 0x00000002'i16
+  bm_TGtkTextView_overwrite_mode* = 0x0002'i16
   bp_TGtkTextView_overwrite_mode* = 1'i16
-  bm_TGtkTextView_cursor_visible* = 0x00000004'i16
+  bm_TGtkTextView_cursor_visible* = 0x0004'i16
   bp_TGtkTextView_cursor_visible* = 2'i16
-  bm_TGtkTextView_need_im_reset* = 0x00000008'i16
+  bm_TGtkTextView_need_im_reset* = 0x0008'i16
   bp_TGtkTextView_need_im_reset* = 3'i16
-  bm_TGtkTextView_just_selected_element* = 0x00000010'i16
+  bm_TGtkTextView_just_selected_element* = 0x0010'i16
   bp_TGtkTextView_just_selected_element* = 4'i16
-  bm_TGtkTextView_disable_scroll_on_focus* = 0x00000020'i16
+  bm_TGtkTextView_disable_scroll_on_focus* = 0x0020'i16
   bp_TGtkTextView_disable_scroll_on_focus* = 5'i16
-  bm_TGtkTextView_onscreen_validated* = 0x00000040'i16
+  bm_TGtkTextView_onscreen_validated* = 0x0040'i16
   bp_TGtkTextView_onscreen_validated* = 6'i16
-  bm_TGtkTextView_mouse_cursor_obscured* = 0x00000080'i16
+  bm_TGtkTextView_mouse_cursor_obscured* = 0x0080'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,
+proc TYPE_TEXT_VIEW*(): GType
+proc TEXT_VIEW*(obj: pointer): PTextView
+proc TEXT_VIEW_CLASS*(klass: pointer): PTextViewClass
+proc IS_TEXT_VIEW*(obj: pointer): bool
+proc IS_TEXT_VIEW_CLASS*(klass: pointer): bool
+proc TEXT_VIEW_GET_CLASS*(obj: pointer): PTextViewClass
+proc editable*(a: var TTextView): guint
+proc set_editable*(a: var TTextView, `editable`: guint)
+proc overwrite_mode*(a: var TTextView): guint
+proc set_overwrite_mode*(a: var TTextView, `overwrite_mode`: guint)
+proc cursor_visible*(a: var TTextView): guint
+proc set_cursor_visible*(a: var TTextView, `cursor_visible`: guint)
+proc need_im_reset*(a: var TTextView): guint
+proc set_need_im_reset*(a: var TTextView, `need_im_reset`: guint)
+proc just_selected_element*(a: var TTextView): guint
+proc set_just_selected_element*(a: var TTextView, `just_selected_element`: guint)
+proc disable_scroll_on_focus*(a: var TTextView): guint
+proc set_disable_scroll_on_focus*(a: var TTextView, 
                                   `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,
+proc onscreen_validated*(a: var TTextView): guint
+proc set_onscreen_validated*(a: var TTextView, `onscreen_validated`: guint)
+proc mouse_cursor_obscured*(a: var TTextView): guint
+proc set_mouse_cursor_obscured*(a: var TTextView, `mouse_cursor_obscured`: guint)
+proc text_view_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_text_view_get_type".}
+proc text_view_new*(): PTextView{.cdecl, dynlib: lib, 
+                                  importc: "gtk_text_view_new".}
+proc view_new_with_buffer*(buffer: PTextBuffer): PTextView{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_new_with_buffer".}
+proc set_buffer*(text_view: PTextView, buffer: PTextBuffer){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_buffer".}
+proc get_buffer*(text_view: PTextView): PTextBuffer{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_buffer".}
+proc scroll_to_iter*(text_view: PTextView, iter: PTextIter, 
+                               within_margin: gdouble, use_align: gboolean, 
+                               xalign: gdouble, yalign: gdouble): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_scroll_to_iter".}
+proc scroll_to_mark*(text_view: PTextView, mark: PTextMark, 
+                               within_margin: gdouble, use_align: gboolean, 
+                               xalign: gdouble, yalign: gdouble){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_scroll_to_mark".}
+proc scroll_mark_onscreen*(text_view: PTextView, mark: PTextMark){.
+    cdecl, dynlib: lib, importc: "gtk_text_view_scroll_mark_onscreen".}
+proc move_mark_onscreen*(text_view: PTextView, mark: PTextMark): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_move_mark_onscreen".}
+proc place_cursor_onscreen*(text_view: PTextView): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_place_cursor_onscreen".}
+proc get_visible_rect*(text_view: PTextView, 
+                                 visible_rect: gdk2.PRectangle){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_visible_rect".}
+proc set_cursor_visible*(text_view: PTextView, setting: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_text_view_set_cursor_visible".}
+proc get_cursor_visible*(text_view: PTextView): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_cursor_visible".}
+proc get_iter_location*(text_view: PTextView, iter: PTextIter, 
+                                  location: gdk2.PRectangle){.cdecl, dynlib: lib, 
+    importc: "gtk_text_view_get_iter_location".}
+proc get_iter_at_location*(text_view: PTextView, iter: PTextIter, 
+                                     x: gint, y: gint){.cdecl, dynlib: lib, 
     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,
+proc get_line_yrange*(text_view: PTextView, iter: PTextIter, y: Pgint, 
+                                height: Pgint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_view_get_line_yrange".}
+proc get_line_at_y*(text_view: PTextView, target_iter: PTextIter, 
+                              y: gint, line_top: Pgint){.cdecl, dynlib: lib, 
     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
+proc buffer_to_window_coords*(text_view: PTextView, 
+                                        win: TTextWindowType, buffer_x: gint, 
+                                        buffer_y: gint, window_x: Pgint, 
+                                        window_y: Pgint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_view_buffer_to_window_coords".}
+proc window_to_buffer_coords*(text_view: PTextView, 
+                                        win: TTextWindowType, window_x: gint, 
+                                        window_y: gint, buffer_x: Pgint, 
+                                        buffer_y: Pgint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_view_window_to_buffer_coords".}
+proc get_window*(text_view: PTextView, win: TTextWindowType): gdk2.PWindow{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_get_window".}
+proc get_window_type*(text_view: PTextView, window: gdk2.PWindow): TTextWindowType{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_get_window_type".}
+proc set_border_window_size*(text_view: PTextView, 
+                                       thetype: TTextWindowType, size: gint){.
+    cdecl, dynlib: lib, importc: "gtk_text_view_set_border_window_size".}
+proc get_border_window_size*(text_view: PTextView, 
+                                       thetype: TTextWindowType): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_border_window_size".}
+proc forward_display_line*(text_view: PTextView, iter: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_forward_display_line".}
+proc backward_display_line*(text_view: PTextView, iter: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_backward_display_line".}
+proc forward_display_line_end*(text_view: PTextView, iter: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_forward_display_line_end".}
+proc backward_display_line_start*(text_view: PTextView, 
+    iter: PTextIter): gboolean{.cdecl, dynlib: lib, importc: "gtk_text_view_backward_display_line_start".}
+proc starts_display_line*(text_view: PTextView, iter: PTextIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_starts_display_line".}
+proc move_visually*(text_view: PTextView, iter: PTextIter, count: gint): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_move_visually".}
+proc add_child_at_anchor*(text_view: PTextView, child: PWidget, 
+                                    anchor: PTextChildAnchor){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_add_child_at_anchor".}
+proc add_child_in_window*(text_view: PTextView, child: PWidget, 
+                                    which_window: TTextWindowType, xpos: gint, 
+                                    ypos: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_text_view_add_child_in_window".}
+proc move_child*(text_view: PTextView, child: PWidget, xpos: gint, 
+                           ypos: gint){.cdecl, dynlib: lib, 
+                                        importc: "gtk_text_view_move_child".}
+proc set_wrap_mode*(text_view: PTextView, wrap_mode: TWrapMode){.
+    cdecl, dynlib: lib, importc: "gtk_text_view_set_wrap_mode".}
+proc get_wrap_mode*(text_view: PTextView): TWrapMode{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_wrap_mode".}
+proc set_editable*(text_view: PTextView, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_editable".}
+proc get_editable*(text_view: PTextView): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_editable".}
+proc set_pixels_above_lines*(text_view: PTextView, 
+                                       pixels_above_lines: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_pixels_above_lines".}
+proc get_pixels_above_lines*(text_view: PTextView): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_pixels_above_lines".}
+proc set_pixels_below_lines*(text_view: PTextView, 
+                                       pixels_below_lines: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_pixels_below_lines".}
+proc get_pixels_below_lines*(text_view: PTextView): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_pixels_below_lines".}
+proc set_pixels_inside_wrap*(text_view: PTextView, 
+                                       pixels_inside_wrap: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_pixels_inside_wrap".}
+proc get_pixels_inside_wrap*(text_view: PTextView): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_pixels_inside_wrap".}
+proc set_justification*(text_view: PTextView, 
+                                  justification: TJustification){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_justification".}
+proc get_justification*(text_view: PTextView): TJustification{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_justification".}
+proc set_left_margin*(text_view: PTextView, left_margin: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_left_margin".}
+proc get_left_margin*(text_view: PTextView): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_view_get_left_margin".}
+proc set_right_margin*(text_view: PTextView, right_margin: gint){.
+    cdecl, dynlib: lib, importc: "gtk_text_view_set_right_margin".}
+proc get_right_margin*(text_view: PTextView): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_right_margin".}
+proc set_indent*(text_view: PTextView, indent: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_indent".}
+proc get_indent*(text_view: PTextView): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_text_view_get_indent".}
+proc set_tabs*(text_view: PTextView, tabs: pango.PTabArray){.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_set_tabs".}
+proc get_tabs*(text_view: PTextView): pango.PTabArray{.cdecl, 
+    dynlib: lib, importc: "gtk_text_view_get_tabs".}
+proc get_default_attributes*(text_view: PTextView): PTextAttributes{.
+    cdecl, dynlib: lib, importc: "gtk_text_view_get_default_attributes".}
+const 
+  bm_TGtkTipsQuery_emit_always* = 0x0001'i16
   bp_TGtkTipsQuery_emit_always* = 0'i16
-  bm_TGtkTipsQuery_in_query* = 0x00000002'i16
+  bm_TGtkTipsQuery_in_query* = 0x0002'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
+proc TYPE_TIPS_QUERY*(): GType
+proc TIPS_QUERY*(obj: pointer): PTipsQuery
+proc TIPS_QUERY_CLASS*(klass: pointer): PTipsQueryClass
+proc IS_TIPS_QUERY*(obj: pointer): bool
+proc IS_TIPS_QUERY_CLASS*(klass: pointer): bool
+proc TIPS_QUERY_GET_CLASS*(obj: pointer): PTipsQueryClass
+proc emit_always*(a: var TTipsQuery): guint
+proc set_emit_always*(a: var TTipsQuery, `emit_always`: guint)
+proc in_query*(a: var TTipsQuery): guint
+proc set_in_query*(a: var TTipsQuery, `in_query`: guint)
+proc tips_query_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_tips_query_get_type".}
+proc tips_query_new*(): PTipsQuery{.cdecl, dynlib: lib, 
+                                    importc: "gtk_tips_query_new".}
+proc start_query*(tips_query: PTipsQuery){.cdecl, dynlib: lib, 
+    importc: "gtk_tips_query_start_query".}
+proc stop_query*(tips_query: PTipsQuery){.cdecl, dynlib: lib, 
+    importc: "gtk_tips_query_stop_query".}
+proc set_caller*(tips_query: PTipsQuery, caller: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_tips_query_set_caller".}
+proc set_labels*(tips_query: PTipsQuery, label_inactive: cstring, 
+                            label_no_tip: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_tips_query_set_labels".}
+const 
   bm_TGtkTooltips_delay* = 0x3FFFFFFF'i32
   bp_TGtkTooltips_delay* = 0'i32
   bm_TGtkTooltips_enabled* = 0x40000000'i32
@@ -10246,7026 +9858,7030 @@ const
   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,
+proc TYPE_TOOLTIPS*(): GType
+proc TOOLTIPS*(obj: pointer): PTooltips
+proc TOOLTIPS_CLASS*(klass: pointer): PTooltipsClass
+proc IS_TOOLTIPS*(obj: pointer): bool
+proc IS_TOOLTIPS_CLASS*(klass: pointer): bool
+proc TOOLTIPS_GET_CLASS*(obj: pointer): PTooltipsClass
+proc delay*(a: var TTooltips): guint
+proc set_delay*(a: var TTooltips, `delay`: guint)
+proc enabled*(a: var TTooltips): guint
+proc set_enabled*(a: var TTooltips, `enabled`: guint)
+proc have_grab*(a: var TTooltips): guint
+proc set_have_grab*(a: var TTooltips, `have_grab`: guint)
+proc use_sticky_delay*(a: var TTooltips): guint
+proc set_use_sticky_delay*(a: var TTooltips, `use_sticky_delay`: guint)
+proc tooltips_get_type*(): TType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_tooltips_get_type".}
+proc tooltips_new*(): PTooltips{.cdecl, dynlib: lib, importc: "gtk_tooltips_new".}
+proc enable*(tooltips: PTooltips){.cdecl, dynlib: lib, 
     importc: "gtk_tooltips_enable".}
-proc gtk_tooltips_disable*(tooltips: PGtkTooltips){.cdecl, dynlib: gtklib,
+proc disable*(tooltips: PTooltips){.cdecl, dynlib: lib, 
     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,
+proc set_tip*(tooltips: PTooltips, widget: PWidget, tip_text: cstring, 
+                       tip_private: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_tooltips_set_tip".}
+proc tooltips_data_get*(widget: PWidget): PTooltipsData{.cdecl, dynlib: lib, 
+    importc: "gtk_tooltips_data_get".}
+proc force_window*(tooltips: PTooltips){.cdecl, dynlib: lib, 
     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
+proc tooltips_toggle_keyboard_mode*(widget: PWidget){.cdecl, dynlib: lib, 
+    importc: "_gtk_tooltips_toggle_keyboard_mode".}
+const 
+  bm_TGtkToolbar_style_set* = 0x0001'i16
   bp_TGtkToolbar_style_set* = 0'i16
-  bm_TGtkToolbar_icon_size_set* = 0x00000002'i16
+  bm_TGtkToolbar_icon_size_set* = 0x0002'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,
+proc TYPE_TOOLBAR*(): GType
+proc TOOLBAR*(obj: pointer): PToolbar
+proc TOOLBAR_CLASS*(klass: pointer): PToolbarClass
+proc IS_TOOLBAR*(obj: pointer): bool
+proc IS_TOOLBAR_CLASS*(klass: pointer): bool
+proc TOOLBAR_GET_CLASS*(obj: pointer): PToolbarClass
+proc style_set*(a: var TToolbar): guint
+proc set_style_set*(a: var TToolbar, `style_set`: guint)
+proc icon_size_set*(a: var TToolbar): guint
+proc set_icon_size_set*(a: var TToolbar, `icon_size_set`: guint)
+proc toolbar_get_type*(): TType{.cdecl, dynlib: lib, 
+                                 importc: "gtk_toolbar_get_type".}
+proc toolbar_new*(): PToolbar{.cdecl, dynlib: lib, importc: "gtk_toolbar_new".}
+proc append_item*(toolbar: PToolbar, text: cstring, 
+                          tooltip_text: cstring, tooltip_private_text: cstring, 
+                          icon: PWidget, callback: TSignalFunc, 
+                          user_data: gpointer): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_toolbar_append_item".}
+proc prepend_item*(toolbar: PToolbar, text: cstring, 
+                           tooltip_text: cstring, tooltip_private_text: cstring, 
+                           icon: PWidget, callback: TSignalFunc, 
+                           user_data: gpointer): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_toolbar_prepend_item".}
+proc insert_item*(toolbar: PToolbar, text: cstring, 
+                          tooltip_text: cstring, tooltip_private_text: cstring, 
+                          icon: PWidget, callback: TSignalFunc, 
+                          user_data: gpointer, position: gint): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_toolbar_insert_item".}
+proc insert_stock*(toolbar: PToolbar, stock_id: cstring, 
+                           tooltip_text: cstring, tooltip_private_text: cstring, 
+                           callback: TSignalFunc, user_data: gpointer, 
+                           position: gint): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_toolbar_insert_stock".}
+proc append_space*(toolbar: PToolbar){.cdecl, dynlib: lib, 
     importc: "gtk_toolbar_append_space".}
-proc gtk_toolbar_prepend_space*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib,
+proc prepend_space*(toolbar: PToolbar){.cdecl, dynlib: lib, 
     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,
+proc insert_space*(toolbar: PToolbar, position: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_toolbar_insert_space".}
+proc remove_space*(toolbar: PToolbar, position: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_toolbar_remove_space".}
+proc append_element*(toolbar: PToolbar, thetype: TToolbarChildType, 
+                             widget: PWidget, text: cstring, 
+                             tooltip_text: cstring, 
+                             tooltip_private_text: cstring, icon: PWidget, 
+                             callback: TSignalFunc, user_data: gpointer): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_toolbar_append_element".}
+proc prepend_element*(toolbar: PToolbar, thetype: TToolbarChildType, 
+                              widget: PWidget, text: cstring, 
+                              tooltip_text: cstring, 
+                              tooltip_private_text: cstring, icon: PWidget, 
+                              callback: TSignalFunc, user_data: gpointer): PWidget{.
+    cdecl, dynlib: lib, importc: "gtk_toolbar_prepend_element".}
+proc insert_element*(toolbar: PToolbar, thetype: TToolbarChildType, 
+                             widget: PWidget, text: cstring, 
+                             tooltip_text: cstring, 
+                             tooltip_private_text: cstring, icon: PWidget, 
+                             callback: TSignalFunc, user_data: gpointer, 
+                             position: gint): PWidget{.cdecl, dynlib: lib, 
+    importc: "gtk_toolbar_insert_element".}
+proc append_widget*(toolbar: PToolbar, widget: PWidget, 
+                            tooltip_text: cstring, tooltip_private_text: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_toolbar_append_widget".}
+proc prepend_widget*(toolbar: PToolbar, widget: PWidget, 
+                             tooltip_text: cstring, 
+                             tooltip_private_text: cstring){.cdecl, dynlib: lib, 
+    importc: "gtk_toolbar_prepend_widget".}
+proc insert_widget*(toolbar: PToolbar, widget: PWidget, 
+                            tooltip_text: cstring, 
+                            tooltip_private_text: cstring, position: gint){.
+    cdecl, dynlib: lib, importc: "gtk_toolbar_insert_widget".}
+proc set_orientation*(toolbar: PToolbar, orientation: TOrientation){.
+    cdecl, dynlib: lib, importc: "gtk_toolbar_set_orientation".}
+proc set_style*(toolbar: PToolbar, style: TToolbarStyle){.cdecl, 
+    dynlib: lib, importc: "gtk_toolbar_set_style".}
+proc set_icon_size*(toolbar: PToolbar, icon_size: TIconSize){.cdecl, 
+    dynlib: lib, importc: "gtk_toolbar_set_icon_size".}
+proc set_tooltips*(toolbar: PToolbar, enable: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_toolbar_set_tooltips".}
+proc unset_style*(toolbar: PToolbar){.cdecl, dynlib: lib, 
     importc: "gtk_toolbar_unset_style".}
-proc gtk_toolbar_unset_icon_size*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib,
+proc unset_icon_size*(toolbar: PToolbar){.cdecl, dynlib: lib, 
     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
+proc get_orientation*(toolbar: PToolbar): TOrientation{.cdecl, 
+    dynlib: lib, importc: "gtk_toolbar_get_orientation".}
+proc get_style*(toolbar: PToolbar): TToolbarStyle{.cdecl, dynlib: lib, 
+    importc: "gtk_toolbar_get_style".}
+proc get_icon_size*(toolbar: PToolbar): TIconSize{.cdecl, dynlib: lib, 
+    importc: "gtk_toolbar_get_icon_size".}
+proc get_tooltips*(toolbar: PToolbar): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_toolbar_get_tooltips".}
+const 
+  bm_TGtkTree_selection_mode* = 0x0003'i16
   bp_TGtkTree_selection_mode* = 0'i16
-  bm_TGtkTree_view_mode* = 0x00000004'i16
+  bm_TGtkTree_view_mode* = 0x0004'i16
   bp_TGtkTree_view_mode* = 2'i16
-  bm_TGtkTree_view_line* = 0x00000008'i16
+  bm_TGtkTree_view_line* = 0x0008'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,
+proc TYPE_TREE*(): GType
+proc TREE*(obj: pointer): PTree
+proc TREE_CLASS*(klass: pointer): PTreeClass
+proc IS_TREE*(obj: pointer): bool
+proc IS_TREE_CLASS*(klass: pointer): bool
+proc TREE_GET_CLASS*(obj: pointer): PTreeClass
+proc IS_ROOT_TREE*(obj: pointer): bool
+proc TREE_ROOT_TREE*(obj: pointer): PTree
+proc TREE_SELECTION_OLD*(obj: pointer): PGList
+proc selection_mode*(a: var TTree): guint
+proc set_selection_mode*(a: var TTree, `selection_mode`: guint)
+proc view_mode*(a: var TTree): guint
+proc set_view_mode*(a: var TTree, `view_mode`: guint)
+proc view_line*(a: var TTree): guint
+proc set_view_line*(a: var TTree, `view_line`: guint)
+proc tree_get_type*(): TType{.cdecl, dynlib: lib, importc: "gtk_tree_get_type".}
+proc tree_new*(): PTree{.cdecl, dynlib: lib, importc: "gtk_tree_new".}
+proc append*(tree: PTree, tree_item: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_append".}
+proc prepend*(tree: PTree, tree_item: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_prepend".}
+proc insert*(tree: PTree, tree_item: PWidget, position: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_insert".}
+proc remove_items*(tree: PTree, items: PGList){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_remove_items".}
+proc clear_items*(tree: PTree, start: gint, theEnd: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_clear_items".}
+proc select_item*(tree: PTree, item: gint){.cdecl, dynlib: lib, 
     importc: "gtk_tree_select_item".}
-proc gtk_tree_unselect_item*(tree: PGtkTree, item: gint){.cdecl, dynlib: gtklib,
+proc unselect_item*(tree: PTree, item: gint){.cdecl, dynlib: lib, 
     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,
+proc select_child*(tree: PTree, tree_item: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_select_child".}
+proc unselect_child*(tree: PTree, tree_item: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_unselect_child".}
+proc child_position*(tree: PTree, child: PWidget): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_child_position".}
+proc set_selection_mode*(tree: PTree, mode: TSelectionMode){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_set_selection_mode".}
+proc set_view_mode*(tree: PTree, mode: TTreeViewMode){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_set_view_mode".}
+proc set_view_lines*(tree: PTree, flag: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_set_view_lines".}
+proc remove_item*(tree: PTree, child: PWidget){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_remove_item".}
+proc TYPE_TREE_DRAG_SOURCE*(): GType
+proc TREE_DRAG_SOURCE*(obj: pointer): PTreeDragSource
+proc IS_TREE_DRAG_SOURCE*(obj: pointer): bool
+proc TREE_DRAG_SOURCE_GET_IFACE*(obj: pointer): PTreeDragSourceIface
+proc tree_drag_source_get_type*(): GType{.cdecl, dynlib: lib, 
     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
+proc source_row_draggable*(drag_source: PTreeDragSource, 
+                                     path: PTreePath): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_drag_source_row_draggable".}
+proc source_drag_data_delete*(drag_source: PTreeDragSource, 
+                                        path: PTreePath): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_drag_source_drag_data_delete".}
+proc source_drag_data_get*(drag_source: PTreeDragSource, 
+                                     path: PTreePath, 
+                                     selection_data: PSelectionData): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_drag_source_drag_data_get".}
+proc TYPE_TREE_DRAG_DEST*(): GType
+proc TREE_DRAG_DEST*(obj: pointer): PTreeDragDest
+proc IS_TREE_DRAG_DEST*(obj: pointer): bool
+proc TREE_DRAG_DEST_GET_IFACE*(obj: pointer): PTreeDragDestIface
+proc tree_drag_dest_get_type*(): GType{.cdecl, dynlib: lib, 
+                                        importc: "gtk_tree_drag_dest_get_type".}
+proc dest_drag_data_received*(drag_dest: PTreeDragDest, 
+                                        dest: PTreePath, 
+                                        selection_data: PSelectionData): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_drag_dest_drag_data_received".}
+proc dest_row_drop_possible*(drag_dest: PTreeDragDest, 
+                                       dest_path: PTreePath, 
+                                       selection_data: PSelectionData): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_drag_dest_row_drop_possible".}
+proc tree_set_row_drag_data*(selection_data: PSelectionData, 
+                             tree_model: PTreeModel, path: PTreePath): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_set_row_drag_data".}
+const 
+  bm_TGtkTreeItem_expanded* = 0x0001'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,
+proc TYPE_TREE_ITEM*(): GType
+proc TREE_ITEM*(obj: pointer): PTreeItem
+proc TREE_ITEM_CLASS*(klass: pointer): PTreeItemClass
+proc IS_TREE_ITEM*(obj: pointer): bool
+proc IS_TREE_ITEM_CLASS*(klass: pointer): bool
+proc TREE_ITEM_GET_CLASS*(obj: pointer): PTreeItemClass
+proc TREE_ITEM_SUBTREE*(obj: pointer): PWidget
+proc expanded*(a: var TTreeItem): guint
+proc set_expanded*(a: var TTreeItem, `expanded`: guint)
+proc tree_item_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_tree_item_get_type".}
+proc tree_item_new*(): PTreeItem{.cdecl, dynlib: lib, 
+                                  importc: "gtk_tree_item_new".}
+proc tree_item_new_with_label*(`label`: cstring): PTreeItem{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_item_new_with_label".}
+proc set_subtree*(tree_item: PTreeItem, subtree: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_item_set_subtree".}
+proc remove_subtree*(tree_item: PTreeItem){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_item_remove_subtree".}
+proc select*(tree_item: PTreeItem){.cdecl, dynlib: lib, 
     importc: "gtk_tree_item_select".}
-proc gtk_tree_item_deselect*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib,
+proc deselect*(tree_item: PTreeItem){.cdecl, dynlib: lib, 
     importc: "gtk_tree_item_deselect".}
-proc gtk_tree_item_expand*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib,
+proc expand*(tree_item: PTreeItem){.cdecl, dynlib: lib, 
     importc: "gtk_tree_item_expand".}
-proc gtk_tree_item_collapse*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib,
+proc collapse*(tree_item: PTreeItem){.cdecl, dynlib: lib, 
     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,
+proc TYPE_TREE_SELECTION*(): GType
+proc TREE_SELECTION*(obj: pointer): PTreeSelection
+proc TREE_SELECTION_CLASS*(klass: pointer): PTreeSelectionClass
+proc IS_TREE_SELECTION*(obj: pointer): bool
+proc IS_TREE_SELECTION_CLASS*(klass: pointer): bool
+proc TREE_SELECTION_GET_CLASS*(obj: pointer): PTreeSelectionClass
+proc tree_selection_get_type*(): TType{.cdecl, dynlib: lib, 
+                                        importc: "gtk_tree_selection_get_type".}
+proc set_mode*(selection: PTreeSelection, thetype: TSelectionMode){.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_set_mode".}
+proc get_mode*(selection: PTreeSelection): TSelectionMode{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_selection_get_mode".}
+proc set_select_function*(selection: PTreeSelection, 
+    fun: TTreeSelectionFunc, data: gpointer, destroy: TDestroyNotify){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_selection_set_select_function".}
+proc get_user_data*(selection: PTreeSelection): gpointer{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_selection_get_user_data".}
+proc get_tree_view*(selection: PTreeSelection): PTreeView{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_selection_get_tree_view".}
+proc get_selected*(selection: PTreeSelection, 
+                                  model: PPGtkTreeModel, iter: PTreeIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_get_selected".}
+proc get_selected_rows*(selection: PTreeSelection, 
+                                       model: PPGtkTreeModel): PGList{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_selection_get_selected_rows".}
+proc selected_foreach*(selection: PTreeSelection, 
+                                      fun: TTreeSelectionForeachFunc, 
+                                      data: gpointer){.cdecl, dynlib: lib, 
     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
+proc select_path*(selection: PTreeSelection, path: PTreePath){.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_select_path".}
+proc unselect_path*(selection: PTreeSelection, path: PTreePath){.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_unselect_path".}
+proc select_iter*(selection: PTreeSelection, iter: PTreeIter){.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_select_iter".}
+proc unselect_iter*(selection: PTreeSelection, iter: PTreeIter){.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_unselect_iter".}
+proc path_is_selected*(selection: PTreeSelection, path: PTreePath): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_path_is_selected".}
+proc iter_is_selected*(selection: PTreeSelection, iter: PTreeIter): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_iter_is_selected".}
+proc select_all*(selection: PTreeSelection){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_selection_select_all".}
+proc unselect_all*(selection: PTreeSelection){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_selection_unselect_all".}
+proc select_range*(selection: PTreeSelection, 
+                                  start_path: PTreePath, end_path: PTreePath){.
+    cdecl, dynlib: lib, importc: "gtk_tree_selection_select_range".}
+const 
+  bm_TGtkTreeStore_columns_dirty* = 0x0001'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,
+proc TYPE_TREE_STORE*(): GType
+proc TREE_STORE*(obj: pointer): PTreeStore
+proc TREE_STORE_CLASS*(klass: pointer): PTreeStoreClass
+proc IS_TREE_STORE*(obj: pointer): bool
+proc IS_TREE_STORE_CLASS*(klass: pointer): bool
+proc TREE_STORE_GET_CLASS*(obj: pointer): PTreeStoreClass
+proc columns_dirty*(a: var TTreeStore): guint
+proc set_columns_dirty*(a: var TTreeStore, `columns_dirty`: guint)
+proc tree_store_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_tree_store_get_type".}
+proc tree_store_newv*(n_columns: gint, types: PGType): PTreeStore{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_store_newv".}
+proc set_column_types*(tree_store: PTreeStore, n_columns: gint, 
+                                  types: PGType){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_store_set_column_types".}
+proc set_value*(tree_store: PTreeStore, iter: PTreeIter, 
+                           column: gint, value: PGValue){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_store_set_value".}
+proc remove*(tree_store: PTreeStore, iter: PTreeIter){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_store_remove".}
+proc insert*(tree_store: PTreeStore, iter: PTreeIter, 
+                        parent: PTreeIter, position: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_store_insert".}
+proc insert_before*(tree_store: PTreeStore, iter: PTreeIter, 
+                               parent: PTreeIter, sibling: PTreeIter){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_store_insert_before".}
+proc insert_after*(tree_store: PTreeStore, iter: PTreeIter, 
+                              parent: PTreeIter, sibling: PTreeIter){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_store_insert_after".}
+proc prepend*(tree_store: PTreeStore, iter: PTreeIter, 
+                         parent: PTreeIter){.cdecl, dynlib: lib, 
     importc: "gtk_tree_store_prepend".}
-proc gtk_tree_store_append*(tree_store: PGtkTreeStore, iter: PGtkTreeIter,
-                            parent: PGtkTreeIter){.cdecl, dynlib: gtklib,
+proc append*(tree_store: PTreeStore, iter: PTreeIter, 
+                        parent: PTreeIter){.cdecl, dynlib: lib, 
     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,
+proc is_ancestor*(tree_store: PTreeStore, iter: PTreeIter, 
+                             descendant: PTreeIter): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_store_is_ancestor".}
+proc iter_depth*(tree_store: PTreeStore, iter: PTreeIter): gint{.
+    cdecl, dynlib: lib, importc: "gtk_tree_store_iter_depth".}
+proc clear*(tree_store: PTreeStore){.cdecl, dynlib: lib, 
     importc: "gtk_tree_store_clear".}
-const
-  bm_TGtkTreeViewColumn_visible* = 0x00000001'i16
+const 
+  bm_TGtkTreeViewColumn_visible* = 0x0001'i16
   bp_TGtkTreeViewColumn_visible* = 0'i16
-  bm_TGtkTreeViewColumn_resizable* = 0x00000002'i16
+  bm_TGtkTreeViewColumn_resizable* = 0x0002'i16
   bp_TGtkTreeViewColumn_resizable* = 1'i16
-  bm_TGtkTreeViewColumn_clickable* = 0x00000004'i16
+  bm_TGtkTreeViewColumn_clickable* = 0x0004'i16
   bp_TGtkTreeViewColumn_clickable* = 2'i16
-  bm_TGtkTreeViewColumn_dirty* = 0x00000008'i16
+  bm_TGtkTreeViewColumn_dirty* = 0x0008'i16
   bp_TGtkTreeViewColumn_dirty* = 3'i16
-  bm_TGtkTreeViewColumn_show_sort_indicator* = 0x00000010'i16
+  bm_TGtkTreeViewColumn_show_sort_indicator* = 0x0010'i16
   bp_TGtkTreeViewColumn_show_sort_indicator* = 4'i16
-  bm_TGtkTreeViewColumn_maybe_reordered* = 0x00000020'i16
+  bm_TGtkTreeViewColumn_maybe_reordered* = 0x0020'i16
   bp_TGtkTreeViewColumn_maybe_reordered* = 5'i16
-  bm_TGtkTreeViewColumn_reorderable* = 0x00000040'i16
+  bm_TGtkTreeViewColumn_reorderable* = 0x0040'i16
   bp_TGtkTreeViewColumn_reorderable* = 6'i16
-  bm_TGtkTreeViewColumn_use_resized_width* = 0x00000080'i16
+  bm_TGtkTreeViewColumn_use_resized_width* = 0x0080'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,
+proc TYPE_TREE_VIEW_COLUMN*(): GType
+proc TREE_VIEW_COLUMN*(obj: pointer): PTreeViewColumn
+proc TREE_VIEW_COLUMN_CLASS*(klass: pointer): PTreeViewColumnClass
+proc IS_TREE_VIEW_COLUMN*(obj: pointer): bool
+proc IS_TREE_VIEW_COLUMN_CLASS*(klass: pointer): bool
+proc TREE_VIEW_COLUMN_GET_CLASS*(obj: pointer): PTreeViewColumnClass
+proc visible*(a: var TTreeViewColumn): guint
+proc set_visible*(a: var TTreeViewColumn, `visible`: guint)
+proc resizable*(a: var TTreeViewColumn): guint
+proc set_resizable*(a: var TTreeViewColumn, `resizable`: guint)
+proc clickable*(a: var TTreeViewColumn): guint
+proc set_clickable*(a: var TTreeViewColumn, `clickable`: guint)
+proc dirty*(a: var TTreeViewColumn): guint
+proc set_dirty*(a: var TTreeViewColumn, `dirty`: guint)
+proc show_sort_indicator*(a: var TTreeViewColumn): guint
+proc set_show_sort_indicator*(a: var TTreeViewColumn, 
                               `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,
+proc maybe_reordered*(a: var TTreeViewColumn): guint
+proc set_maybe_reordered*(a: var TTreeViewColumn, `maybe_reordered`: guint)
+proc reorderable*(a: var TTreeViewColumn): guint
+proc set_reorderable*(a: var TTreeViewColumn, `reorderable`: guint)
+proc use_resized_width*(a: var TTreeViewColumn): guint
+proc set_use_resized_width*(a: var TTreeViewColumn, `use_resized_width`: guint)
+proc tree_view_column_get_type*(): TType{.cdecl, dynlib: lib, 
     importc: "gtk_tree_view_column_get_type".}
-proc gtk_tree_view_column_new*(): PGtkTreeViewColumn{.cdecl, dynlib: gtklib,
+proc tree_view_column_new*(): PTreeViewColumn{.cdecl, dynlib: lib, 
     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,
+proc column_pack_start*(tree_column: PTreeViewColumn, 
+                                  cell: PCellRenderer, expand: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_pack_start".}
+proc column_pack_end*(tree_column: PTreeViewColumn, 
+                                cell: PCellRenderer, expand: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_pack_end".}
+proc column_clear*(tree_column: PTreeViewColumn){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_clear".}
+proc column_get_cell_renderers*(tree_column: PTreeViewColumn): PGList{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_cell_renderers".}
+proc column_add_attribute*(tree_column: PTreeViewColumn, 
+                                     cell_renderer: PCellRenderer, 
+                                     attribute: cstring, column: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_add_attribute".}
+proc column_set_cell_data_func*(tree_column: PTreeViewColumn, 
+    cell_renderer: PCellRenderer, fun: TTreeCellDataFunc, func_data: gpointer, 
+    destroy: TDestroyNotify){.cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_cell_data_func".}
+proc column_clear_attributes*(tree_column: PTreeViewColumn, 
+                                        cell_renderer: PCellRenderer){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_clear_attributes".}
+proc column_set_spacing*(tree_column: PTreeViewColumn, spacing: gint){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_spacing".}
+proc column_get_spacing*(tree_column: PTreeViewColumn): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_get_spacing".}
+proc column_set_visible*(tree_column: PTreeViewColumn, 
+                                   visible: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_set_visible".}
+proc column_get_visible*(tree_column: PTreeViewColumn): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_visible".}
+proc column_set_resizable*(tree_column: PTreeViewColumn, 
+                                     resizable: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_set_resizable".}
+proc column_get_resizable*(tree_column: PTreeViewColumn): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_resizable".}
+proc column_set_sizing*(tree_column: PTreeViewColumn, 
+                                  thetype: TTreeViewColumnSizing){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_set_sizing".}
+proc column_get_sizing*(tree_column: PTreeViewColumn): TTreeViewColumnSizing{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_sizing".}
+proc column_get_width*(tree_column: PTreeViewColumn): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_get_width".}
+proc column_get_fixed_width*(tree_column: PTreeViewColumn): gint{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_fixed_width".}
+proc column_set_fixed_width*(tree_column: PTreeViewColumn, 
+                                       fixed_width: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_set_fixed_width".}
+proc column_set_min_width*(tree_column: PTreeViewColumn, 
+                                     min_width: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_set_min_width".}
+proc column_get_min_width*(tree_column: PTreeViewColumn): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_get_min_width".}
+proc column_set_max_width*(tree_column: PTreeViewColumn, 
+                                     max_width: gint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_set_max_width".}
+proc column_get_max_width*(tree_column: PTreeViewColumn): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_get_max_width".}
+proc column_clicked*(tree_column: PTreeViewColumn){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_clicked".}
+proc column_set_title*(tree_column: PTreeViewColumn, title: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_title".}
+proc column_get_title*(tree_column: PTreeViewColumn): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_get_title".}
+proc column_set_clickable*(tree_column: PTreeViewColumn, 
+                                     clickable: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_set_clickable".}
+proc column_get_clickable*(tree_column: PTreeViewColumn): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_clickable".}
+proc column_set_widget*(tree_column: PTreeViewColumn, widget: PWidget){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_widget".}
+proc column_get_widget*(tree_column: PTreeViewColumn): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_get_widget".}
+proc column_set_alignment*(tree_column: PTreeViewColumn, 
+                                     xalign: gfloat){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_set_alignment".}
+proc column_get_alignment*(tree_column: PTreeViewColumn): gfloat{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_alignment".}
+proc column_set_reorderable*(tree_column: PTreeViewColumn, 
+                                       reorderable: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_column_set_reorderable".}
+proc column_get_reorderable*(tree_column: PTreeViewColumn): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_reorderable".}
+proc column_set_sort_column_id*(tree_column: PTreeViewColumn, 
+    sort_column_id: gint){.cdecl, dynlib: lib, 
                            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,
+proc column_get_sort_column_id*(tree_column: PTreeViewColumn): gint{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_sort_column_id".}
+proc column_set_sort_indicator*(tree_column: PTreeViewColumn, 
+    setting: gboolean){.cdecl, dynlib: lib, 
                         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,
+proc column_get_sort_indicator*(tree_column: PTreeViewColumn): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_sort_indicator".}
+proc column_set_sort_order*(tree_column: PTreeViewColumn, 
+                                      order: TSortType){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_set_sort_order".}
+proc column_get_sort_order*(tree_column: PTreeViewColumn): TSortType{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_sort_order".}
+proc column_cell_set_cell_data*(tree_column: PTreeViewColumn, 
+    tree_model: PTreeModel, iter: PTreeIter, is_expander: gboolean, 
+    is_expanded: gboolean){.cdecl, dynlib: lib, 
                             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
+proc column_cell_get_size*(tree_column: PTreeViewColumn, 
+                                     cell_area: gdk2.PRectangle, x_offset: Pgint, 
+                                     y_offset: Pgint, width: Pgint, 
+                                     height: Pgint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_cell_get_size".}
+proc column_cell_is_visible*(tree_column: PTreeViewColumn): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_cell_is_visible".}
+proc column_focus_cell*(tree_column: PTreeViewColumn, 
+                                  cell: PCellRenderer){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_column_focus_cell".}
+proc column_set_expand*(tree_column: PTreeViewColumn, Expand: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_set_expand".}
+proc column_get_expand*(tree_column: PTreeViewColumn): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_column_get_expand".}
+const 
+  RBNODE_BLACK* = 1 shl 0
+  RBNODE_RED* = 1 shl 1
+  RBNODE_IS_PARENT* = 1 shl 2
+  RBNODE_IS_SELECTED* = 1 shl 3
+  RBNODE_IS_PRELIT* = 1 shl 4
+  RBNODE_IS_SEMI_COLLAPSED* = 1 shl 5
+  RBNODE_IS_SEMI_EXPANDED* = 1 shl 6
+  RBNODE_INVALID* = 1 shl 7
+  RBNODE_COLUMN_INVALID* = 1 shl 8
+  RBNODE_DESCENDANTS_INVALID* = 1 shl 9
+  RBNODE_NON_COLORS* = RBNODE_IS_PARENT or RBNODE_IS_SELECTED or
+      RBNODE_IS_PRELIT or RBNODE_IS_SEMI_COLLAPSED or RBNODE_IS_SEMI_EXPANDED or
+      RBNODE_INVALID or RBNODE_COLUMN_INVALID or RBNODE_DESCENDANTS_INVALID
+
+const 
+  bm_TGtkRBNode_flags* = 0x3FFF'i16
   bp_TGtkRBNode_flags* = 0'i16
-  bm_TGtkRBNode_parity* = 0x00004000'i16
+  bm_TGtkRBNode_parity* = 0x4000'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,
+proc flags*(a: PRBNode): guint
+proc set_flags*(a: PRBNode, `flags`: guint)
+proc parity*(a: PRBNode): guint
+proc set_parity*(a: PRBNode, `parity`: guint)
+proc GET_COLOR*(node: PRBNode): guint
+proc SET_COLOR*(node: PRBNode, color: guint)
+proc GET_HEIGHT*(node: PRBNode): gint
+proc SET_FLAG*(node: PRBNode, flag: guint16)
+proc UNSET_FLAG*(node: PRBNode, flag: guint16)
+proc FLAG_SET*(node: PRBNode, flag: guint): bool
+proc rbtree_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: lib, 
+    importc: "_gtk_rbtree_push_allocator".}
+proc rbtree_pop_allocator*(){.cdecl, dynlib: lib, 
+                              importc: "_gtk_rbtree_pop_allocator".}
+proc rbtree_new*(): PRBTree{.cdecl, dynlib: lib, importc: "_gtk_rbtree_new".}
+proc free*(tree: PRBTree){.cdecl, dynlib: lib, 
+                                  importc: "_gtk_rbtree_free".}
+proc remove*(tree: PRBTree){.cdecl, dynlib: lib, 
+                                    importc: "_gtk_rbtree_remove".}
+proc destroy*(tree: PRBTree){.cdecl, dynlib: lib, 
+                                     importc: "_gtk_rbtree_destroy".}
+proc insert_before*(tree: PRBTree, node: PRBNode, height: gint, 
+                           valid: gboolean): PRBNode{.cdecl, dynlib: lib, 
+    importc: "_gtk_rbtree_insert_before".}
+proc insert_after*(tree: PRBTree, node: PRBNode, height: gint, 
+                          valid: gboolean): PRBNode{.cdecl, dynlib: lib, 
+    importc: "_gtk_rbtree_insert_after".}
+proc remove_node*(tree: PRBTree, node: PRBNode){.cdecl, dynlib: lib, 
+    importc: "_gtk_rbtree_remove_node".}
+proc reorder*(tree: PRBTree, new_order: Pgint, length: gint){.cdecl, 
+    dynlib: lib, importc: "_gtk_rbtree_reorder".}
+proc find_count*(tree: PRBTree, count: gint): PRBNode{.cdecl, 
+    dynlib: lib, importc: "_gtk_rbtree_find_count".}
+proc node_set_height*(tree: PRBTree, node: PRBNode, height: gint){.
+    cdecl, dynlib: lib, importc: "_gtk_rbtree_node_set_height".}
+proc node_mark_invalid*(tree: PRBTree, node: PRBNode){.cdecl, 
+    dynlib: lib, importc: "_gtk_rbtree_node_mark_invalid".}
+proc node_mark_valid*(tree: PRBTree, node: PRBNode){.cdecl, dynlib: lib, 
+    importc: "_gtk_rbtree_node_mark_valid".}
+proc column_invalid*(tree: PRBTree){.cdecl, dynlib: lib, 
     importc: "_gtk_rbtree_column_invalid".}
-proc gtk_rbtree_mark_invalid*(tree: PGtkRBTree){.cdecl, dynlib: gtklib,
+proc mark_invalid*(tree: PRBTree){.cdecl, dynlib: lib, 
     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,
+proc set_fixed_height*(tree: PRBTree, height: gint){.cdecl, dynlib: lib, 
+    importc: "_gtk_rbtree_set_fixed_height".}
+proc node_find_offset*(tree: PRBTree, node: PRBNode): gint{.cdecl, 
+    dynlib: lib, importc: "_gtk_rbtree_node_find_offset".}
+proc node_find_parity*(tree: PRBTree, node: PRBNode): gint{.cdecl, 
+    dynlib: lib, importc: "_gtk_rbtree_node_find_parity".}
+proc traverse*(tree: PRBTree, node: PRBNode, order: TGTraverseType, 
+                      fun: TRBTreeTraverseFunc, data: gpointer){.cdecl, 
+    dynlib: lib, importc: "_gtk_rbtree_traverse".}
+proc next*(tree: PRBTree, node: PRBNode): PRBNode{.cdecl, dynlib: lib, 
+    importc: "_gtk_rbtree_next".}
+proc prev*(tree: PRBTree, node: PRBNode): PRBNode{.cdecl, dynlib: lib, 
+    importc: "_gtk_rbtree_prev".}
+proc get_depth*(tree: PRBTree): gint{.cdecl, dynlib: lib, 
     importc: "_gtk_rbtree_get_depth".}
-const
+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
+  TREE_VIEW_IS_LIST* = 1 shl 0
+  TREE_VIEW_SHOW_EXPANDERS* = 1 shl 1
+  TREE_VIEW_IN_COLUMN_RESIZE* = 1 shl 2
+  TREE_VIEW_ARROW_PRELIT* = 1 shl 3
+  TREE_VIEW_HEADERS_VISIBLE* = 1 shl 4
+  TREE_VIEW_DRAW_KEYFOCUS* = 1 shl 5
+  TREE_VIEW_MODEL_SETUP* = 1 shl 6
+  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
+proc SET_FLAG*(tree_view: PTreeView, flag: guint)
+proc UNSET_FLAG*(tree_view: PTreeView, flag: guint)
+proc FLAG_SET*(tree_view: PTreeView, flag: guint): bool
+proc HEADER_HEIGHT*(tree_view: PTreeView): int32
+proc COLUMN_REQUESTED_WIDTH*(column: PTreeViewColumn): int32
+proc DRAW_EXPANDERS*(tree_view: PTreeView): bool
+proc COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PTreeView): int32
+const 
+  bm_TGtkTreeViewPrivate_scroll_to_use_align* = 0x0001'i16
   bp_TGtkTreeViewPrivate_scroll_to_use_align* = 0'i16
-  bm_TGtkTreeViewPrivate_fixed_height_check* = 0x00000002'i16
+  bm_TGtkTreeViewPrivate_fixed_height_check* = 0x0002'i16
   bp_TGtkTreeViewPrivate_fixed_height_check* = 1'i16
-  bm_TGtkTreeViewPrivate_reorderable* = 0x00000004'i16
+  bm_TGtkTreeViewPrivate_reorderable* = 0x0004'i16
   bp_TGtkTreeViewPrivate_reorderable* = 2'i16
-  bm_TGtkTreeViewPrivate_header_has_focus* = 0x00000008'i16
+  bm_TGtkTreeViewPrivate_header_has_focus* = 0x0008'i16
   bp_TGtkTreeViewPrivate_header_has_focus* = 3'i16
-  bm_TGtkTreeViewPrivate_drag_column_window_state* = 0x00000070'i16
+  bm_TGtkTreeViewPrivate_drag_column_window_state* = 0x0070'i16
   bp_TGtkTreeViewPrivate_drag_column_window_state* = 4'i16
-  bm_TGtkTreeViewPrivate_has_rules* = 0x00000080'i16
+  bm_TGtkTreeViewPrivate_has_rules* = 0x0080'i16
   bp_TGtkTreeViewPrivate_has_rules* = 7'i16
-  bm_TGtkTreeViewPrivate_mark_rows_col_dirty* = 0x00000100'i16
+  bm_TGtkTreeViewPrivate_mark_rows_col_dirty* = 0x0100'i16
   bp_TGtkTreeViewPrivate_mark_rows_col_dirty* = 8'i16
-  bm_TGtkTreeViewPrivate_enable_search* = 0x00000200'i16
+  bm_TGtkTreeViewPrivate_enable_search* = 0x0200'i16
   bp_TGtkTreeViewPrivate_enable_search* = 9'i16
-  bm_TGtkTreeViewPrivate_disable_popdown* = 0x00000400'i16
+  bm_TGtkTreeViewPrivate_disable_popdown* = 0x0400'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,
+proc scroll_to_use_align*(a: var TTreeViewPrivate): guint
+proc set_scroll_to_use_align*(a: var TTreeViewPrivate, 
                               `scroll_to_use_align`: guint)
-proc fixed_height_check*(a: var TGtkTreeViewPrivate): guint
-proc set_fixed_height_check*(a: var TGtkTreeViewPrivate,
+proc fixed_height_check*(a: var TTreeViewPrivate): guint
+proc set_fixed_height_check*(a: var TTreeViewPrivate, 
                              `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,
+proc reorderable*(a: var TTreeViewPrivate): guint
+proc set_reorderable*(a: var TTreeViewPrivate, `reorderable`: guint)
+proc header_has_focus*(a: var TTreeViewPrivate): guint
+proc set_header_has_focus*(a: var TTreeViewPrivate, `header_has_focus`: guint)
+proc drag_column_window_state*(a: var TTreeViewPrivate): guint
+proc set_drag_column_window_state*(a: var TTreeViewPrivate, 
                                    `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,
+proc has_rules*(a: var TTreeViewPrivate): guint
+proc set_has_rules*(a: var TTreeViewPrivate, `has_rules`: guint)
+proc mark_rows_col_dirty*(a: var TTreeViewPrivate): guint
+proc set_mark_rows_col_dirty*(a: var TTreeViewPrivate, 
                               `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,
+proc enable_search*(a: var TTreeViewPrivate): guint
+proc set_enable_search*(a: var TTreeViewPrivate, `enable_search`: guint)
+proc disable_popdown*(a: var TTreeViewPrivate): guint
+proc set_disable_popdown*(a: var TTreeViewPrivate, `disable_popdown`: guint)
+proc internal_select_node*(selection: PTreeSelection, 
+    node: PRBNode, tree: PRBTree, path: PTreePath, state: gdk2.TModifierType, 
+    override_browse_mode: gboolean){.cdecl, dynlib: lib, importc: "_gtk_tree_selection_internal_select_node".}
+proc find_node*(tree_view: PTreeView, path: PTreePath, 
+                          tree: var PRBTree, node: var PRBNode): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_find_node".}
+proc find_path*(tree_view: PTreeView, tree: PRBTree, node: PRBNode): PTreePath{.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_find_path".}
+proc child_move_resize*(tree_view: PTreeView, widget: PWidget, 
+                                  x: gint, y: gint, width: gint, height: gint){.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_child_move_resize".}
+proc queue_draw_node*(tree_view: PTreeView, tree: PRBTree, 
+                                node: PRBNode, clip_rect: gdk2.PRectangle){.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_queue_draw_node".}
+proc column_realize_button*(column: PTreeViewColumn){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_column_realize_button".}
+proc column_unrealize_button*(column: PTreeViewColumn){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_column_unrealize_button".}
+proc column_set_tree_view*(column: PTreeViewColumn, 
+                                     tree_view: PTreeView){.cdecl, dynlib: lib, 
+    importc: "_gtk_tree_view_column_set_tree_view".}
+proc column_unset_tree_view*(column: PTreeViewColumn){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_column_unset_tree_view".}
+proc column_set_width*(column: PTreeViewColumn, width: gint){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_column_set_width".}
+proc column_start_drag*(tree_view: PTreeView, column: PTreeViewColumn){.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_column_start_drag".}
+proc column_start_editing*(tree_column: PTreeViewColumn, 
+                                     editable_widget: PCellEditable){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_column_start_editing".}
+proc column_stop_editing*(tree_column: PTreeViewColumn){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_column_stop_editing".}
+proc install_mark_rows_col_dirty*(tree_view: PTreeView){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_install_mark_rows_col_dirty".}
+proc DOgtk_tree_view_column_autosize*(tree_view: PTreeView, 
+                                      column: PTreeViewColumn){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_column_autosize".}
+proc column_has_editable_cell*(column: PTreeViewColumn): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_column_has_editable_cell".}
+proc column_get_edited_cell*(column: PTreeViewColumn): PCellRenderer{.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_column_get_edited_cell".}
+proc column_count_special_cells*(column: PTreeViewColumn): gint{.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_column_count_special_cells".}
+proc column_get_cell_at_pos*(column: PTreeViewColumn, x: gint): PCellRenderer{.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_column_get_cell_at_pos".}
+proc tree_selection_new*(): PTreeSelection{.cdecl, dynlib: lib, 
     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,
+proc selection_new_with_tree_view*(tree_view: PTreeView): PTreeSelection{.
+    cdecl, dynlib: lib, importc: "_gtk_tree_selection_new_with_tree_view".}
+proc set_tree_view*(selection: PTreeSelection, 
+                                   tree_view: PTreeView){.cdecl, dynlib: lib, 
+    importc: "_gtk_tree_selection_set_tree_view".}
+proc column_cell_render*(tree_column: PTreeViewColumn, 
+                                   window: gdk2.PWindow, 
+                                   background_area: gdk2.PRectangle, 
+                                   cell_area: gdk2.PRectangle, 
+                                   expose_area: gdk2.PRectangle, flags: guint){.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_column_cell_render".}
+proc column_cell_focus*(tree_column: PTreeViewColumn, direction: gint, 
+                                  left: gboolean, right: gboolean): gboolean{.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_column_cell_focus".}
+proc column_cell_draw_focus*(tree_column: PTreeViewColumn, 
+                                       window: gdk2.PWindow, 
+                                       background_area: gdk2.PRectangle, 
+                                       cell_area: gdk2.PRectangle, 
+                                       expose_area: gdk2.PRectangle, flags: guint){.
+    cdecl, dynlib: lib, importc: "_gtk_tree_view_column_cell_draw_focus".}
+proc column_cell_set_dirty*(tree_column: PTreeViewColumn, 
+                                      install_handler: gboolean){.cdecl, 
+    dynlib: lib, importc: "_gtk_tree_view_column_cell_set_dirty".}
+proc column_get_neighbor_sizes*(column: PTreeViewColumn, 
+    cell: PCellRenderer, left: Pgint, right: Pgint){.cdecl, dynlib: lib, 
     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,
+proc TYPE_TREE_VIEW*(): GType
+proc TREE_VIEW*(obj: pointer): PTreeView
+proc TREE_VIEW_CLASS*(klass: pointer): PTreeViewClass
+proc IS_TREE_VIEW*(obj: pointer): bool
+proc IS_TREE_VIEW_CLASS*(klass: pointer): bool
+proc TREE_VIEW_GET_CLASS*(obj: pointer): PTreeViewClass
+proc tree_view_get_type*(): TType{.cdecl, dynlib: lib, 
+                                   importc: "gtk_tree_view_get_type".}
+proc tree_view_new*(): PTreeView{.cdecl, dynlib: lib, 
+                                  importc: "gtk_tree_view_new".}
+proc view_new_with_model*(model: PTreeModel): PTreeView{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_new_with_model".}
+proc get_model*(tree_view: PTreeView): PTreeModel{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_get_model".}
+proc set_model*(tree_view: PTreeView, model: PTreeModel){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_set_model".}
+proc get_selection*(tree_view: PTreeView): PTreeSelection{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_selection".}
+proc get_hadjustment*(tree_view: PTreeView): PAdjustment{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_hadjustment".}
+proc set_hadjustment*(tree_view: PTreeView, adjustment: PAdjustment){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_set_hadjustment".}
+proc get_vadjustment*(tree_view: PTreeView): PAdjustment{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_vadjustment".}
+proc set_vadjustment*(tree_view: PTreeView, adjustment: PAdjustment){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_set_vadjustment".}
+proc get_headers_visible*(tree_view: PTreeView): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_headers_visible".}
+proc set_headers_visible*(tree_view: PTreeView, 
+                                    headers_visible: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_set_headers_visible".}
+proc columns_autosize*(tree_view: PTreeView){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_columns_autosize".}
+proc set_headers_clickable*(tree_view: PTreeView, setting: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_set_headers_clickable".}
+proc set_rules_hint*(tree_view: PTreeView, setting: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_set_rules_hint".}
+proc get_rules_hint*(tree_view: PTreeView): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_rules_hint".}
+proc append_column*(tree_view: PTreeView, column: PTreeViewColumn): gint{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_append_column".}
+proc remove_column*(tree_view: PTreeView, column: PTreeViewColumn): gint{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_remove_column".}
+proc insert_column*(tree_view: PTreeView, column: PTreeViewColumn, 
+                              position: gint): gint{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_insert_column".}
+proc insert_column_with_data_func*(tree_view: PTreeView, 
+    position: gint, title: cstring, cell: PCellRenderer, 
+    fun: TTreeCellDataFunc, data: gpointer, dnotify: TGDestroyNotify): gint{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_insert_column_with_data_func".}
+proc get_column*(tree_view: PTreeView, n: gint): PTreeViewColumn{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_get_column".}
+proc get_columns*(tree_view: PTreeView): PGList{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_get_columns".}
+proc move_column_after*(tree_view: PTreeView, column: PTreeViewColumn, 
+                                  base_column: PTreeViewColumn){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_move_column_after".}
+proc set_expander_column*(tree_view: PTreeView, 
+                                    column: PTreeViewColumn){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_set_expander_column".}
+proc get_expander_column*(tree_view: PTreeView): PTreeViewColumn{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_get_expander_column".}
+proc set_column_drag_function*(tree_view: PTreeView, 
+    fun: TTreeViewColumnDropFunc, user_data: gpointer, destroy: TDestroyNotify){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_set_column_drag_function".}
+proc scroll_to_point*(tree_view: PTreeView, tree_x: gint, tree_y: gint){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_scroll_to_point".}
+proc scroll_to_cell*(tree_view: PTreeView, path: PTreePath, 
+                               column: PTreeViewColumn, use_align: gboolean, 
+                               row_align: gfloat, col_align: gfloat){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_scroll_to_cell".}
+proc row_activated*(tree_view: PTreeView, path: PTreePath, 
+                              column: PTreeViewColumn){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_row_activated".}
+proc expand_all*(tree_view: PTreeView){.cdecl, dynlib: lib, 
     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,
+proc collapse_all*(tree_view: PTreeView){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_collapse_all".}
+proc expand_row*(tree_view: PTreeView, path: PTreePath, 
+                           open_all: gboolean): gboolean{.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_expand_row".}
+proc collapse_row*(tree_view: PTreeView, path: PTreePath): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_collapse_row".}
+proc map_expanded_rows*(tree_view: PTreeView, 
+                                  fun: TTreeViewMappingFunc, data: gpointer){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_map_expanded_rows".}
+proc row_expanded*(tree_view: PTreeView, path: PTreePath): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_row_expanded".}
+proc set_reorderable*(tree_view: PTreeView, reorderable: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_set_reorderable".}
+proc get_reorderable*(tree_view: PTreeView): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_reorderable".}
+proc set_cursor*(tree_view: PTreeView, path: PTreePath, 
+                           focus_column: PTreeViewColumn, 
+                           start_editing: gboolean){.cdecl, dynlib: lib, 
     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 =
+proc set_cursor_on_cell*(tree_view: PTreeView, path: PTreePath, 
+                                   focus_column: PTreeViewColumn, 
+                                   focus_cell: PCellRenderer, 
+                                   start_editing: gboolean){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_set_cursor_on_cell".}
+proc get_bin_window*(tree_view: PTreeView): gdk2.PWindow{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_bin_window".}
+proc get_cell_area*(tree_view: PTreeView, path: PTreePath, 
+                              column: PTreeViewColumn, rect: gdk2.PRectangle){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_get_cell_area".}
+proc get_background_area*(tree_view: PTreeView, path: PTreePath, 
+                                    column: PTreeViewColumn, rect: gdk2.PRectangle){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_get_background_area".}
+proc get_visible_rect*(tree_view: PTreeView, 
+                                 visible_rect: gdk2.PRectangle){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_visible_rect".}
+proc widget_to_tree_coords*(tree_view: PTreeView, wx: gint, wy: gint, 
+                                      tx: Pgint, ty: Pgint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_widget_to_tree_coords".}
+proc tree_to_widget_coords*(tree_view: PTreeView, tx: gint, ty: gint, 
+                                      wx: Pgint, wy: Pgint){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_tree_to_widget_coords".}
+proc enable_model_drag_source*(tree_view: PTreeView, 
+    start_button_mask: gdk2.TModifierType, targets: PTargetEntry, n_targets: gint, 
+    actions: gdk2.TDragAction){.cdecl, dynlib: lib, 
+                              importc: "gtk_tree_view_enable_model_drag_source".}
+proc enable_model_drag_dest*(tree_view: PTreeView, 
+                                       targets: PTargetEntry, n_targets: gint, 
+                                       actions: gdk2.TDragAction){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_enable_model_drag_dest".}
+proc unset_rows_drag_source*(tree_view: PTreeView){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_unset_rows_drag_source".}
+proc unset_rows_drag_dest*(tree_view: PTreeView){.cdecl, dynlib: lib, 
+    importc: "gtk_tree_view_unset_rows_drag_dest".}
+proc set_drag_dest_row*(tree_view: PTreeView, path: PTreePath, 
+                                  pos: TTreeViewDropPosition){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_set_drag_dest_row".}
+proc create_row_drag_icon*(tree_view: PTreeView, path: PTreePath): gdk2.PPixmap{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_create_row_drag_icon".}
+proc set_enable_search*(tree_view: PTreeView, enable_search: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_set_enable_search".}
+proc get_enable_search*(tree_view: PTreeView): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_enable_search".}
+proc get_search_column*(tree_view: PTreeView): gint{.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_get_search_column".}
+proc set_search_column*(tree_view: PTreeView, column: gint){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_set_search_column".}
+proc get_search_equal_func*(tree_view: PTreeView): TTreeViewSearchEqualFunc{.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_get_search_equal_func".}
+proc set_search_equal_func*(tree_view: PTreeView, search_equal_func: TTreeViewSearchEqualFunc, 
+                                      search_user_data: gpointer, 
+                                      search_destroy: TDestroyNotify){.cdecl, 
+    dynlib: lib, importc: "gtk_tree_view_set_search_equal_func".}
+proc set_destroy_count_func*(tree_view: PTreeView, 
+                                       fun: TTreeDestroyCountFunc, 
+                                       data: gpointer, destroy: TDestroyNotify){.
+    cdecl, dynlib: lib, importc: "gtk_tree_view_set_destroy_count_func".}
+proc TYPE_VBUTTON_BOX*(): GType
+proc VBUTTON_BOX*(obj: pointer): PVButtonBox
+proc VBUTTON_BOX_CLASS*(klass: pointer): PVButtonBoxClass
+proc IS_VBUTTON_BOX*(obj: pointer): bool
+proc IS_VBUTTON_BOX_CLASS*(klass: pointer): bool
+proc VBUTTON_BOX_GET_CLASS*(obj: pointer): PVButtonBoxClass
+proc vbutton_box_get_type*(): TType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_vbutton_box_get_type".}
+proc vbutton_box_new*(): PVButtonBox{.cdecl, dynlib: lib, 
+                                      importc: "gtk_vbutton_box_new".}
+proc TYPE_VIEWPORT*(): GType
+proc VIEWPORT*(obj: pointer): PViewport
+proc VIEWPORT_CLASS*(klass: pointer): PViewportClass
+proc IS_VIEWPORT*(obj: pointer): bool
+proc IS_VIEWPORT_CLASS*(klass: pointer): bool
+proc VIEWPORT_GET_CLASS*(obj: pointer): PViewportClass
+proc viewport_get_type*(): TType{.cdecl, dynlib: lib, 
+                                  importc: "gtk_viewport_get_type".}
+proc viewport_new*(hadjustment: PAdjustment, vadjustment: PAdjustment): PViewport{.
+    cdecl, dynlib: lib, importc: "gtk_viewport_new".}
+proc get_hadjustment*(viewport: PViewport): PAdjustment{.cdecl, 
+    dynlib: lib, importc: "gtk_viewport_get_hadjustment".}
+proc get_vadjustment*(viewport: PViewport): PAdjustment{.cdecl, 
+    dynlib: lib, importc: "gtk_viewport_get_vadjustment".}
+proc set_hadjustment*(viewport: PViewport, adjustment: PAdjustment){.
+    cdecl, dynlib: lib, importc: "gtk_viewport_set_hadjustment".}
+proc set_vadjustment*(viewport: PViewport, adjustment: PAdjustment){.
+    cdecl, dynlib: lib, importc: "gtk_viewport_set_vadjustment".}
+proc set_shadow_type*(viewport: PViewport, thetype: TShadowType){.
+    cdecl, dynlib: lib, importc: "gtk_viewport_set_shadow_type".}
+proc get_shadow_type*(viewport: PViewport): TShadowType{.cdecl, 
+    dynlib: lib, importc: "gtk_viewport_get_shadow_type".}
+proc TYPE_VPANED*(): GType
+proc VPANED*(obj: pointer): PVPaned
+proc VPANED_CLASS*(klass: pointer): PVPanedClass
+proc IS_VPANED*(obj: pointer): bool
+proc IS_VPANED_CLASS*(klass: pointer): bool
+proc VPANED_GET_CLASS*(obj: pointer): PVPanedClass
+proc vpaned_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_vpaned_get_type".}
+proc vpaned_new*(): PVPaned{.cdecl, dynlib: lib, importc: "gtk_vpaned_new".}
+proc TYPE_VRULER*(): GType
+proc VRULER*(obj: pointer): PVRuler
+proc VRULER_CLASS*(klass: pointer): PVRulerClass
+proc IS_VRULER*(obj: pointer): bool
+proc IS_VRULER_CLASS*(klass: pointer): bool
+proc VRULER_GET_CLASS*(obj: pointer): PVRulerClass
+proc vruler_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_vruler_get_type".}
+proc vruler_new*(): PVRuler{.cdecl, dynlib: lib, importc: "gtk_vruler_new".}
+proc TYPE_VSCALE*(): GType
+proc VSCALE*(obj: pointer): PVScale
+proc VSCALE_CLASS*(klass: pointer): PVScaleClass
+proc IS_VSCALE*(obj: pointer): bool
+proc IS_VSCALE_CLASS*(klass: pointer): bool
+proc VSCALE_GET_CLASS*(obj: pointer): PVScaleClass
+proc vscale_get_type*(): TType{.cdecl, dynlib: lib, 
+                                importc: "gtk_vscale_get_type".}
+proc vscale_new*(adjustment: PAdjustment): PVScale{.cdecl, dynlib: lib, 
+    importc: "gtk_vscale_new".}
+proc vscale_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PVScale{.
+    cdecl, dynlib: lib, importc: "gtk_vscale_new_with_range".}
+proc TYPE_VSCROLLBAR*(): GType
+proc VSCROLLBAR*(obj: pointer): PVScrollbar
+proc VSCROLLBAR_CLASS*(klass: pointer): PVScrollbarClass
+proc IS_VSCROLLBAR*(obj: pointer): bool
+proc IS_VSCROLLBAR_CLASS*(klass: pointer): bool
+proc VSCROLLBAR_GET_CLASS*(obj: pointer): PVScrollbarClass
+proc vscrollbar_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_vscrollbar_get_type".}
+proc vscrollbar_new*(adjustment: PAdjustment): PVScrollbar{.cdecl, dynlib: lib, 
+    importc: "gtk_vscrollbar_new".}
+proc TYPE_VSEPARATOR*(): GType
+proc VSEPARATOR*(obj: pointer): PVSeparator
+proc VSEPARATOR_CLASS*(klass: pointer): PVSeparatorClass
+proc IS_VSEPARATOR*(obj: pointer): bool
+proc IS_VSEPARATOR_CLASS*(klass: pointer): bool
+proc VSEPARATOR_GET_CLASS*(obj: pointer): PVSeparatorClass
+proc vseparator_get_type*(): TType{.cdecl, dynlib: lib, 
+                                    importc: "gtk_vseparator_get_type".}
+proc vseparator_new*(): PVSeparator{.cdecl, dynlib: lib, 
+                                     importc: "gtk_vseparator_new".}
+proc TYPE_OBJECT*(): GType = 
+  result = gtk2.object_get_type()
+
+proc 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 =
+proc 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 =
+proc 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 =
+proc 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 =
+proc 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 `OBJECT`*(anObject: pointer): PObject = 
+  result = cast[PObject](CHECK_CAST(anObject, gtk2.TYPE_OBJECT()))
 
-proc GTK_OBJECT_CLASS*(klass: pointer): PGtkObjectClass =
-  result = cast[PGtkObjectClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_OBJECT()))
+proc OBJECT_CLASS*(klass: pointer): PObjectClass = 
+  result = cast[PObjectClass](CHECK_CLASS_CAST(klass, gtk2.TYPE_OBJECT()))
 
-proc GTK_IS_OBJECT*(anObject: pointer): bool =
-  result = GTK_CHECK_TYPE(anObject, GTK_TYPE_OBJECT())
+proc IS_OBJECT*(anObject: pointer): bool = 
+  result = CHECK_TYPE(anObject, gtk2.TYPE_OBJECT())
 
-proc GTK_IS_OBJECT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OBJECT())
+proc IS_OBJECT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, gtk2.TYPE_OBJECT())
 
-proc GTK_OBJECT_GET_CLASS*(anObject: pointer): PGtkObjectClass =
-  result = cast[PGtkObjectClass](GTK_CHECK_GET_CLASS(anObject, GTK_TYPE_OBJECT()))
+proc OBJECT_GET_CLASS*(anObject: pointer): PObjectClass = 
+  result = cast[PObjectClass](CHECK_GET_CLASS(anObject, gtk2.TYPE_OBJECT()))
 
-proc GTK_OBJECT_TYPE*(anObject: pointer): GType =
+proc 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 OBJECT_TYPE_NAME*(anObject: pointer): cstring = 
+  result = g_type_name(OBJECT_TYPE(anObject))
 
-proc GTK_OBJECT_FLAGS*(obj: pointer): guint32 =
-  result = (GTK_OBJECT(obj)).flags
+proc OBJECT_FLAGS*(obj: pointer): guint32 = 
+  result = (gtk2.`OBJECT`(obj)).flags
 
-proc GTK_OBJECT_FLOATING*(obj: pointer): gboolean =
-  result = ((GTK_OBJECT_FLAGS(obj)) and cint(GTK_FLOATING)) != 0'i32
+proc OBJECT_FLOATING*(obj: pointer): gboolean = 
+  result = ((OBJECT_FLAGS(obj)) and cint(FLOATING)) != 0'i32
 
-proc GTK_OBJECT_SET_FLAGS*(obj: pointer, flag: guint32) =
-  GTK_OBJECT(obj).flags = GTK_OBJECT(obj).flags or flag
+proc OBJECT_SET_FLAGS*(obj: pointer, flag: guint32) = 
+  gtk2.`OBJECT`(obj).flags = gtk2.`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 OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32) = 
+  gtk2.`OBJECT`(obj).flags = gtk2.`OBJECT`(obj).flags and not (flag)
 
-proc gtk_object_data_try_key*(`string`: cstring): TGQuark =
+proc object_data_try_key*(`string`: cstring): TGQuark = 
   result = g_quark_try_string(`string`)
 
-proc gtk_object_data_force_id*(`string`: cstring): TGQuark =
+proc object_data_force_id*(`string`: cstring): TGQuark = 
   result = g_quark_from_string(`string`)
 
-proc GTK_CLASS_NAME*(`class`: pointer): cstring =
+proc CLASS_NAME*(`class`: pointer): cstring = 
   result = g_type_name(G_TYPE_FROM_CLASS(`class`))
 
-proc GTK_CLASS_TYPE*(`class`: pointer): GType =
+proc 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 TYPE_IS_OBJECT*(thetype: GType): gboolean = 
+  result = g_type_is_a(thetype, gtk2.TYPE_OBJECT())
 
-proc GTK_TYPE_IDENTIFIER*(): GType =
-  result = gtk_identifier_get_type()
+proc TYPE_IDENTIFIER*(): GType = 
+  result = identifier_get_type()
 
-proc GTK_SIGNAL_FUNC*(f: pointer): TGtkSignalFunc =
-  result = cast[TGtkSignalFunc](f)
+proc SIGNAL_FUNC*(f: pointer): TSignalFunc = 
+  result = cast[TSignalFunc](f)
 
-proc gtk_type_name*(thetype: GType): cstring =
+proc type_name*(thetype: GType): cstring = 
   result = g_type_name(thetype)
 
-proc gtk_type_from_name*(name: cstring): GType =
+proc type_from_name*(name: cstring): GType = 
   result = g_type_from_name(name)
 
-proc gtk_type_parent*(thetype: GType): GType =
+proc type_parent*(thetype: GType): GType = 
   result = g_type_parent(thetype)
 
-proc gtk_type_is_a*(thetype, is_a_type: GType): gboolean =
+proc 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 =
+proc FUNDAMENTAL_TYPE*(thetype: GType): GType = 
   result = G_TYPE_FUNDAMENTAL(thetype)
 
-proc GTK_VALUE_CHAR*(a: TGtkArg): gchar =
+proc VALUE_CHAR*(a: TArg): gchar = 
   var a = a
-  Result = cast[ptr gchar](addr(a.d))^
+  Result = cast[ptr gchar](addr(a.d))^ 
 
-proc GTK_VALUE_UCHAR*(a: TGtkArg): guchar =
+proc VALUE_UCHAR*(a: TArg): guchar = 
   var a = a
-  Result = cast[ptr guchar](addr(a.d))^
+  Result = cast[ptr guchar](addr(a.d))^ 
 
-proc GTK_VALUE_BOOL*(a: TGtkArg): gboolean =
+proc VALUE_BOOL*(a: TArg): gboolean = 
   var a = a
-  Result = cast[ptr gboolean](addr(a.d))^
+  Result = cast[ptr gboolean](addr(a.d))^ 
 
-proc GTK_VALUE_INT*(a: TGtkArg): gint =
+proc VALUE_INT*(a: TArg): gint = 
   var a = a
-  Result = cast[ptr gint](addr(a.d))^
+  Result = cast[ptr gint](addr(a.d))^ 
 
-proc GTK_VALUE_UINT*(a: TGtkArg): guint =
+proc VALUE_UINT*(a: TArg): guint = 
   var a = a
-  Result = cast[ptr guint](addr(a.d))^
+  Result = cast[ptr guint](addr(a.d))^ 
 
-proc GTK_VALUE_LONG*(a: TGtkArg): glong =
+proc VALUE_LONG*(a: TArg): glong = 
   var a = a
-  Result = cast[ptr glong](addr(a.d))^
+  Result = cast[ptr glong](addr(a.d))^ 
 
-proc GTK_VALUE_ULONG*(a: TGtkArg): gulong =
+proc VALUE_ULONG*(a: TArg): gulong = 
   var a = a
-  Result = cast[ptr gulong](addr(a.d))^
+  Result = cast[ptr gulong](addr(a.d))^ 
 
-proc GTK_VALUE_FLOAT*(a: TGtkArg): gfloat =
+proc VALUE_FLOAT*(a: TArg): gfloat = 
   var a = a
-  Result = cast[ptr gfloat](addr(a.d))^
+  Result = cast[ptr gfloat](addr(a.d))^ 
 
-proc GTK_VALUE_DOUBLE*(a: TGtkArg): gdouble =
+proc VALUE_DOUBLE*(a: TArg): gdouble = 
   var a = a
-  Result = cast[ptr gdouble](addr(a.d))^
+  Result = cast[ptr gdouble](addr(a.d))^ 
 
-proc GTK_VALUE_STRING*(a: TGtkArg): cstring =
+proc VALUE_STRING*(a: TArg): cstring = 
   var a = a
-  Result = cast[ptr cstring](addr(a.d))^
+  Result = cast[ptr cstring](addr(a.d))^ 
 
-proc GTK_VALUE_ENUM*(a: TGtkArg): gint =
+proc VALUE_ENUM*(a: TArg): gint = 
   var a = a
-  Result = cast[ptr gint](addr(a.d))^
+  Result = cast[ptr gint](addr(a.d))^ 
 
-proc GTK_VALUE_FLAGS*(a: TGtkArg): guint =
+proc VALUE_FLAGS*(a: TArg): guint = 
   var a = a
-  Result = cast[ptr guint](addr(a.d))^
+  Result = cast[ptr guint](addr(a.d))^ 
 
-proc GTK_VALUE_BOXED*(a: TGtkArg): gpointer =
+proc VALUE_BOXED*(a: TArg): gpointer = 
   var a = a
-  Result = cast[ptr gpointer](addr(a.d))^
+  Result = cast[ptr gpointer](addr(a.d))^ 
 
-proc GTK_VALUE_OBJECT*(a: TGtkArg): PGtkObject =
+proc VALUE_OBJECT*(a: TArg): PObject = 
   var a = a
-  Result = cast[ptr PGtkObject](addr(a.d))^
+  Result = cast[ptr PObject](addr(a.d))^ 
 
-proc GTK_VALUE_POINTER*(a: TGtkArg): GPointer =
+proc VALUE_POINTER*(a: TArg): GPointer = 
   var a = a
-  Result = cast[ptr gpointer](addr(a.d))^
+  Result = cast[ptr gpointer](addr(a.d))^ 
 
-proc GTK_VALUE_SIGNAL*(a: TGtkArg): TGtkArgSignalData =
+proc VALUE_SIGNAL*(a: TArg): TArgSignalData = 
   var a = a
-  Result = cast[ptr TGtkArgSignalData](addr(a.d))^
+  Result = cast[ptr TArgSignalData](addr(a.d))^ 
 
-proc GTK_RETLOC_CHAR*(a: TGtkArg): cstring =
+proc RETLOC_CHAR*(a: TArg): cstring = 
   var a = a
-  Result = cast[ptr cstring](addr(a.d))^
+  Result = cast[ptr cstring](addr(a.d))^ 
 
-proc GTK_RETLOC_UCHAR*(a: TGtkArg): Pguchar =
+proc RETLOC_UCHAR*(a: TArg): Pguchar = 
   var a = a
-  Result = cast[ptr pguchar](addr(a.d))^
+  Result = cast[ptr pguchar](addr(a.d))^ 
 
-proc GTK_RETLOC_BOOL*(a: TGtkArg): Pgboolean =
+proc RETLOC_BOOL*(a: TArg): Pgboolean = 
   var a = a
-  Result = cast[ptr pgboolean](addr(a.d))^
+  Result = cast[ptr pgboolean](addr(a.d))^ 
 
-proc GTK_RETLOC_INT*(a: TGtkArg): Pgint =
+proc RETLOC_INT*(a: TArg): Pgint = 
   var a = a
-  Result = cast[ptr pgint](addr(a.d))^
+  Result = cast[ptr pgint](addr(a.d))^ 
 
-proc GTK_RETLOC_UINT*(a: TGtkArg): Pguint =
+proc RETLOC_UINT*(a: TArg): Pguint = 
   var a = a
-  Result = cast[ptr pguint](addr(a.d))^
+  Result = cast[ptr pguint](addr(a.d))^ 
 
-proc GTK_RETLOC_LONG*(a: TGtkArg): Pglong =
+proc RETLOC_LONG*(a: TArg): Pglong = 
   var a = a
-  Result = cast[ptr pglong](addr(a.d))^
+  Result = cast[ptr pglong](addr(a.d))^ 
 
-proc GTK_RETLOC_ULONG*(a: TGtkArg): Pgulong =
+proc RETLOC_ULONG*(a: TArg): Pgulong = 
   var a = a
-  Result = cast[ptr pgulong](addr(a.d))^
+  Result = cast[ptr pgulong](addr(a.d))^ 
 
-proc GTK_RETLOC_FLOAT*(a: TGtkArg): Pgfloat =
+proc RETLOC_FLOAT*(a: TArg): Pgfloat = 
   var a = a
-  Result = cast[ptr pgfloat](addr(a.d))^
+  Result = cast[ptr pgfloat](addr(a.d))^ 
 
-proc GTK_RETLOC_DOUBLE*(a: TGtkArg): Pgdouble =
+proc RETLOC_DOUBLE*(a: TArg): Pgdouble = 
   var a = a
-  Result = cast[ptr pgdouble](addr(a.d))^
+  Result = cast[ptr pgdouble](addr(a.d))^ 
 
-proc GTK_RETLOC_STRING*(a: TGtkArg): Ppgchar =
+proc RETLOC_STRING*(a: TArg): Ppgchar = 
   var a = a
-  Result = cast[ptr Ppgchar](addr(a.d))^
+  Result = cast[ptr Ppgchar](addr(a.d))^ 
 
-proc GTK_RETLOC_ENUM*(a: TGtkArg): Pgint =
+proc RETLOC_ENUM*(a: TArg): Pgint = 
   var a = a
-  Result = cast[ptr Pgint](addr(a.d))^
+  Result = cast[ptr Pgint](addr(a.d))^ 
 
-proc GTK_RETLOC_FLAGS*(a: TGtkArg): Pguint =
+proc RETLOC_FLAGS*(a: TArg): Pguint = 
   var a = a
-  Result = cast[ptr pguint](addr(a.d))^
+  Result = cast[ptr pguint](addr(a.d))^ 
 
-proc GTK_RETLOC_BOXED*(a: TGtkArg): Pgpointer =
+proc RETLOC_BOXED*(a: TArg): Pgpointer = 
   var a = a
-  Result = cast[ptr pgpointer](addr(a.d))^
+  Result = cast[ptr pgpointer](addr(a.d))^ 
 
-proc GTK_RETLOC_OBJECT*(a: TGtkArg): PPGtkObject =
+proc RETLOC_OBJECT*(a: TArg): PPGtkObject = 
   var a = a
-  Result = cast[ptr ppgtkobject](addr(a.d))^
+  Result = cast[ptr ppgtkobject](addr(a.d))^ 
 
-proc GTK_RETLOC_POINTER*(a: TGtkArg): Pgpointer =
+proc RETLOC_POINTER*(a: TArg): Pgpointer = 
   var a = a
-  Result = cast[ptr pgpointer](addr(a.d))^
+  Result = cast[ptr pgpointer](addr(a.d))^ 
 
-proc GTK_TYPE_WIDGET*(): GType =
-  result = gtk_widget_get_type()
+proc TYPE_WIDGET*(): GType = 
+  result = widget_get_type()
 
-proc GTK_WIDGET*(widget: pointer): PGtkWidget =
-  result = cast[PGtkWidget](GTK_CHECK_CAST(widget, GTK_TYPE_WIDGET()))
+proc WIDGET*(widget: pointer): PWidget = 
+  result = cast[PWidget](CHECK_CAST(widget, TYPE_WIDGET()))
 
-proc GTK_WIDGET_CLASS*(klass: pointer): PGtkWidgetClass =
-  result = cast[PGtkWidgetClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_WIDGET()))
+proc WIDGET_CLASS*(klass: pointer): PWidgetClass = 
+  result = cast[PWidgetClass](CHECK_CLASS_CAST(klass, TYPE_WIDGET()))
 
-proc GTK_IS_WIDGET*(widget: pointer): bool =
-  result = GTK_CHECK_TYPE(widget, GTK_TYPE_WIDGET())
+proc IS_WIDGET*(widget: pointer): bool = 
+  result = CHECK_TYPE(widget, TYPE_WIDGET())
 
-proc GTK_IS_WIDGET_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_WIDGET())
+proc IS_WIDGET_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_WIDGET())
 
-proc GTK_WIDGET_GET_CLASS*(obj: pointer): PGtkWidgetClass =
-  result = cast[PGtkWidgetClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_WIDGET()))
+proc WIDGET_GET_CLASS*(obj: pointer): PWidgetClass = 
+  result = cast[PWidgetClass](CHECK_GET_CLASS(obj, TYPE_WIDGET()))
 
-proc GTK_WIDGET_TYPE*(wid: pointer): GType =
-  result = GTK_OBJECT_TYPE(wid)
+proc WIDGET_TYPE*(wid: pointer): GType = 
+  result = OBJECT_TYPE(wid)
 
-proc GTK_WIDGET_STATE*(wid: pointer): int32 =
-  result = (GTK_WIDGET(wid)) . state
+proc WIDGET_STATE*(wid: pointer): int32 = 
+  result = (WIDGET(wid)).state
 
-proc GTK_WIDGET_SAVED_STATE*(wid: pointer): int32 =
-  result = (GTK_WIDGET(wid)) . saved_state
+proc WIDGET_SAVED_STATE*(wid: pointer): int32 = 
+  result = (WIDGET(wid)).saved_state
 
-proc GTK_WIDGET_FLAGS*(wid: pointer): guint32 =
-  result = GTK_OBJECT_FLAGS(wid)
+proc WIDGET_FLAGS*(wid: pointer): guint32 = 
+  result = OBJECT_FLAGS(wid)
 
-proc GTK_WIDGET_TOPLEVEL*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_TOPLEVEL)) != 0'i32
+proc WIDGET_TOPLEVEL*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(TOPLEVEL)) != 0'i32
 
-proc GTK_WIDGET_NO_WINDOW*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_NO_WINDOW)) != 0'i32
+proc WIDGET_NO_WINDOW*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(NO_WINDOW)) != 0'i32
 
-proc GTK_WIDGET_REALIZED*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_REALIZED)) != 0'i32
+proc WIDGET_REALIZED*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(constREALIZED)) != 0'i32
 
-proc GTK_WIDGET_MAPPED*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_MAPPED)) != 0'i32
+proc WIDGET_MAPPED*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(MAPPED)) != 0'i32
 
-proc GTK_WIDGET_VISIBLE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_VISIBLE)) != 0'i32
+proc WIDGET_VISIBLE*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(constVISIBLE)) != 0'i32
 
-proc GTK_WIDGET_DRAWABLE*(wid: pointer): gboolean =
-  result = (GTK_WIDGET_VISIBLE(wid)) and (GTK_WIDGET_MAPPED(wid))
+proc WIDGET_DRAWABLE*(wid: pointer): gboolean = 
+  result = (WIDGET_VISIBLE(wid)) and (WIDGET_MAPPED(wid))
 
-proc GTK_WIDGET_SENSITIVE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_SENSITIVE)) != 0'i32
+proc WIDGET_SENSITIVE*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(SENSITIVE)) != 0'i32
 
-proc GTK_WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_PARENT_SENSITIVE)) != 0'i32
+proc WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(PARENT_SENSITIVE)) != 0'i32
 
-proc GTK_WIDGET_IS_SENSITIVE*(wid: pointer): gboolean =
-  result = (GTK_WIDGET_SENSITIVE(wid)) and (GTK_WIDGET_PARENT_SENSITIVE(wid))
+proc WIDGET_IS_SENSITIVE*(wid: pointer): gboolean = 
+  result = (WIDGET_SENSITIVE(wid)) and (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 WIDGET_CAN_FOCUS*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(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 WIDGET_HAS_FOCUS*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(constHAS_FOCUS)) != 0'i32
 
-proc GTK_WIDGET_CAN_DEFAULT*(wid: pointer): gboolean =
-  result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_CAN_DEFAULT)) != 0'i32
+proc WIDGET_CAN_DEFAULT*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(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 WIDGET_HAS_DEFAULT*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(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 WIDGET_HAS_GRAB*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(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 WIDGET_RC_STYLE*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(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 WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(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 WIDGET_APP_PAINTABLE*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(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 WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(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 WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean = 
+  result = ((WIDGET_FLAGS(wid)) and cint(DOUBLE_BUFFERED)) != 0'i32
 
-proc GTK_TYPE_REQUISITION*(): GType =
-  result = gtk_requisition_get_type()
+proc TYPE_REQUISITION*(): GType = 
+  result = requisition_get_type()
 
-proc x_set*(a: var TGtkWidgetAuxInfo): guint =
+proc x_set*(a: var TWidgetAuxInfo): guint = 
   result = (a.flag0 and bm_TGtkWidgetAuxInfo_x_set) shr
       bp_TGtkWidgetAuxInfo_x_set
 
-proc set_x_set*(a: var TGtkWidgetAuxInfo, `x_set`: guint) =
+proc set_x_set*(a: var TWidgetAuxInfo, `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 =
+proc y_set*(a: var TWidgetAuxInfo): guint = 
   result = (a.flag0 and bm_TGtkWidgetAuxInfo_y_set) shr
       bp_TGtkWidgetAuxInfo_y_set
 
-proc set_y_set*(a: var TGtkWidgetAuxInfo, `y_set`: guint) =
+proc set_y_set*(a: var TWidgetAuxInfo, `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) =
+proc widget_set_visual*(widget, visual: pointer) = 
   if (Widget != nil) and (visual != nil): nil
-
-proc gtk_widget_push_visual*(visual: pointer) =
+  
+proc widget_push_visual*(visual: pointer) = 
   if (visual != nil): nil
-
-proc gtk_widget_pop_visual*() =
+  
+proc widget_pop_visual*() = 
   nil
 
-proc gtk_widget_set_default_visual*(visual: pointer) =
+proc widget_set_default_visual*(visual: pointer) = 
   if (visual != nil): nil
+  
+proc widget_set_rc_style*(widget: pointer) = 
+  set_style(cast[PWidget](widget), 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 widget_restore_default_style*(widget: pointer) = 
+  set_style(cast[PWidget](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 SET_FLAGS*(wid: PWidget, flags: TWidgetFlags): TWidgetFlags = 
+  cast[pObject](wid).flags = cast[pObject](wid).flags or (flags)
+  result = cast[pObject](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 UNSET_FLAGS*(wid: PWidget, flags: TWidgetFlags): TWidgetFlags = 
+  cast[pObject](wid).flags = cast[pObject](wid).flags and (not (flags))
+  result = cast[pObject](wid).flags
 
-proc GTK_TYPE_MISC*(): GType =
-  result = gtk_misc_get_type()
+proc TYPE_MISC*(): GType = 
+  result = misc_get_type()
 
-proc GTK_MISC*(obj: pointer): PGtkMisc =
-  result = cast[PGtkMisc](GTK_CHECK_CAST(obj, GTK_TYPE_MISC()))
+proc MISC*(obj: pointer): PMisc = 
+  result = cast[PMisc](CHECK_CAST(obj, TYPE_MISC()))
 
-proc GTK_MISC_CLASS*(klass: pointer): PGtkMiscClass =
-  result = cast[PGtkMiscClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MISC()))
+proc MISC_CLASS*(klass: pointer): PMiscClass = 
+  result = cast[PMiscClass](CHECK_CLASS_CAST(klass, TYPE_MISC()))
 
-proc GTK_IS_MISC*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MISC())
+proc IS_MISC*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_MISC())
 
-proc GTK_IS_MISC_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MISC())
+proc IS_MISC_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_MISC())
 
-proc GTK_MISC_GET_CLASS*(obj: pointer): PGtkMiscClass =
-  result = cast[PGtkMiscClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MISC()))
+proc MISC_GET_CLASS*(obj: pointer): PMiscClass = 
+  result = cast[PMiscClass](CHECK_GET_CLASS(obj, TYPE_MISC()))
 
-proc GTK_TYPE_ACCEL_GROUP*(): GType =
-  result = gtk_accel_group_get_type()
+proc TYPE_ACCEL_GROUP*(): GType = 
+  result = 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 ACCEL_GROUP*(anObject: pointer): PAccelGroup = 
+  result = cast[PAccelGroup](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+      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 ACCEL_GROUP_CLASS*(klass: pointer): PAccelGroupClass = 
+  result = cast[PAccelGroupClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+      TYPE_ACCEL_GROUP()))
 
-proc GTK_IS_ACCEL_GROUP*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_ACCEL_GROUP())
+proc IS_ACCEL_GROUP*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_ACCEL_GROUP())
 
-proc GTK_IS_ACCEL_GROUP_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCEL_GROUP())
+proc IS_ACCEL_GROUP_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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_GROUP_GET_CLASS*(obj: pointer): PAccelGroupClass = 
+  result = cast[PAccelGroupClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+      TYPE_ACCEL_GROUP()))
 
-proc accel_flags*(a: var TGtkAccelKey): guint =
+proc accel_flags*(a: var TAccelKey): guint = 
   result = (a.flag0 and bm_TGtkAccelKey_accel_flags) shr
       bp_TGtkAccelKey_accel_flags
 
-proc set_accel_flags*(a: var TGtkAccelKey, `accel_flags`: guint) =
+proc set_accel_flags*(a: var TAccelKey, `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) =
+proc reference*(AccelGroup: PAccelGroup) = 
   discard g_object_ref(AccelGroup)
 
-proc gtk_accel_group_unref*(AccelGroup: PGtkAccelGroup) =
+proc unref*(AccelGroup: PAccelGroup) = 
   g_object_unref(AccelGroup)
 
-proc GTK_TYPE_CONTAINER*(): GType =
-  result = gtk_container_get_type()
+proc TYPE_CONTAINER*(): GType = 
+  result = container_get_type()
 
-proc GTK_CONTAINER*(obj: pointer): PGtkContainer =
-  result = cast[PGtkContainer](GTK_CHECK_CAST(obj, GTK_TYPE_CONTAINER()))
+proc CONTAINER*(obj: pointer): PContainer = 
+  result = cast[PContainer](CHECK_CAST(obj, TYPE_CONTAINER()))
 
-proc GTK_CONTAINER_CLASS*(klass: pointer): PGtkContainerClass =
-  result = cast[PGtkContainerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CONTAINER()))
+proc CONTAINER_CLASS*(klass: pointer): PContainerClass = 
+  result = cast[PContainerClass](CHECK_CLASS_CAST(klass, TYPE_CONTAINER()))
 
-proc GTK_IS_CONTAINER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CONTAINER())
+proc IS_CONTAINER*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_CONTAINER())
 
-proc GTK_IS_CONTAINER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CONTAINER())
+proc IS_CONTAINER_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_CONTAINER())
 
-proc GTK_CONTAINER_GET_CLASS*(obj: pointer): PGtkContainerClass =
-  result = cast[PGtkContainerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CONTAINER()))
+proc CONTAINER_GET_CLASS*(obj: pointer): PContainerClass = 
+  result = cast[PContainerClass](CHECK_GET_CLASS(obj, 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 IS_RESIZE_CONTAINER*(widget: pointer): bool = 
+  result = (IS_CONTAINER(widget)) and
+      ((resize_mode(cast[PContainer](widget))) != cint(RESIZE_PARENT))
 
-proc border_width*(a: var TGtkContainer): guint =
-  result = (a.GtkContainer_flag0 and bm_TGtkContainer_border_width) shr
+proc border_width*(a: var TContainer): guint = 
+  result = (a.Container_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
+proc set_border_width*(a: var TContainer, `border_width`: guint) = 
+  a.Container_flag0 = a.Container_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
+proc need_resize*(a: var TContainer): guint = 
+  result = (a.Container_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
+proc set_need_resize*(a: var TContainer, `need_resize`: guint) = 
+  a.Container_flag0 = a.Container_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
+proc resize_mode*(a: PContainer): guint = 
+  result = (a.Container_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
+proc set_resize_mode*(a: var TContainer, `resize_mode`: guint) = 
+  a.Containerflag0 = a.Containerflag0 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
+proc reallocate_redraws*(a: var TContainer): guint = 
+  result = (a.Containerflag0 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
+proc set_reallocate_redraws*(a: var TContainer, `reallocate_redraws`: guint) = 
+  a.Containerflag0 = a.Containerflag0 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
+proc has_focus_chain*(a: var TContainer): guint = 
+  result = (a.Containerflag0 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
+proc set_has_focus_chain*(a: var TContainer, `has_focus_chain`: guint) = 
+  a.Containerflag0 = a.Containerflag0 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 CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID*(anObject: pointer, 
+    property_id: guint, pspec: pointer) = 
+  write(stdout, "WARNING: invalid child property id\x0A")
 
-proc GTK_TYPE_BIN*(): GType =
-  result = gtk_bin_get_type()
+proc TYPE_BIN*(): GType = 
+  result = bin_get_type()
 
-proc GTK_BIN*(obj: pointer): PGtkBin =
-  result = cast[PGtkBin](GTK_CHECK_CAST(obj, GTK_TYPE_BIN()))
+proc BIN*(obj: pointer): PBin = 
+  result = cast[PBin](CHECK_CAST(obj, TYPE_BIN()))
 
-proc GTK_BIN_CLASS*(klass: pointer): PGtkBinClass =
-  result = cast[PGtkBinClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BIN()))
+proc BIN_CLASS*(klass: pointer): PBinClass = 
+  result = cast[PBinClass](CHECK_CLASS_CAST(klass, TYPE_BIN()))
 
-proc GTK_IS_BIN*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_BIN())
+proc IS_BIN*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_BIN())
 
-proc GTK_IS_BIN_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BIN())
+proc IS_BIN_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_BIN())
 
-proc GTK_BIN_GET_CLASS*(obj: pointer): PGtkBinClass =
-  result = cast[PGtkBinClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BIN()))
+proc BIN_GET_CLASS*(obj: pointer): PBinClass = 
+  result = cast[PBinClass](CHECK_GET_CLASS(obj, TYPE_BIN()))
 
-proc GTK_TYPE_WINDOW*(): GType =
-  result = gtk_window_get_type()
+proc TYPE_WINDOW*(): GType = 
+  result = window_get_type()
 
-proc GTK_WINDOW*(obj: pointer): PGtkWindow =
-  result = cast[PGtkWindow](GTK_CHECK_CAST(obj, GTK_TYPE_WINDOW()))
+proc WINDOW*(obj: pointer): PWindow = 
+  result = cast[PWindow](CHECK_CAST(obj, gtk2.TYPE_WINDOW()))
 
-proc GTK_WINDOW_CLASS*(klass: pointer): PGtkWindowClass =
-  result = cast[PGtkWindowClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_WINDOW()))
+proc WINDOW_CLASS*(klass: pointer): PWindowClass = 
+  result = cast[PWindowClass](CHECK_CLASS_CAST(klass, gtk2.TYPE_WINDOW()))
 
-proc GTK_IS_WINDOW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_WINDOW())
+proc IS_WINDOW*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, gtk2.TYPE_WINDOW())
 
-proc GTK_IS_WINDOW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_WINDOW())
+proc IS_WINDOW_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, gtk2.TYPE_WINDOW())
 
-proc GTK_WINDOW_GET_CLASS*(obj: pointer): PGtkWindowClass =
-  result = cast[PGtkWindowClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_WINDOW()))
+proc WINDOW_GET_CLASS*(obj: pointer): PWindowClass = 
+  result = cast[PWindowClass](CHECK_GET_CLASS(obj, gtk2.TYPE_WINDOW()))
 
-proc allow_shrink*(a: var TGtkWindow): guint =
-  result = (a.GtkWindow_flag0 and bm_TGtkWindow_allow_shrink) shr
+proc allow_shrink*(a: var TWindow): guint = 
+  result = (a.Window_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
+proc set_allow_shrink*(a: var TWindow, `allow_shrink`: guint) = 
+  a.Window_flag0 = a.Window_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
+proc allow_grow*(a: var TWindow): guint = 
+  result = (a.Window_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
+proc set_allow_grow*(a: var TWindow, `allow_grow`: guint) = 
+  a.Window_flag0 = a.Window_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
+proc configure_notify_received*(a: var TWindow): guint = 
+  result = (a.Window_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
+proc set_configure_notify_received*(a: var TWindow, 
+                                    `configure_notify_received`: guint) = 
+  a.Window_flag0 = a.Window_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
+proc need_default_position*(a: var TWindow): guint = 
+  result = (a.Window_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
+proc set_need_default_position*(a: var TWindow, `need_default_position`: guint) = 
+  a.Window_flag0 = a.Window_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
+proc need_default_size*(a: var TWindow): guint = 
+  result = (a.Window_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
+proc set_need_default_size*(a: var TWindow, `need_default_size`: guint) = 
+  a.Window_flag0 = a.Window_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 position*(a: var TWindow): guint = 
+  result = (a.Window_flag0 and bm_TGtkWindow_position) shr
+      bp_TGtkWindow_position
 
-proc set_position*(a: var TGtkWindow, `position`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
+proc set_position*(a: var TWindow, `position`: guint) = 
+  a.Window_flag0 = a.Window_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 get_type*(a: var TWindow): guint = 
+  result = (a.Window_flag0 and bm_TGtkWindow_type) shr bp_TGtkWindow_type
 
-proc set_type*(a: var TGtkWindow, `type`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
+proc set_type*(a: var TWindow, `type`: guint) = 
+  a.Window_flag0 = a.Window_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
+proc has_user_ref_count*(a: var TWindow): guint = 
+  result = (a.Window_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
+proc set_has_user_ref_count*(a: var TWindow, `has_user_ref_count`: guint) = 
+  a.Window_flag0 = a.Window_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 has_focus*(a: var TWindow): guint = 
+  result = (a.Window_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
+proc set_has_focus*(a: var TWindow, `has_focus`: guint) = 
+  a.Window_flag0 = a.Window_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 modal*(a: var TWindow): guint = 
+  result = (a.Window_flag0 and bm_TGtkWindow_modal) shr bp_TGtkWindow_modal
 
-proc set_modal*(a: var TGtkWindow, `modal`: guint) =
-  a.GtkWindow_flag0 = a.GtkWindow_flag0 or
+proc set_modal*(a: var TWindow, `modal`: guint) = 
+  a.Window_flag0 = a.Window_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
+proc destroy_with_parent*(a: var TWindow): guint = 
+  result = (a.Window_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
+proc set_destroy_with_parent*(a: var TWindow, `destroy_with_parent`: guint) = 
+  a.Windowflag0 = a.Windowflag0 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 has_frame*(a: var TWindow): guint = 
+  result = (a.Windowflag0 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
+proc set_has_frame*(a: var TWindow, `has_frame`: guint) = 
+  a.Windowflag0 = a.Windowflag0 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
+proc iconify_initially*(a: var TWindow): guint = 
+  result = (a.Windowflag0 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
+proc set_iconify_initially*(a: var TWindow, `iconify_initially`: guint) = 
+  a.Windowflag0 = a.Windowflag0 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
+proc stick_initially*(a: var TWindow): guint = 
+  result = (a.Windowflag0 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
+proc set_stick_initially*(a: var TWindow, `stick_initially`: guint) = 
+  a.Windowflag0 = a.Windowflag0 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
+proc maximize_initially*(a: var TWindow): guint = 
+  result = (a.Windowflag0 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
+proc set_maximize_initially*(a: var TWindow, `maximize_initially`: guint) = 
+  a.Windowflag0 = a.Windowflag0 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 decorated*(a: var TWindow): guint = 
+  result = (a.Windowflag0 and bm_TGtkWindow_decorated) shr
+      bp_TGtkWindow_decorated
 
-proc set_decorated*(a: var TGtkWindow, `decorated`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
+proc set_decorated*(a: var TWindow, `decorated`: guint) = 
+  a.Windowflag0 = a.Windowflag0 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 type_hint*(a: var TWindow): guint = 
+  result = (a.Windowflag0 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
+proc set_type_hint*(a: var TWindow, `type_hint`: guint) = 
+  a.Windowflag0 = a.Windowflag0 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 gravity*(a: var TWindow): guint = 
+  result = (a.Windowflag0 and bm_TGtkWindow_gravity) shr
+      bp_TGtkWindow_gravity
 
-proc set_gravity*(a: var TGtkWindow, `gravity`: guint) =
-  a.GtkWindowflag0 = a.GtkWindowflag0 or
+proc set_gravity*(a: var TWindow, `gravity`: guint) = 
+  a.Windowflag0 = a.Windowflag0 or
       ((`gravity` shl bp_TGtkWindow_gravity) and bm_TGtkWindow_gravity)
 
-proc GTK_TYPE_WINDOW_GROUP*(): GType =
-  result = gtk_window_group_get_type()
+proc TYPE_WINDOW_GROUP*(): GType = 
+  result = 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 WINDOW_GROUP*(anObject: pointer): PWindowGroup = 
+  result = cast[PWindowGroup](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+      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 WINDOW_GROUP_CLASS*(klass: pointer): PWindowGroupClass = 
+  result = cast[PWindowGroupClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+      TYPE_WINDOW_GROUP()))
 
-proc GTK_IS_WINDOW_GROUP*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_WINDOW_GROUP())
+proc IS_WINDOW_GROUP*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_WINDOW_GROUP())
 
-proc GTK_IS_WINDOW_GROUP_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_WINDOW_GROUP())
+proc IS_WINDOW_GROUP_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 WINDOW_GROUP_GET_CLASS*(obj: pointer): PWindowGroupClass = 
+  result = cast[PWindowGroupClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+      TYPE_WINDOW_GROUP()))
 
-proc gtk_window_position*(window: PGtkWindow, position: TGtkWindowPosition) =
-  gtk_window_set_position(window, position)
+proc position*(window: PWindow, position: TWindowPosition) = 
+  set_position(window, position)
 
-proc GTK_TYPE_LABEL*(): GType =
-  result = gtk_label_get_type()
+proc TYPE_LABEL*(): GType = 
+  result = label_get_type()
 
-proc GTK_LABEL*(obj: pointer): PGtkLabel =
-  result = cast[PGtkLabel](GTK_CHECK_CAST(obj, GTK_TYPE_LABEL()))
+proc LABEL*(obj: pointer): PLabel = 
+  result = cast[PLabel](CHECK_CAST(obj, TYPE_LABEL()))
 
-proc GTK_LABEL_CLASS*(klass: pointer): PGtkLabelClass =
-  result = cast[PGtkLabelClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LABEL()))
+proc LABEL_CLASS*(klass: pointer): PLabelClass = 
+  result = cast[PLabelClass](CHECK_CLASS_CAST(klass, TYPE_LABEL()))
 
-proc GTK_IS_LABEL*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LABEL())
+proc IS_LABEL*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_LABEL())
 
-proc GTK_IS_LABEL_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LABEL())
+proc IS_LABEL_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_LABEL())
 
-proc GTK_LABEL_GET_CLASS*(obj: pointer): PGtkLabelClass =
-  result = cast[PGtkLabelClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LABEL()))
+proc LABEL_GET_CLASS*(obj: pointer): PLabelClass = 
+  result = cast[PLabelClass](CHECK_GET_CLASS(obj, TYPE_LABEL()))
 
-proc jtype*(a: var TGtkLabel): guint =
-  result = (a.GtkLabelflag0 and bm_TGtkLabel_jtype) shr bp_TGtkLabel_jtype
+proc jtype*(a: var TLabel): guint = 
+  result = (a.Labelflag0 and bm_TGtkLabel_jtype) shr bp_TGtkLabel_jtype
 
-proc set_jtype*(a: var TGtkLabel, `jtype`: guint) =
-  a.GtkLabelflag0 = a.GtkLabelflag0 or
+proc set_jtype*(a: var TLabel, `jtype`: guint) = 
+  a.Labelflag0 = a.Labelflag0 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 wrap*(a: var TLabel): guint = 
+  result = (a.Labelflag0 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 set_wrap*(a: var TLabel, `wrap`: guint) = 
+  a.Labelflag0 = a.Labelflag0 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
+proc use_underline*(a: var TLabel): guint = 
+  result = (a.Labelflag0 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
+proc set_use_underline*(a: var TLabel, `use_underline`: guint) = 
+  a.Labelflag0 = a.Labelflag0 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 use_markup*(a: var TLabel): guint = 
+  result = (a.Labelflag0 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 set_use_markup*(a: var TLabel, `use_markup`: guint) = 
+  a.Labelflag0 = a.Labelflag0 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 TYPE_ACCEL_LABEL*(): GType = 
+  result = accel_label_get_type()
 
-proc GTK_ACCEL_LABEL*(obj: pointer): PGtkAccelLabel =
-  result = cast[PGtkAccelLabel](GTK_CHECK_CAST(obj, GTK_TYPE_ACCEL_LABEL()))
+proc ACCEL_LABEL*(obj: pointer): PAccelLabel = 
+  result = cast[PAccelLabel](CHECK_CAST(obj, TYPE_ACCEL_LABEL()))
 
-proc GTK_ACCEL_LABEL_CLASS*(klass: pointer): PGtkAccelLabelClass =
-  result = cast[PGtkAccelLabelClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ACCEL_LABEL()))
+proc ACCEL_LABEL_CLASS*(klass: pointer): PAccelLabelClass = 
+  result = cast[PAccelLabelClass](CHECK_CLASS_CAST(klass, TYPE_ACCEL_LABEL()))
 
-proc GTK_IS_ACCEL_LABEL*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ACCEL_LABEL())
+proc IS_ACCEL_LABEL*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_ACCEL_LABEL())
 
-proc GTK_IS_ACCEL_LABEL_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCEL_LABEL())
+proc IS_ACCEL_LABEL_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 ACCEL_LABEL_GET_CLASS*(obj: pointer): PAccelLabelClass = 
+  result = cast[PAccelLabelClass](CHECK_GET_CLASS(obj, TYPE_ACCEL_LABEL()))
 
-proc latin1_to_char*(a: var TGtkAccelLabelClass): guint =
-  result = (a.GtkAccelLabelClassflag0 and bm_TGtkAccelLabelClass_latin1_to_char) shr
+proc latin1_to_char*(a: var TAccelLabelClass): guint = 
+  result = (a.AccelLabelClassflag0 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
+proc set_latin1_to_char*(a: var TAccelLabelClass, `latin1_to_char`: guint) = 
+  a.AccelLabelClassflag0 = a.AccelLabelClassflag0 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 accelerator_width*(accel_label: PAccelLabel): guint = 
+  result = get_accel_width(accel_label)
 
-proc GTK_TYPE_ACCESSIBLE*(): GType =
-  result = gtk_accessible_get_type()
+proc TYPE_ACCESSIBLE*(): GType = 
+  result = accessible_get_type()
 
-proc GTK_ACCESSIBLE*(obj: pointer): PGtkAccessible =
-  result = cast[PGtkAccessible](GTK_CHECK_CAST(obj, GTK_TYPE_ACCESSIBLE()))
+proc ACCESSIBLE*(obj: pointer): PAccessible = 
+  result = cast[PAccessible](CHECK_CAST(obj, TYPE_ACCESSIBLE()))
 
-proc GTK_ACCESSIBLE_CLASS*(klass: pointer): PGtkAccessibleClass =
-  result = cast[PGtkAccessibleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ACCESSIBLE()))
+proc ACCESSIBLE_CLASS*(klass: pointer): PAccessibleClass = 
+  result = cast[PAccessibleClass](CHECK_CLASS_CAST(klass, TYPE_ACCESSIBLE()))
 
-proc GTK_IS_ACCESSIBLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ACCESSIBLE())
+proc IS_ACCESSIBLE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_ACCESSIBLE())
 
-proc GTK_IS_ACCESSIBLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCESSIBLE())
+proc IS_ACCESSIBLE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_ACCESSIBLE())
 
-proc GTK_ACCESSIBLE_GET_CLASS*(obj: pointer): PGtkAccessibleClass =
-  result = cast[PGtkAccessibleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ACCESSIBLE()))
+proc ACCESSIBLE_GET_CLASS*(obj: pointer): PAccessibleClass = 
+  result = cast[PAccessibleClass](CHECK_GET_CLASS(obj, TYPE_ACCESSIBLE()))
 
-proc GTK_TYPE_ADJUSTMENT*(): GType =
-  result = gtk_adjustment_get_type()
+proc TYPE_ADJUSTMENT*(): GType = 
+  result = adjustment_get_type()
 
-proc GTK_ADJUSTMENT*(obj: pointer): PGtkAdjustment =
-  result = cast[PGtkAdjustment](GTK_CHECK_CAST(obj, GTK_TYPE_ADJUSTMENT()))
+proc ADJUSTMENT*(obj: pointer): PAdjustment = 
+  result = cast[PAdjustment](CHECK_CAST(obj, TYPE_ADJUSTMENT()))
 
-proc GTK_ADJUSTMENT_CLASS*(klass: pointer): PGtkAdjustmentClass =
-  result = cast[PGtkAdjustmentClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ADJUSTMENT()))
+proc ADJUSTMENT_CLASS*(klass: pointer): PAdjustmentClass = 
+  result = cast[PAdjustmentClass](CHECK_CLASS_CAST(klass, TYPE_ADJUSTMENT()))
 
-proc GTK_IS_ADJUSTMENT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ADJUSTMENT())
+proc IS_ADJUSTMENT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_ADJUSTMENT())
 
-proc GTK_IS_ADJUSTMENT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ADJUSTMENT())
+proc IS_ADJUSTMENT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_ADJUSTMENT())
 
-proc GTK_ADJUSTMENT_GET_CLASS*(obj: pointer): PGtkAdjustmentClass =
-  result = cast[PGtkAdjustmentClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ADJUSTMENT()))
+proc ADJUSTMENT_GET_CLASS*(obj: pointer): PAdjustmentClass = 
+  result = cast[PAdjustmentClass](CHECK_GET_CLASS(obj, TYPE_ADJUSTMENT()))
 
-proc GTK_TYPE_ALIGNMENT*(): GType =
-  result = gtk_alignment_get_type()
+proc TYPE_ALIGNMENT*(): GType = 
+  result = alignment_get_type()
 
-proc GTK_ALIGNMENT*(obj: pointer): PGtkAlignment =
-  result = cast[PGtkAlignment](GTK_CHECK_CAST(obj, GTK_TYPE_ALIGNMENT()))
+proc ALIGNMENT*(obj: pointer): PAlignment = 
+  result = cast[PAlignment](CHECK_CAST(obj, TYPE_ALIGNMENT()))
 
-proc GTK_ALIGNMENT_CLASS*(klass: pointer): PGtkAlignmentClass =
-  result = cast[PGtkAlignmentClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ALIGNMENT()))
+proc ALIGNMENT_CLASS*(klass: pointer): PAlignmentClass = 
+  result = cast[PAlignmentClass](CHECK_CLASS_CAST(klass, TYPE_ALIGNMENT()))
 
-proc GTK_IS_ALIGNMENT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ALIGNMENT())
+proc IS_ALIGNMENT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_ALIGNMENT())
 
-proc GTK_IS_ALIGNMENT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ALIGNMENT())
+proc IS_ALIGNMENT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_ALIGNMENT())
 
-proc GTK_ALIGNMENT_GET_CLASS*(obj: pointer): PGtkAlignmentClass =
-  result = cast[PGtkAlignmentClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ALIGNMENT()))
+proc ALIGNMENT_GET_CLASS*(obj: pointer): PAlignmentClass = 
+  result = cast[PAlignmentClass](CHECK_GET_CLASS(obj, TYPE_ALIGNMENT()))
 
-proc GTK_TYPE_FRAME*(): GType =
-  result = gtk_frame_get_type()
+proc TYPE_FRAME*(): GType = 
+  result = frame_get_type()
 
-proc GTK_FRAME*(obj: pointer): PGtkFrame =
-  result = cast[PGtkFrame](GTK_CHECK_CAST(obj, GTK_TYPE_FRAME()))
+proc FRAME*(obj: pointer): PFrame = 
+  result = cast[PFrame](CHECK_CAST(obj, TYPE_FRAME()))
 
-proc GTK_FRAME_CLASS*(klass: pointer): PGtkFrameClass =
-  result = cast[PGtkFrameClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_FRAME()))
+proc FRAME_CLASS*(klass: pointer): PFrameClass = 
+  result = cast[PFrameClass](CHECK_CLASS_CAST(klass, TYPE_FRAME()))
 
-proc GTK_IS_FRAME*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FRAME())
+proc IS_FRAME*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_FRAME())
 
-proc GTK_IS_FRAME_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FRAME())
+proc IS_FRAME_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_FRAME())
 
-proc GTK_FRAME_GET_CLASS*(obj: pointer): PGtkFrameClass =
-  result = cast[PGtkFrameClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_FRAME()))
+proc FRAME_GET_CLASS*(obj: pointer): PFrameClass = 
+  result = cast[PFrameClass](CHECK_GET_CLASS(obj, TYPE_FRAME()))
 
-proc GTK_TYPE_ASPECT_FRAME*(): GType =
-  result = gtk_aspect_frame_get_type()
+proc TYPE_ASPECT_FRAME*(): GType = 
+  result = aspect_frame_get_type()
 
-proc GTK_ASPECT_FRAME*(obj: pointer): PGtkAspectFrame =
-  result = cast[PGtkAspectFrame](GTK_CHECK_CAST(obj, GTK_TYPE_ASPECT_FRAME()))
+proc ASPECT_FRAME*(obj: pointer): PAspectFrame = 
+  result = cast[PAspectFrame](CHECK_CAST(obj, TYPE_ASPECT_FRAME()))
 
-proc GTK_ASPECT_FRAME_CLASS*(klass: pointer): PGtkAspectFrameClass =
-  result = cast[PGtkAspectFrameClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_ASPECT_FRAME()))
+proc ASPECT_FRAME_CLASS*(klass: pointer): PAspectFrameClass = 
+  result = cast[PAspectFrameClass](CHECK_CLASS_CAST(klass, TYPE_ASPECT_FRAME()))
 
-proc GTK_IS_ASPECT_FRAME*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ASPECT_FRAME())
+proc IS_ASPECT_FRAME*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_ASPECT_FRAME())
 
-proc GTK_IS_ASPECT_FRAME_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ASPECT_FRAME())
+proc IS_ASPECT_FRAME_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 ASPECT_FRAME_GET_CLASS*(obj: pointer): PAspectFrameClass = 
+  result = cast[PAspectFrameClass](CHECK_GET_CLASS(obj, TYPE_ASPECT_FRAME()))
 
-proc GTK_TYPE_ARROW*(): GType =
-  result = gtk_arrow_get_type()
+proc TYPE_ARROW*(): GType = 
+  result = arrow_get_type()
 
-proc GTK_ARROW*(obj: pointer): PGtkArrow =
-  result = cast[PGtkArrow](GTK_CHECK_CAST(obj, GTK_TYPE_ARROW()))
+proc ARROW*(obj: pointer): PArrow = 
+  result = cast[PArrow](CHECK_CAST(obj, TYPE_ARROW()))
 
-proc GTK_ARROW_CLASS*(klass: pointer): PGtkArrowClass =
-  result = cast[PGtkArrowClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ARROW()))
+proc ARROW_CLASS*(klass: pointer): PArrowClass = 
+  result = cast[PArrowClass](CHECK_CLASS_CAST(klass, TYPE_ARROW()))
 
-proc GTK_IS_ARROW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ARROW())
+proc IS_ARROW*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_ARROW())
 
-proc GTK_IS_ARROW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ARROW())
+proc IS_ARROW_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_ARROW())
 
-proc GTK_ARROW_GET_CLASS*(obj: pointer): PGtkArrowClass =
-  result = cast[PGtkArrowClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ARROW()))
+proc ARROW_GET_CLASS*(obj: pointer): PArrowClass = 
+  result = cast[PArrowClass](CHECK_GET_CLASS(obj, TYPE_ARROW()))
 
-proc parsed*(a: var TGtkBindingSet): guint =
+proc parsed*(a: var TBindingSet): guint = 
   result = (a.flag0 and bm_TGtkBindingSet_parsed) shr
       bp_TGtkBindingSet_parsed
 
-proc set_parsed*(a: var TGtkBindingSet, `parsed`: guint) =
+proc set_parsed*(a: var TBindingSet, `parsed`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`parsed` shl bp_TGtkBindingSet_parsed) and bm_TGtkBindingSet_parsed)
+      (int16(`parsed` shl bp_TGtkBindingSet_parsed) and
+      bm_TGtkBindingSet_parsed)
 
-proc destroyed*(a: var TGtkBindingEntry): guint =
+proc destroyed*(a: var TBindingEntry): guint = 
   result = (a.flag0 and bm_TGtkBindingEntry_destroyed) shr
       bp_TGtkBindingEntry_destroyed
 
-proc set_destroyed*(a: var TGtkBindingEntry, `destroyed`: guint) =
+proc set_destroyed*(a: var TBindingEntry, `destroyed`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`destroyed` shl bp_TGtkBindingEntry_destroyed) and
       bm_TGtkBindingEntry_destroyed)
 
-proc in_emission*(a: var TGtkBindingEntry): guint =
+proc in_emission*(a: var TBindingEntry): guint = 
   result = (a.flag0 and bm_TGtkBindingEntry_in_emission) shr
       bp_TGtkBindingEntry_in_emission
 
-proc set_in_emission*(a: var TGtkBindingEntry, `in_emission`: guint) =
+proc set_in_emission*(a: var TBindingEntry, `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 entry_add*(binding_set: PBindingSet, keyval: guint, 
+                        modifiers: gdk2.TModifierType) = 
+  entry_clear(binding_set, keyval, modifiers)
 
-proc GTK_TYPE_BOX*(): GType =
-  result = gtk_box_get_type()
+proc TYPE_BOX*(): GType = 
+  result = box_get_type()
 
-proc GTK_BOX*(obj: pointer): PGtkBox =
-  result = cast[PGtkBox](GTK_CHECK_CAST(obj, GTK_TYPE_BOX()))
+proc BOX*(obj: pointer): PBox = 
+  result = cast[PBox](CHECK_CAST(obj, TYPE_BOX()))
 
-proc GTK_BOX_CLASS*(klass: pointer): PGtkBoxClass =
-  result = cast[PGtkBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BOX()))
+proc BOX_CLASS*(klass: pointer): PBoxClass = 
+  result = cast[PBoxClass](CHECK_CLASS_CAST(klass, TYPE_BOX()))
 
-proc GTK_IS_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_BOX())
+proc IS_BOX*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_BOX())
 
-proc GTK_IS_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BOX())
+proc IS_BOX_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_BOX())
 
-proc GTK_BOX_GET_CLASS*(obj: pointer): PGtkBoxClass =
-  result = cast[PGtkBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BOX()))
+proc BOX_GET_CLASS*(obj: pointer): PBoxClass = 
+  result = cast[PBoxClass](CHECK_GET_CLASS(obj, TYPE_BOX()))
 
-proc homogeneous*(a: var TGtkBox): guint =
-  result = (a.GtkBoxflag0 and bm_TGtkBox_homogeneous) shr bp_TGtkBox_homogeneous
+proc homogeneous*(a: var TBox): guint = 
+  result = (a.Boxflag0 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 set_homogeneous*(a: var TBox, `homogeneous`: guint) = 
+  a.Boxflag0 = a.Boxflag0 or
+      (int16(`homogeneous` shl bp_TGtkBox_homogeneous) and
+      bm_TGtkBox_homogeneous)
 
-proc expand*(a: var TGtkBoxChild): guint =
+proc expand*(a: var TBoxChild): guint = 
   result = (a.flag0 and bm_TGtkBoxChild_expand) shr bp_TGtkBoxChild_expand
 
-proc set_expand*(a: var TGtkBoxChild, `expand`: guint) =
+proc set_expand*(a: var TBoxChild, `expand`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`expand` shl bp_TGtkBoxChild_expand) and bm_TGtkBoxChild_expand)
 
-proc fill*(a: var TGtkBoxChild): guint =
+proc fill*(a: var TBoxChild): guint = 
   result = (a.flag0 and bm_TGtkBoxChild_fill) shr bp_TGtkBoxChild_fill
 
-proc set_fill*(a: var TGtkBoxChild, `fill`: guint) =
+proc set_fill*(a: var TBoxChild, `fill`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`fill` shl bp_TGtkBoxChild_fill) and bm_TGtkBoxChild_fill)
 
-proc pack*(a: var TGtkBoxChild): guint =
+proc pack*(a: var TBoxChild): guint = 
   result = (a.flag0 and bm_TGtkBoxChild_pack) shr bp_TGtkBoxChild_pack
 
-proc set_pack*(a: var TGtkBoxChild, `pack`: guint) =
+proc set_pack*(a: var TBoxChild, `pack`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`pack` shl bp_TGtkBoxChild_pack) and bm_TGtkBoxChild_pack)
 
-proc is_secondary*(a: var TGtkBoxChild): guint =
+proc is_secondary*(a: var TBoxChild): guint = 
   result = (a.flag0 and bm_TGtkBoxChild_is_secondary) shr
       bp_TGtkBoxChild_is_secondary
 
-proc set_is_secondary*(a: var TGtkBoxChild, `is_secondary`: guint) =
+proc set_is_secondary*(a: var TBoxChild, `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 TYPE_BUTTON_BOX*(): GType = 
+  result = button_box_get_type()
 
-proc GTK_BUTTON_BOX*(obj: pointer): PGtkButtonBox =
-  result = cast[PGtkButtonBox](GTK_CHECK_CAST(obj, GTK_TYPE_BUTTON_BOX()))
+proc BUTTON_BOX*(obj: pointer): PButtonBox = 
+  result = cast[PButtonBox](CHECK_CAST(obj, TYPE_BUTTON_BOX()))
 
-proc GTK_BUTTON_BOX_CLASS*(klass: pointer): PGtkButtonBoxClass =
-  result = cast[PGtkButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BUTTON_BOX()))
+proc BUTTON_BOX_CLASS*(klass: pointer): PButtonBoxClass = 
+  result = cast[PButtonBoxClass](CHECK_CLASS_CAST(klass, TYPE_BUTTON_BOX()))
 
-proc GTK_IS_BUTTON_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_BUTTON_BOX())
+proc IS_BUTTON_BOX*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_BUTTON_BOX())
 
-proc GTK_IS_BUTTON_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BUTTON_BOX())
+proc IS_BUTTON_BOX_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 BUTTON_BOX_GET_CLASS*(obj: pointer): PButtonBoxClass = 
+  result = cast[PButtonBoxClass](CHECK_GET_CLASS(obj, TYPE_BUTTON_BOX()))
 
-proc gtk_button_box_set_spacing*(b: pointer, s: gint) =
-  gtk_box_set_spacing(GTK_BOX(b), s)
+proc button_box_set_spacing*(b: pointer, s: gint) = 
+  set_spacing(BOX(b), s)
 
-proc gtk_button_box_get_spacing*(b: pointer): gint =
-  result = gtk_box_get_spacing(GTK_BOX(b))
+proc button_box_get_spacing*(b: pointer): gint = 
+  result = get_spacing(BOX(b))
 
-proc GTK_TYPE_BUTTON*(): GType =
-  result = gtk_button_get_type()
+proc TYPE_BUTTON*(): GType = 
+  result = button_get_type()
 
-proc GTK_BUTTON*(obj: pointer): PGtkButton =
-  result = cast[PGtkButton](GTK_CHECK_CAST(obj, GTK_TYPE_BUTTON()))
+proc BUTTON*(obj: pointer): PButton = 
+  result = cast[PButton](CHECK_CAST(obj, TYPE_BUTTON()))
 
-proc GTK_BUTTON_CLASS*(klass: pointer): PGtkButtonClass =
-  result = cast[PGtkButtonClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BUTTON()))
+proc BUTTON_CLASS*(klass: pointer): PButtonClass = 
+  result = cast[PButtonClass](CHECK_CLASS_CAST(klass, TYPE_BUTTON()))
 
-proc GTK_IS_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_BUTTON())
+proc IS_BUTTON*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_BUTTON())
 
-proc GTK_IS_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BUTTON())
+proc IS_BUTTON_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_BUTTON())
 
-proc GTK_BUTTON_GET_CLASS*(obj: pointer): PGtkButtonClass =
-  result = cast[PGtkButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BUTTON()))
+proc BUTTON_GET_CLASS*(obj: pointer): PButtonClass = 
+  result = cast[PButtonClass](CHECK_GET_CLASS(obj, TYPE_BUTTON()))
 
-proc constructed*(a: var TGtkButton): guint =
-  result = (a.GtkButtonflag0 and bm_TGtkButton_constructed) shr
+proc constructed*(a: var TButton): guint = 
+  result = (a.Buttonflag0 and bm_TGtkButton_constructed) shr
       bp_TGtkButton_constructed
 
-proc set_constructed*(a: var TGtkButton, `constructed`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
+proc set_constructed*(a: var TButton, `constructed`: guint) = 
+  a.Buttonflag0 = a.Buttonflag0 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 in_button*(a: var TButton): guint = 
+  result = (a.Buttonflag0 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 set_in_button*(a: var TButton, `in_button`: guint) = 
+  a.Buttonflag0 = a.Buttonflag0 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
+proc button_down*(a: var TButton): guint = 
+  result = (a.Buttonflag0 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
+proc set_button_down*(a: var TButton, `button_down`: guint) = 
+  a.Buttonflag0 = a.Buttonflag0 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 relief*(a: var TButton): guint = 
+  result = (a.Buttonflag0 and bm_TGtkButton_relief) shr bp_TGtkButton_relief
 
-proc set_relief*(a: var TGtkButton, `relief`: guint) =
-  a.GtkButtonflag0 = a.GtkButtonflag0 or
+proc set_relief*(a: var TButton, `relief`: guint) = 
+  a.Buttonflag0 = a.Buttonflag0 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
+proc use_underline*(a: var TButton): guint = 
+  result = (a.Buttonflag0 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
+proc set_use_underline*(a: var TButton, `use_underline`: guint) = 
+  a.Buttonflag0 = a.Buttonflag0 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 use_stock*(a: var TButton): guint = 
+  result = (a.Buttonflag0 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 set_use_stock*(a: var TButton, `use_stock`: guint) = 
+  a.Buttonflag0 = a.Buttonflag0 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 depressed*(a: var TButton): guint = 
+  result = (a.Buttonflag0 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 set_depressed*(a: var TButton, `depressed`: guint) = 
+  a.Buttonflag0 = a.Buttonflag0 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
+proc depress_on_activate*(a: var TButton): guint = 
+  result = (a.Buttonflag0 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
+proc set_depress_on_activate*(a: var TButton, `depress_on_activate`: guint) = 
+  a.Buttonflag0 = a.Buttonflag0 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 TYPE_CALENDAR*(): GType = 
+  result = calendar_get_type()
 
-proc GTK_CALENDAR*(obj: pointer): PGtkCalendar =
-  result = cast[PGtkCalendar](GTK_CHECK_CAST(obj, GTK_TYPE_CALENDAR()))
+proc CALENDAR*(obj: pointer): PCalendar = 
+  result = cast[PCalendar](CHECK_CAST(obj, TYPE_CALENDAR()))
 
-proc GTK_CALENDAR_CLASS*(klass: pointer): PGtkCalendarClass =
-  result = cast[PGtkCalendarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CALENDAR()))
+proc CALENDAR_CLASS*(klass: pointer): PCalendarClass = 
+  result = cast[PCalendarClass](CHECK_CLASS_CAST(klass, TYPE_CALENDAR()))
 
-proc GTK_IS_CALENDAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CALENDAR())
+proc IS_CALENDAR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_CALENDAR())
 
-proc GTK_IS_CALENDAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CALENDAR())
+proc IS_CALENDAR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_CALENDAR())
 
-proc GTK_CALENDAR_GET_CLASS*(obj: pointer): PGtkCalendarClass =
-  result = cast[PGtkCalendarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CALENDAR()))
+proc CALENDAR_GET_CLASS*(obj: pointer): PCalendarClass = 
+  result = cast[PCalendarClass](CHECK_GET_CLASS(obj, TYPE_CALENDAR()))
 
-proc GTK_TYPE_CELL_EDITABLE*(): GType =
-  result = gtk_cell_editable_get_type()
+proc TYPE_CELL_EDITABLE*(): GType = 
+  result = 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 CELL_EDITABLE*(obj: pointer): PCellEditable = 
+  result = cast[PCellEditable](G_TYPE_CHECK_INSTANCE_CAST(obj, 
+      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 CELL_EDITABLE_CLASS*(obj: pointer): PCellEditableIface = 
+  result = cast[PCellEditableIface](G_TYPE_CHECK_CLASS_CAST(obj, 
+      TYPE_CELL_EDITABLE()))
 
-proc GTK_IS_CELL_EDITABLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_CELL_EDITABLE())
+proc IS_CELL_EDITABLE*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, 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 CELL_EDITABLE_GET_IFACE*(obj: pointer): PCellEditableIface = 
+  result = cast[PCellEditableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, 
+      TYPE_CELL_EDITABLE()))
 
-proc GTK_TYPE_CELL_RENDERER*(): GType =
-  result = gtk_cell_renderer_get_type()
+proc TYPE_CELL_RENDERER*(): GType = 
+  result = cell_renderer_get_type()
 
-proc GTK_CELL_RENDERER*(obj: pointer): PGtkCellRenderer =
-  result = cast[PGtkCellRenderer](GTK_CHECK_CAST(obj, GTK_TYPE_CELL_RENDERER()))
+proc CELL_RENDERER*(obj: pointer): PCellRenderer = 
+  result = cast[PCellRenderer](CHECK_CAST(obj, TYPE_CELL_RENDERER()))
 
-proc GTK_CELL_RENDERER_CLASS*(klass: pointer): PGtkCellRendererClass =
-  result = cast[PGtkCellRendererClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_CELL_RENDERER()))
+proc CELL_RENDERER_CLASS*(klass: pointer): PCellRendererClass = 
+  result = cast[PCellRendererClass](CHECK_CLASS_CAST(klass, TYPE_CELL_RENDERER()))
 
-proc GTK_IS_CELL_RENDERER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER())
+proc IS_CELL_RENDERER*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_CELL_RENDERER())
 
-proc GTK_IS_CELL_RENDERER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER())
+proc IS_CELL_RENDERER_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 CELL_RENDERER_GET_CLASS*(obj: pointer): PCellRendererClass = 
+  result = cast[PCellRendererClass](CHECK_GET_CLASS(obj, TYPE_CELL_RENDERER()))
 
-proc mode*(a: var TGtkCellRenderer): guint =
-  result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_mode) shr
+proc mode*(a: var TCellRenderer): guint = 
+  result = (a.CellRendererflag0 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 set_mode*(a: var TCellRenderer, `mode`: guint) = 
+  a.CellRendererflag0 = a.CellRendererflag0 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
+proc visible*(a: var TCellRenderer): guint = 
+  result = (a.CellRendererflag0 and bm_TGtkCellRenderer_visible) shr
       bp_TGtkCellRenderer_visible
 
-proc set_visible*(a: var TGtkCellRenderer, `visible`: guint) =
-  a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or
+proc set_visible*(a: var TCellRenderer, `visible`: guint) = 
+  a.CellRendererflag0 = a.CellRendererflag0 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
+proc is_expander*(a: var TCellRenderer): guint = 
+  result = (a.CellRendererflag0 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
+proc set_is_expander*(a: var TCellRenderer, `is_expander`: guint) = 
+  a.CellRendererflag0 = a.CellRendererflag0 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
+proc is_expanded*(a: var TCellRenderer): guint = 
+  result = (a.CellRendererflag0 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
+proc set_is_expanded*(a: var TCellRenderer, `is_expanded`: guint) = 
+  a.CellRendererflag0 = a.CellRendererflag0 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
+proc cell_background_set*(a: var TCellRenderer): guint = 
+  result = (a.CellRendererflag0 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
+proc set_cell_background_set*(a: var TCellRenderer, `cell_background_set`: guint) = 
+  a.CellRendererflag0 = a.CellRendererflag0 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 TYPE_CELL_RENDERER_TEXT*(): GType = 
+  result = 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 CELL_RENDERER_TEXT*(obj: pointer): PCellRendererText = 
+  result = cast[PCellRendererText](CHECK_CAST(obj, 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 CELL_RENDERER_TEXT_CLASS*(klass: pointer): PCellRendererTextClass = 
+  result = cast[PCellRendererTextClass](CHECK_CLASS_CAST(klass, 
+      TYPE_CELL_RENDERER_TEXT()))
 
-proc GTK_IS_CELL_RENDERER_TEXT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_TEXT())
+proc IS_CELL_RENDERER_TEXT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_CELL_RENDERER_TEXT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 CELL_RENDERER_TEXT_GET_CLASS*(obj: pointer): PCellRendererTextClass = 
+  result = cast[PCellRendererTextClass](CHECK_GET_CLASS(obj, 
+      TYPE_CELL_RENDERER_TEXT()))
 
-proc strikethrough*(a: var TGtkCellRendererText): guint =
-  result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_strikethrough) shr
+proc strikethrough*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 and bm_TGtkCellRendererText_strikethrough) shr
       bp_TGtkCellRendererText_strikethrough
 
-proc set_strikethrough*(a: var TGtkCellRendererText, `strikethrough`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
+proc set_strikethrough*(a: var TCellRendererText, `strikethrough`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc editable*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 and bm_TGtkCellRendererText_editable) shr
       bp_TGtkCellRendererText_editable
 
-proc set_editable*(a: var TGtkCellRendererText, `editable`: guint) =
-  a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or
+proc set_editable*(a: var TCellRendererText, `editable`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc scale_set*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 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
+proc set_scale_set*(a: var TCellRendererText, `scale_set`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc foreground_set*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 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
+proc set_foreground_set*(a: var TCellRendererText, `foreground_set`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc background_set*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 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
+proc set_background_set*(a: var TCellRendererText, `background_set`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc underline_set*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 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
+proc set_underline_set*(a: var TCellRendererText, `underline_set`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc rise_set*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 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
+proc set_rise_set*(a: var TCellRendererText, `rise_set`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc strikethrough_set*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 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
+proc set_strikethrough_set*(a: var TCellRendererText, `strikethrough_set`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc editable_set*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 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
+proc set_editable_set*(a: var TCellRendererText, `editable_set`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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
+proc calc_fixed_height*(a: var TCellRendererText): guint = 
+  result = (a.CellRendererTextflag0 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
+proc set_calc_fixed_height*(a: var TCellRendererText, `calc_fixed_height`: guint) = 
+  a.CellRendererTextflag0 = a.CellRendererTextflag0 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 TYPE_CELL_RENDERER_TOGGLE*(): GType = 
+  result = 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 CELL_RENDERER_TOGGLE*(obj: pointer): PCellRendererToggle = 
+  result = cast[PCellRendererToggle](CHECK_CAST(obj, 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 CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): PCellRendererToggleClass = 
+  result = cast[PCellRendererToggleClass](CHECK_CLASS_CAST(klass, 
+      TYPE_CELL_RENDERER_TOGGLE()))
 
-proc GTK_IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_TOGGLE())
+proc IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 CELL_RENDERER_TOGGLE_GET_CLASS*(obj: pointer): PCellRendererToggleClass = 
+  result = cast[PCellRendererToggleClass](CHECK_GET_CLASS(obj, 
+      TYPE_CELL_RENDERER_TOGGLE()))
 
-proc active*(a: var TGtkCellRendererToggle): guint =
-  result = (a.GtkCellRendererToggleflag0 and bm_TGtkCellRendererToggle_active) shr
+proc active*(a: var TCellRendererToggle): guint = 
+  result = (a.CellRendererToggleflag0 and bm_TGtkCellRendererToggle_active) shr
       bp_TGtkCellRendererToggle_active
 
-proc set_active*(a: var TGtkCellRendererToggle, `active`: guint) =
-  a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
+proc set_active*(a: var TCellRendererToggle, `active`: guint) = 
+  a.CellRendererToggleflag0 = a.CellRendererToggleflag0 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
+proc activatable*(a: var TCellRendererToggle): guint = 
+  result = (a.CellRendererToggleflag0 and
+      bm_TGtkCellRendererToggle_activatable) shr
       bp_TGtkCellRendererToggle_activatable
 
-proc set_activatable*(a: var TGtkCellRendererToggle, `activatable`: guint) =
-  a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
+proc set_activatable*(a: var TCellRendererToggle, `activatable`: guint) = 
+  a.CellRendererToggleflag0 = a.CellRendererToggleflag0 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
+proc radio*(a: var TCellRendererToggle): guint = 
+  result = (a.CellRendererToggleflag0 and bm_TGtkCellRendererToggle_radio) shr
       bp_TGtkCellRendererToggle_radio
 
-proc set_radio*(a: var TGtkCellRendererToggle, `radio`: guint) =
-  a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or
+proc set_radio*(a: var TCellRendererToggle, `radio`: guint) = 
+  a.CellRendererToggleflag0 = a.CellRendererToggleflag0 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 TYPE_CELL_RENDERER_PIXBUF*(): GType = 
+  result = 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 CELL_RENDERER_PIXBUF*(obj: pointer): PCellRendererPixbuf = 
+  result = cast[PCellRendererPixbuf](CHECK_CAST(obj, 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 CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): PCellRendererPixbufClass = 
+  result = cast[PCellRendererPixbufClass](CHECK_CLASS_CAST(klass, 
+      TYPE_CELL_RENDERER_PIXBUF()))
 
-proc GTK_IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_PIXBUF())
+proc IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 CELL_RENDERER_PIXBUF_GET_CLASS*(obj: pointer): PCellRendererPixbufClass = 
+  result = cast[PCellRendererPixbufClass](CHECK_GET_CLASS(obj, 
+      TYPE_CELL_RENDERER_PIXBUF()))
 
-proc GTK_TYPE_ITEM*(): GType =
-  result = gtk_item_get_type()
+proc TYPE_ITEM*(): GType = 
+  result = item_get_type()
 
-proc GTK_ITEM*(obj: pointer): PGtkItem =
-  result = cast[PGtkItem](GTK_CHECK_CAST(obj, GTK_TYPE_ITEM()))
+proc ITEM*(obj: pointer): PItem = 
+  result = cast[PItem](CHECK_CAST(obj, TYPE_ITEM()))
 
-proc GTK_ITEM_CLASS*(klass: pointer): PGtkItemClass =
-  result = cast[PGtkItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ITEM()))
+proc ITEM_CLASS*(klass: pointer): PItemClass = 
+  result = cast[PItemClass](CHECK_CLASS_CAST(klass, TYPE_ITEM()))
 
-proc GTK_IS_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ITEM())
+proc IS_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_ITEM())
 
-proc GTK_IS_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ITEM())
+proc IS_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_ITEM())
 
-proc GTK_ITEM_GET_CLASS*(obj: pointer): PGtkItemClass =
-  result = cast[PGtkItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ITEM()))
+proc ITEM_GET_CLASS*(obj: pointer): PItemClass = 
+  result = cast[PItemClass](CHECK_GET_CLASS(obj, TYPE_ITEM()))
 
-proc GTK_TYPE_MENU_ITEM*(): GType =
-  result = gtk_menu_item_get_type()
+proc TYPE_MENU_ITEM*(): GType = 
+  result = menu_item_get_type()
 
-proc GTK_MENU_ITEM*(obj: pointer): PGtkMenuItem =
-  result = cast[PGtkMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_ITEM()))
+proc MENU_ITEM*(obj: pointer): PMenuItem = 
+  result = cast[PMenuItem](CHECK_CAST(obj, TYPE_MENU_ITEM()))
 
-proc GTK_MENU_ITEM_CLASS*(klass: pointer): PGtkMenuItemClass =
-  result = cast[PGtkMenuItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_ITEM()))
+proc MENU_ITEM_CLASS*(klass: pointer): PMenuItemClass = 
+  result = cast[PMenuItemClass](CHECK_CLASS_CAST(klass, TYPE_MENU_ITEM()))
 
-proc GTK_IS_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_ITEM())
+proc IS_MENU_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_MENU_ITEM())
 
-proc GTK_IS_MENU_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_ITEM())
+proc IS_MENU_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 MENU_ITEM_GET_CLASS*(obj: pointer): PMenuItemClass = 
+  result = cast[PMenuItemClass](CHECK_GET_CLASS(obj, TYPE_MENU_ITEM()))
 
-proc show_submenu_indicator*(a: var TGtkMenuItem): guint =
-  result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_show_submenu_indicator) shr
+proc show_submenu_indicator*(a: var TMenuItem): guint = 
+  result = (a.MenuItemflag0 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
+proc set_show_submenu_indicator*(a: var TMenuItem, 
+                                 `show_submenu_indicator`: guint) = 
+  a.MenuItemflag0 = a.MenuItemflag0 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
+proc submenu_placement*(a: var TMenuItem): guint = 
+  result = (a.MenuItemflag0 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
+proc set_submenu_placement*(a: var TMenuItem, `submenu_placement`: guint) = 
+  a.MenuItemflag0 = a.MenuItemflag0 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
+proc submenu_direction*(a: var TMenuItem): guint = 
+  result = (a.MenuItemflag0 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
+proc set_submenu_direction*(a: var TMenuItem, `submenu_direction`: guint) = 
+  a.MenuItemflag0 = a.MenuItemflag0 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
+proc right_justify*(a: var TMenuItem): guint = 
+  result = (a.MenuItemflag0 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
+proc set_right_justify*(a: var TMenuItem, `right_justify`: guint) = 
+  a.MenuItemflag0 = a.MenuItemflag0 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
+proc timer_from_keypress*(a: var TMenuItem): guint = 
+  result = (a.MenuItemflag0 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
+proc set_timer_from_keypress*(a: var TMenuItem, `timer_from_keypress`: guint) = 
+  a.MenuItemflag0 = a.MenuItemflag0 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
+proc hide_on_activate*(a: var TMenuItemClass): guint = 
+  result = (a.MenuItemClassflag0 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
+proc set_hide_on_activate*(a: var TMenuItemClass, `hide_on_activate`: guint) = 
+  a.MenuItemClassflag0 = a.MenuItemClassflag0 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 right_justify*(menu_item: PMenuItem) = 
+  set_right_justified(menu_item, system.true)
 
-proc GTK_TYPE_TOGGLE_BUTTON*(): GType =
-  result = gtk_toggle_button_get_type()
+proc TYPE_TOGGLE_BUTTON*(): GType = 
+  result = toggle_button_get_type()
 
-proc GTK_TOGGLE_BUTTON*(obj: pointer): PGtkToggleButton =
-  result = cast[PGtkToggleButton](GTK_CHECK_CAST(obj, GTK_TYPE_TOGGLE_BUTTON()))
+proc TOGGLE_BUTTON*(obj: pointer): PToggleButton = 
+  result = cast[PToggleButton](CHECK_CAST(obj, TYPE_TOGGLE_BUTTON()))
 
-proc GTK_TOGGLE_BUTTON_CLASS*(klass: pointer): PGtkToggleButtonClass =
-  result = cast[PGtkToggleButtonClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TOGGLE_BUTTON()))
+proc TOGGLE_BUTTON_CLASS*(klass: pointer): PToggleButtonClass = 
+  result = cast[PToggleButtonClass](CHECK_CLASS_CAST(klass, TYPE_TOGGLE_BUTTON()))
 
-proc GTK_IS_TOGGLE_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOGGLE_BUTTON())
+proc IS_TOGGLE_BUTTON*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TOGGLE_BUTTON())
 
-proc GTK_IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOGGLE_BUTTON())
+proc IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TOGGLE_BUTTON_GET_CLASS*(obj: pointer): PToggleButtonClass = 
+  result = cast[PToggleButtonClass](CHECK_GET_CLASS(obj, TYPE_TOGGLE_BUTTON()))
 
-proc active*(a: var TGtkToggleButton): guint =
-  result = (a.GtkToggleButtonflag0 and bm_TGtkToggleButton_active) shr
+proc active*(a: var TToggleButton): guint = 
+  result = (a.ToggleButtonflag0 and bm_TGtkToggleButton_active) shr
       bp_TGtkToggleButton_active
 
-proc set_active*(a: var TGtkToggleButton, `active`: guint) =
-  a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or
+proc set_active*(a: var TToggleButton, `active`: guint) = 
+  a.ToggleButtonflag0 = a.ToggleButtonflag0 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
+proc draw_indicator*(a: var TToggleButton): guint = 
+  result = (a.ToggleButtonflag0 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
+proc set_draw_indicator*(a: var TToggleButton, `draw_indicator`: guint) = 
+  a.ToggleButtonflag0 = a.ToggleButtonflag0 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
+proc inconsistent*(a: var TToggleButton): guint = 
+  result = (a.ToggleButtonflag0 and bm_TGtkToggleButton_inconsistent) shr
       bp_TGtkToggleButton_inconsistent
 
-proc set_inconsistent*(a: var TGtkToggleButton, `inconsistent`: guint) =
-  a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or
+proc set_inconsistent*(a: var TToggleButton, `inconsistent`: guint) = 
+  a.ToggleButtonflag0 = a.ToggleButtonflag0 or
       (int16(`inconsistent` shl bp_TGtkToggleButton_inconsistent) and
       bm_TGtkToggleButton_inconsistent)
 
-proc GTK_TYPE_CHECK_BUTTON*(): GType =
-  result = gtk_check_button_get_type()
+proc TYPE_CHECK_BUTTON*(): GType = 
+  result = check_button_get_type()
 
-proc GTK_CHECK_BUTTON*(obj: pointer): PGtkCheckButton =
-  result = cast[PGtkCheckButton](GTK_CHECK_CAST(obj, GTK_TYPE_CHECK_BUTTON()))
+proc CHECK_BUTTON*(obj: pointer): PCheckButton = 
+  result = cast[PCheckButton](CHECK_CAST(obj, TYPE_CHECK_BUTTON()))
 
-proc GTK_CHECK_BUTTON_CLASS*(klass: pointer): PGtkCheckButtonClass =
-  result = cast[PGtkCheckButtonClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_CHECK_BUTTON()))
+proc CHECK_BUTTON_CLASS*(klass: pointer): PCheckButtonClass = 
+  result = cast[PCheckButtonClass](CHECK_CLASS_CAST(klass, TYPE_CHECK_BUTTON()))
 
-proc GTK_IS_CHECK_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CHECK_BUTTON())
+proc IS_CHECK_BUTTON*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_CHECK_BUTTON())
 
-proc GTK_IS_CHECK_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CHECK_BUTTON())
+proc IS_CHECK_BUTTON_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 CHECK_BUTTON_GET_CLASS*(obj: pointer): PCheckButtonClass = 
+  result = cast[PCheckButtonClass](CHECK_GET_CLASS(obj, TYPE_CHECK_BUTTON()))
 
-proc GTK_TYPE_CHECK_MENU_ITEM*(): GType =
-  result = gtk_check_menu_item_get_type()
+proc TYPE_CHECK_MENU_ITEM*(): GType = 
+  result = 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 CHECK_MENU_ITEM*(obj: pointer): PCheckMenuItem = 
+  result = cast[PCheckMenuItem](CHECK_CAST(obj, 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 CHECK_MENU_ITEM_CLASS*(klass: pointer): PCheckMenuItemClass = 
+  result = cast[PCheckMenuItemClass](CHECK_CLASS_CAST(klass, 
+      TYPE_CHECK_MENU_ITEM()))
 
-proc GTK_IS_CHECK_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CHECK_MENU_ITEM())
+proc IS_CHECK_MENU_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_CHECK_MENU_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 CHECK_MENU_ITEM_GET_CLASS*(obj: pointer): PCheckMenuItemClass = 
+  result = cast[PCheckMenuItemClass](CHECK_GET_CLASS(obj, TYPE_CHECK_MENU_ITEM()))
 
-proc active*(a: var TGtkCheckMenuItem): guint =
-  result = (a.GtkCheckMenuItemflag0 and bm_TGtkCheckMenuItem_active) shr
+proc active*(a: var TCheckMenuItem): guint = 
+  result = (a.CheckMenuItemflag0 and bm_TGtkCheckMenuItem_active) shr
       bp_TGtkCheckMenuItem_active
 
-proc set_active*(a: var TGtkCheckMenuItem, `active`: guint) =
-  a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or
+proc set_active*(a: var TCheckMenuItem, `active`: guint) = 
+  a.CheckMenuItemflag0 = a.CheckMenuItemflag0 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
+proc always_show_toggle*(a: var TCheckMenuItem): guint = 
+  result = (a.CheckMenuItemflag0 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
+proc set_always_show_toggle*(a: var TCheckMenuItem, `always_show_toggle`: guint) = 
+  a.CheckMenuItemflag0 = a.CheckMenuItemflag0 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
+proc inconsistent*(a: var TCheckMenuItem): guint = 
+  result = (a.CheckMenuItemflag0 and bm_TGtkCheckMenuItem_inconsistent) shr
       bp_TGtkCheckMenuItem_inconsistent
 
-proc set_inconsistent*(a: var TGtkCheckMenuItem, `inconsistent`: guint) =
-  a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or
+proc set_inconsistent*(a: var TCheckMenuItem, `inconsistent`: guint) = 
+  a.CheckMenuItemflag0 = a.CheckMenuItemflag0 or
       (int16(`inconsistent` shl bp_TGtkCheckMenuItem_inconsistent) and
       bm_TGtkCheckMenuItem_inconsistent)
 
-proc GTK_TYPE_CLIST*(): GType =
-  result = gtk_clist_get_type()
+proc TYPE_CLIST*(): GType = 
+  result = clist_get_type()
 
-proc GTK_CLIST*(obj: pointer): PGtkCList =
-  result = cast[PGtkCList](GTK_CHECK_CAST(obj, GTK_TYPE_CLIST()))
+proc CLIST*(obj: pointer): PCList = 
+  result = cast[PCList](CHECK_CAST(obj, TYPE_CLIST()))
 
-proc GTK_CLIST_CLASS*(klass: pointer): PGtkCListClass =
-  result = cast[PGtkCListClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CLIST()))
+proc CLIST_CLASS*(klass: pointer): PCListClass = 
+  result = cast[PCListClass](CHECK_CLASS_CAST(klass, TYPE_CLIST()))
 
-proc GTK_IS_CLIST*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CLIST())
+proc IS_CLIST*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_CLIST())
 
-proc GTK_IS_CLIST_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CLIST())
+proc IS_CLIST_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_CLIST())
 
-proc GTK_CLIST_GET_CLASS*(obj: pointer): PGtkCListClass =
-  result = cast[PGtkCListClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CLIST()))
+proc CLIST_GET_CLASS*(obj: pointer): PCListClass = 
+  result = cast[PCListClass](CHECK_GET_CLASS(obj, TYPE_CLIST()))
 
-proc GTK_CLIST_FLAGS*(clist: pointer): guint16 =
-  result = toU16(GTK_CLIST(clist).flags)
+proc CLIST_FLAGS*(clist: pointer): guint16 = 
+  result = toU16(CLIST(clist).flags)
 
-proc GTK_CLIST_SET_FLAG*(clist: PGtkCList, flag: guint16) =
-  clist.flags = GTK_CLIST(clist).flags or (flag)
+proc SET_FLAG*(clist: PCList, flag: guint16) = 
+  clist.flags = CLIST(clist).flags or (flag)
 
-proc GTK_CLIST_UNSET_FLAG*(clist: PGtkCList, flag: guint16) =
-  clist.flags = GTK_CLIST(clist).flags and not (flag)
+proc UNSET_FLAG*(clist: PCList, flag: guint16) = 
+  clist.flags = 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 CLIST_IN_DRAG_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_ROW_HEIGHT_SET_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_SHOW_TITLES_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_ADD_MODE_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_AUTO_SORT_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_AUTO_RESIZE_BLOCKED_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_REORDERABLE_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_USE_DRAG_ICONS_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_DRAW_DRAG_LINE_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(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 CLIST_DRAW_DRAG_RECT_get*(clist: pointer): bool = 
+  result = ((CLIST_FLAGS(clist)) and cint(CLIST_DRAW_DRAG_RECT)) != 0'i32
 
-proc GTK_CLIST_ROW_get*(glist: PGList): PGtkCListRow =
-  result = cast[PGtkCListRow](glist . data)
+proc CLIST_ROW_get*(glist: PGList): PCListRow = 
+  result = cast[PCListRow](glist.data)
 
-when false:
-  proc GTK_CELL_TEXT_get*(cell: pointer): PGtkCellText =
-    result = cast[PGtkCellText](addr((cell)))
+when false: 
+  proc CELL_TEXT_get*(cell: pointer): PCellText = 
+    result = cast[PCellText](addr((cell)))
 
-  proc GTK_CELL_PIXMAP_get*(cell: pointer): PGtkCellPixmap =
-    result = cast[PGtkCellPixmap](addr((cell)))
+  proc CELL_PIXMAP_get*(cell: pointer): PCellPixmap = 
+    result = cast[PCellPixmap](addr((cell)))
 
-  proc GTK_CELL_PIXTEXT_get*(cell: pointer): PGtkCellPixText =
-    result = cast[PGtkCellPixText](addr((cell)))
+  proc CELL_PIXTEXT_get*(cell: pointer): PCellPixText = 
+    result = cast[PCellPixText](addr((cell)))
 
-  proc GTK_CELL_WIDGET_get*(cell: pointer): PGtkCellWidget =
-    result = cast[PGtkCellWidget](addr((cell)))
+  proc CELL_WIDGET_get*(cell: pointer): PCellWidget = 
+    result = cast[PCellWidget](addr((cell)))
 
-proc visible*(a: var TGtkCListColumn): guint =
+proc visible*(a: var TCListColumn): guint = 
   result = (a.flag0 and bm_TGtkCListColumn_visible) shr
       bp_TGtkCListColumn_visible
 
-proc set_visible*(a: var TGtkCListColumn, `visible`: guint) =
+proc set_visible*(a: var TCListColumn, `visible`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`visible` shl bp_TGtkCListColumn_visible) and
       bm_TGtkCListColumn_visible)
 
-proc width_set*(a: var TGtkCListColumn): guint =
+proc width_set*(a: var TCListColumn): guint = 
   result = (a.flag0 and bm_TGtkCListColumn_width_set) shr
       bp_TGtkCListColumn_width_set
 
-proc set_width_set*(a: var TGtkCListColumn, `width_set`: guint) =
+proc set_width_set*(a: var TCListColumn, `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 =
+proc resizeable*(a: var TCListColumn): guint = 
   result = (a.flag0 and bm_TGtkCListColumn_resizeable) shr
       bp_TGtkCListColumn_resizeable
 
-proc set_resizeable*(a: var TGtkCListColumn, `resizeable`: guint) =
+proc set_resizeable*(a: var TCListColumn, `resizeable`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`resizeable` shl bp_TGtkCListColumn_resizeable) and
       bm_TGtkCListColumn_resizeable)
 
-proc auto_resize*(a: var TGtkCListColumn): guint =
+proc auto_resize*(a: var TCListColumn): guint = 
   result = (a.flag0 and bm_TGtkCListColumn_auto_resize) shr
       bp_TGtkCListColumn_auto_resize
 
-proc set_auto_resize*(a: var TGtkCListColumn, `auto_resize`: guint) =
+proc set_auto_resize*(a: var TCListColumn, `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 =
+proc button_passive*(a: var TCListColumn): guint = 
   result = (a.flag0 and bm_TGtkCListColumn_button_passive) shr
       bp_TGtkCListColumn_button_passive
 
-proc set_button_passive*(a: var TGtkCListColumn, `button_passive`: guint) =
+proc set_button_passive*(a: var TCListColumn, `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 =
+proc fg_set*(a: var TCListRow): guint = 
   result = (a.flag0 and bm_TGtkCListRow_fg_set) shr bp_TGtkCListRow_fg_set
 
-proc set_fg_set*(a: var TGtkCListRow, `fg_set`: guint) =
+proc set_fg_set*(a: var TCListRow, `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 =
+proc bg_set*(a: var TCListRow): guint = 
   result = (a.flag0 and bm_TGtkCListRow_bg_set) shr bp_TGtkCListRow_bg_set
 
-proc set_bg_set*(a: var TGtkCListRow, `bg_set`: guint) =
+proc set_bg_set*(a: var TCListRow, `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 =
+proc selectable*(a: var TCListRow): guint = 
   result = (a.flag0 and bm_TGtkCListRow_selectable) shr
       bp_TGtkCListRow_selectable
 
-proc set_selectable*(a: var TGtkCListRow, `selectable`: guint) =
+proc set_selectable*(a: var TCListRow, `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 TYPE_DIALOG*(): GType = 
+  result = dialog_get_type()
 
-proc GTK_DIALOG*(obj: pointer): PGtkDialog =
-  result = cast[PGtkDialog](GTK_CHECK_CAST(obj, GTK_TYPE_DIALOG()))
+proc DIALOG*(obj: pointer): PDialog = 
+  result = cast[PDialog](CHECK_CAST(obj, TYPE_DIALOG()))
 
-proc GTK_DIALOG_CLASS*(klass: pointer): PGtkDialogClass =
-  result = cast[PGtkDialogClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_DIALOG()))
+proc DIALOG_CLASS*(klass: pointer): PDialogClass = 
+  result = cast[PDialogClass](CHECK_CLASS_CAST(klass, TYPE_DIALOG()))
 
-proc GTK_IS_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_DIALOG())
+proc IS_DIALOG*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_DIALOG())
 
-proc GTK_IS_DIALOG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_DIALOG())
+proc IS_DIALOG_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_DIALOG())
 
-proc GTK_DIALOG_GET_CLASS*(obj: pointer): PGtkDialogClass =
-  result = cast[PGtkDialogClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_DIALOG()))
+proc DIALOG_GET_CLASS*(obj: pointer): PDialogClass = 
+  result = cast[PDialogClass](CHECK_GET_CLASS(obj, TYPE_DIALOG()))
 
-proc GTK_TYPE_VBOX*(): GType =
-  result = gtk_vbox_get_type()
+proc TYPE_VBOX*(): GType = 
+  result = vbox_get_type()
 
-proc GTK_VBOX*(obj: pointer): PGtkVBox =
-  result = cast[PGtkVBox](GTK_CHECK_CAST(obj, GTK_TYPE_VBOX()))
+proc VBOX*(obj: pointer): PVBox = 
+  result = cast[PVBox](CHECK_CAST(obj, TYPE_VBOX()))
 
-proc GTK_VBOX_CLASS*(klass: pointer): PGtkVBoxClass =
-  result = cast[PGtkVBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VBOX()))
+proc VBOX_CLASS*(klass: pointer): PVBoxClass = 
+  result = cast[PVBoxClass](CHECK_CLASS_CAST(klass, TYPE_VBOX()))
 
-proc GTK_IS_VBOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VBOX())
+proc IS_VBOX*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_VBOX())
 
-proc GTK_IS_VBOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VBOX())
+proc IS_VBOX_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_VBOX())
 
-proc GTK_VBOX_GET_CLASS*(obj: pointer): PGtkVBoxClass =
-  result = cast[PGtkVBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VBOX()))
+proc VBOX_GET_CLASS*(obj: pointer): PVBoxClass = 
+  result = cast[PVBoxClass](CHECK_GET_CLASS(obj, TYPE_VBOX()))
 
-proc GTK_TYPE_COLOR_SELECTION*(): GType =
-  result = gtk_color_selection_get_type()
+proc TYPE_COLOR_SELECTION*(): GType = 
+  result = color_selection_get_type()
 
-proc GTK_COLOR_SELECTION*(obj: pointer): PGtkColorSelection =
-  result = cast[PGtkColorSelection](GTK_CHECK_CAST(obj, GTK_TYPE_COLOR_SELECTION()))
+proc COLOR_SELECTION*(obj: pointer): PColorSelection = 
+  result = cast[PColorSelection](CHECK_CAST(obj, TYPE_COLOR_SELECTION()))
 
-proc GTK_COLOR_SELECTION_CLASS*(klass: pointer): PGtkColorSelectionClass =
-  result = cast[PGtkColorSelectionClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_COLOR_SELECTION()))
+proc COLOR_SELECTION_CLASS*(klass: pointer): PColorSelectionClass = 
+  result = cast[PColorSelectionClass](CHECK_CLASS_CAST(klass, 
+      TYPE_COLOR_SELECTION()))
 
-proc GTK_IS_COLOR_SELECTION*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_COLOR_SELECTION())
+proc IS_COLOR_SELECTION*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_COLOR_SELECTION())
 
-proc GTK_IS_COLOR_SELECTION_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_COLOR_SELECTION())
+proc IS_COLOR_SELECTION_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 COLOR_SELECTION_GET_CLASS*(obj: pointer): PColorSelectionClass = 
+  result = cast[PColorSelectionClass](CHECK_GET_CLASS(obj, 
+      TYPE_COLOR_SELECTION()))
 
-proc GTK_TYPE_COLOR_SELECTION_DIALOG*(): GType =
-  result = gtk_color_selection_dialog_get_type()
+proc TYPE_COLOR_SELECTION_DIALOG*(): GType = 
+  result = 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 COLOR_SELECTION_DIALOG*(obj: pointer): PColorSelectionDialog = 
+  result = cast[PColorSelectionDialog](CHECK_CAST(obj, 
+      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 COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): PColorSelectionDialogClass = 
+  result = cast[PColorSelectionDialogClass](CHECK_CLASS_CAST(klass, 
+      TYPE_COLOR_SELECTION_DIALOG()))
 
-proc GTK_IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_COLOR_SELECTION_DIALOG())
+proc IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 COLOR_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PColorSelectionDialogClass = 
+  result = cast[PColorSelectionDialogClass](CHECK_GET_CLASS(obj, 
+      TYPE_COLOR_SELECTION_DIALOG()))
 
-proc GTK_TYPE_HBOX*(): GType =
-  result = gtk_hbox_get_type()
+proc TYPE_HBOX*(): GType = 
+  result = hbox_get_type()
 
-proc GTK_HBOX*(obj: pointer): PGtkHBox =
-  result = cast[PGtkHBox](GTK_CHECK_CAST(obj, GTK_TYPE_HBOX()))
+proc HBOX*(obj: pointer): PHBox = 
+  result = cast[PHBox](CHECK_CAST(obj, TYPE_HBOX()))
 
-proc GTK_HBOX_CLASS*(klass: pointer): PGtkHBoxClass =
-  result = cast[PGtkHBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HBOX()))
+proc HBOX_CLASS*(klass: pointer): PHBoxClass = 
+  result = cast[PHBoxClass](CHECK_CLASS_CAST(klass, TYPE_HBOX()))
 
-proc GTK_IS_HBOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HBOX())
+proc IS_HBOX*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_HBOX())
 
-proc GTK_IS_HBOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HBOX())
+proc IS_HBOX_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_HBOX())
 
-proc GTK_HBOX_GET_CLASS*(obj: pointer): PGtkHBoxClass =
-  result = cast[PGtkHBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HBOX()))
+proc HBOX_GET_CLASS*(obj: pointer): PHBoxClass = 
+  result = cast[PHBoxClass](CHECK_GET_CLASS(obj, TYPE_HBOX()))
 
-proc GTK_TYPE_COMBO*(): GType =
-  result = gtk_combo_get_type()
+proc TYPE_COMBO*(): GType = 
+  result = combo_get_type()
 
-proc GTK_COMBO*(obj: pointer): PGtkCombo =
-  result = cast[PGtkCombo](GTK_CHECK_CAST(obj, GTK_TYPE_COMBO()))
+proc COMBO*(obj: pointer): PCombo = 
+  result = cast[PCombo](CHECK_CAST(obj, TYPE_COMBO()))
 
-proc GTK_COMBO_CLASS*(klass: pointer): PGtkComboClass =
-  result = cast[PGtkComboClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_COMBO()))
+proc COMBO_CLASS*(klass: pointer): PComboClass = 
+  result = cast[PComboClass](CHECK_CLASS_CAST(klass, TYPE_COMBO()))
 
-proc GTK_IS_COMBO*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_COMBO())
+proc IS_COMBO*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_COMBO())
 
-proc GTK_IS_COMBO_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_COMBO())
+proc IS_COMBO_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_COMBO())
 
-proc GTK_COMBO_GET_CLASS*(obj: pointer): PGtkComboClass =
-  result = cast[PGtkComboClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_COMBO()))
+proc COMBO_GET_CLASS*(obj: pointer): PComboClass = 
+  result = cast[PComboClass](CHECK_GET_CLASS(obj, TYPE_COMBO()))
 
-proc value_in_list*(a: var TGtkCombo): guint =
-  result = (a.GtkComboflag0 and bm_TGtkCombo_value_in_list) shr
+proc value_in_list*(a: var TCombo): guint = 
+  result = (a.Comboflag0 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
+proc set_value_in_list*(a: var TCombo, `value_in_list`: guint) = 
+  a.Comboflag0 = a.Comboflag0 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
+proc ok_if_empty*(a: var TCombo): guint = 
+  result = (a.Comboflag0 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
+proc set_ok_if_empty*(a: var TCombo, `ok_if_empty`: guint) = 
+  a.Comboflag0 = a.Comboflag0 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
+proc case_sensitive*(a: var TCombo): guint = 
+  result = (a.Comboflag0 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
+proc set_case_sensitive*(a: var TCombo, `case_sensitive`: guint) = 
+  a.Comboflag0 = a.Comboflag0 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 use_arrows*(a: var TCombo): guint = 
+  result = (a.Comboflag0 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 set_use_arrows*(a: var TCombo, `use_arrows`: guint) = 
+  a.Comboflag0 = a.Comboflag0 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
+proc use_arrows_always*(a: var TCombo): guint = 
+  result = (a.Comboflag0 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
+proc set_use_arrows_always*(a: var TCombo, `use_arrows_always`: guint) = 
+  a.Comboflag0 = a.Comboflag0 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 TYPE_CTREE*(): GType = 
+  result = ctree_get_type()
 
-proc GTK_CTREE*(obj: pointer): PGtkCTree =
-  result = cast[PGtkCTree](GTK_CHECK_CAST(obj, GTK_TYPE_CTREE()))
+proc CTREE*(obj: pointer): PCTree = 
+  result = cast[PCTree](CHECK_CAST(obj, TYPE_CTREE()))
 
-proc GTK_CTREE_CLASS*(klass: pointer): PGtkCTreeClass =
-  result = cast[PGtkCTreeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CTREE()))
+proc CTREE_CLASS*(klass: pointer): PCTreeClass = 
+  result = cast[PCTreeClass](CHECK_CLASS_CAST(klass, TYPE_CTREE()))
 
-proc GTK_IS_CTREE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CTREE())
+proc IS_CTREE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_CTREE())
 
-proc GTK_IS_CTREE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CTREE())
+proc IS_CTREE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_CTREE())
 
-proc GTK_CTREE_GET_CLASS*(obj: pointer): PGtkCTreeClass =
-  result = cast[PGtkCTreeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CTREE()))
+proc CTREE_GET_CLASS*(obj: pointer): PCTreeClass = 
+  result = cast[PCTreeClass](CHECK_GET_CLASS(obj, TYPE_CTREE()))
 
-proc GTK_CTREE_ROW*(node: TAddress): PGtkCTreeRow =
-  result = cast[PGtkCTreeRow]((cast[PGList](node)) . data)
+proc CTREE_ROW*(node: TAddress): PCTreeRow = 
+  result = cast[PCTreeRow]((cast[PGList](node)).data)
 
-proc GTK_CTREE_NODE*(node: TAddress): PGtkCTreeNode =
-  result = cast[PGtkCTreeNode](node)
+proc CTREE_NODE*(node: TAddress): PCTreeNode = 
+  result = cast[PCTreeNode](node)
 
-proc GTK_CTREE_NODE_NEXT*(nnode: TAddress): PGtkCTreeNode =
-  result = cast[PGtkCTreeNode]((cast[PGList](nnode)) . next)
+proc CTREE_NODE_NEXT*(nnode: TAddress): PCTreeNode = 
+  result = cast[PCTreeNode]((cast[PGList](nnode)).next)
 
-proc GTK_CTREE_NODE_PREV*(`pnode`: TAddress): PGtkCTreeNode =
-  result = cast[PGtkCTreeNode]((cast[PGList](`pnode`)) . prev)
+proc CTREE_NODE_PREV*(pnode: TAddress): PCTreeNode = 
+  result = cast[PCTreeNode]((cast[PGList](pnode)).prev)
 
-proc GTK_CTREE_FUNC*(`func`: TAddress): TGtkCTreeFunc =
-  result = cast[TGtkCTreeFunc](`func`)
+proc CTREE_FUNC*(fun: TAddress): TCTreeFunc = 
+  result = cast[TCTreeFunc](fun)
 
-proc GTK_TYPE_CTREE_NODE*(): GType =
-  result = gtk_ctree_node_get_type()
+proc TYPE_CTREE_NODE*(): GType = 
+  result = 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 line_style*(a: var TCTree): guint = 
+  result = (a.CTreeflag0 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 set_line_style*(a: var TCTree, `line_style`: guint) = 
+  a.CTreeflag0 = a.CTreeflag0 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
+proc expander_style*(a: var TCTree): guint = 
+  result = (a.CTreeflag0 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
+proc set_expander_style*(a: var TCTree, `expander_style`: guint) = 
+  a.CTreeflag0 = a.CTreeflag0 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 show_stub*(a: var TCTree): guint = 
+  result = (a.CTreeflag0 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 set_show_stub*(a: var TCTree, `show_stub`: guint) = 
+  a.CTreeflag0 = a.CTreeflag0 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 is_leaf*(a: var TCTreeRow): guint = 
+  result = (a.CTreeRow_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 set_is_leaf*(a: var TCTreeRow, `is_leaf`: guint) = 
+  a.CTreeRow_flag0 = a.CTreeRow_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
+proc expanded*(a: var TCTreeRow): guint = 
+  result = (a.CTreeRow_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 set_expanded*(a: var TCTreeRow, `expanded`: guint) = 
+  a.CTreeRow_flag0 = a.CTreeRowflag0 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 ctree_set_reorderable*(t: pointer, r: bool) = 
+  set_reorderable(cast[PCList](t), r)
 
-proc GTK_TYPE_DRAWING_AREA*(): GType =
-  result = gtk_drawing_area_get_type()
+proc TYPE_DRAWING_AREA*(): GType = 
+  result = drawing_area_get_type()
 
-proc GTK_DRAWING_AREA*(obj: pointer): PGtkDrawingArea =
-  result = cast[PGtkDrawingArea](GTK_CHECK_CAST(obj, GTK_TYPE_DRAWING_AREA()))
+proc DRAWING_AREA*(obj: pointer): PDrawingArea = 
+  result = cast[PDrawingArea](CHECK_CAST(obj, TYPE_DRAWING_AREA()))
 
-proc GTK_DRAWING_AREA_CLASS*(klass: pointer): PGtkDrawingAreaClass =
-  result = cast[PGtkDrawingAreaClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_DRAWING_AREA()))
+proc DRAWING_AREA_CLASS*(klass: pointer): PDrawingAreaClass = 
+  result = cast[PDrawingAreaClass](CHECK_CLASS_CAST(klass, TYPE_DRAWING_AREA()))
 
-proc GTK_IS_DRAWING_AREA*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_DRAWING_AREA())
+proc IS_DRAWING_AREA*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_DRAWING_AREA())
 
-proc GTK_IS_DRAWING_AREA_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_DRAWING_AREA())
+proc IS_DRAWING_AREA_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 DRAWING_AREA_GET_CLASS*(obj: pointer): PDrawingAreaClass = 
+  result = cast[PDrawingAreaClass](CHECK_GET_CLASS(obj, TYPE_DRAWING_AREA()))
 
-proc GTK_TYPE_CURVE*(): GType =
-  result = gtk_curve_get_type()
+proc TYPE_CURVE*(): GType = 
+  result = curve_get_type()
 
-proc GTK_CURVE*(obj: pointer): PGtkCurve =
-  result = cast[PGtkCurve](GTK_CHECK_CAST(obj, GTK_TYPE_CURVE()))
+proc CURVE*(obj: pointer): PCurve = 
+  result = cast[PCurve](CHECK_CAST(obj, TYPE_CURVE()))
 
-proc GTK_CURVE_CLASS*(klass: pointer): PGtkCurveClass =
-  result = cast[PGtkCurveClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CURVE()))
+proc CURVE_CLASS*(klass: pointer): PCurveClass = 
+  result = cast[PCurveClass](CHECK_CLASS_CAST(klass, TYPE_CURVE()))
 
-proc GTK_IS_CURVE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_CURVE())
+proc IS_CURVE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_CURVE())
 
-proc GTK_IS_CURVE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CURVE())
+proc IS_CURVE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_CURVE())
 
-proc GTK_CURVE_GET_CLASS*(obj: pointer): PGtkCurveClass =
-  result = cast[PGtkCurveClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CURVE()))
+proc CURVE_GET_CLASS*(obj: pointer): PCurveClass = 
+  result = cast[PCurveClass](CHECK_GET_CLASS(obj, TYPE_CURVE()))
 
-proc GTK_TYPE_EDITABLE*(): GType =
-  result = gtk_editable_get_type()
+proc TYPE_EDITABLE*(): GType = 
+  result = editable_get_type()
 
-proc GTK_EDITABLE*(obj: pointer): PGtkEditable =
-  result = cast[PGtkEditable](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_EDITABLE()))
+proc EDITABLE*(obj: pointer): PEditable = 
+  result = cast[PEditable](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_EDITABLE()))
 
-proc GTK_EDITABLE_CLASS*(vtable: pointer): PGtkEditableClass =
-  result = cast[PGtkEditableClass](G_TYPE_CHECK_CLASS_CAST(vtable, GTK_TYPE_EDITABLE()))
+proc EDITABLE_CLASS*(vtable: pointer): PEditableClass = 
+  result = cast[PEditableClass](G_TYPE_CHECK_CLASS_CAST(vtable, TYPE_EDITABLE()))
 
-proc GTK_IS_EDITABLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_EDITABLE())
+proc IS_EDITABLE*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_EDITABLE())
 
-proc GTK_IS_EDITABLE_CLASS*(vtable: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(vtable, GTK_TYPE_EDITABLE())
+proc IS_EDITABLE_CLASS*(vtable: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(vtable, TYPE_EDITABLE())
 
-proc GTK_EDITABLE_GET_CLASS*(inst: pointer): PGtkEditableClass =
-  result = cast[PGtkEditableClass](G_TYPE_INSTANCE_GET_INTERFACE(inst,
-      GTK_TYPE_EDITABLE()))
+proc EDITABLE_GET_CLASS*(inst: pointer): PEditableClass = 
+  result = cast[PEditableClass](G_TYPE_INSTANCE_GET_INTERFACE(inst, 
+      TYPE_EDITABLE()))
 
-proc GTK_TYPE_IM_CONTEXT*(): GType =
-  result = gtk_im_context_get_type()
+proc TYPE_IM_CONTEXT*(): GType = 
+  result = im_context_get_type()
 
-proc GTK_IM_CONTEXT*(obj: pointer): PGtkIMContext =
-  result = cast[PGtkIMContext](GTK_CHECK_CAST(obj, GTK_TYPE_IM_CONTEXT()))
+proc IM_CONTEXT*(obj: pointer): PIMContext = 
+  result = cast[PIMContext](CHECK_CAST(obj, TYPE_IM_CONTEXT()))
 
-proc GTK_IM_CONTEXT_CLASS*(klass: pointer): PGtkIMContextClass =
-  result = cast[PGtkIMContextClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_IM_CONTEXT()))
+proc IM_CONTEXT_CLASS*(klass: pointer): PIMContextClass = 
+  result = cast[PIMContextClass](CHECK_CLASS_CAST(klass, TYPE_IM_CONTEXT()))
 
-proc GTK_IS_IM_CONTEXT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_CONTEXT())
+proc IS_IM_CONTEXT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_IM_CONTEXT())
 
-proc GTK_IS_IM_CONTEXT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IM_CONTEXT())
+proc IS_IM_CONTEXT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 IM_CONTEXT_GET_CLASS*(obj: pointer): PIMContextClass = 
+  result = cast[PIMContextClass](CHECK_GET_CLASS(obj, TYPE_IM_CONTEXT()))
 
-proc GTK_TYPE_MENU_SHELL*(): GType =
-  result = gtk_menu_shell_get_type()
+proc TYPE_MENU_SHELL*(): GType = 
+  result = menu_shell_get_type()
 
-proc GTK_MENU_SHELL*(obj: pointer): PGtkMenuShell =
-  result = cast[PGtkMenuShell](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_SHELL()))
+proc MENU_SHELL*(obj: pointer): PMenuShell = 
+  result = cast[PMenuShell](CHECK_CAST(obj, TYPE_MENU_SHELL()))
 
-proc GTK_MENU_SHELL_CLASS*(klass: pointer): PGtkMenuShellClass =
-  result = cast[PGtkMenuShellClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_SHELL()))
+proc MENU_SHELL_CLASS*(klass: pointer): PMenuShellClass = 
+  result = cast[PMenuShellClass](CHECK_CLASS_CAST(klass, TYPE_MENU_SHELL()))
 
-proc GTK_IS_MENU_SHELL*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_SHELL())
+proc IS_MENU_SHELL*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_MENU_SHELL())
 
-proc GTK_IS_MENU_SHELL_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_SHELL())
+proc IS_MENU_SHELL_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 MENU_SHELL_GET_CLASS*(obj: pointer): PMenuShellClass = 
+  result = cast[PMenuShellClass](CHECK_GET_CLASS(obj, TYPE_MENU_SHELL()))
 
-proc active*(a: var TGtkMenuShell): guint =
-  result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_active) shr bp_TGtkMenuShell_active
+proc active*(a: var TMenuShell): guint = 
+  result = (a.MenuShellflag0 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 set_active*(a: var TMenuShell, `active`: guint) = 
+  a.MenuShellflag0 = a.MenuShellflag0 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
+proc have_grab*(a: var TMenuShell): guint = 
+  result = (a.MenuShellflag0 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
+proc set_have_grab*(a: var TMenuShell, `have_grab`: guint) = 
+  a.MenuShellflag0 = a.MenuShellflag0 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
+proc have_xgrab*(a: var TMenuShell): guint = 
+  result = (a.MenuShellflag0 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
+proc set_have_xgrab*(a: var TMenuShell, `have_xgrab`: guint) = 
+  a.MenuShellflag0 = a.MenuShellflag0 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
+proc ignore_leave*(a: var TMenuShell): guint = 
+  result = (a.MenuShellflag0 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
+proc set_ignore_leave*(a: var TMenuShell, `ignore_leave`: guint) = 
+  a.MenuShellflag0 = a.MenuShellflag0 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
+proc menu_flag*(a: var TMenuShell): guint = 
+  result = (a.MenuShellflag0 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
+proc set_menu_flag*(a: var TMenuShell, `menu_flag`: guint) = 
+  a.MenuShellflag0 = a.MenuShellflag0 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
+proc ignore_enter*(a: var TMenuShell): guint = 
+  result = (a.MenuShellflag0 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
+proc set_ignore_enter*(a: var TMenuShell, `ignore_enter`: guint) = 
+  a.MenuShellflag0 = a.MenuShellflag0 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
+proc submenu_placement*(a: var TMenuShellClass): guint = 
+  result = (a.MenuShellClassflag0 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
+proc set_submenu_placement*(a: var TMenuShellClass, `submenu_placement`: guint) = 
+  a.MenuShellClassflag0 = a.MenuShellClassflag0 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 TYPE_MENU*(): GType = 
+  result = menu_get_type()
 
-proc GTK_MENU*(obj: pointer): PGtkMenu =
-  result = cast[PGtkMenu](GTK_CHECK_CAST(obj, GTK_TYPE_MENU()))
+proc MENU*(obj: pointer): PMenu = 
+  result = cast[PMenu](CHECK_CAST(obj, TYPE_MENU()))
 
-proc GTK_MENU_CLASS*(klass: pointer): PGtkMenuClass =
-  result = cast[PGtkMenuClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU()))
+proc MENU_CLASS*(klass: pointer): PMenuClass = 
+  result = cast[PMenuClass](CHECK_CLASS_CAST(klass, TYPE_MENU()))
 
-proc GTK_IS_MENU*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU())
+proc IS_MENU*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_MENU())
 
-proc GTK_IS_MENU_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU())
+proc IS_MENU_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_MENU())
 
-proc GTK_MENU_GET_CLASS*(obj: pointer): PGtkMenuClass =
-  result = cast[PGtkMenuClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU()))
+proc MENU_GET_CLASS*(obj: pointer): PMenuClass = 
+  result = cast[PMenuClass](CHECK_GET_CLASS(obj, TYPE_MENU()))
 
-proc needs_destruction_ref_count*(a: var TGtkMenu): guint =
-  result = (a.GtkMenuflag0 and bm_TGtkMenu_needs_destruction_ref_count) shr
+proc needs_destruction_ref_count*(a: var TMenu): guint = 
+  result = (a.Menuflag0 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
+proc set_needs_destruction_ref_count*(a: var TMenu, 
+                                      `needs_destruction_ref_count`: guint) = 
+  a.Menuflag0 = a.Menuflag0 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 torn_off*(a: var TMenu): guint = 
+  result = (a.Menuflag0 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
+proc set_torn_off*(a: var TMenu, `torn_off`: guint) = 
+  a.Menuflag0 = a.Menuflag0 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
+proc tearoff_active*(a: var TMenu): guint = 
+  result = (a.Menuflag0 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
+proc set_tearoff_active*(a: var TMenu, `tearoff_active`: guint) = 
+  a.Menuflag0 = a.Menuflag0 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 scroll_fast*(a: var TMenu): guint = 
+  result = (a.Menuflag0 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
+proc set_scroll_fast*(a: var TMenu, `scroll_fast`: guint) = 
+  a.Menuflag0 = a.Menuflag0 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
+proc upper_arrow_visible*(a: var TMenu): guint = 
+  result = (a.Menuflag0 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
+proc set_upper_arrow_visible*(a: var TMenu, `upper_arrow_visible`: guint) = 
+  a.Menuflag0 = a.Menuflag0 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
+proc lower_arrow_visible*(a: var TMenu): guint = 
+  result = (a.Menuflag0 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
+proc set_lower_arrow_visible*(a: var TMenu, `lower_arrow_visible`: guint) = 
+  a.Menuflag0 = a.Menuflag0 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
+proc upper_arrow_prelight*(a: var TMenu): guint = 
+  result = (a.Menuflag0 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
+proc set_upper_arrow_prelight*(a: var TMenu, `upper_arrow_prelight`: guint) = 
+  a.Menuflag0 = a.Menuflag0 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
+proc lower_arrow_prelight*(a: var TMenu): guint = 
+  result = (a.Menuflag0 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
+proc set_lower_arrow_prelight*(a: var TMenu, `lower_arrow_prelight`: guint) = 
+  a.Menuflag0 = a.Menuflag0 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 menu_append*(menu, child: PWidget) = 
+  append(cast[PMenuShell](menu), child)
 
-proc gtk_menu_prepend*(menu, child: PGtkWidget) =
-  gtk_menu_shell_prepend(cast[PGtkMenuShell](menu), child)
+proc menu_prepend*(menu, child: PWidget) = 
+  prepend(cast[PMenuShell](menu), child)
 
-proc gtk_menu_insert*(menu, child: PGtkWidget, pos: gint) =
-  gtk_menu_shell_insert(cast[PGtkMenuShell](menu), child, pos)
+proc menu_insert*(menu, child: PWidget, pos: gint) = 
+  insert(cast[PMenuShell](menu), child, pos)
 
-proc GTK_TYPE_ENTRY*(): GType =
-  result = gtk_entry_get_type()
+proc TYPE_ENTRY*(): GType = 
+  result = entry_get_type()
 
-proc GTK_ENTRY*(obj: pointer): PGtkEntry =
-  result = cast[PGtkEntry](GTK_CHECK_CAST(obj, GTK_TYPE_ENTRY()))
+proc ENTRY*(obj: pointer): PEntry = 
+  result = cast[PEntry](CHECK_CAST(obj, TYPE_ENTRY()))
 
-proc GTK_ENTRY_CLASS*(klass: pointer): PGtkEntryClass =
-  result = cast[PGtkEntryClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ENTRY()))
+proc ENTRY_CLASS*(klass: pointer): PEntryClass = 
+  result = cast[PEntryClass](CHECK_CLASS_CAST(klass, TYPE_ENTRY()))
 
-proc GTK_IS_ENTRY*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_ENTRY())
+proc IS_ENTRY*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_ENTRY())
 
-proc GTK_IS_ENTRY_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ENTRY())
+proc IS_ENTRY_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_ENTRY())
 
-proc GTK_ENTRY_GET_CLASS*(obj: pointer): PGtkEntryClass =
-  result = cast[PGtkEntryClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ENTRY()))
+proc ENTRY_GET_CLASS*(obj: pointer): PEntryClass = 
+  result = cast[PEntryClass](CHECK_GET_CLASS(obj, TYPE_ENTRY()))
 
-proc editable*(a: var TGtkEntry): guint =
-  result = (a.GtkEntryflag0 and bm_TGtkEntry_editable) shr bp_TGtkEntry_editable
+proc editable*(a: var TEntry): guint = 
+  result = (a.Entryflag0 and bm_TGtkEntry_editable) shr bp_TGtkEntry_editable
 
-proc set_editable*(a: var TGtkEntry, `editable`: guint) =
-  a.GtkEntryflag0 = a.GtkEntryflag0 or
+proc set_editable*(a: var TEntry, `editable`: guint) = 
+  a.Entryflag0 = a.Entryflag0 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 visible*(a: var TEntry): guint = 
+  result = (a.Entryflag0 and bm_TGtkEntry_visible) shr bp_TGtkEntry_visible
 
-proc set_visible*(a: var TGtkEntry, `visible`: guint) =
-  a.GtkEntryflag0 = a.GtkEntryflag0 or
+proc set_visible*(a: var TEntry, `visible`: guint) = 
+  a.Entryflag0 = a.Entryflag0 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
+proc overwrite_mode*(a: var TEntry): guint = 
+  result = (a.Entryflag0 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
+proc set_overwrite_mode*(a: var TEntry, `overwrite_mode`: guint) = 
+  a.Entryflag0 = a.Entryflag0 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 in_drag*(a: var TEntry): guint = 
+  result = (a.Entryflag0 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
+proc set_in_drag*(a: var TEntry, `in_drag`: guint) = 
+  a.Entryflag0 = a.Entryflag0 or
       (int16(`in_drag` shl bp_TGtkEntry_in_drag) and bm_TGtkEntry_in_drag)
 
-proc cache_includes_preedit*(a: var TGtkEntry): guint =
+proc cache_includes_preedit*(a: var TEntry): 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) =
+proc set_cache_includes_preedit*(a: var TEntry, `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 =
+proc need_im_reset*(a: var TEntry): 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) =
+proc set_need_im_reset*(a: var TEntry, `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 =
+proc has_frame*(a: var TEntry): guint = 
   result = (a.flag1 and bm_TGtkEntry_has_frame) shr bp_TGtkEntry_has_frame
 
-proc set_has_frame*(a: var TGtkEntry, `has_frame`: guint) =
+proc set_has_frame*(a: var TEntry, `has_frame`: guint) = 
   a.flag1 = a.flag1 or
-      (int16(`has_frame` shl bp_TGtkEntry_has_frame) and bm_TGtkEntry_has_frame)
+      (int16(`has_frame` shl bp_TGtkEntry_has_frame) and
+      bm_TGtkEntry_has_frame)
 
-proc activates_default*(a: var TGtkEntry): guint =
+proc activates_default*(a: var TEntry): guint = 
   result = (a.flag1 and bm_TGtkEntry_activates_default) shr
       bp_TGtkEntry_activates_default
 
-proc set_activates_default*(a: var TGtkEntry, `activates_default`: guint) =
+proc set_activates_default*(a: var TEntry, `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 =
+proc cursor_visible*(a: var TEntry): guint = 
   result = (a.flag1 and bm_TGtkEntry_cursor_visible) shr
       bp_TGtkEntry_cursor_visible
 
-proc set_cursor_visible*(a: var TGtkEntry, `cursor_visible`: guint) =
+proc set_cursor_visible*(a: var TEntry, `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 =
+proc in_click*(a: var TEntry): guint = 
   result = (a.flag1 and bm_TGtkEntry_in_click) shr bp_TGtkEntry_in_click
 
-proc set_in_click*(a: var TGtkEntry, `in_click`: guint) =
+proc set_in_click*(a: var TEntry, `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 =
+proc is_cell_renderer*(a: var TEntry): 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) =
+proc set_is_cell_renderer*(a: var TEntry, `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 =
+proc editing_canceled*(a: var TEntry): guint = 
   result = (a.flag1 and bm_TGtkEntry_editing_canceled) shr
       bp_TGtkEntry_editing_canceled
 
-proc set_editing_canceled*(a: var TGtkEntry, `editing_canceled`: guint) =
+proc set_editing_canceled*(a: var TEntry, `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 =
+proc mouse_cursor_obscured*(a: var TEntry): 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) =
+proc set_mouse_cursor_obscured*(a: var TEntry, `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 TYPE_EVENT_BOX*(): GType = 
+  result = event_box_get_type()
 
-proc GTK_EVENT_BOX*(obj: pointer): PGtkEventBox =
-  result = cast[PGtkEventBox](GTK_CHECK_CAST(obj, GTK_TYPE_EVENT_BOX()))
+proc EVENT_BOX*(obj: pointer): PEventBox = 
+  result = cast[PEventBox](CHECK_CAST(obj, TYPE_EVENT_BOX()))
 
-proc GTK_EVENT_BOX_CLASS*(klass: pointer): PGtkEventBoxClass =
-  result = cast[PGtkEventBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_EVENT_BOX()))
+proc EVENT_BOX_CLASS*(klass: pointer): PEventBoxClass = 
+  result = cast[PEventBoxClass](CHECK_CLASS_CAST(klass, TYPE_EVENT_BOX()))
 
-proc GTK_IS_EVENT_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_EVENT_BOX())
+proc IS_EVENT_BOX*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_EVENT_BOX())
 
-proc GTK_IS_EVENT_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_EVENT_BOX())
+proc IS_EVENT_BOX_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 EVENT_BOX_GET_CLASS*(obj: pointer): PEventBoxClass = 
+  result = cast[PEventBoxClass](CHECK_GET_CLASS(obj, TYPE_EVENT_BOX()))
 
-proc GTK_TYPE_FILE_SELECTION*(): GType =
-  result = gtk_file_selection_get_type()
+proc TYPE_FILE_SELECTION*(): GType = 
+  result = file_selection_get_type()
 
-proc GTK_FILE_SELECTION*(obj: pointer): PGtkFileSelection =
-  result = cast[PGtkFileSelection](GTK_CHECK_CAST(obj, GTK_TYPE_FILE_SELECTION()))
+proc FILE_SELECTION*(obj: pointer): PFileSelection = 
+  result = cast[PFileSelection](CHECK_CAST(obj, TYPE_FILE_SELECTION()))
 
-proc GTK_FILE_SELECTION_CLASS*(klass: pointer): PGtkFileSelectionClass =
-  result = cast[PGtkFileSelectionClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_FILE_SELECTION()))
+proc FILE_SELECTION_CLASS*(klass: pointer): PFileSelectionClass = 
+  result = cast[PFileSelectionClass](CHECK_CLASS_CAST(klass, 
+      TYPE_FILE_SELECTION()))
 
-proc GTK_IS_FILE_SELECTION*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FILE_SELECTION())
+proc IS_FILE_SELECTION*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_FILE_SELECTION())
 
-proc GTK_IS_FILE_SELECTION_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FILE_SELECTION())
+proc IS_FILE_SELECTION_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 FILE_SELECTION_GET_CLASS*(obj: pointer): PFileSelectionClass = 
+  result = cast[PFileSelectionClass](CHECK_GET_CLASS(obj, TYPE_FILE_SELECTION()))
 
-proc GTK_TYPE_FIXED*(): GType =
-  result = gtk_fixed_get_type()
+proc TYPE_FIXED*(): GType = 
+  result = fixed_get_type()
 
-proc GTK_FIXED*(obj: pointer): PGtkFixed =
-  result = cast[PGtkFixed](GTK_CHECK_CAST(obj, GTK_TYPE_FIXED()))
+proc FIXED*(obj: pointer): PFixed = 
+  result = cast[PFixed](CHECK_CAST(obj, TYPE_FIXED()))
 
-proc GTK_FIXED_CLASS*(klass: pointer): PGtkFixedClass =
-  result = cast[PGtkFixedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_FIXED()))
+proc FIXED_CLASS*(klass: pointer): PFixedClass = 
+  result = cast[PFixedClass](CHECK_CLASS_CAST(klass, TYPE_FIXED()))
 
-proc GTK_IS_FIXED*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FIXED())
+proc IS_FIXED*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_FIXED())
 
-proc GTK_IS_FIXED_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FIXED())
+proc IS_FIXED_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_FIXED())
 
-proc GTK_FIXED_GET_CLASS*(obj: pointer): PGtkFixedClass =
-  result = cast[PGtkFixedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_FIXED()))
+proc FIXED_GET_CLASS*(obj: pointer): PFixedClass = 
+  result = cast[PFixedClass](CHECK_GET_CLASS(obj, TYPE_FIXED()))
 
-proc GTK_TYPE_FONT_SELECTION*(): GType =
-  result = gtk_font_selection_get_type()
+proc TYPE_FONT_SELECTION*(): GType = 
+  result = font_selection_get_type()
 
-proc GTK_FONT_SELECTION*(obj: pointer): PGtkFontSelection =
-  result = cast[PGtkFontSelection](GTK_CHECK_CAST(obj, GTK_TYPE_FONT_SELECTION()))
+proc FONT_SELECTION*(obj: pointer): PFontSelection = 
+  result = cast[PFontSelection](CHECK_CAST(obj, TYPE_FONT_SELECTION()))
 
-proc GTK_FONT_SELECTION_CLASS*(klass: pointer): PGtkFontSelectionClass =
-  result = cast[PGtkFontSelectionClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_FONT_SELECTION()))
+proc FONT_SELECTION_CLASS*(klass: pointer): PFontSelectionClass = 
+  result = cast[PFontSelectionClass](CHECK_CLASS_CAST(klass, 
+      TYPE_FONT_SELECTION()))
 
-proc GTK_IS_FONT_SELECTION*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FONT_SELECTION())
+proc IS_FONT_SELECTION*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_FONT_SELECTION())
 
-proc GTK_IS_FONT_SELECTION_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FONT_SELECTION())
+proc IS_FONT_SELECTION_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 FONT_SELECTION_GET_CLASS*(obj: pointer): PFontSelectionClass = 
+  result = cast[PFontSelectionClass](CHECK_GET_CLASS(obj, TYPE_FONT_SELECTION()))
 
-proc GTK_TYPE_FONT_SELECTION_DIALOG*(): GType =
-  result = gtk_font_selection_dialog_get_type()
+proc TYPE_FONT_SELECTION_DIALOG*(): GType = 
+  result = 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 FONT_SELECTION_DIALOG*(obj: pointer): PFontSelectionDialog = 
+  result = cast[PFontSelectionDialog](CHECK_CAST(obj, 
+      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 FONT_SELECTION_DIALOG_CLASS*(klass: pointer): PFontSelectionDialogClass = 
+  result = cast[PFontSelectionDialogClass](CHECK_CLASS_CAST(klass, 
+      TYPE_FONT_SELECTION_DIALOG()))
 
-proc GTK_IS_FONT_SELECTION_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_FONT_SELECTION_DIALOG())
+proc IS_FONT_SELECTION_DIALOG*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 FONT_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PFontSelectionDialogClass = 
+  result = cast[PFontSelectionDialogClass](CHECK_GET_CLASS(obj, 
+      TYPE_FONT_SELECTION_DIALOG()))
 
-proc GTK_TYPE_GAMMA_CURVE*(): GType =
-  result = gtk_gamma_curve_get_type()
+proc TYPE_GAMMA_CURVE*(): GType = 
+  result = gamma_curve_get_type()
 
-proc GTK_GAMMA_CURVE*(obj: pointer): PGtkGammaCurve =
-  result = cast[PGtkGammaCurve](GTK_CHECK_CAST(obj, GTK_TYPE_GAMMA_CURVE()))
+proc GAMMA_CURVE*(obj: pointer): PGammaCurve = 
+  result = cast[PGammaCurve](CHECK_CAST(obj, TYPE_GAMMA_CURVE()))
 
-proc GTK_GAMMA_CURVE_CLASS*(klass: pointer): PGtkGammaCurveClass =
-  result = cast[PGtkGammaCurveClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_GAMMA_CURVE()))
+proc GAMMA_CURVE_CLASS*(klass: pointer): PGammaCurveClass = 
+  result = cast[PGammaCurveClass](CHECK_CLASS_CAST(klass, TYPE_GAMMA_CURVE()))
 
-proc GTK_IS_GAMMA_CURVE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_GAMMA_CURVE())
+proc IS_GAMMA_CURVE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_GAMMA_CURVE())
 
-proc GTK_IS_GAMMA_CURVE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_GAMMA_CURVE())
+proc IS_GAMMA_CURVE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 GAMMA_CURVE_GET_CLASS*(obj: pointer): PGammaCurveClass = 
+  result = cast[PGammaCurveClass](CHECK_GET_CLASS(obj, TYPE_GAMMA_CURVE()))
 
-proc GTK_TYPE_HANDLE_BOX*(): GType =
-  result = gtk_handle_box_get_type()
+proc TYPE_HANDLE_BOX*(): GType = 
+  result = handle_box_get_type()
 
-proc GTK_HANDLE_BOX*(obj: pointer): PGtkHandleBox =
-  result = cast[PGtkHandleBox](GTK_CHECK_CAST(obj, GTK_TYPE_HANDLE_BOX()))
+proc HANDLE_BOX*(obj: pointer): PHandleBox = 
+  result = cast[PHandleBox](CHECK_CAST(obj, TYPE_HANDLE_BOX()))
 
-proc GTK_HANDLE_BOX_CLASS*(klass: pointer): PGtkHandleBoxClass =
-  result = cast[PGtkHandleBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HANDLE_BOX()))
+proc HANDLE_BOX_CLASS*(klass: pointer): PHandleBoxClass = 
+  result = cast[PHandleBoxClass](CHECK_CLASS_CAST(klass, TYPE_HANDLE_BOX()))
 
-proc GTK_IS_HANDLE_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HANDLE_BOX())
+proc IS_HANDLE_BOX*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_HANDLE_BOX())
 
-proc GTK_IS_HANDLE_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HANDLE_BOX())
+proc IS_HANDLE_BOX_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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_BOX_GET_CLASS*(obj: pointer): PHandleBoxClass = 
+  result = cast[PHandleBoxClass](CHECK_GET_CLASS(obj, TYPE_HANDLE_BOX()))
 
-proc handle_position*(a: var TGtkHandleBox): guint =
-  result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_handle_position) shr
+proc handle_position*(a: var THandleBox): guint = 
+  result = (a.HandleBoxflag0 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
+proc set_handle_position*(a: var THandleBox, `handle_position`: guint) = 
+  a.HandleBoxflag0 = a.HandleBoxflag0 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
+proc float_window_mapped*(a: var THandleBox): guint = 
+  result = (a.HandleBoxflag0 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
+proc set_float_window_mapped*(a: var THandleBox, `float_window_mapped`: guint) = 
+  a.HandleBoxflag0 = a.HandleBoxflag0 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
+proc child_detached*(a: var THandleBox): guint = 
+  result = (a.HandleBoxflag0 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
+proc set_child_detached*(a: var THandleBox, `child_detached`: guint) = 
+  a.HandleBoxflag0 = a.HandleBoxflag0 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
+proc in_drag*(a: var THandleBox): guint = 
+  result = (a.HandleBoxflag0 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 set_in_drag*(a: var THandleBox, `in_drag`: guint) = 
+  a.HandleBoxflag0 = a.HandleBoxflag0 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
+proc shrink_on_detach*(a: var THandleBox): guint = 
+  result = (a.HandleBoxflag0 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
+proc set_shrink_on_detach*(a: var THandleBox, `shrink_on_detach`: guint) = 
+  a.HandleBoxflag0 = a.HandleBoxflag0 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
+proc snap_edge*(a: var THandleBox): gint = 
+  result = (a.HandleBoxflag0 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
+proc set_snap_edge*(a: var THandleBox, `snap_edge`: gint) = 
+  a.HandleBoxflag0 = a.HandleBoxflag0 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 TYPE_PANED*(): GType = 
+  result = paned_get_type()
 
-proc GTK_PANED*(obj: pointer): PGtkPaned =
-  result = cast[PGtkPaned](GTK_CHECK_CAST(obj, GTK_TYPE_PANED()))
+proc PANED*(obj: pointer): PPaned = 
+  result = cast[PPaned](CHECK_CAST(obj, TYPE_PANED()))
 
-proc GTK_PANED_CLASS*(klass: pointer): PGtkPanedClass =
-  result = cast[PGtkPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PANED()))
+proc PANED_CLASS*(klass: pointer): PPanedClass = 
+  result = cast[PPanedClass](CHECK_CLASS_CAST(klass, TYPE_PANED()))
 
-proc GTK_IS_PANED*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PANED())
+proc IS_PANED*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_PANED())
 
-proc GTK_IS_PANED_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PANED())
+proc IS_PANED_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_PANED())
 
-proc GTK_PANED_GET_CLASS*(obj: pointer): PGtkPanedClass =
-  result = cast[PGtkPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PANED()))
+proc PANED_GET_CLASS*(obj: pointer): PPanedClass = 
+  result = cast[PPanedClass](CHECK_GET_CLASS(obj, TYPE_PANED()))
 
-proc position_set*(a: var TGtkPaned): guint =
-  result = (a.GtkPanedflag0 and bm_TGtkPaned_position_set) shr
+proc position_set*(a: var TPaned): guint = 
+  result = (a.Panedflag0 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
+proc set_position_set*(a: var TPaned, `position_set`: guint) = 
+  a.Panedflag0 = a.Panedflag0 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 in_drag*(a: var TPaned): guint = 
+  result = (a.Panedflag0 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
+proc set_in_drag*(a: var TPaned, `in_drag`: guint) = 
+  a.Panedflag0 = a.Panedflag0 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
+proc child1_shrink*(a: var TPaned): guint = 
+  result = (a.Panedflag0 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
+proc set_child1_shrink*(a: var TPaned, `child1_shrink`: guint) = 
+  a.Panedflag0 = a.Panedflag0 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
+proc child1_resize*(a: var TPaned): guint = 
+  result = (a.Panedflag0 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
+proc set_child1_resize*(a: var TPaned, `child1_resize`: guint) = 
+  a.Panedflag0 = a.Panedflag0 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
+proc child2_shrink*(a: var TPaned): guint = 
+  result = (a.Panedflag0 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
+proc set_child2_shrink*(a: var TPaned, `child2_shrink`: guint) = 
+  a.Panedflag0 = a.Panedflag0 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
+proc child2_resize*(a: var TPaned): guint = 
+  result = (a.Panedflag0 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
+proc set_child2_resize*(a: var TPaned, `child2_resize`: guint) = 
+  a.Panedflag0 = a.Panedflag0 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
+proc orientation*(a: var TPaned): guint = 
+  result = (a.Panedflag0 and bm_TGtkPaned_orientation) shr
       bp_TGtkPaned_orientation
 
-proc set_orientation*(a: var TGtkPaned, `orientation`: guint) =
-  a.GtkPanedflag0 = a.GtkPanedflag0 or
+proc set_orientation*(a: var TPaned, `orientation`: guint) = 
+  a.Panedflag0 = a.Panedflag0 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
+proc in_recursion*(a: var TPaned): guint = 
+  result = (a.Panedflag0 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
+proc set_in_recursion*(a: var TPaned, `in_recursion`: guint) = 
+  a.Panedflag0 = a.Panedflag0 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
+proc handle_prelit*(a: var TPaned): guint = 
+  result = (a.Panedflag0 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
+proc set_handle_prelit*(a: var TPaned, `handle_prelit`: guint) = 
+  a.Panedflag0 = a.Panedflag0 or
       (int16(`handle_prelit` shl bp_TGtkPaned_handle_prelit) and
       bm_TGtkPaned_handle_prelit)
 
-proc gtk_paned_gutter_size*(p: pointer, s: gint) =
+proc 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) =
+  
+proc paned_set_gutter_size*(p: pointer, s: gint) = 
   if (p != nil) and (s != 0'i32): nil
+  
+proc TYPE_HBUTTON_BOX*(): GType = 
+  result = hbutton_box_get_type()
 
-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 HBUTTON_BOX*(obj: pointer): PHButtonBox = 
+  result = cast[PHButtonBox](CHECK_CAST(obj, TYPE_HBUTTON_BOX()))
 
-proc GTK_HBUTTON_BOX_CLASS*(klass: pointer): PGtkHButtonBoxClass =
-  result = cast[PGtkHButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HBUTTON_BOX()))
+proc HBUTTON_BOX_CLASS*(klass: pointer): PHButtonBoxClass = 
+  result = cast[PHButtonBoxClass](CHECK_CLASS_CAST(klass, TYPE_HBUTTON_BOX()))
 
-proc GTK_IS_HBUTTON_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HBUTTON_BOX())
+proc IS_HBUTTON_BOX*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_HBUTTON_BOX())
 
-proc GTK_IS_HBUTTON_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HBUTTON_BOX())
+proc IS_HBUTTON_BOX_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 HBUTTON_BOX_GET_CLASS*(obj: pointer): PHButtonBoxClass = 
+  result = cast[PHButtonBoxClass](CHECK_GET_CLASS(obj, TYPE_HBUTTON_BOX()))
 
-proc GTK_TYPE_HPANED*(): GType =
-  result = gtk_hpaned_get_type()
+proc TYPE_HPANED*(): GType = 
+  result = hpaned_get_type()
 
-proc GTK_HPANED*(obj: pointer): PGtkHPaned =
-  result = cast[PGtkHPaned](GTK_CHECK_CAST(obj, GTK_TYPE_HPANED()))
+proc HPANED*(obj: pointer): PHPaned = 
+  result = cast[PHPaned](CHECK_CAST(obj, TYPE_HPANED()))
 
-proc GTK_HPANED_CLASS*(klass: pointer): PGtkHPanedClass =
-  result = cast[PGtkHPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HPANED()))
+proc HPANED_CLASS*(klass: pointer): PHPanedClass = 
+  result = cast[PHPanedClass](CHECK_CLASS_CAST(klass, TYPE_HPANED()))
 
-proc GTK_IS_HPANED*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HPANED())
+proc IS_HPANED*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_HPANED())
 
-proc GTK_IS_HPANED_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HPANED())
+proc IS_HPANED_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_HPANED())
 
-proc GTK_HPANED_GET_CLASS*(obj: pointer): PGtkHPanedClass =
-  result = cast[PGtkHPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HPANED()))
+proc HPANED_GET_CLASS*(obj: pointer): PHPanedClass = 
+  result = cast[PHPanedClass](CHECK_GET_CLASS(obj, TYPE_HPANED()))
 
-proc GTK_TYPE_RULER*(): GType =
-  result = gtk_ruler_get_type()
+proc TYPE_RULER*(): GType = 
+  result = ruler_get_type()
 
-proc GTK_RULER*(obj: pointer): PGtkRuler =
-  result = cast[PGtkRuler](GTK_CHECK_CAST(obj, GTK_TYPE_RULER()))
+proc RULER*(obj: pointer): PRuler = 
+  result = cast[PRuler](CHECK_CAST(obj, TYPE_RULER()))
 
-proc GTK_RULER_CLASS*(klass: pointer): PGtkRulerClass =
-  result = cast[PGtkRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_RULER()))
+proc RULER_CLASS*(klass: pointer): PRulerClass = 
+  result = cast[PRulerClass](CHECK_CLASS_CAST(klass, TYPE_RULER()))
 
-proc GTK_IS_RULER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_RULER())
+proc IS_RULER*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_RULER())
 
-proc GTK_IS_RULER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RULER())
+proc IS_RULER_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_RULER())
 
-proc GTK_RULER_GET_CLASS*(obj: pointer): PGtkRulerClass =
-  result = cast[PGtkRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_RULER()))
+proc RULER_GET_CLASS*(obj: pointer): PRulerClass = 
+  result = cast[PRulerClass](CHECK_GET_CLASS(obj, TYPE_RULER()))
 
-proc GTK_TYPE_HRULER*(): GType =
-  result = gtk_hruler_get_type()
+proc TYPE_HRULER*(): GType = 
+  result = hruler_get_type()
 
-proc GTK_HRULER*(obj: pointer): PGtkHRuler =
-  result = cast[PGtkHRuler](GTK_CHECK_CAST(obj, GTK_TYPE_HRULER()))
+proc HRULER*(obj: pointer): PHRuler = 
+  result = cast[PHRuler](CHECK_CAST(obj, TYPE_HRULER()))
 
-proc GTK_HRULER_CLASS*(klass: pointer): PGtkHRulerClass =
-  result = cast[PGtkHRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HRULER()))
+proc HRULER_CLASS*(klass: pointer): PHRulerClass = 
+  result = cast[PHRulerClass](CHECK_CLASS_CAST(klass, TYPE_HRULER()))
 
-proc GTK_IS_HRULER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HRULER())
+proc IS_HRULER*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_HRULER())
 
-proc GTK_IS_HRULER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HRULER())
+proc IS_HRULER_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_HRULER())
 
-proc GTK_HRULER_GET_CLASS*(obj: pointer): PGtkHRulerClass =
-  result = cast[PGtkHRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HRULER()))
+proc HRULER_GET_CLASS*(obj: pointer): PHRulerClass = 
+  result = cast[PHRulerClass](CHECK_GET_CLASS(obj, TYPE_HRULER()))
 
-proc GTK_TYPE_SETTINGS*(): GType =
-  result = gtk_settings_get_type()
+proc TYPE_SETTINGS*(): GType = 
+  result = settings_get_type()
 
-proc GTK_SETTINGS*(obj: pointer): PGtkSettings =
-  result = cast[PGtkSettings](GTK_CHECK_CAST(obj, GTK_TYPE_SETTINGS()))
+proc SETTINGS*(obj: pointer): PSettings = 
+  result = cast[PSettings](CHECK_CAST(obj, TYPE_SETTINGS()))
 
-proc GTK_SETTINGS_CLASS*(klass: pointer): PGtkSettingsClass =
-  result = cast[PGtkSettingsClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SETTINGS()))
+proc SETTINGS_CLASS*(klass: pointer): PSettingsClass = 
+  result = cast[PSettingsClass](CHECK_CLASS_CAST(klass, TYPE_SETTINGS()))
 
-proc GTK_IS_SETTINGS*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SETTINGS())
+proc IS_SETTINGS*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_SETTINGS())
 
-proc GTK_IS_SETTINGS_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SETTINGS())
+proc IS_SETTINGS_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_SETTINGS())
 
-proc GTK_SETTINGS_GET_CLASS*(obj: pointer): PGtkSettingsClass =
-  result = cast[PGtkSettingsClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SETTINGS()))
+proc SETTINGS_GET_CLASS*(obj: pointer): PSettingsClass = 
+  result = cast[PSettingsClass](CHECK_GET_CLASS(obj, TYPE_SETTINGS()))
 
-proc GTK_TYPE_RC_STYLE*(): GType =
-  result = gtk_rc_style_get_type()
+proc TYPE_RC_STYLE*(): GType = 
+  result = 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 RC_STYLE_get*(anObject: pointer): PRcStyle = 
+  result = cast[PRcStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, 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 RC_STYLE_CLASS*(klass: pointer): PRcStyleClass = 
+  result = cast[PRcStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_RC_STYLE()))
 
-proc GTK_IS_RC_STYLE*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_RC_STYLE())
+proc IS_RC_STYLE*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_RC_STYLE())
 
-proc GTK_IS_RC_STYLE_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_RC_STYLE())
+proc IS_RC_STYLE_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 RC_STYLE_GET_CLASS*(obj: pointer): PRcStyleClass = 
+  result = cast[PRcStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_RC_STYLE()))
 
-proc engine_specified*(a: var TGtkRcStyle): guint =
-  result = (a.GtkRcStyleflag0 and bm_TGtkRcStyle_engine_specified) shr
+proc engine_specified*(a: var TRcStyle): guint = 
+  result = (a.RcStyleflag0 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
+proc set_engine_specified*(a: var TRcStyle, `engine_specified`: guint) = 
+  a.RcStyleflag0 = a.RcStyleflag0 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 TYPE_STYLE*(): GType = 
+  result = style_get_type()
 
-proc GTK_STYLE*(anObject: pointer): PGtkStyle =
-  result = cast[PGtkStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, GTK_TYPE_STYLE()))
+proc STYLE*(anObject: pointer): PStyle = 
+  result = cast[PStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, TYPE_STYLE()))
 
-proc GTK_STYLE_CLASS*(klass: pointer): PGtkStyleClass =
-  result = cast[PGtkStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_STYLE()))
+proc STYLE_CLASS*(klass: pointer): PStyleClass = 
+  result = cast[PStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_STYLE()))
 
-proc GTK_IS_STYLE*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_STYLE())
+proc IS_STYLE*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_STYLE())
 
-proc GTK_IS_STYLE_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_STYLE())
+proc IS_STYLE_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, TYPE_STYLE())
 
-proc GTK_STYLE_GET_CLASS*(obj: pointer): PGtkStyleClass =
-  result = cast[PGtkStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_STYLE()))
+proc STYLE_GET_CLASS*(obj: pointer): PStyleClass = 
+  result = cast[PStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_STYLE()))
 
-proc GTK_TYPE_BORDER*(): GType =
-  result = gtk_border_get_type()
+proc TYPE_BORDER*(): GType = 
+  result = border_get_type()
 
-proc GTK_STYLE_ATTACHED*(style: pointer): bool =
-  result = ((GTK_STYLE(style)).attach_count) > 0'i32
+proc STYLE_ATTACHED*(style: pointer): bool = 
+  result = ((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 apply_default_pixmap*(style: PStyle, window: gdk2.PWindow, 
+                                 state_type: TStateType, area: gdk2.PRectangle, 
+                                 x: gint, y: gint, width: gint, height: gint) = 
+  apply_default_background(style, window, true, state_type, area, x, y, 
+                           width, height)
 
-proc GTK_TYPE_RANGE*(): GType =
-  result = gtk_range_get_type()
+proc TYPE_RANGE*(): GType = 
+  result = range_get_type()
 
-proc GTK_RANGE*(obj: pointer): PGtkRange =
-  result = cast[PGtkRange](GTK_CHECK_CAST(obj, GTK_TYPE_RANGE()))
+proc RANGE*(obj: pointer): PRange = 
+  result = cast[PRange](CHECK_CAST(obj, TYPE_RANGE()))
 
-proc GTK_RANGE_CLASS*(klass: pointer): PGtkRangeClass =
-  result = cast[PGtkRangeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_RANGE()))
+proc RANGE_CLASS*(klass: pointer): PRangeClass = 
+  result = cast[PRangeClass](CHECK_CLASS_CAST(klass, TYPE_RANGE()))
 
-proc GTK_IS_RANGE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_RANGE())
+proc IS_RANGE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_RANGE())
 
-proc GTK_IS_RANGE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RANGE())
+proc IS_RANGE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_RANGE())
 
-proc GTK_RANGE_GET_CLASS*(obj: pointer): PGtkRangeClass =
-  result = cast[PGtkRangeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_RANGE()))
+proc RANGE_GET_CLASS*(obj: pointer): PRangeClass = 
+  result = cast[PRangeClass](CHECK_GET_CLASS(obj, TYPE_RANGE()))
 
-proc inverted*(a: var TGtkRange): guint =
-  result = (a.GtkRangeflag0 and bm_TGtkRange_inverted) shr bp_TGtkRange_inverted
+proc inverted*(a: var TRange): guint = 
+  result = (a.Rangeflag0 and bm_TGtkRange_inverted) shr bp_TGtkRange_inverted
 
-proc set_inverted*(a: var TGtkRange, `inverted`: guint) =
-  a.GtkRangeflag0 = a.GtkRangeflag0 or
+proc set_inverted*(a: var TRange, `inverted`: guint) = 
+  a.Rangeflag0 = a.Rangeflag0 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 flippable*(a: var TRange): guint = 
+  result = (a.Rangeflag0 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 set_flippable*(a: var TRange, `flippable`: guint) = 
+  a.Rangeflag0 = a.Rangeflag0 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
+proc has_stepper_a*(a: var TRange): guint = 
+  result = (a.Rangeflag0 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
+proc set_has_stepper_a*(a: var TRange, `has_stepper_a`: guint) = 
+  a.Rangeflag0 = a.Rangeflag0 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
+proc has_stepper_b*(a: var TRange): guint = 
+  result = (a.Rangeflag0 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
+proc set_has_stepper_b*(a: var TRange, `has_stepper_b`: guint) = 
+  a.Rangeflag0 = a.Rangeflag0 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
+proc has_stepper_c*(a: var TRange): guint = 
+  result = (a.Rangeflag0 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
+proc set_has_stepper_c*(a: var TRange, `has_stepper_c`: guint) = 
+  a.Rangeflag0 = a.Rangeflag0 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
+proc has_stepper_d*(a: var TRange): guint = 
+  result = (a.Rangeflag0 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
+proc set_has_stepper_d*(a: var TRange, `has_stepper_d`: guint) = 
+  a.Rangeflag0 = a.Rangeflag0 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
+proc need_recalc*(a: var TRange): guint = 
+  result = (a.Rangeflag0 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
+proc set_need_recalc*(a: var TRange, `need_recalc`: guint) = 
+  a.Rangeflag0 = a.Rangeflag0 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
+proc slider_size_fixed*(a: var TRange): guint = 
+  result = (a.Rangeflag0 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
+proc set_slider_size_fixed*(a: var TRange, `slider_size_fixed`: guint) = 
+  a.Rangeflag0 = a.Rangeflag0 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 =
+proc trough_click_forward*(a: var TRange): 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) =
+proc set_trough_click_forward*(a: var TRange, `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 =
+proc update_pending*(a: var TRange): guint = 
   result = (a.flag1 and bm_TGtkRange_update_pending) shr
       bp_TGtkRange_update_pending
 
-proc set_update_pending*(a: var TGtkRange, `update_pending`: guint) =
+proc set_update_pending*(a: var TRange, `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 TYPE_SCALE*(): GType = 
+  result = scale_get_type()
 
-proc GTK_SCALE*(obj: pointer): PGtkScale =
-  result = cast[PGtkScale](GTK_CHECK_CAST(obj, GTK_TYPE_SCALE()))
+proc SCALE*(obj: pointer): PScale = 
+  result = cast[PScale](CHECK_CAST(obj, TYPE_SCALE()))
 
-proc GTK_SCALE_CLASS*(klass: pointer): PGtkScaleClass =
-  result = cast[PGtkScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SCALE()))
+proc SCALE_CLASS*(klass: pointer): PScaleClass = 
+  result = cast[PScaleClass](CHECK_CLASS_CAST(klass, TYPE_SCALE()))
 
-proc GTK_IS_SCALE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCALE())
+proc IS_SCALE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_SCALE())
 
-proc GTK_IS_SCALE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCALE())
+proc IS_SCALE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_SCALE())
 
-proc GTK_SCALE_GET_CLASS*(obj: pointer): PGtkScaleClass =
-  result = cast[PGtkScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SCALE()))
+proc SCALE_GET_CLASS*(obj: pointer): PScaleClass = 
+  result = cast[PScaleClass](CHECK_GET_CLASS(obj, TYPE_SCALE()))
 
-proc draw_value*(a: var TGtkScale): guint =
-  result = (a.GtkScaleflag0 and bm_TGtkScale_draw_value) shr bp_TGtkScale_draw_value
+proc draw_value*(a: var TScale): guint = 
+  result = (a.Scaleflag0 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 set_draw_value*(a: var TScale, `draw_value`: guint) = 
+  a.Scaleflag0 = a.Scaleflag0 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 value_pos*(a: var TScale): guint = 
+  result = (a.Scaleflag0 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 set_value_pos*(a: var TScale, `value_pos`: guint) = 
+  a.Scaleflag0 = a.Scaleflag0 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 TYPE_HSCALE*(): GType = 
+  result = hscale_get_type()
 
-proc GTK_HSCALE*(obj: pointer): PGtkHScale =
-  result = cast[PGtkHScale](GTK_CHECK_CAST(obj, GTK_TYPE_HSCALE()))
+proc HSCALE*(obj: pointer): PHScale = 
+  result = cast[PHScale](CHECK_CAST(obj, TYPE_HSCALE()))
 
-proc GTK_HSCALE_CLASS*(klass: pointer): PGtkHScaleClass =
-  result = cast[PGtkHScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSCALE()))
+proc HSCALE_CLASS*(klass: pointer): PHScaleClass = 
+  result = cast[PHScaleClass](CHECK_CLASS_CAST(klass, TYPE_HSCALE()))
 
-proc GTK_IS_HSCALE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSCALE())
+proc IS_HSCALE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_HSCALE())
 
-proc GTK_IS_HSCALE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSCALE())
+proc IS_HSCALE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_HSCALE())
 
-proc GTK_HSCALE_GET_CLASS*(obj: pointer): PGtkHScaleClass =
-  result = cast[PGtkHScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSCALE()))
+proc HSCALE_GET_CLASS*(obj: pointer): PHScaleClass = 
+  result = cast[PHScaleClass](CHECK_GET_CLASS(obj, TYPE_HSCALE()))
 
-proc GTK_TYPE_SCROLLBAR*(): GType =
-  result = gtk_scrollbar_get_type()
+proc TYPE_SCROLLBAR*(): GType = 
+  result = scrollbar_get_type()
 
-proc GTK_SCROLLBAR*(obj: pointer): PGtkScrollbar =
-  result = cast[PGtkScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_SCROLLBAR()))
+proc SCROLLBAR*(obj: pointer): PScrollbar = 
+  result = cast[PScrollbar](CHECK_CAST(obj, TYPE_SCROLLBAR()))
 
-proc GTK_SCROLLBAR_CLASS*(klass: pointer): PGtkScrollbarClass =
-  result = cast[PGtkScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SCROLLBAR()))
+proc SCROLLBAR_CLASS*(klass: pointer): PScrollbarClass = 
+  result = cast[PScrollbarClass](CHECK_CLASS_CAST(klass, TYPE_SCROLLBAR()))
 
-proc GTK_IS_SCROLLBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCROLLBAR())
+proc IS_SCROLLBAR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_SCROLLBAR())
 
-proc GTK_IS_SCROLLBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCROLLBAR())
+proc IS_SCROLLBAR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_SCROLLBAR())
 
-proc GTK_SCROLLBAR_GET_CLASS*(obj: pointer): PGtkScrollbarClass =
-  result = cast[PGtkScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SCROLLBAR()))
+proc SCROLLBAR_GET_CLASS*(obj: pointer): PScrollbarClass = 
+  result = cast[PScrollbarClass](CHECK_GET_CLASS(obj, TYPE_SCROLLBAR()))
 
-proc GTK_TYPE_HSCROLLBAR*(): GType =
-  result = gtk_hscrollbar_get_type()
+proc TYPE_HSCROLLBAR*(): GType = 
+  result = hscrollbar_get_type()
 
-proc GTK_HSCROLLBAR*(obj: pointer): PGtkHScrollbar =
-  result = cast[PGtkHScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_HSCROLLBAR()))
+proc HSCROLLBAR*(obj: pointer): PHScrollbar = 
+  result = cast[PHScrollbar](CHECK_CAST(obj, TYPE_HSCROLLBAR()))
 
-proc GTK_HSCROLLBAR_CLASS*(klass: pointer): PGtkHScrollbarClass =
-  result = cast[PGtkHScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSCROLLBAR()))
+proc HSCROLLBAR_CLASS*(klass: pointer): PHScrollbarClass = 
+  result = cast[PHScrollbarClass](CHECK_CLASS_CAST(klass, TYPE_HSCROLLBAR()))
 
-proc GTK_IS_HSCROLLBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSCROLLBAR())
+proc IS_HSCROLLBAR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_HSCROLLBAR())
 
-proc GTK_IS_HSCROLLBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSCROLLBAR())
+proc IS_HSCROLLBAR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_HSCROLLBAR())
 
-proc GTK_HSCROLLBAR_GET_CLASS*(obj: pointer): PGtkHScrollbarClass =
-  result = cast[PGtkHScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSCROLLBAR()))
+proc HSCROLLBAR_GET_CLASS*(obj: pointer): PHScrollbarClass = 
+  result = cast[PHScrollbarClass](CHECK_GET_CLASS(obj, TYPE_HSCROLLBAR()))
 
-proc GTK_TYPE_SEPARATOR*(): GType =
-  result = gtk_separator_get_type()
+proc TYPE_SEPARATOR*(): GType = 
+  result = separator_get_type()
 
-proc GTK_SEPARATOR*(obj: pointer): PGtkSeparator =
-  result = cast[PGtkSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_SEPARATOR()))
+proc SEPARATOR*(obj: pointer): PSeparator = 
+  result = cast[PSeparator](CHECK_CAST(obj, TYPE_SEPARATOR()))
 
-proc GTK_SEPARATOR_CLASS*(klass: pointer): PGtkSeparatorClass =
-  result = cast[PGtkSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SEPARATOR()))
+proc SEPARATOR_CLASS*(klass: pointer): PSeparatorClass = 
+  result = cast[PSeparatorClass](CHECK_CLASS_CAST(klass, TYPE_SEPARATOR()))
 
-proc GTK_IS_SEPARATOR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SEPARATOR())
+proc IS_SEPARATOR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_SEPARATOR())
 
-proc GTK_IS_SEPARATOR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SEPARATOR())
+proc IS_SEPARATOR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_SEPARATOR())
 
-proc GTK_SEPARATOR_GET_CLASS*(obj: pointer): PGtkSeparatorClass =
-  result = cast[PGtkSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SEPARATOR()))
+proc SEPARATOR_GET_CLASS*(obj: pointer): PSeparatorClass = 
+  result = cast[PSeparatorClass](CHECK_GET_CLASS(obj, TYPE_SEPARATOR()))
 
-proc GTK_TYPE_HSEPARATOR*(): GType =
-  result = gtk_hseparator_get_type()
+proc TYPE_HSEPARATOR*(): GType = 
+  result = hseparator_get_type()
 
-proc GTK_HSEPARATOR*(obj: pointer): PGtkHSeparator =
-  result = cast[PGtkHSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_HSEPARATOR()))
+proc HSEPARATOR*(obj: pointer): PHSeparator = 
+  result = cast[PHSeparator](CHECK_CAST(obj, TYPE_HSEPARATOR()))
 
-proc GTK_HSEPARATOR_CLASS*(klass: pointer): PGtkHSeparatorClass =
-  result = cast[PGtkHSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSEPARATOR()))
+proc HSEPARATOR_CLASS*(klass: pointer): PHSeparatorClass = 
+  result = cast[PHSeparatorClass](CHECK_CLASS_CAST(klass, TYPE_HSEPARATOR()))
 
-proc GTK_IS_HSEPARATOR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSEPARATOR())
+proc IS_HSEPARATOR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_HSEPARATOR())
 
-proc GTK_IS_HSEPARATOR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSEPARATOR())
+proc IS_HSEPARATOR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_HSEPARATOR())
 
-proc GTK_HSEPARATOR_GET_CLASS*(obj: pointer): PGtkHSeparatorClass =
-  result = cast[PGtkHSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSEPARATOR()))
+proc HSEPARATOR_GET_CLASS*(obj: pointer): PHSeparatorClass = 
+  result = cast[PHSeparatorClass](CHECK_GET_CLASS(obj, TYPE_HSEPARATOR()))
 
-proc GTK_TYPE_ICON_FACTORY*(): GType =
-  result = gtk_icon_factory_get_type()
+proc TYPE_ICON_FACTORY*(): GType = 
+  result = 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 ICON_FACTORY*(anObject: pointer): PIconFactory = 
+  result = cast[PIconFactory](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+      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 ICON_FACTORY_CLASS*(klass: pointer): PIconFactoryClass = 
+  result = cast[PIconFactoryClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+      TYPE_ICON_FACTORY()))
 
-proc GTK_IS_ICON_FACTORY*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_ICON_FACTORY())
+proc IS_ICON_FACTORY*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_ICON_FACTORY())
 
-proc GTK_IS_ICON_FACTORY_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_ICON_FACTORY())
+proc IS_ICON_FACTORY_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 ICON_FACTORY_GET_CLASS*(obj: pointer): PIconFactoryClass = 
+  result = cast[PIconFactoryClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+      TYPE_ICON_FACTORY()))
 
-proc GTK_TYPE_ICON_SET*(): GType =
-  result = gtk_icon_set_get_type()
+proc TYPE_ICON_SET*(): GType = 
+  result = icon_set_get_type()
 
-proc GTK_TYPE_ICON_SOURCE*(): GType =
-  result = gtk_icon_source_get_type()
+proc TYPE_ICON_SOURCE*(): GType = 
+  result = icon_source_get_type()
 
-proc GTK_TYPE_IMAGE*(): GType =
-  result = gtk_image_get_type()
+proc TYPE_IMAGE*(): GType = 
+  result = gtk2.image_get_type()
 
-proc GTK_IMAGE*(obj: pointer): PGtkImage =
-  result = cast[PGtkImage](GTK_CHECK_CAST(obj, GTK_TYPE_IMAGE()))
+proc IMAGE*(obj: pointer): PImage = 
+  result = cast[PImage](CHECK_CAST(obj, gtk2.TYPE_IMAGE()))
 
-proc GTK_IMAGE_CLASS*(klass: pointer): PGtkImageClass =
-  result = cast[PGtkImageClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_IMAGE()))
+proc IMAGE_CLASS*(klass: pointer): PImageClass = 
+  result = cast[PImageClass](CHECK_CLASS_CAST(klass, gtk2.TYPE_IMAGE()))
 
-proc GTK_IS_IMAGE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IMAGE())
+proc IS_IMAGE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, gtk2.TYPE_IMAGE())
 
-proc GTK_IS_IMAGE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IMAGE())
+proc IS_IMAGE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, gtk2.TYPE_IMAGE())
 
-proc GTK_IMAGE_GET_CLASS*(obj: pointer): PGtkImageClass =
-  result = cast[PGtkImageClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_IMAGE()))
+proc IMAGE_GET_CLASS*(obj: pointer): PImageClass = 
+  result = cast[PImageClass](CHECK_GET_CLASS(obj, gtk2.TYPE_IMAGE()))
 
-proc GTK_TYPE_IMAGE_MENU_ITEM*(): GType =
-  result = gtk_image_menu_item_get_type()
+proc TYPE_IMAGE_MENU_ITEM*(): GType = 
+  result = 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 IMAGE_MENU_ITEM*(obj: pointer): PImageMenuItem = 
+  result = cast[PImageMenuItem](CHECK_CAST(obj, 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 IMAGE_MENU_ITEM_CLASS*(klass: pointer): PImageMenuItemClass = 
+  result = cast[PImageMenuItemClass](CHECK_CLASS_CAST(klass, 
+      TYPE_IMAGE_MENU_ITEM()))
 
-proc GTK_IS_IMAGE_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IMAGE_MENU_ITEM())
+proc IS_IMAGE_MENU_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_IMAGE_MENU_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 IMAGE_MENU_ITEM_GET_CLASS*(obj: pointer): PImageMenuItemClass = 
+  result = cast[PImageMenuItemClass](CHECK_GET_CLASS(obj, TYPE_IMAGE_MENU_ITEM()))
 
-proc GTK_TYPE_IM_CONTEXT_SIMPLE*(): GType =
-  result = gtk_im_context_simple_get_type()
+proc TYPE_IM_CONTEXT_SIMPLE*(): GType = 
+  result = 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 IM_CONTEXT_SIMPLE*(obj: pointer): PIMContextSimple = 
+  result = cast[PIMContextSimple](CHECK_CAST(obj, 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 IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): PIMContextSimpleClass = 
+  result = cast[PIMContextSimpleClass](CHECK_CLASS_CAST(klass, 
+      TYPE_IM_CONTEXT_SIMPLE()))
 
-proc GTK_IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_CONTEXT_SIMPLE())
+proc IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 IM_CONTEXT_SIMPLE_GET_CLASS*(obj: pointer): PIMContextSimpleClass = 
+  result = cast[PIMContextSimpleClass](CHECK_GET_CLASS(obj, 
+      TYPE_IM_CONTEXT_SIMPLE()))
 
-proc in_hex_sequence*(a: var TGtkIMContextSimple): guint =
-  result = (a.GtkIMContextSimpleflag0 and bm_TGtkIMContextSimple_in_hex_sequence) shr
+proc in_hex_sequence*(a: var TIMContextSimple): guint = 
+  result = (a.IMContextSimpleflag0 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
+proc set_in_hex_sequence*(a: var TIMContextSimple, `in_hex_sequence`: guint) = 
+  a.IMContextSimpleflag0 = a.IMContextSimpleflag0 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 TYPE_IM_MULTICONTEXT*(): GType = 
+  result = im_multicontext_get_type()
 
-proc GTK_IM_MULTICONTEXT*(obj: pointer): PGtkIMMulticontext =
-  result = cast[PGtkIMMulticontext](GTK_CHECK_CAST(obj, GTK_TYPE_IM_MULTICONTEXT()))
+proc IM_MULTICONTEXT*(obj: pointer): PIMMulticontext = 
+  result = cast[PIMMulticontext](CHECK_CAST(obj, TYPE_IM_MULTICONTEXT()))
 
-proc GTK_IM_MULTICONTEXT_CLASS*(klass: pointer): PGtkIMMulticontextClass =
-  result = cast[PGtkIMMulticontextClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_IM_MULTICONTEXT()))
+proc IM_MULTICONTEXT_CLASS*(klass: pointer): PIMMulticontextClass = 
+  result = cast[PIMMulticontextClass](CHECK_CLASS_CAST(klass, 
+      TYPE_IM_MULTICONTEXT()))
 
-proc GTK_IS_IM_MULTICONTEXT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_MULTICONTEXT())
+proc IS_IM_MULTICONTEXT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_IM_MULTICONTEXT())
 
-proc GTK_IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IM_MULTICONTEXT())
+proc IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 IM_MULTICONTEXT_GET_CLASS*(obj: pointer): PIMMulticontextClass = 
+  result = cast[PIMMulticontextClass](CHECK_GET_CLASS(obj, 
+      TYPE_IM_MULTICONTEXT()))
 
-proc GTK_TYPE_INPUT_DIALOG*(): GType =
-  result = gtk_input_dialog_get_type()
+proc TYPE_INPUT_DIALOG*(): GType = 
+  result = input_dialog_get_type()
 
-proc GTK_INPUT_DIALOG*(obj: pointer): PGtkInputDialog =
-  result = cast[PGtkInputDialog](GTK_CHECK_CAST(obj, GTK_TYPE_INPUT_DIALOG()))
+proc INPUT_DIALOG*(obj: pointer): PInputDialog = 
+  result = cast[PInputDialog](CHECK_CAST(obj, TYPE_INPUT_DIALOG()))
 
-proc GTK_INPUT_DIALOG_CLASS*(klass: pointer): PGtkInputDialogClass =
-  result = cast[PGtkInputDialogClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_INPUT_DIALOG()))
+proc INPUT_DIALOG_CLASS*(klass: pointer): PInputDialogClass = 
+  result = cast[PInputDialogClass](CHECK_CLASS_CAST(klass, TYPE_INPUT_DIALOG()))
 
-proc GTK_IS_INPUT_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_INPUT_DIALOG())
+proc IS_INPUT_DIALOG*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_INPUT_DIALOG())
 
-proc GTK_IS_INPUT_DIALOG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_INPUT_DIALOG())
+proc IS_INPUT_DIALOG_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 INPUT_DIALOG_GET_CLASS*(obj: pointer): PInputDialogClass = 
+  result = cast[PInputDialogClass](CHECK_GET_CLASS(obj, TYPE_INPUT_DIALOG()))
 
-proc GTK_TYPE_INVISIBLE*(): GType =
-  result = gtk_invisible_get_type()
+proc TYPE_INVISIBLE*(): GType = 
+  result = invisible_get_type()
 
-proc GTK_INVISIBLE*(obj: pointer): PGtkInvisible =
-  result = cast[PGtkInvisible](GTK_CHECK_CAST(obj, GTK_TYPE_INVISIBLE()))
+proc INVISIBLE*(obj: pointer): PInvisible = 
+  result = cast[PInvisible](CHECK_CAST(obj, TYPE_INVISIBLE()))
 
-proc GTK_INVISIBLE_CLASS*(klass: pointer): PGtkInvisibleClass =
-  result = cast[PGtkInvisibleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_INVISIBLE()))
+proc INVISIBLE_CLASS*(klass: pointer): PInvisibleClass = 
+  result = cast[PInvisibleClass](CHECK_CLASS_CAST(klass, TYPE_INVISIBLE()))
 
-proc GTK_IS_INVISIBLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_INVISIBLE())
+proc IS_INVISIBLE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_INVISIBLE())
 
-proc GTK_IS_INVISIBLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_INVISIBLE())
+proc IS_INVISIBLE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_INVISIBLE())
 
-proc GTK_INVISIBLE_GET_CLASS*(obj: pointer): PGtkInvisibleClass =
-  result = cast[PGtkInvisibleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_INVISIBLE()))
+proc INVISIBLE_GET_CLASS*(obj: pointer): PInvisibleClass = 
+  result = cast[PInvisibleClass](CHECK_GET_CLASS(obj, TYPE_INVISIBLE()))
 
-proc GTK_TYPE_ITEM_FACTORY*(): GType =
-  result = gtk_item_factory_get_type()
+proc TYPE_ITEM_FACTORY*(): GType = 
+  result = item_factory_get_type()
 
-proc GTK_ITEM_FACTORY*(anObject: pointer): PGtkItemFactory =
-  result = cast[PGtkItemFactory](GTK_CHECK_CAST(anObject, GTK_TYPE_ITEM_FACTORY()))
+proc ITEM_FACTORY*(anObject: pointer): PItemFactory = 
+  result = cast[PItemFactory](CHECK_CAST(anObject, TYPE_ITEM_FACTORY()))
 
-proc GTK_ITEM_FACTORY_CLASS*(klass: pointer): PGtkItemFactoryClass =
-  result = cast[PGtkItemFactoryClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_ITEM_FACTORY()))
+proc ITEM_FACTORY_CLASS*(klass: pointer): PItemFactoryClass = 
+  result = cast[PItemFactoryClass](CHECK_CLASS_CAST(klass, TYPE_ITEM_FACTORY()))
 
-proc GTK_IS_ITEM_FACTORY*(anObject: pointer): bool =
-  result = GTK_CHECK_TYPE(anObject, GTK_TYPE_ITEM_FACTORY())
+proc IS_ITEM_FACTORY*(anObject: pointer): bool = 
+  result = CHECK_TYPE(anObject, TYPE_ITEM_FACTORY())
 
-proc GTK_IS_ITEM_FACTORY_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ITEM_FACTORY())
+proc IS_ITEM_FACTORY_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 ITEM_FACTORY_GET_CLASS*(obj: pointer): PItemFactoryClass = 
+  result = cast[PItemFactoryClass](CHECK_GET_CLASS(obj, TYPE_ITEM_FACTORY()))
 
-proc GTK_TYPE_LAYOUT*(): GType =
-  result = gtk_layout_get_type()
+proc TYPE_LAYOUT*(): GType = 
+  result = gtk2.layout_get_type()
 
-proc GTK_LAYOUT*(obj: pointer): PGtkLayout =
-  result = cast[PGtkLayout](GTK_CHECK_CAST(obj, GTK_TYPE_LAYOUT()))
+proc LAYOUT*(obj: pointer): PLayout = 
+  result = cast[PLayout](CHECK_CAST(obj, gtk2.TYPE_LAYOUT()))
 
-proc GTK_LAYOUT_CLASS*(klass: pointer): PGtkLayoutClass =
-  result = cast[PGtkLayoutClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LAYOUT()))
+proc LAYOUT_CLASS*(klass: pointer): PLayoutClass = 
+  result = cast[PLayoutClass](CHECK_CLASS_CAST(klass, gtk2.TYPE_LAYOUT()))
 
-proc GTK_IS_LAYOUT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LAYOUT())
+proc IS_LAYOUT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, gtk2.TYPE_LAYOUT())
 
-proc GTK_IS_LAYOUT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LAYOUT())
+proc IS_LAYOUT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, gtk2.TYPE_LAYOUT())
 
-proc GTK_LAYOUT_GET_CLASS*(obj: pointer): PGtkLayoutClass =
-  result = cast[PGtkLayoutClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LAYOUT()))
+proc LAYOUT_GET_CLASS*(obj: pointer): PLayoutClass = 
+  result = cast[PLayoutClass](CHECK_GET_CLASS(obj, gtk2.TYPE_LAYOUT()))
 
-proc GTK_TYPE_LIST*(): GType =
-  result = gtk_list_get_type()
+proc TYPE_LIST*(): GType = 
+  result = list_get_type()
 
-proc GTK_LIST*(obj: pointer): PGtkList =
-  result = cast[PGtkList](GTK_CHECK_CAST(obj, GTK_TYPE_LIST()))
+proc LIST*(obj: pointer): PList = 
+  result = cast[PList](CHECK_CAST(obj, TYPE_LIST()))
 
-proc GTK_LIST_CLASS*(klass: pointer): PGtkListClass =
-  result = cast[PGtkListClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST()))
+proc LIST_CLASS*(klass: pointer): PListClass = 
+  result = cast[PListClass](CHECK_CLASS_CAST(klass, TYPE_LIST()))
 
-proc GTK_IS_LIST*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST())
+proc IS_LIST*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_LIST())
 
-proc GTK_IS_LIST_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST())
+proc IS_LIST_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_LIST())
 
-proc GTK_LIST_GET_CLASS*(obj: pointer): PGtkListClass =
-  result = cast[PGtkListClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LIST()))
+proc LIST_GET_CLASS*(obj: pointer): PListClass = 
+  result = cast[PListClass](CHECK_GET_CLASS(obj, TYPE_LIST()))
 
-proc selection_mode*(a: var TGtkList): guint =
-  result = (a.GtkListflag0 and bm_TGtkList_selection_mode) shr
+proc selection_mode*(a: var TList): guint = 
+  result = (a.Listflag0 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
+proc set_selection_mode*(a: var TList, `selection_mode`: guint) = 
+  a.Listflag0 = a.Listflag0 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
+proc drag_selection*(a: var TList): guint = 
+  result = (a.Listflag0 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
+proc set_drag_selection*(a: var TList, `drag_selection`: guint) = 
+  a.Listflag0 = a.Listflag0 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 add_mode*(a: var TList): guint = 
+  result = (a.Listflag0 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
+proc set_add_mode*(a: var TList, `add_mode`: guint) = 
+  a.Listflag0 = a.Listflag0 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()
+proc list_item_get_type(): GType{.importc: "gtk_list_item_get_type", cdecl, 
+                                  dynlib: lib.}
+proc TYPE_LIST_ITEM*(): GType = 
+  result = 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()))
+type 
+  TListItem = object of TItem
+  TListItemClass = object of TItemClass
+  PListItem = ptr TListItem
+  PListItemClass = ptr TListItemClass
 
-proc GTK_LIST_ITEM_CLASS*(klass: pointer): PGtkListItemClass =
-  result = cast[PGtkListItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST_ITEM()))
+proc LIST_ITEM*(obj: pointer): PListItem = 
+  result = cast[PListItem](CHECK_CAST(obj, TYPE_LIST_ITEM()))
 
-proc GTK_IS_LIST_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST_ITEM())
+proc LIST_ITEM_CLASS*(klass: pointer): PListItemClass = 
+  result = cast[PListItemClass](CHECK_CLASS_CAST(klass, TYPE_LIST_ITEM()))
 
-proc GTK_IS_LIST_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST_ITEM())
+proc IS_LIST_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_LIST_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_LIST_ITEM())
 
-#proc gtk_tree_model_get_type(): GType {.importc, cdecl, dynlib: gtklib.}
+proc LIST_ITEM_GET_CLASS*(obj: pointer): PListItemClass = 
+  #proc gtk_tree_model_get_type(): GType {.importc, cdecl, dynlib: gtklib.}
+  result = cast[PListItemClass](CHECK_GET_CLASS(obj, TYPE_LIST_ITEM()))
 
-proc GTK_TYPE_TREE_MODEL*(): GType =
-  result = gtk_tree_model_get_type()
+proc TYPE_TREE_MODEL*(): GType = 
+  result = 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 TREE_MODEL*(obj: pointer): PTreeModel = 
+  result = cast[PTreeModel](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_TREE_MODEL()))
 
-proc GTK_IS_TREE_MODEL*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_MODEL())
+proc IS_TREE_MODEL*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, 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 TREE_MODEL_GET_IFACE*(obj: pointer): PTreeModelIface = 
+  result = cast[PTreeModelIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, 
+      TYPE_TREE_MODEL()))
 
-proc GTK_TYPE_TREE_ITER*(): GType =
-  result = gtk_tree_iter_get_type()
+proc TYPE_TREE_ITER*(): GType = 
+  result = tree_iter_get_type()
 
-proc GTK_TYPE_TREE_PATH*(): GType =
-  result = gtk_tree_path_get_type()
+proc TYPE_TREE_PATH*(): GType = 
+  result = tree_path_get_type()
 
-proc gtk_tree_path_new_root*(): PGtkTreePath =
-  result = gtk_tree_path_new_first()
+proc tree_path_new_root*(): PTreePath = 
+  result = 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 get_iter_root*(tree_model: PTreeModel, iter: PTreeIter): gboolean = 
+  result = get_iter_first(tree_model, iter)
 
-proc GTK_TYPE_TREE_SORTABLE*(): GType =
-  result = gtk_tree_sortable_get_type()
+proc TYPE_TREE_SORTABLE*(): GType = 
+  result = 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 TREE_SORTABLE*(obj: pointer): PTreeSortable = 
+  result = cast[PTreeSortable](G_TYPE_CHECK_INSTANCE_CAST(obj, 
+      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 TREE_SORTABLE_CLASS*(obj: pointer): PTreeSortableIface = 
+  result = cast[PTreeSortableIface](G_TYPE_CHECK_CLASS_CAST(obj, 
+      TYPE_TREE_SORTABLE()))
 
-proc GTK_IS_TREE_SORTABLE*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_SORTABLE())
+proc IS_TREE_SORTABLE*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, 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 TREE_SORTABLE_GET_IFACE*(obj: pointer): PTreeSortableIface = 
+  result = cast[PTreeSortableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, 
+      TYPE_TREE_SORTABLE()))
 
-proc GTK_TYPE_TREE_MODEL_SORT*(): GType =
-  result = gtk_tree_model_sort_get_type()
+proc TYPE_TREE_MODEL_SORT*(): GType = 
+  result = 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 TREE_MODEL_SORT*(obj: pointer): PTreeModelSort = 
+  result = cast[PTreeModelSort](CHECK_CAST(obj, 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 TREE_MODEL_SORT_CLASS*(klass: pointer): PTreeModelSortClass = 
+  result = cast[PTreeModelSortClass](CHECK_CLASS_CAST(klass, 
+      TYPE_TREE_MODEL_SORT()))
 
-proc GTK_IS_TREE_MODEL_SORT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_MODEL_SORT())
+proc IS_TREE_MODEL_SORT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_TREE_MODEL_SORT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TREE_MODEL_SORT_GET_CLASS*(obj: pointer): PTreeModelSortClass = 
+  result = cast[PTreeModelSortClass](CHECK_GET_CLASS(obj, TYPE_TREE_MODEL_SORT()))
 
-proc GTK_TYPE_LIST_STORE*(): GType =
-  result = gtk_list_store_get_type()
+proc TYPE_LIST_STORE*(): GType = 
+  result = list_store_get_type()
 
-proc GTK_LIST_STORE*(obj: pointer): PGtkListStore =
-  result = cast[PGtkListStore](GTK_CHECK_CAST(obj, GTK_TYPE_LIST_STORE()))
+proc LIST_STORE*(obj: pointer): PListStore = 
+  result = cast[PListStore](CHECK_CAST(obj, TYPE_LIST_STORE()))
 
-proc GTK_LIST_STORE_CLASS*(klass: pointer): PGtkListStoreClass =
-  result = cast[PGtkListStoreClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST_STORE()))
+proc LIST_STORE_CLASS*(klass: pointer): PListStoreClass = 
+  result = cast[PListStoreClass](CHECK_CLASS_CAST(klass, TYPE_LIST_STORE()))
 
-proc GTK_IS_LIST_STORE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST_STORE())
+proc IS_LIST_STORE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_LIST_STORE())
 
-proc GTK_IS_LIST_STORE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST_STORE())
+proc IS_LIST_STORE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 LIST_STORE_GET_CLASS*(obj: pointer): PListStoreClass = 
+  result = cast[PListStoreClass](CHECK_GET_CLASS(obj, TYPE_LIST_STORE()))
 
-proc columns_dirty*(a: var TGtkListStore): guint =
-  result = (a.GtkListStoreflag0 and bm_TGtkListStore_columns_dirty) shr
+proc columns_dirty*(a: var TListStore): guint = 
+  result = (a.ListStoreflag0 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
+proc set_columns_dirty*(a: var TListStore, `columns_dirty`: guint) = 
+  a.ListStoreflag0 = a.ListStoreflag0 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 TYPE_MENU_BAR*(): GType = 
+  result = menu_bar_get_type()
 
-proc GTK_MENU_BAR*(obj: pointer): PGtkMenuBar =
-  result = cast[PGtkMenuBar](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_BAR()))
+proc MENU_BAR*(obj: pointer): PMenuBar = 
+  result = cast[PMenuBar](CHECK_CAST(obj, TYPE_MENU_BAR()))
 
-proc GTK_MENU_BAR_CLASS*(klass: pointer): PGtkMenuBarClass =
-  result = cast[PGtkMenuBarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_BAR()))
+proc MENU_BAR_CLASS*(klass: pointer): PMenuBarClass = 
+  result = cast[PMenuBarClass](CHECK_CLASS_CAST(klass, TYPE_MENU_BAR()))
 
-proc GTK_IS_MENU_BAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_BAR())
+proc IS_MENU_BAR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_MENU_BAR())
 
-proc GTK_IS_MENU_BAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_BAR())
+proc IS_MENU_BAR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 MENU_BAR_GET_CLASS*(obj: pointer): PMenuBarClass = 
+  result = cast[PMenuBarClass](CHECK_GET_CLASS(obj, TYPE_MENU_BAR()))
 
-proc gtk_menu_bar_append*(menu, child: PGtkWidget) =
-  gtk_menu_shell_append(cast[PGtkMenuShell](menu), child)
+proc menu_bar_append*(menu, child: PWidget) = 
+  append(cast[PMenuShell](menu), child)
 
-proc gtk_menu_bar_prepend*(menu, child: PGtkWidget) =
-  gtk_menu_shell_prepend(cast[PGtkMenuShell](menu), child)
+proc menu_bar_prepend*(menu, child: PWidget) = 
+  prepend(cast[PMenuShell](menu), child)
 
-proc gtk_menu_bar_insert*(menu, child: PGtkWidget, pos: gint) =
-  gtk_menu_shell_insert(cast[PGtkMenuShell](menu), child, pos)
+proc menu_bar_insert*(menu, child: PWidget, pos: gint) = 
+  insert(cast[PMenuShell](menu), child, pos)
 
-proc GTK_TYPE_MESSAGE_DIALOG*(): GType =
-  result = gtk_message_dialog_get_type()
+proc TYPE_MESSAGE_DIALOG*(): GType = 
+  result = message_dialog_get_type()
 
-proc GTK_MESSAGE_DIALOG*(obj: pointer): PGtkMessageDialog =
-  result = cast[PGtkMessageDialog](GTK_CHECK_CAST(obj, GTK_TYPE_MESSAGE_DIALOG()))
+proc MESSAGE_DIALOG*(obj: pointer): PMessageDialog = 
+  result = cast[PMessageDialog](CHECK_CAST(obj, TYPE_MESSAGE_DIALOG()))
 
-proc GTK_MESSAGE_DIALOG_CLASS*(klass: pointer): PGtkMessageDialogClass =
-  result = cast[PGtkMessageDialogClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_MESSAGE_DIALOG()))
+proc MESSAGE_DIALOG_CLASS*(klass: pointer): PMessageDialogClass = 
+  result = cast[PMessageDialogClass](CHECK_CLASS_CAST(klass, 
+      TYPE_MESSAGE_DIALOG()))
 
-proc GTK_IS_MESSAGE_DIALOG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_MESSAGE_DIALOG())
+proc IS_MESSAGE_DIALOG*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_MESSAGE_DIALOG())
 
-proc GTK_IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MESSAGE_DIALOG())
+proc IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PMessageDialogClass = 
+  result = cast[PMessageDialogClass](CHECK_GET_CLASS(obj, TYPE_MESSAGE_DIALOG()))
 
-proc GTK_TYPE_NOTEBOOK*(): GType =
-  result = gtk_notebook_get_type()
+proc TYPE_NOTEBOOK*(): GType = 
+  result = notebook_get_type()
 
-proc GTK_NOTEBOOK*(obj: pointer): PGtkNotebook =
-  result = cast[PGtkNotebook](GTK_CHECK_CAST(obj, GTK_TYPE_NOTEBOOK()))
+proc NOTEBOOK*(obj: pointer): PNotebook = 
+  result = cast[PNotebook](CHECK_CAST(obj, TYPE_NOTEBOOK()))
 
-proc GTK_NOTEBOOK_CLASS*(klass: pointer): PGtkNotebookClass =
-  result = cast[PGtkNotebookClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_NOTEBOOK()))
+proc NOTEBOOK_CLASS*(klass: pointer): PNotebookClass = 
+  result = cast[PNotebookClass](CHECK_CLASS_CAST(klass, TYPE_NOTEBOOK()))
 
-proc GTK_IS_NOTEBOOK*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_NOTEBOOK())
+proc IS_NOTEBOOK*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_NOTEBOOK())
 
-proc GTK_IS_NOTEBOOK_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_NOTEBOOK())
+proc IS_NOTEBOOK_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_NOTEBOOK())
 
-proc GTK_NOTEBOOK_GET_CLASS*(obj: pointer): PGtkNotebookClass =
-  result = cast[PGtkNotebookClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_NOTEBOOK()))
+proc NOTEBOOK_GET_CLASS*(obj: pointer): PNotebookClass = 
+  result = cast[PNotebookClass](CHECK_GET_CLASS(obj, TYPE_NOTEBOOK()))
 
-proc show_tabs*(a: var TGtkNotebook): guint =
-  result = (a.GtkNotebookflag0 and bm_TGtkNotebook_show_tabs) shr
+proc show_tabs*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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
+proc set_show_tabs*(a: var TNotebook, `show_tabs`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc homogeneous*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 and bm_TGtkNotebook_homogeneous) shr
       bp_TGtkNotebook_homogeneous
 
-proc set_homogeneous*(a: var TGtkNotebook, `homogeneous`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
+proc set_homogeneous*(a: var TNotebook, `homogeneous`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc show_border*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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
+proc set_show_border*(a: var TNotebook, `show_border`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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 tab_pos*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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 set_tab_pos*(a: var TNotebook, `tab_pos`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc scrollable*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 and bm_TGtkNotebook_scrollable) shr
       bp_TGtkNotebook_scrollable
 
-proc set_scrollable*(a: var TGtkNotebook, `scrollable`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
+proc set_scrollable*(a: var TNotebook, `scrollable`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc in_child*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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 set_in_child*(a: var TNotebook, `in_child`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc click_child*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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
+proc set_click_child*(a: var TNotebook, `click_child`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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 button*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 and bm_TGtkNotebook_button) shr
+      bp_TGtkNotebook_button
 
-proc set_button*(a: var TGtkNotebook, `button`: guint) =
-  a.GtkNotebookflag0 = a.GtkNotebookflag0 or
+proc set_button*(a: var TNotebook, `button`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc need_timer*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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
+proc set_need_timer*(a: var TNotebook, `need_timer`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc child_has_focus*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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
+proc set_child_has_focus*(a: var TNotebook, `child_has_focus`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc have_visible_child*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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
+proc set_have_visible_child*(a: var TNotebook, `have_visible_child`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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
+proc focus_out*(a: var TNotebook): guint = 
+  result = (a.Notebookflag0 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
+proc set_focus_out*(a: var TNotebook, `focus_out`: guint) = 
+  a.Notebookflag0 = a.Notebookflag0 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 TYPE_OLD_EDITABLE*(): GType = 
+  result = old_editable_get_type()
 
-proc GTK_OLD_EDITABLE*(obj: pointer): PGtkOldEditable =
-  result = cast[PGtkOldEditable](GTK_CHECK_CAST(obj, GTK_TYPE_OLD_EDITABLE()))
+proc OLD_EDITABLE*(obj: pointer): POldEditable = 
+  result = cast[POldEditable](CHECK_CAST(obj, TYPE_OLD_EDITABLE()))
 
-proc GTK_OLD_EDITABLE_CLASS*(klass: pointer): PGtkOldEditableClass =
-  result = cast[PGtkOldEditableClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_OLD_EDITABLE()))
+proc OLD_EDITABLE_CLASS*(klass: pointer): POldEditableClass = 
+  result = cast[POldEditableClass](CHECK_CLASS_CAST(klass, TYPE_OLD_EDITABLE()))
 
-proc GTK_IS_OLD_EDITABLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_OLD_EDITABLE())
+proc IS_OLD_EDITABLE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_OLD_EDITABLE())
 
-proc GTK_IS_OLD_EDITABLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OLD_EDITABLE())
+proc IS_OLD_EDITABLE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 OLD_EDITABLE_GET_CLASS*(obj: pointer): POldEditableClass = 
+  result = cast[POldEditableClass](CHECK_GET_CLASS(obj, TYPE_OLD_EDITABLE()))
 
-proc has_selection*(a: var TGtkOldEditable): guint =
-  result = (a.GtkOldEditableflag0 and bm_TGtkOldEditable_has_selection) shr
+proc has_selection*(a: var TOldEditable): guint = 
+  result = (a.OldEditableflag0 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
+proc set_has_selection*(a: var TOldEditable, `has_selection`: guint) = 
+  a.OldEditableflag0 = a.OldEditableflag0 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
+proc editable*(a: var TOldEditable): guint = 
+  result = (a.OldEditableflag0 and bm_TGtkOldEditable_editable) shr
       bp_TGtkOldEditable_editable
 
-proc set_editable*(a: var TGtkOldEditable, `editable`: guint) =
-  a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or
+proc set_editable*(a: var TOldEditable, `editable`: guint) = 
+  a.OldEditableflag0 = a.OldEditableflag0 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
+proc visible*(a: var TOldEditable): guint = 
+  result = (a.OldEditableflag0 and bm_TGtkOldEditable_visible) shr
       bp_TGtkOldEditable_visible
 
-proc set_visible*(a: var TGtkOldEditable, `visible`: guint) =
-  a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or
+proc set_visible*(a: var TOldEditable, `visible`: guint) = 
+  a.OldEditableflag0 = a.OldEditableflag0 or
       (int16(`visible` shl bp_TGtkOldEditable_visible) and
       bm_TGtkOldEditable_visible)
 
-proc GTK_TYPE_OPTION_MENU*(): GType =
-  result = gtk_option_menu_get_type()
+proc TYPE_OPTION_MENU*(): GType = 
+  result = option_menu_get_type()
 
-proc GTK_OPTION_MENU*(obj: pointer): PGtkOptionMenu =
-  result = cast[PGtkOptionMenu](GTK_CHECK_CAST(obj, GTK_TYPE_OPTION_MENU()))
+proc OPTION_MENU*(obj: pointer): POptionMenu = 
+  result = cast[POptionMenu](CHECK_CAST(obj, TYPE_OPTION_MENU()))
 
-proc GTK_OPTION_MENU_CLASS*(klass: pointer): PGtkOptionMenuClass =
-  result = cast[PGtkOptionMenuClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_OPTION_MENU()))
+proc OPTION_MENU_CLASS*(klass: pointer): POptionMenuClass = 
+  result = cast[POptionMenuClass](CHECK_CLASS_CAST(klass, TYPE_OPTION_MENU()))
 
-proc GTK_IS_OPTION_MENU*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_OPTION_MENU())
+proc IS_OPTION_MENU*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_OPTION_MENU())
 
-proc GTK_IS_OPTION_MENU_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OPTION_MENU())
+proc IS_OPTION_MENU_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 OPTION_MENU_GET_CLASS*(obj: pointer): POptionMenuClass = 
+  result = cast[POptionMenuClass](CHECK_GET_CLASS(obj, TYPE_OPTION_MENU()))
 
-proc GTK_TYPE_PIXMAP*(): GType =
-  result = gtk_pixmap_get_type()
+proc TYPE_PIXMAP*(): GType = 
+  result = gtk2.pixmap_get_type()
 
-proc GTK_PIXMAP*(obj: pointer): PGtkPixmap =
-  result = cast[PGtkPixmap](GTK_CHECK_CAST(obj, GTK_TYPE_PIXMAP()))
+proc PIXMAP*(obj: pointer): PPixmap = 
+  result = cast[PPixmap](CHECK_CAST(obj, gtk2.TYPE_PIXMAP()))
 
-proc GTK_PIXMAP_CLASS*(klass: pointer): PGtkPixmapClass =
-  result = cast[PGtkPixmapClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PIXMAP()))
+proc PIXMAP_CLASS*(klass: pointer): PPixmapClass = 
+  result = cast[PPixmapClass](CHECK_CLASS_CAST(klass, gtk2.TYPE_PIXMAP()))
 
-proc GTK_IS_PIXMAP*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PIXMAP())
+proc IS_PIXMAP*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, gtk2.TYPE_PIXMAP())
 
-proc GTK_IS_PIXMAP_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PIXMAP())
+proc IS_PIXMAP_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, gtk2.TYPE_PIXMAP())
 
-proc GTK_PIXMAP_GET_CLASS*(obj: pointer): PGtkPixmapClass =
-  result = cast[PGtkPixmapClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PIXMAP()))
+proc PIXMAP_GET_CLASS*(obj: pointer): PPixmapClass = 
+  result = cast[PPixmapClass](CHECK_GET_CLASS(obj, gtk2.TYPE_PIXMAP()))
 
-proc build_insensitive*(a: var TGtkPixmap): guint =
-  result = (a.GtkPixmapflag0 and bm_TGtkPixmap_build_insensitive) shr
+proc build_insensitive*(a: var TPixmap): guint = 
+  result = (a.Pixmapflag0 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
+proc set_build_insensitive*(a: var TPixmap, `build_insensitive`: guint) = 
+  a.Pixmapflag0 = a.Pixmapflag0 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 TYPE_PLUG*(): GType = 
+  result = plug_get_type()
 
-proc GTK_PLUG*(obj: pointer): PGtkPlug =
-  result = cast[PGtkPlug](GTK_CHECK_CAST(obj, GTK_TYPE_PLUG()))
+proc PLUG*(obj: pointer): PPlug = 
+  result = cast[PPlug](CHECK_CAST(obj, TYPE_PLUG()))
 
-proc GTK_PLUG_CLASS*(klass: pointer): PGtkPlugClass =
-  result = cast[PGtkPlugClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PLUG()))
+proc PLUG_CLASS*(klass: pointer): PPlugClass = 
+  result = cast[PPlugClass](CHECK_CLASS_CAST(klass, TYPE_PLUG()))
 
-proc GTK_IS_PLUG*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PLUG())
+proc IS_PLUG*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_PLUG())
 
-proc GTK_IS_PLUG_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PLUG())
+proc IS_PLUG_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_PLUG())
 
-proc GTK_PLUG_GET_CLASS*(obj: pointer): PGtkPlugClass =
-  result = cast[PGtkPlugClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PLUG()))
+proc PLUG_GET_CLASS*(obj: pointer): PPlugClass = 
+  result = cast[PPlugClass](CHECK_GET_CLASS(obj, TYPE_PLUG()))
 
-proc same_app*(a: var TGtkPlug): guint =
-  result = (a.GtkPlugflag0 and bm_TGtkPlug_same_app) shr bp_TGtkPlug_same_app
+proc same_app*(a: var TPlug): guint = 
+  result = (a.Plugflag0 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
+proc set_same_app*(a: var TPlug, `same_app`: guint) = 
+  a.Plugflag0 = a.Plugflag0 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 TYPE_PREVIEW*(): GType = 
+  result = preview_get_type()
 
-proc GTK_PREVIEW*(obj: pointer): PGtkPreview =
-  result = cast[PGtkPreview](GTK_CHECK_CAST(obj, GTK_TYPE_PREVIEW()))
+proc PREVIEW*(obj: pointer): PPreview = 
+  result = cast[PPreview](CHECK_CAST(obj, TYPE_PREVIEW()))
 
-proc GTK_PREVIEW_CLASS*(klass: pointer): PGtkPreviewClass =
-  result = cast[PGtkPreviewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PREVIEW()))
+proc PREVIEW_CLASS*(klass: pointer): PPreviewClass = 
+  result = cast[PPreviewClass](CHECK_CLASS_CAST(klass, TYPE_PREVIEW()))
 
-proc GTK_IS_PREVIEW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PREVIEW())
+proc IS_PREVIEW*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_PREVIEW())
 
-proc GTK_IS_PREVIEW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PREVIEW())
+proc IS_PREVIEW_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_PREVIEW())
 
-proc GTK_PREVIEW_GET_CLASS*(obj: pointer): PGtkPreviewClass =
-  result = cast[PGtkPreviewClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PREVIEW()))
+proc PREVIEW_GET_CLASS*(obj: pointer): PPreviewClass = 
+  result = cast[PPreviewClass](CHECK_GET_CLASS(obj, TYPE_PREVIEW()))
 
-proc get_type*(a: var TGtkPreview): guint =
-  result = (a.GtkPreviewflag0 and bm_TGtkPreview_type) shr bp_TGtkPreview_type
+proc get_type*(a: var TPreview): guint = 
+  result = (a.Previewflag0 and bm_TGtkPreview_type) shr bp_TGtkPreview_type
 
-proc set_type*(a: var TGtkPreview, `type`: guint) =
-  a.GtkPreviewflag0 = a.GtkPreviewflag0 or
+proc set_type*(a: var TPreview, `type`: guint) = 
+  a.Previewflag0 = a.Previewflag0 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 get_expand*(a: var TPreview): guint = 
+  result = (a.Previewflag0 and bm_TGtkPreview_expand) shr
+      bp_TGtkPreview_expand
 
-proc set_expand*(a: var TGtkPreview, `expand`: guint) =
-  a.GtkPreviewflag0 = a.GtkPreviewflag0 or
+proc set_expand*(a: var TPreview, `expand`: guint) = 
+  a.Previewflag0 = a.Previewflag0 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 progress_get_type(): GType{.importc: "gtk_progress_get_type", cdecl, 
+                                 dynlib: lib.}
+proc TYPE_PROGRESS*(): GType = 
+  result = progress_get_type()
 
-proc GTK_PROGRESS*(obj: pointer): PGtkProgress =
-  result = cast[PGtkProgress](GTK_CHECK_CAST(obj, GTK_TYPE_PROGRESS()))
+proc PROGRESS*(obj: pointer): PProgress = 
+  result = cast[PProgress](CHECK_CAST(obj, TYPE_PROGRESS()))
 
-proc GTK_PROGRESS_CLASS*(klass: pointer): PGtkProgressClass =
-  result = cast[PGtkProgressClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PROGRESS()))
+proc PROGRESS_CLASS*(klass: pointer): PProgressClass = 
+  result = cast[PProgressClass](CHECK_CLASS_CAST(klass, TYPE_PROGRESS()))
 
-proc GTK_IS_PROGRESS*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PROGRESS())
+proc IS_PROGRESS*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_PROGRESS())
 
-proc GTK_IS_PROGRESS_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PROGRESS())
+proc IS_PROGRESS_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_PROGRESS())
 
-proc GTK_PROGRESS_GET_CLASS*(obj: pointer): PGtkProgressClass =
-  result = cast[PGtkProgressClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PROGRESS()))
+proc PROGRESS_GET_CLASS*(obj: pointer): PProgressClass = 
+  result = cast[PProgressClass](CHECK_GET_CLASS(obj, TYPE_PROGRESS()))
 
-proc show_text*(a: var TGtkProgress): guint =
-  result = (a.GtkProgressflag0 and bm_TGtkProgress_show_text) shr
+proc show_text*(a: var TProgress): guint = 
+  result = (a.Progressflag0 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
+proc set_show_text*(a: var TProgress, `show_text`: guint) = 
+  a.Progressflag0 = a.Progressflag0 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
+proc activity_mode*(a: var TProgress): guint = 
+  result = (a.Progressflag0 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
+proc set_activity_mode*(a: var TProgress, `activity_mode`: guint) = 
+  a.Progressflag0 = a.Progressflag0 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
+proc use_text_format*(a: var TProgress): guint = 
+  result = (a.Progressflag0 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
+proc set_use_text_format*(a: var TProgress, `use_text_format`: guint) = 
+  a.Progressflag0 = a.Progressflag0 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 TYPE_PROGRESS_BAR*(): GType = 
+  result = progress_bar_get_type()
 
-proc GTK_PROGRESS_BAR*(obj: pointer): PGtkProgressBar =
-  result = cast[PGtkProgressBar](GTK_CHECK_CAST(obj, GTK_TYPE_PROGRESS_BAR()))
+proc PROGRESS_BAR*(obj: pointer): PProgressBar = 
+  result = cast[PProgressBar](CHECK_CAST(obj, TYPE_PROGRESS_BAR()))
 
-proc GTK_PROGRESS_BAR_CLASS*(klass: pointer): PGtkProgressBarClass =
-  result = cast[PGtkProgressBarClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_PROGRESS_BAR()))
+proc PROGRESS_BAR_CLASS*(klass: pointer): PProgressBarClass = 
+  result = cast[PProgressBarClass](CHECK_CLASS_CAST(klass, TYPE_PROGRESS_BAR()))
 
-proc GTK_IS_PROGRESS_BAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_PROGRESS_BAR())
+proc IS_PROGRESS_BAR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_PROGRESS_BAR())
 
-proc GTK_IS_PROGRESS_BAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PROGRESS_BAR())
+proc IS_PROGRESS_BAR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 PROGRESS_BAR_GET_CLASS*(obj: pointer): PProgressBarClass = 
+  result = cast[PProgressBarClass](CHECK_GET_CLASS(obj, TYPE_PROGRESS_BAR()))
 
-proc activity_dir*(a: var TGtkProgressBar): guint =
-  result = (a.GtkProgressBarflag0 and bm_TGtkProgressBar_activity_dir) shr
+proc activity_dir*(a: var TProgressBar): guint = 
+  result = (a.ProgressBarflag0 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
+proc set_activity_dir*(a: var TProgressBar, `activity_dir`: guint) = 
+  a.ProgressBarflag0 = a.ProgressBarflag0 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 TYPE_RADIO_BUTTON*(): GType = 
+  result = radio_button_get_type()
 
-proc GTK_RADIO_BUTTON*(obj: pointer): PGtkRadioButton =
-  result = cast[PGtkRadioButton](GTK_CHECK_CAST(obj, GTK_TYPE_RADIO_BUTTON()))
+proc RADIO_BUTTON*(obj: pointer): PRadioButton = 
+  result = cast[PRadioButton](CHECK_CAST(obj, TYPE_RADIO_BUTTON()))
 
-proc GTK_RADIO_BUTTON_CLASS*(klass: pointer): PGtkRadioButtonClass =
-  result = cast[PGtkRadioButtonClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_RADIO_BUTTON()))
+proc RADIO_BUTTON_CLASS*(klass: pointer): PRadioButtonClass = 
+  result = cast[PRadioButtonClass](CHECK_CLASS_CAST(klass, TYPE_RADIO_BUTTON()))
 
-proc GTK_IS_RADIO_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_RADIO_BUTTON())
+proc IS_RADIO_BUTTON*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_RADIO_BUTTON())
 
-proc GTK_IS_RADIO_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RADIO_BUTTON())
+proc IS_RADIO_BUTTON_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 RADIO_BUTTON_GET_CLASS*(obj: pointer): PRadioButtonClass = 
+  result = cast[PRadioButtonClass](CHECK_GET_CLASS(obj, TYPE_RADIO_BUTTON()))
 
-proc GTK_TYPE_RADIO_MENU_ITEM*(): GType =
-  result = gtk_radio_menu_item_get_type()
+proc TYPE_RADIO_MENU_ITEM*(): GType = 
+  result = 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 RADIO_MENU_ITEM*(obj: pointer): PRadioMenuItem = 
+  result = cast[PRadioMenuItem](CHECK_CAST(obj, 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 RADIO_MENU_ITEM_CLASS*(klass: pointer): PRadioMenuItemClass = 
+  result = cast[PRadioMenuItemClass](CHECK_CLASS_CAST(klass, 
+      TYPE_RADIO_MENU_ITEM()))
 
-proc GTK_IS_RADIO_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_RADIO_MENU_ITEM())
+proc IS_RADIO_MENU_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_RADIO_MENU_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 RADIO_MENU_ITEM_GET_CLASS*(obj: pointer): PRadioMenuItemClass = 
+  result = cast[PRadioMenuItemClass](CHECK_GET_CLASS(obj, TYPE_RADIO_MENU_ITEM()))
 
-proc GTK_TYPE_SCROLLED_WINDOW*(): GType =
-  result = gtk_scrolled_window_get_type()
+proc TYPE_SCROLLED_WINDOW*(): GType = 
+  result = scrolled_window_get_type()
 
-proc GTK_SCROLLED_WINDOW*(obj: pointer): PGtkScrolledWindow =
-  result = cast[PGtkScrolledWindow](GTK_CHECK_CAST(obj, GTK_TYPE_SCROLLED_WINDOW()))
+proc SCROLLED_WINDOW*(obj: pointer): PScrolledWindow = 
+  result = cast[PScrolledWindow](CHECK_CAST(obj, TYPE_SCROLLED_WINDOW()))
 
-proc GTK_SCROLLED_WINDOW_CLASS*(klass: pointer): PGtkScrolledWindowClass =
-  result = cast[PGtkScrolledWindowClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_SCROLLED_WINDOW()))
+proc SCROLLED_WINDOW_CLASS*(klass: pointer): PScrolledWindowClass = 
+  result = cast[PScrolledWindowClass](CHECK_CLASS_CAST(klass, 
+      TYPE_SCROLLED_WINDOW()))
 
-proc GTK_IS_SCROLLED_WINDOW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCROLLED_WINDOW())
+proc IS_SCROLLED_WINDOW*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_SCROLLED_WINDOW())
 
-proc GTK_IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCROLLED_WINDOW())
+proc IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 SCROLLED_WINDOW_GET_CLASS*(obj: pointer): PScrolledWindowClass = 
+  result = cast[PScrolledWindowClass](CHECK_GET_CLASS(obj, 
+      TYPE_SCROLLED_WINDOW()))
 
-proc hscrollbar_policy*(a: var TGtkScrolledWindow): guint =
-  result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_hscrollbar_policy) shr
+proc hscrollbar_policy*(a: var TScrolledWindow): guint = 
+  result = (a.ScrolledWindowflag0 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
+proc set_hscrollbar_policy*(a: var TScrolledWindow, `hscrollbar_policy`: guint) = 
+  a.ScrolledWindowflag0 = a.ScrolledWindowflag0 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
+proc vscrollbar_policy*(a: var TScrolledWindow): guint = 
+  result = (a.ScrolledWindowflag0 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
+proc set_vscrollbar_policy*(a: var TScrolledWindow, `vscrollbar_policy`: guint) = 
+  a.ScrolledWindowflag0 = a.ScrolledWindowflag0 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
+proc hscrollbar_visible*(a: var TScrolledWindow): guint = 
+  result = (a.ScrolledWindowflag0 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
+proc set_hscrollbar_visible*(a: var TScrolledWindow, `hscrollbar_visible`: guint) = 
+  a.ScrolledWindowflag0 = a.ScrolledWindowflag0 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
+proc vscrollbar_visible*(a: var TScrolledWindow): guint = 
+  result = (a.ScrolledWindowflag0 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
+proc set_vscrollbar_visible*(a: var TScrolledWindow, `vscrollbar_visible`: guint) = 
+  a.ScrolledWindowflag0 = a.ScrolledWindowflag0 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
+proc window_placement*(a: var TScrolledWindow): guint = 
+  result = (a.ScrolledWindowflag0 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
+proc set_window_placement*(a: var TScrolledWindow, `window_placement`: guint) = 
+  a.ScrolledWindowflag0 = a.ScrolledWindowflag0 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
+proc focus_out*(a: var TScrolledWindow): guint = 
+  result = (a.ScrolledWindowflag0 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
+proc set_focus_out*(a: var TScrolledWindow, `focus_out`: guint) = 
+  a.ScrolledWindowflag0 = a.ScrolledWindowflag0 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 TYPE_SELECTION_DATA*(): GType = 
+  result = selection_data_get_type()
 
-proc GTK_TYPE_SEPARATOR_MENU_ITEM*(): GType =
-  result = gtk_separator_menu_item_get_type()
+proc TYPE_SEPARATOR_MENU_ITEM*(): GType = 
+  result = 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 SEPARATOR_MENU_ITEM*(obj: pointer): PSeparatorMenuItem = 
+  result = cast[PSeparatorMenuItem](CHECK_CAST(obj, 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 SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): PSeparatorMenuItemClass = 
+  result = cast[PSeparatorMenuItemClass](CHECK_CLASS_CAST(klass, 
+      TYPE_SEPARATOR_MENU_ITEM()))
 
-proc GTK_IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SEPARATOR_MENU_ITEM())
+proc IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 SEPARATOR_MENU_ITEM_GET_CLASS*(obj: pointer): PSeparatorMenuItemClass = 
+  result = cast[PSeparatorMenuItemClass](CHECK_GET_CLASS(obj, 
+      TYPE_SEPARATOR_MENU_ITEM()))
 
-proc gtk_signal_lookup*(name: cstring, object_type: GType): guint =
+proc signal_lookup*(name: cstring, object_type: GType): guint = 
   result = g_signal_lookup(name, object_type)
 
-proc gtk_signal_name*(signal_id: guint): cstring =
+proc signal_name*(signal_id: guint): cstring = 
   result = g_signal_name(signal_id)
 
-proc gtk_signal_emit_stop*(instance: gpointer, signal_id: guint, detail: TGQuark) =
+proc 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) =
+  
+proc signal_connect_full*(anObject: PObject, name: cstring, fun: TSignalFunc, 
+                          unknown1: pointer, func_data: gpointer, 
+                          unknown2: pointer, unknown3, unknown4: int): gulong{.
+    importc: "gtk_signal_connect_full", cdecl, dynlib: lib.}
+proc signal_compat_matched*(anObject: PObject, fun: TSignalFunc, 
+                            data: gpointer, m: TGSignalMatchType, u: int){.
+    importc: "gtk_signal_compat_matched", cdecl, dynlib: lib.}
+proc signal_connect*(anObject: PObject, name: cstring, fun: TSignalFunc, 
+                     func_data: gpointer): gulong = 
+  result = signal_connect_full(anObject, name, fun, nil, func_data, nil, 0, 0)
+
+proc signal_connect_after*(anObject: PObject, name: cstring, fun: TSignalFunc, 
+                           func_data: gpointer): gulong = 
+  result = signal_connect_full(anObject, name, fun, nil, func_data, nil, 0, 1)
+
+proc signal_connect_object*(anObject: PObject, name: cstring, 
+                            fun: TSignalFunc, slot_object: gpointer): gulong = 
+  result = signal_connect_full(anObject, name, fun, nil, slot_object, nil, 1, 
+                               0)
+
+proc signal_connect_object_after*(anObject: PObject, name: cstring, 
+                                  fun: TSignalFunc, slot_object: gpointer): gulong = 
+  result = signal_connect_full(anObject, name, fun, nil, slot_object, nil, 1, 
+                               1)
+
+proc signal_disconnect*(anObject: gpointer, handler_id: gulong) = 
   g_signal_handler_disconnect(anObject, handler_id)
 
-proc gtk_signal_handler_block*(anObject: gpointer, handler_id: gulong) =
+proc 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) =
+proc 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 signal_disconnect_by_data*(anObject: PObject, data: gpointer) = 
+  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 signal_disconnect_by_func*(anObject: PObject, fun: TSignalFunc, 
+                                data: gpointer) = 
+  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(
+proc signal_handler_block_by_func*(anObject: PObject, fun: TSignalFunc, 
+                                   data: gpointer) = 
+  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 signal_handler_block_by_data*(anObject: PObject, data: gpointer) = 
+  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 signal_handler_unblock_by_func*(anObject: PObject, fun: TSignalFunc, 
+                                     data: gpointer) = 
+  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 signal_handler_unblock_by_data*(anObject: PObject, data: gpointer) = 
+  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 =
+proc signal_handler_pending*(anObject: PObject, 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 =
+proc signal_handler_pending_by_func*(anObject: PObject, signal_id: guint, 
+                                     may_be_blocked: gboolean, 
+                                     fun: TSignalFunc, 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:
+  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
+  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 TYPE_SIZE_GROUP*(): GType = 
+  result = size_group_get_type()
 
-proc GTK_SIZE_GROUP*(obj: pointer): PGtkSizeGroup =
-  result = cast[PGtkSizeGroup](GTK_CHECK_CAST(obj, GTK_TYPE_SIZE_GROUP()))
+proc SIZE_GROUP*(obj: pointer): PSizeGroup = 
+  result = cast[PSizeGroup](CHECK_CAST(obj, TYPE_SIZE_GROUP()))
 
-proc GTK_SIZE_GROUP_CLASS*(klass: pointer): PGtkSizeGroupClass =
-  result = cast[PGtkSizeGroupClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SIZE_GROUP()))
+proc SIZE_GROUP_CLASS*(klass: pointer): PSizeGroupClass = 
+  result = cast[PSizeGroupClass](CHECK_CLASS_CAST(klass, TYPE_SIZE_GROUP()))
 
-proc GTK_IS_SIZE_GROUP*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SIZE_GROUP())
+proc IS_SIZE_GROUP*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_SIZE_GROUP())
 
-proc GTK_IS_SIZE_GROUP_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SIZE_GROUP())
+proc IS_SIZE_GROUP_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 SIZE_GROUP_GET_CLASS*(obj: pointer): PSizeGroupClass = 
+  result = cast[PSizeGroupClass](CHECK_GET_CLASS(obj, TYPE_SIZE_GROUP()))
 
-proc have_width*(a: var TGtkSizeGroup): guint =
-  result = (a.GtkSizeGroupflag0 and bm_TGtkSizeGroup_have_width) shr
+proc have_width*(a: var TSizeGroup): guint = 
+  result = (a.SizeGroupflag0 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
+proc set_have_width*(a: var TSizeGroup, `have_width`: guint) = 
+  a.SizeGroupflag0 = a.SizeGroupflag0 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
+proc have_height*(a: var TSizeGroup): guint = 
+  result = (a.SizeGroupflag0 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
+proc set_have_height*(a: var TSizeGroup, `have_height`: guint) = 
+  a.SizeGroupflag0 = a.SizeGroupflag0 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 TYPE_SOCKET*(): GType = 
+  result = socket_get_type()
 
-proc GTK_SOCKET*(obj: pointer): PGtkSocket =
-  result = cast[PGtkSocket](GTK_CHECK_CAST(obj, GTK_TYPE_SOCKET()))
+proc SOCKET*(obj: pointer): PSocket = 
+  result = cast[PSocket](CHECK_CAST(obj, TYPE_SOCKET()))
 
-proc GTK_SOCKET_CLASS*(klass: pointer): PGtkSocketClass =
-  result = cast[PGtkSocketClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SOCKET()))
+proc SOCKET_CLASS*(klass: pointer): PSocketClass = 
+  result = cast[PSocketClass](CHECK_CLASS_CAST(klass, TYPE_SOCKET()))
 
-proc GTK_IS_SOCKET*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SOCKET())
+proc IS_SOCKET*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_SOCKET())
 
-proc GTK_IS_SOCKET_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SOCKET())
+proc IS_SOCKET_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_SOCKET())
 
-proc GTK_SOCKET_GET_CLASS*(obj: pointer): PGtkSocketClass =
-  result = cast[PGtkSocketClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SOCKET()))
+proc SOCKET_GET_CLASS*(obj: pointer): PSocketClass = 
+  result = cast[PSocketClass](CHECK_GET_CLASS(obj, TYPE_SOCKET()))
 
-proc same_app*(a: var TGtkSocket): guint =
-  result = (a.GtkSocketflag0 and bm_TGtkSocket_same_app) shr bp_TGtkSocket_same_app
+proc same_app*(a: var TSocket): guint = 
+  result = (a.Socketflag0 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 set_same_app*(a: var TSocket, `same_app`: guint) = 
+  a.Socketflag0 = a.Socketflag0 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 focus_in*(a: var TSocket): guint = 
+  result = (a.Socketflag0 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 set_focus_in*(a: var TSocket, `focus_in`: guint) = 
+  a.Socketflag0 = a.Socketflag0 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 have_size*(a: var TSocket): guint = 
+  result = (a.Socketflag0 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 set_have_size*(a: var TSocket, `have_size`: guint) = 
+  a.Socketflag0 = a.Socketflag0 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 need_map*(a: var TSocket): guint = 
+  result = (a.Socketflag0 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 set_need_map*(a: var TSocket, `need_map`: guint) = 
+  a.Socketflag0 = a.Socketflag0 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 is_mapped*(a: var TSocket): guint = 
+  result = (a.Socketflag0 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 set_is_mapped*(a: var TSocket, `is_mapped`: guint) = 
+  a.Socketflag0 = a.Socketflag0 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 TYPE_SPIN_BUTTON*(): GType = 
+  result = spin_button_get_type()
 
-proc GTK_SPIN_BUTTON*(obj: pointer): PGtkSpinButton =
-  result = cast[PGtkSpinButton](GTK_CHECK_CAST(obj, GTK_TYPE_SPIN_BUTTON()))
+proc SPIN_BUTTON*(obj: pointer): PSpinButton = 
+  result = cast[PSpinButton](CHECK_CAST(obj, TYPE_SPIN_BUTTON()))
 
-proc GTK_SPIN_BUTTON_CLASS*(klass: pointer): PGtkSpinButtonClass =
-  result = cast[PGtkSpinButtonClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SPIN_BUTTON()))
+proc SPIN_BUTTON_CLASS*(klass: pointer): PSpinButtonClass = 
+  result = cast[PSpinButtonClass](CHECK_CLASS_CAST(klass, TYPE_SPIN_BUTTON()))
 
-proc GTK_IS_SPIN_BUTTON*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_SPIN_BUTTON())
+proc IS_SPIN_BUTTON*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_SPIN_BUTTON())
 
-proc GTK_IS_SPIN_BUTTON_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SPIN_BUTTON())
+proc IS_SPIN_BUTTON_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 SPIN_BUTTON_GET_CLASS*(obj: pointer): PSpinButtonClass = 
+  result = cast[PSpinButtonClass](CHECK_GET_CLASS(obj, TYPE_SPIN_BUTTON()))
 
-proc in_child*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_in_child) shr
+proc in_child*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 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
+proc set_in_child*(a: var TSpinButton, `in_child`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 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
+proc click_child*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 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
+proc set_click_child*(a: var TSpinButton, `click_child`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 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
+proc button*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 and bm_TGtkSpinButton_button) shr
       bp_TGtkSpinButton_button
 
-proc set_button*(a: var TGtkSpinButton, `button`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
+proc set_button*(a: var TSpinButton, `button`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 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
+proc need_timer*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 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
+proc set_need_timer*(a: var TSpinButton, `need_timer`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 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
+proc timer_calls*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 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
+proc set_timer_calls*(a: var TSpinButton, `timer_calls`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 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
+proc digits*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 and bm_TGtkSpinButton_digits) shr
       bp_TGtkSpinButton_digits
 
-proc set_digits*(a: var TGtkSpinButton, `digits`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
+proc set_digits*(a: var TSpinButton, `digits`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 or
       ((`digits` shl bp_TGtkSpinButton_digits) and bm_TGtkSpinButton_digits)
 
-proc numeric*(a: var TGtkSpinButton): guint =
-  result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_numeric) shr
+proc numeric*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 and bm_TGtkSpinButton_numeric) shr
       bp_TGtkSpinButton_numeric
 
-proc set_numeric*(a: var TGtkSpinButton, `numeric`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
+proc set_numeric*(a: var TSpinButton, `numeric`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 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 wrap*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 and bm_TGtkSpinButton_wrap) shr
+      bp_TGtkSpinButton_wrap
 
-proc set_wrap*(a: var TGtkSpinButton, `wrap`: guint) =
-  a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or
+proc set_wrap*(a: var TSpinButton, `wrap`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 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
+proc snap_to_ticks*(a: var TSpinButton): guint = 
+  result = (a.SpinButtonflag0 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
+proc set_snap_to_ticks*(a: var TSpinButton, `snap_to_ticks`: guint) = 
+  a.SpinButtonflag0 = a.SpinButtonflag0 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 TYPE_STATUSBAR*(): GType = 
+  result = statusbar_get_type()
 
-proc GTK_STATUSBAR*(obj: pointer): PGtkStatusbar =
-  result = cast[PGtkStatusbar](GTK_CHECK_CAST(obj, GTK_TYPE_STATUSBAR()))
+proc STATUSBAR*(obj: pointer): PStatusbar = 
+  result = cast[PStatusbar](CHECK_CAST(obj, TYPE_STATUSBAR()))
 
-proc GTK_STATUSBAR_CLASS*(klass: pointer): PGtkStatusbarClass =
-  result = cast[PGtkStatusbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_STATUSBAR()))
+proc STATUSBAR_CLASS*(klass: pointer): PStatusbarClass = 
+  result = cast[PStatusbarClass](CHECK_CLASS_CAST(klass, TYPE_STATUSBAR()))
 
-proc GTK_IS_STATUSBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_STATUSBAR())
+proc IS_STATUSBAR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_STATUSBAR())
 
-proc GTK_IS_STATUSBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_STATUSBAR())
+proc IS_STATUSBAR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_STATUSBAR())
 
-proc GTK_STATUSBAR_GET_CLASS*(obj: pointer): PGtkStatusbarClass =
-  result = cast[PGtkStatusbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_STATUSBAR()))
+proc STATUSBAR_GET_CLASS*(obj: pointer): PStatusbarClass = 
+  result = cast[PStatusbarClass](CHECK_GET_CLASS(obj, TYPE_STATUSBAR()))
 
-proc has_resize_grip*(a: var TGtkStatusbar): guint =
-  result = (a.GtkStatusbarflag0 and bm_TGtkStatusbar_has_resize_grip) shr
+proc has_resize_grip*(a: var TStatusbar): guint = 
+  result = (a.Statusbarflag0 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
+proc set_has_resize_grip*(a: var TStatusbar, `has_resize_grip`: guint) = 
+  a.Statusbarflag0 = a.Statusbarflag0 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 TYPE_TABLE*(): GType = 
+  result = gtk2.table_get_type()
 
-proc GTK_TABLE*(obj: pointer): PGtkTable =
-  result = cast[PGtkTable](GTK_CHECK_CAST(obj, GTK_TYPE_TABLE()))
+proc TABLE*(obj: pointer): PTable = 
+  result = cast[PTable](CHECK_CAST(obj, gtk2.TYPE_TABLE()))
 
-proc GTK_TABLE_CLASS*(klass: pointer): PGtkTableClass =
-  result = cast[PGtkTableClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TABLE()))
+proc TABLE_CLASS*(klass: pointer): PTableClass = 
+  result = cast[PTableClass](CHECK_CLASS_CAST(klass, gtk2.TYPE_TABLE()))
 
-proc GTK_IS_TABLE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TABLE())
+proc IS_TABLE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, gtk2.TYPE_TABLE())
 
-proc GTK_IS_TABLE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TABLE())
+proc IS_TABLE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, gtk2.TYPE_TABLE())
 
-proc GTK_TABLE_GET_CLASS*(obj: pointer): PGtkTableClass =
-  result = cast[PGtkTableClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TABLE()))
+proc TABLE_GET_CLASS*(obj: pointer): PTableClass = 
+  result = cast[PTableClass](CHECK_GET_CLASS(obj, gtk2.TYPE_TABLE()))
 
-proc homogeneous*(a: var TGtkTable): guint =
-  result = (a.GtkTableflag0 and bm_TGtkTable_homogeneous) shr
+proc homogeneous*(a: var TTable): guint = 
+  result = (a.Tableflag0 and bm_TGtkTable_homogeneous) shr
       bp_TGtkTable_homogeneous
 
-proc set_homogeneous*(a: var TGtkTable, `homogeneous`: guint) =
-  a.GtkTableflag0 = a.GtkTableflag0 or
+proc set_homogeneous*(a: var TTable, `homogeneous`: guint) = 
+  a.Tableflag0 = a.Tableflag0 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
+proc xexpand*(a: var TTableChild): guint = 
+  result = (a.TableChildflag0 and bm_TGtkTableChild_xexpand) shr
       bp_TGtkTableChild_xexpand
 
-proc set_xexpand*(a: var TGtkTableChild, `xexpand`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
+proc set_xexpand*(a: var TTableChild, `xexpand`: guint) = 
+  a.TableChildflag0 = a.TableChildflag0 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
+proc yexpand*(a: var TTableChild): guint = 
+  result = (a.TableChildflag0 and bm_TGtkTableChild_yexpand) shr
       bp_TGtkTableChild_yexpand
 
-proc set_yexpand*(a: var TGtkTableChild, `yexpand`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
+proc set_yexpand*(a: var TTableChild, `yexpand`: guint) = 
+  a.TableChildflag0 = a.TableChildflag0 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
+proc xshrink*(a: var TTableChild): guint = 
+  result = (a.TableChildflag0 and bm_TGtkTableChild_xshrink) shr
       bp_TGtkTableChild_xshrink
 
-proc set_xshrink*(a: var TGtkTableChild, `xshrink`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
+proc set_xshrink*(a: var TTableChild, `xshrink`: guint) = 
+  a.TableChildflag0 = a.TableChildflag0 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
+proc yshrink*(a: var TTableChild): guint = 
+  result = (a.TableChildflag0 and bm_TGtkTableChild_yshrink) shr
       bp_TGtkTableChild_yshrink
 
-proc set_yshrink*(a: var TGtkTableChild, `yshrink`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
+proc set_yshrink*(a: var TTableChild, `yshrink`: guint) = 
+  a.TableChildflag0 = a.TableChildflag0 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 xfill*(a: var TTableChild): guint = 
+  result = (a.TableChildflag0 and bm_TGtkTableChild_xfill) shr
+      bp_TGtkTableChild_xfill
 
-proc set_xfill*(a: var TGtkTableChild, `xfill`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
+proc set_xfill*(a: var TTableChild, `xfill`: guint) = 
+  a.TableChildflag0 = a.TableChildflag0 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 yfill*(a: var TTableChild): guint = 
+  result = (a.TableChildflag0 and bm_TGtkTableChild_yfill) shr
+      bp_TGtkTableChild_yfill
 
-proc set_yfill*(a: var TGtkTableChild, `yfill`: guint) =
-  a.GtkTableChildflag0 = a.GtkTableChildflag0 or
+proc set_yfill*(a: var TTableChild, `yfill`: guint) = 
+  a.TableChildflag0 = a.TableChildflag0 or
       (int16(`yfill` shl bp_TGtkTableChild_yfill) and bm_TGtkTableChild_yfill)
 
-proc need_expand*(a: var TGtkTableRowCol): guint =
+proc need_expand*(a: var TTableRowCol): guint = 
   result = (a.flag0 and bm_TGtkTableRowCol_need_expand) shr
       bp_TGtkTableRowCol_need_expand
 
-proc set_need_expand*(a: var TGtkTableRowCol, `need_expand`: guint) =
+proc set_need_expand*(a: var TTableRowCol, `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 =
+proc need_shrink*(a: var TTableRowCol): guint = 
   result = (a.flag0 and bm_TGtkTableRowCol_need_shrink) shr
       bp_TGtkTableRowCol_need_shrink
 
-proc set_need_shrink*(a: var TGtkTableRowCol, `need_shrink`: guint) =
+proc set_need_shrink*(a: var TTableRowCol, `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 =
+proc expand*(a: var TTableRowCol): guint = 
   result = (a.flag0 and bm_TGtkTableRowCol_expand) shr
       bp_TGtkTableRowCol_expand
 
-proc set_expand*(a: var TGtkTableRowCol, `expand`: guint) =
+proc set_expand*(a: var TTableRowCol, `expand`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`expand` shl bp_TGtkTableRowCol_expand) and bm_TGtkTableRowCol_expand)
+      (int16(`expand` shl bp_TGtkTableRowCol_expand) and
+      bm_TGtkTableRowCol_expand)
 
-proc shrink*(a: var TGtkTableRowCol): guint =
+proc shrink*(a: var TTableRowCol): guint = 
   result = (a.flag0 and bm_TGtkTableRowCol_shrink) shr
       bp_TGtkTableRowCol_shrink
 
-proc set_shrink*(a: var TGtkTableRowCol, `shrink`: guint) =
+proc set_shrink*(a: var TTableRowCol, `shrink`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`shrink` shl bp_TGtkTableRowCol_shrink) and bm_TGtkTableRowCol_shrink)
+      (int16(`shrink` shl bp_TGtkTableRowCol_shrink) and
+      bm_TGtkTableRowCol_shrink)
 
-proc empty*(a: var TGtkTableRowCol): guint =
+proc empty*(a: var TTableRowCol): guint = 
   result = (a.flag0 and bm_TGtkTableRowCol_empty) shr
       bp_TGtkTableRowCol_empty
 
-proc set_empty*(a: var TGtkTableRowCol, `empty`: guint) =
+proc set_empty*(a: var TTableRowCol, `empty`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`empty` shl bp_TGtkTableRowCol_empty) and bm_TGtkTableRowCol_empty)
+      (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 TYPE_TEAROFF_MENU_ITEM*(): GType = 
+  result = 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 TEAROFF_MENU_ITEM*(obj: pointer): PTearoffMenuItem = 
+  result = cast[PTearoffMenuItem](CHECK_CAST(obj, 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 TEAROFF_MENU_ITEM_CLASS*(klass: pointer): PTearoffMenuItemClass = 
+  result = cast[PTearoffMenuItemClass](CHECK_CLASS_CAST(klass, 
+      TYPE_TEAROFF_MENU_ITEM()))
 
-proc GTK_IS_TEAROFF_MENU_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEAROFF_MENU_ITEM())
+proc IS_TEAROFF_MENU_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TEAROFF_MENU_ITEM_GET_CLASS*(obj: pointer): PTearoffMenuItemClass = 
+  result = cast[PTearoffMenuItemClass](CHECK_GET_CLASS(obj, 
+      TYPE_TEAROFF_MENU_ITEM()))
 
-proc torn_off*(a: var TGtkTearoffMenuItem): guint =
-  result = (a.GtkTearoffMenuItemflag0 and bm_TGtkTearoffMenuItem_torn_off) shr
+proc torn_off*(a: var TTearoffMenuItem): guint = 
+  result = (a.TearoffMenuItemflag0 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
+proc set_torn_off*(a: var TTearoffMenuItem, `torn_off`: guint) = 
+  a.TearoffMenuItemflag0 = a.TearoffMenuItemflag0 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 TYPE_TEXT*(): GType = 
+  result = gtk2.text_get_type()
 
-proc GTK_TEXT*(obj: pointer): PGtkText =
-  result = cast[PGtkText](GTK_CHECK_CAST(obj, GTK_TYPE_TEXT()))
+proc TEXT*(obj: pointer): PText = 
+  result = cast[PText](CHECK_CAST(obj, gtk2.TYPE_TEXT()))
 
-proc GTK_TEXT_CLASS*(klass: pointer): PGtkTextClass =
-  result = cast[PGtkTextClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT()))
+proc TEXT_CLASS*(klass: pointer): PTextClass = 
+  result = cast[PTextClass](CHECK_CLASS_CAST(klass, gtk2.TYPE_TEXT()))
 
-proc GTK_IS_TEXT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEXT())
+proc IS_TEXT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, gtk2.TYPE_TEXT())
 
-proc GTK_IS_TEXT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT())
+proc IS_TEXT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, gtk2.TYPE_TEXT())
 
-proc GTK_TEXT_GET_CLASS*(obj: pointer): PGtkTextClass =
-  result = cast[PGtkTextClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TEXT()))
+proc TEXT_GET_CLASS*(obj: pointer): PTextClass = 
+  result = cast[PTextClass](CHECK_GET_CLASS(obj, gtk2.TYPE_TEXT()))
 
-proc line_wrap*(a: PGtkText): guint =
-  result = (a.GtkTextflag0 and bm_TGtkText_line_wrap) shr bp_TGtkText_line_wrap
+proc line_wrap*(a: PText): guint = 
+  result = (a.Textflag0 and bm_TGtkText_line_wrap) shr bp_TGtkText_line_wrap
 
-proc set_line_wrap*(a: PGtkText, `line_wrap`: guint) =
-  a.GtkTextflag0 = a.GtkTextflag0 or
+proc set_line_wrap*(a: PText, `line_wrap`: guint) = 
+  a.Textflag0 = a.Textflag0 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 word_wrap*(a: PText): guint = 
+  result = (a.Textflag0 and bm_TGtkText_word_wrap) shr bp_TGtkText_word_wrap
 
-proc set_word_wrap*(a: PGtkText, `word_wrap`: guint) =
-  a.GtkTextflag0 = a.GtkTextflag0 or
+proc set_word_wrap*(a: PText, `word_wrap`: guint) = 
+  a.Textflag0 = a.Textflag0 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) >
+proc use_wchar*(a: PText): gboolean = 
+  result = ((a.Textflag0 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 set_use_wchar*(a: PText, `use_wchar`: gboolean) = 
+  if `use_wchar`: 
+    a.Textflag0 = a.Textflag0 or bm_TGtkText_use_wchar
+  else: 
+    a.Textflag0 = a.Textflag0 and not bm_TGtkText_use_wchar
 
-proc GTK_TEXT_INDEX_WCHAR*(t: PGtkText, index: guint): guint32 =
+proc INDEX_WCHAR*(t: PText, index: guint): guint32 = 
   nil
 
-proc GTK_TEXT_INDEX_UCHAR*(t: PGtkText, index: guint): GUChar =
+proc INDEX_UCHAR*(t: PText, index: guint): GUChar = 
   nil
 
-proc GTK_TYPE_TEXT_ITER*(): GType =
-  result = gtk_text_iter_get_type()
+proc TYPE_TEXT_ITER*(): GType = 
+  result = text_iter_get_type()
 
-proc GTK_TYPE_TEXT_TAG*(): GType =
-  result = gtk_text_tag_get_type()
+proc TYPE_TEXT_TAG*(): GType = 
+  result = 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 TEXT_TAG*(obj: pointer): PTextTag = 
+  result = cast[PTextTag](G_TYPE_CHECK_INSTANCE_CAST(obj, 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 TEXT_TAG_CLASS*(klass: pointer): PTextTagClass = 
+  result = cast[PTextTagClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_TEXT_TAG()))
 
-proc GTK_IS_TEXT_TAG*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_TAG())
+proc IS_TEXT_TAG*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TEXT_TAG())
 
-proc GTK_IS_TEXT_TAG_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_TAG())
+proc IS_TEXT_TAG_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 TEXT_TAG_GET_CLASS*(obj: pointer): PTextTagClass = 
+  result = cast[PTextTagClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_TEXT_TAG()))
 
-proc GTK_TYPE_TEXT_ATTRIBUTES*(): GType =
-  result = gtk_text_attributes_get_type()
+proc TYPE_TEXT_ATTRIBUTES*(): GType = 
+  result = text_attributes_get_type()
 
-proc bg_color_set*(a: var TGtkTextTag): guint =
-  result = (a.GtkTextTagflag0 and bm_TGtkTextTag_bg_color_set) shr
+proc bg_color_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_bg_color_set*(a: var TTextTag, `bg_color_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc bg_stipple_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_bg_stipple_set*(a: var TTextTag, `bg_stipple_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc fg_color_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_fg_color_set*(a: var TTextTag, `fg_color_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc scale_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_scale_set*(a: var TTextTag, `scale_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc fg_stipple_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_fg_stipple_set*(a: var TTextTag, `fg_stipple_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc justification_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_justification_set*(a: var TTextTag, `justification_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc left_margin_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_left_margin_set*(a: var TTextTag, `left_margin_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc indent_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_indent_set*(a: var TTextTag, `indent_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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 rise_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_rise_set*(a: var TTextTag, `rise_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc strikethrough_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_strikethrough_set*(a: var TTextTag, `strikethrough_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc right_margin_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_right_margin_set*(a: var TTextTag, `right_margin_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc pixels_above_lines_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_pixels_above_lines_set*(a: var TTextTag, 
+                                 `pixels_above_lines_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc pixels_below_lines_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_pixels_below_lines_set*(a: var TTextTag, 
+                                 `pixels_below_lines_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc pixels_inside_wrap_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_pixels_inside_wrap_set*(a: var TTextTag, 
+                                 `pixels_inside_wrap_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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 tabs_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_tabs_set*(a: var TTextTag, `tabs_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc underline_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_underline_set*(a: var TTextTag, `underline_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc wrap_mode_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_wrap_mode_set*(a: var TTextTag, `wrap_mode_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc bg_full_height_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_bg_full_height_set*(a: var TTextTag, `bg_full_height_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc invisible_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_invisible_set*(a: var TTextTag, `invisible_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc editable_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_editable_set*(a: var TTextTag, `editable_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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
+proc language_set*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 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
+proc set_language_set*(a: var TTextTag, `language_set`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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 pad1*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 and bm_TGtkTextTag_pad1) shr bp_TGtkTextTag_pad1
 
-proc set_pad1*(a: var TGtkTextTag, `pad1`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
+proc set_pad1*(a: var TTextTag, `pad1`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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 pad2*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 and bm_TGtkTextTag_pad2) shr bp_TGtkTextTag_pad2
 
-proc set_pad2*(a: var TGtkTextTag, `pad2`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
+proc set_pad2*(a: var TTextTag, `pad2`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 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 pad3*(a: var TTextTag): guint = 
+  result = (a.TextTagflag0 and bm_TGtkTextTag_pad3) shr bp_TGtkTextTag_pad3
 
-proc set_pad3*(a: var TGtkTextTag, `pad3`: guint) =
-  a.GtkTextTagflag0 = a.GtkTextTagflag0 or
+proc set_pad3*(a: var TTextTag, `pad3`: guint) = 
+  a.TextTagflag0 = a.TextTagflag0 or
       ((`pad3` shl bp_TGtkTextTag_pad3) and bm_TGtkTextTag_pad3)
 
-proc underline*(a: var TGtkTextAppearance): guint =
+proc underline*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_underline) shr
       bp_TGtkTextAppearance_underline
 
-proc set_underline*(a: var TGtkTextAppearance, `underline`: guint) =
+proc set_underline*(a: var TTextAppearance, `underline`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`underline` shl bp_TGtkTextAppearance_underline) and
       bm_TGtkTextAppearance_underline)
 
-proc strikethrough*(a: var TGtkTextAppearance): guint =
+proc strikethrough*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_strikethrough) shr
       bp_TGtkTextAppearance_strikethrough
 
-proc set_strikethrough*(a: var TGtkTextAppearance, `strikethrough`: guint) =
+proc set_strikethrough*(a: var TTextAppearance, `strikethrough`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`strikethrough` shl bp_TGtkTextAppearance_strikethrough) and
       bm_TGtkTextAppearance_strikethrough)
 
-proc draw_bg*(a: var TGtkTextAppearance): guint =
+proc draw_bg*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_draw_bg) shr
       bp_TGtkTextAppearance_draw_bg
 
-proc set_draw_bg*(a: var TGtkTextAppearance, `draw_bg`: guint) =
+proc set_draw_bg*(a: var TTextAppearance, `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 =
+proc inside_selection*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_inside_selection) shr
       bp_TGtkTextAppearance_inside_selection
 
-proc set_inside_selection*(a: var TGtkTextAppearance, `inside_selection`: guint) =
+proc set_inside_selection*(a: var TTextAppearance, `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 =
+proc is_text*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_is_text) shr
       bp_TGtkTextAppearance_is_text
 
-proc set_is_text*(a: var TGtkTextAppearance, `is_text`: guint) =
+proc set_is_text*(a: var TTextAppearance, `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 =
+proc pad1*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_pad1) shr
       bp_TGtkTextAppearance_pad1
 
-proc set_pad1*(a: var TGtkTextAppearance, `pad1`: guint) =
+proc set_pad1*(a: var TTextAppearance, `pad1`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`pad1` shl bp_TGtkTextAppearance_pad1) and bm_TGtkTextAppearance_pad1)
+      (int16(`pad1` shl bp_TGtkTextAppearance_pad1) and
+      bm_TGtkTextAppearance_pad1)
 
-proc pad2*(a: var TGtkTextAppearance): guint =
+proc pad2*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_pad2) shr
       bp_TGtkTextAppearance_pad2
 
-proc set_pad2*(a: var TGtkTextAppearance, `pad2`: guint) =
+proc set_pad2*(a: var TTextAppearance, `pad2`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`pad2` shl bp_TGtkTextAppearance_pad2) and bm_TGtkTextAppearance_pad2)
+      (int16(`pad2` shl bp_TGtkTextAppearance_pad2) and
+      bm_TGtkTextAppearance_pad2)
 
-proc pad3*(a: var TGtkTextAppearance): guint =
+proc pad3*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_pad3) shr
       bp_TGtkTextAppearance_pad3
 
-proc set_pad3*(a: var TGtkTextAppearance, `pad3`: guint) =
+proc set_pad3*(a: var TTextAppearance, `pad3`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`pad3` shl bp_TGtkTextAppearance_pad3) and bm_TGtkTextAppearance_pad3)
+      (int16(`pad3` shl bp_TGtkTextAppearance_pad3) and
+      bm_TGtkTextAppearance_pad3)
 
-proc pad4*(a: var TGtkTextAppearance): guint =
+proc pad4*(a: var TTextAppearance): guint = 
   result = (a.flag0 and bm_TGtkTextAppearance_pad4) shr
       bp_TGtkTextAppearance_pad4
 
-proc set_pad4*(a: var TGtkTextAppearance, `pad4`: guint) =
+proc set_pad4*(a: var TTextAppearance, `pad4`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`pad4` shl bp_TGtkTextAppearance_pad4) and bm_TGtkTextAppearance_pad4)
+      (int16(`pad4` shl bp_TGtkTextAppearance_pad4) and
+      bm_TGtkTextAppearance_pad4)
 
-proc invisible*(a: var TGtkTextAttributes): guint =
+proc invisible*(a: var TTextAttributes): guint = 
   result = (a.flag0 and bm_TGtkTextAttributes_invisible) shr
       bp_TGtkTextAttributes_invisible
 
-proc set_invisible*(a: var TGtkTextAttributes, `invisible`: guint) =
+proc set_invisible*(a: var TTextAttributes, `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 =
+proc bg_full_height*(a: var TTextAttributes): 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) =
+proc set_bg_full_height*(a: var TTextAttributes, `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 =
+proc editable*(a: var TTextAttributes): guint = 
   result = (a.flag0 and bm_TGtkTextAttributes_editable) shr
       bp_TGtkTextAttributes_editable
 
-proc set_editable*(a: var TGtkTextAttributes, `editable`: guint) =
+proc set_editable*(a: var TTextAttributes, `editable`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`editable` shl bp_TGtkTextAttributes_editable) and
       bm_TGtkTextAttributes_editable)
 
-proc realized*(a: var TGtkTextAttributes): guint =
+proc realized*(a: var TTextAttributes): guint = 
   result = (a.flag0 and bm_TGtkTextAttributes_realized) shr
       bp_TGtkTextAttributes_realized
 
-proc set_realized*(a: var TGtkTextAttributes, `realized`: guint) =
+proc set_realized*(a: var TTextAttributes, `realized`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`realized` shl bp_TGtkTextAttributes_realized) and
       bm_TGtkTextAttributes_realized)
 
-proc pad1*(a: var TGtkTextAttributes): guint =
+proc pad1*(a: var TTextAttributes): guint = 
   result = (a.flag0 and bm_TGtkTextAttributes_pad1) shr
       bp_TGtkTextAttributes_pad1
 
-proc set_pad1*(a: var TGtkTextAttributes, `pad1`: guint) =
+proc set_pad1*(a: var TTextAttributes, `pad1`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`pad1` shl bp_TGtkTextAttributes_pad1) and bm_TGtkTextAttributes_pad1)
+      (int16(`pad1` shl bp_TGtkTextAttributes_pad1) and
+      bm_TGtkTextAttributes_pad1)
 
-proc pad2*(a: var TGtkTextAttributes): guint =
+proc pad2*(a: var TTextAttributes): guint = 
   result = (a.flag0 and bm_TGtkTextAttributes_pad2) shr
       bp_TGtkTextAttributes_pad2
 
-proc set_pad2*(a: var TGtkTextAttributes, `pad2`: guint) =
+proc set_pad2*(a: var TTextAttributes, `pad2`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`pad2` shl bp_TGtkTextAttributes_pad2) and bm_TGtkTextAttributes_pad2)
+      (int16(`pad2` shl bp_TGtkTextAttributes_pad2) and
+      bm_TGtkTextAttributes_pad2)
 
-proc pad3*(a: var TGtkTextAttributes): guint =
+proc pad3*(a: var TTextAttributes): guint = 
   result = (a.flag0 and bm_TGtkTextAttributes_pad3) shr
       bp_TGtkTextAttributes_pad3
 
-proc set_pad3*(a: var TGtkTextAttributes, `pad3`: guint) =
+proc set_pad3*(a: var TTextAttributes, `pad3`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`pad3` shl bp_TGtkTextAttributes_pad3) and bm_TGtkTextAttributes_pad3)
+      (int16(`pad3` shl bp_TGtkTextAttributes_pad3) and
+      bm_TGtkTextAttributes_pad3)
 
-proc pad4*(a: var TGtkTextAttributes): guint =
+proc pad4*(a: var TTextAttributes): guint = 
   result = (a.flag0 and bm_TGtkTextAttributes_pad4) shr
       bp_TGtkTextAttributes_pad4
 
-proc set_pad4*(a: var TGtkTextAttributes, `pad4`: guint) =
+proc set_pad4*(a: var TTextAttributes, `pad4`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`pad4` shl bp_TGtkTextAttributes_pad4) and bm_TGtkTextAttributes_pad4)
+      (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 TYPE_TEXT_TAG_TABLE*(): GType = 
+  result = 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 TEXT_TAG_TABLE*(obj: pointer): PTextTagTable = 
+  result = cast[PTextTagTable](G_TYPE_CHECK_INSTANCE_CAST(obj, 
+      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 TEXT_TAG_TABLE_CLASS*(klass: pointer): PTextTagTableClass = 
+  result = cast[PTextTagTableClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+      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 IS_TEXT_TAG_TABLE*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, 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 IS_TEXT_TAG_TABLE_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 TEXT_TAG_TABLE_GET_CLASS*(obj: pointer): PTextTagTableClass = 
+  result = cast[PTextTagTableClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+      TYPE_TEXT_TAG_TABLE()))
 
-proc GTK_TYPE_TEXT_MARK*(): GType =
-  result = gtk_text_mark_get_type()
+proc TYPE_TEXT_MARK*(): GType = 
+  result = 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 TEXT_MARK*(anObject: pointer): PTextMark = 
+  result = cast[PTextMark](G_TYPE_CHECK_INSTANCE_CAST(anObject, 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 TEXT_MARK_CLASS*(klass: pointer): PTextMarkClass = 
+  result = cast[PTextMarkClass](G_TYPE_CHECK_CLASS_CAST(klass, TYPE_TEXT_MARK()))
 
-proc GTK_IS_TEXT_MARK*(anObject: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_TEXT_MARK())
+proc IS_TEXT_MARK*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, TYPE_TEXT_MARK())
 
-proc GTK_IS_TEXT_MARK_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_MARK())
+proc IS_TEXT_MARK_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 TEXT_MARK_GET_CLASS*(obj: pointer): PTextMarkClass = 
+  result = cast[PTextMarkClass](G_TYPE_INSTANCE_GET_CLASS(obj, TYPE_TEXT_MARK()))
 
-proc visible*(a: var TGtkTextMarkBody): guint =
+proc visible*(a: var TTextMarkBody): guint = 
   result = (a.flag0 and bm_TGtkTextMarkBody_visible) shr
       bp_TGtkTextMarkBody_visible
 
-proc set_visible*(a: var TGtkTextMarkBody, `visible`: guint) =
+proc set_visible*(a: var TTextMarkBody, `visible`: guint) = 
   a.flag0 = a.flag0 or
       (int16(`visible` shl bp_TGtkTextMarkBody_visible) and
       bm_TGtkTextMarkBody_visible)
 
-proc not_deleteable*(a: var TGtkTextMarkBody): guint =
+proc not_deleteable*(a: var TTextMarkBody): guint = 
   result = (a.flag0 and bm_TGtkTextMarkBody_not_deleteable) shr
       bp_TGtkTextMarkBody_not_deleteable
 
-proc set_not_deleteable*(a: var TGtkTextMarkBody, `not_deleteable`: guint) =
+proc set_not_deleteable*(a: var TTextMarkBody, `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 TYPE_TEXT_CHILD_ANCHOR*(): GType = 
+  result = 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 TEXT_CHILD_ANCHOR*(anObject: pointer): PTextChildAnchor = 
+  result = cast[PTextChildAnchor](G_TYPE_CHECK_INSTANCE_CAST(anObject, 
+      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 TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): PTextChildAnchorClass = 
+  result = cast[PTextChildAnchorClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+      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 IS_TEXT_CHILD_ANCHOR*(anObject: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, 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 IS_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 TEXT_CHILD_ANCHOR_GET_CLASS*(obj: pointer): PTextChildAnchorClass = 
+  result = cast[PTextChildAnchorClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+      TYPE_TEXT_CHILD_ANCHOR()))
 
-proc width*(a: PGtkTextLineData): gint =
-  result = a . flag0 and bm_TGtkTextLineData_width
+proc width*(a: PTextLineData): 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 set_width*(a: PTextLineData, 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
+proc valid*(a: PTextLineData): gint = 
+  result = (a.flag0 and bm_TGtkTextLineData_valid) shr
       bp_TGtkTextLineData_valid
 
-proc set_valid*(a: PGtkTextLineData, `valid`: gint) =
-  a . flag0 = a .
-      flag0 or
+proc set_valid*(a: PTextLineData, `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 TYPE_TEXT_BUFFER*(): GType = 
+  result = 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 TEXT_BUFFER*(obj: pointer): PTextBuffer = 
+  result = cast[PTextBuffer](G_TYPE_CHECK_INSTANCE_CAST(obj, 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 TEXT_BUFFER_CLASS*(klass: pointer): PTextBufferClass = 
+  result = cast[PTextBufferClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+      TYPE_TEXT_BUFFER()))
 
-proc GTK_IS_TEXT_BUFFER*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_BUFFER())
+proc IS_TEXT_BUFFER*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TEXT_BUFFER())
 
-proc GTK_IS_TEXT_BUFFER_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_BUFFER())
+proc IS_TEXT_BUFFER_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 TEXT_BUFFER_GET_CLASS*(obj: pointer): PTextBufferClass = 
+  result = cast[PTextBufferClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+      TYPE_TEXT_BUFFER()))
 
-proc modified*(a: var TGtkTextBuffer): guint =
-  result = (a.GtkTextBufferflag0 and bm_TGtkTextBuffer_modified) shr
+proc modified*(a: var TTextBuffer): guint = 
+  result = (a.TextBufferflag0 and bm_TGtkTextBuffer_modified) shr
       bp_TGtkTextBuffer_modified
 
-proc set_modified*(a: var TGtkTextBuffer, `modified`: guint) =
-  a.GtkTextBufferflag0 = a.GtkTextBufferflag0 or
+proc set_modified*(a: var TTextBuffer, `modified`: guint) = 
+  a.TextBufferflag0 = a.TextBufferflag0 or
       (int16(`modified` shl bp_TGtkTextBuffer_modified) and
       bm_TGtkTextBuffer_modified)
 
-proc GTK_TYPE_TEXT_LAYOUT*(): GType =
-  result = gtk_text_layout_get_type()
+proc TYPE_TEXT_LAYOUT*(): GType = 
+  result = 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 TEXT_LAYOUT*(obj: pointer): PTextLayout = 
+  result = cast[PTextLayout](G_TYPE_CHECK_INSTANCE_CAST(obj, 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 TEXT_LAYOUT_CLASS*(klass: pointer): PTextLayoutClass = 
+  result = cast[PTextLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass, 
+      TYPE_TEXT_LAYOUT()))
 
-proc GTK_IS_TEXT_LAYOUT*(obj: pointer): bool =
-  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_LAYOUT())
+proc IS_TEXT_LAYOUT*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_TEXT_LAYOUT())
 
-proc GTK_IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool =
-  result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_LAYOUT())
+proc IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool = 
+  result = G_TYPE_CHECK_CLASS_TYPE(klass, 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 TEXT_LAYOUT_GET_CLASS*(obj: pointer): PTextLayoutClass = 
+  result = cast[PTextLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj, 
+      TYPE_TEXT_LAYOUT()))
 
-proc cursor_visible*(a: var TGtkTextLayout): guint =
-  result = (a.GtkTextLayoutflag0 and bm_TGtkTextLayout_cursor_visible) shr
+proc cursor_visible*(a: var TTextLayout): guint = 
+  result = (a.TextLayoutflag0 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
+proc set_cursor_visible*(a: var TTextLayout, `cursor_visible`: guint) = 
+  a.TextLayoutflag0 = a.TextLayoutflag0 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
+proc cursor_direction*(a: var TTextLayout): gint = 
+  result = (a.TextLayoutflag0 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
+proc set_cursor_direction*(a: var TTextLayout, `cursor_direction`: gint) = 
+  a.TextLayoutflag0 = a.TextLayoutflag0 or
       (int16(`cursor_direction` shl bp_TGtkTextLayout_cursor_direction) and
       bm_TGtkTextLayout_cursor_direction)
 
-proc is_strong*(a: var TGtkTextCursorDisplay): guint =
+proc is_strong*(a: var TTextCursorDisplay): guint = 
   result = (a.flag0 and bm_TGtkTextCursorDisplay_is_strong) shr
       bp_TGtkTextCursorDisplay_is_strong
 
-proc set_is_strong*(a: var TGtkTextCursorDisplay, `is_strong`: guint) =
+proc set_is_strong*(a: var TTextCursorDisplay, `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 =
+proc is_weak*(a: var TTextCursorDisplay): guint = 
   result = (a.flag0 and bm_TGtkTextCursorDisplay_is_weak) shr
       bp_TGtkTextCursorDisplay_is_weak
 
-proc set_is_weak*(a: var TGtkTextCursorDisplay, `is_weak`: guint) =
+proc set_is_weak*(a: var TTextCursorDisplay, `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 TYPE_TEXT_VIEW*(): GType = 
+  result = text_view_get_type()
 
-proc GTK_TEXT_VIEW*(obj: pointer): PGtkTextView =
-  result = cast[PGtkTextView](GTK_CHECK_CAST(obj, GTK_TYPE_TEXT_VIEW()))
+proc TEXT_VIEW*(obj: pointer): PTextView = 
+  result = cast[PTextView](CHECK_CAST(obj, TYPE_TEXT_VIEW()))
 
-proc GTK_TEXT_VIEW_CLASS*(klass: pointer): PGtkTextViewClass =
-  result = cast[PGtkTextViewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_VIEW()))
+proc TEXT_VIEW_CLASS*(klass: pointer): PTextViewClass = 
+  result = cast[PTextViewClass](CHECK_CLASS_CAST(klass, TYPE_TEXT_VIEW()))
 
-proc GTK_IS_TEXT_VIEW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEXT_VIEW())
+proc IS_TEXT_VIEW*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TEXT_VIEW())
 
-proc GTK_IS_TEXT_VIEW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_VIEW())
+proc IS_TEXT_VIEW_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TEXT_VIEW_GET_CLASS*(obj: pointer): PTextViewClass = 
+  result = cast[PTextViewClass](CHECK_GET_CLASS(obj, TYPE_TEXT_VIEW()))
 
-proc editable*(a: var TGtkTextView): guint =
-  result = (a.GtkTextViewflag0 and bm_TGtkTextView_editable) shr
+proc editable*(a: var TTextView): guint = 
+  result = (a.TextViewflag0 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 set_editable*(a: var TTextView, `editable`: guint) = 
+  a.TextViewflag0 = a.TextViewflag0 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
+proc overwrite_mode*(a: var TTextView): guint = 
+  result = (a.TextViewflag0 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
+proc set_overwrite_mode*(a: var TTextView, `overwrite_mode`: guint) = 
+  a.TextViewflag0 = a.TextViewflag0 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
+proc cursor_visible*(a: var TTextView): guint = 
+  result = (a.TextViewflag0 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
+proc set_cursor_visible*(a: var TTextView, `cursor_visible`: guint) = 
+  a.TextViewflag0 = a.TextViewflag0 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
+proc need_im_reset*(a: var TTextView): guint = 
+  result = (a.TextViewflag0 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
+proc set_need_im_reset*(a: var TTextView, `need_im_reset`: guint) = 
+  a.TextViewflag0 = a.TextViewflag0 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
+proc just_selected_element*(a: var TTextView): guint = 
+  result = (a.TextViewflag0 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
+proc set_just_selected_element*(a: var TTextView, `just_selected_element`: guint) = 
+  a.TextViewflag0 = a.TextViewflag0 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
+proc disable_scroll_on_focus*(a: var TTextView): guint = 
+  result = (a.TextViewflag0 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
+proc set_disable_scroll_on_focus*(a: var TTextView, 
+                                  `disable_scroll_on_focus`: guint) = 
+  a.TextViewflag0 = a.TextViewflag0 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
+proc onscreen_validated*(a: var TTextView): guint = 
+  result = (a.TextViewflag0 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
+proc set_onscreen_validated*(a: var TTextView, `onscreen_validated`: guint) = 
+  a.TextViewflag0 = a.TextViewflag0 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
+proc mouse_cursor_obscured*(a: var TTextView): guint = 
+  result = (a.TextViewflag0 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
+proc set_mouse_cursor_obscured*(a: var TTextView, `mouse_cursor_obscured`: guint) = 
+  a.TextViewflag0 = a.TextViewflag0 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 TYPE_TIPS_QUERY*(): GType = 
+  result = tips_query_get_type()
 
-proc GTK_TIPS_QUERY*(obj: pointer): PGtkTipsQuery =
-  result = cast[PGtkTipsQuery](GTK_CHECK_CAST(obj, GTK_TYPE_TIPS_QUERY()))
+proc TIPS_QUERY*(obj: pointer): PTipsQuery = 
+  result = cast[PTipsQuery](CHECK_CAST(obj, TYPE_TIPS_QUERY()))
 
-proc GTK_TIPS_QUERY_CLASS*(klass: pointer): PGtkTipsQueryClass =
-  result = cast[PGtkTipsQueryClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TIPS_QUERY()))
+proc TIPS_QUERY_CLASS*(klass: pointer): PTipsQueryClass = 
+  result = cast[PTipsQueryClass](CHECK_CLASS_CAST(klass, TYPE_TIPS_QUERY()))
 
-proc GTK_IS_TIPS_QUERY*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TIPS_QUERY())
+proc IS_TIPS_QUERY*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TIPS_QUERY())
 
-proc GTK_IS_TIPS_QUERY_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TIPS_QUERY())
+proc IS_TIPS_QUERY_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TIPS_QUERY_GET_CLASS*(obj: pointer): PTipsQueryClass = 
+  result = cast[PTipsQueryClass](CHECK_GET_CLASS(obj, TYPE_TIPS_QUERY()))
 
-proc emit_always*(a: var TGtkTipsQuery): guint =
-  result = (a.GtkTipsQueryflag0 and bm_TGtkTipsQuery_emit_always) shr
+proc emit_always*(a: var TTipsQuery): guint = 
+  result = (a.TipsQueryflag0 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
+proc set_emit_always*(a: var TTipsQuery, `emit_always`: guint) = 
+  a.TipsQueryflag0 = a.TipsQueryflag0 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
+proc in_query*(a: var TTipsQuery): guint = 
+  result = (a.TipsQueryflag0 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
+proc set_in_query*(a: var TTipsQuery, `in_query`: guint) = 
+  a.TipsQueryflag0 = a.TipsQueryflag0 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 TYPE_TOOLTIPS*(): GType = 
+  result = tooltips_get_type()
 
-proc GTK_TOOLTIPS*(obj: pointer): PGtkTooltips =
-  result = cast[PGtkTooltips](GTK_CHECK_CAST(obj, GTK_TYPE_TOOLTIPS()))
+proc TOOLTIPS*(obj: pointer): PTooltips = 
+  result = cast[PTooltips](CHECK_CAST(obj, TYPE_TOOLTIPS()))
 
-proc GTK_TOOLTIPS_CLASS*(klass: pointer): PGtkTooltipsClass =
-  result = cast[PGtkTooltipsClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TOOLTIPS()))
+proc TOOLTIPS_CLASS*(klass: pointer): PTooltipsClass = 
+  result = cast[PTooltipsClass](CHECK_CLASS_CAST(klass, TYPE_TOOLTIPS()))
 
-proc GTK_IS_TOOLTIPS*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOOLTIPS())
+proc IS_TOOLTIPS*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TOOLTIPS())
 
-proc GTK_IS_TOOLTIPS_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOOLTIPS())
+proc IS_TOOLTIPS_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_TOOLTIPS())
 
-proc GTK_TOOLTIPS_GET_CLASS*(obj: pointer): PGtkTooltipsClass =
-  result = cast[PGtkTooltipsClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TOOLTIPS()))
+proc TOOLTIPS_GET_CLASS*(obj: pointer): PTooltipsClass = 
+  result = cast[PTooltipsClass](CHECK_GET_CLASS(obj, TYPE_TOOLTIPS()))
 
-proc delay*(a: var TGtkTooltips): guint =
-  result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_delay) shr bp_TGtkTooltips_delay
+proc delay*(a: var TTooltips): guint = 
+  result = (a.Tooltipsflag0 and bm_TGtkTooltips_delay) shr
+      bp_TGtkTooltips_delay
 
-proc set_delay*(a: var TGtkTooltips, `delay`: guint) =
-  a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or
+proc set_delay*(a: var TTooltips, `delay`: guint) = 
+  a.Tooltipsflag0 = a.Tooltipsflag0 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 enabled*(a: var TTooltips): guint = 
+  result = (a.Tooltipsflag0 and bm_TGtkTooltips_enabled) shr
+      bp_TGtkTooltips_enabled
 
-proc set_enabled*(a: var TGtkTooltips, `enabled`: guint) =
-  a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or
+proc set_enabled*(a: var TTooltips, `enabled`: guint) = 
+  a.Tooltipsflag0 = a.Tooltipsflag0 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
+proc have_grab*(a: var TTooltips): guint = 
+  result = (a.Tooltipsflag0 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
+proc set_have_grab*(a: var TTooltips, `have_grab`: guint) = 
+  a.Tooltipsflag0 = a.Tooltipsflag0 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
+proc use_sticky_delay*(a: var TTooltips): guint = 
+  result = (a.Tooltipsflag0 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
+proc set_use_sticky_delay*(a: var TTooltips, `use_sticky_delay`: guint) = 
+  a.Tooltipsflag0 = a.Tooltipsflag0 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 TYPE_TOOLBAR*(): GType = 
+  result = toolbar_get_type()
 
-proc GTK_TOOLBAR*(obj: pointer): PGtkToolbar =
-  result = cast[PGtkToolbar](GTK_CHECK_CAST(obj, GTK_TYPE_TOOLBAR()))
+proc TOOLBAR*(obj: pointer): PToolbar = 
+  result = cast[PToolbar](CHECK_CAST(obj, TYPE_TOOLBAR()))
 
-proc GTK_TOOLBAR_CLASS*(klass: pointer): PGtkToolbarClass =
-  result = cast[PGtkToolbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TOOLBAR()))
+proc TOOLBAR_CLASS*(klass: pointer): PToolbarClass = 
+  result = cast[PToolbarClass](CHECK_CLASS_CAST(klass, TYPE_TOOLBAR()))
 
-proc GTK_IS_TOOLBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOOLBAR())
+proc IS_TOOLBAR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TOOLBAR())
 
-proc GTK_IS_TOOLBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOOLBAR())
+proc IS_TOOLBAR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_TOOLBAR())
 
-proc GTK_TOOLBAR_GET_CLASS*(obj: pointer): PGtkToolbarClass =
-  result = cast[PGtkToolbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TOOLBAR()))
+proc TOOLBAR_GET_CLASS*(obj: pointer): PToolbarClass = 
+  result = cast[PToolbarClass](CHECK_GET_CLASS(obj, TYPE_TOOLBAR()))
 
-proc style_set*(a: var TGtkToolbar): guint =
-  result = (a.GtkToolbarflag0 and bm_TGtkToolbar_style_set) shr
+proc style_set*(a: var TToolbar): guint = 
+  result = (a.Toolbarflag0 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
+proc set_style_set*(a: var TToolbar, `style_set`: guint) = 
+  a.Toolbarflag0 = a.Toolbarflag0 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
+proc icon_size_set*(a: var TToolbar): guint = 
+  result = (a.Toolbarflag0 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
+proc set_icon_size_set*(a: var TToolbar, `icon_size_set`: guint) = 
+  a.Toolbarflag0 = a.Toolbarflag0 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 TYPE_TREE*(): GType = 
+  result = tree_get_type()
 
-proc GTK_TREE*(obj: pointer): PGtkTree =
-  result = cast[PGtkTree](GTK_CHECK_CAST(obj, GTK_TYPE_TREE()))
+proc TREE*(obj: pointer): PTree = 
+  result = cast[PTree](CHECK_CAST(obj, TYPE_TREE()))
 
-proc GTK_TREE_CLASS*(klass: pointer): PGtkTreeClass =
-  result = cast[PGtkTreeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE()))
+proc TREE_CLASS*(klass: pointer): PTreeClass = 
+  result = cast[PTreeClass](CHECK_CLASS_CAST(klass, TYPE_TREE()))
 
-proc GTK_IS_TREE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE())
+proc IS_TREE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TREE())
 
-proc GTK_IS_TREE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE())
+proc IS_TREE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_TREE())
 
-proc GTK_TREE_GET_CLASS*(obj: pointer): PGtkTreeClass =
-  result = cast[PGtkTreeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE()))
+proc TREE_GET_CLASS*(obj: pointer): PTreeClass = 
+  result = cast[PTreeClass](CHECK_GET_CLASS(obj, TYPE_TREE()))
 
-proc GTK_IS_ROOT_TREE*(obj: pointer): bool =
-  result = (cast[PGtkObject]((GTK_TREE(obj)) . root_tree)) ==
-     (cast[PGtkObject](obj))
+proc IS_ROOT_TREE*(obj: pointer): bool = 
+  result = (cast[PObject]((TREE(obj)).root_tree)) == (cast[PObject](obj))
 
-proc GTK_TREE_ROOT_TREE*(obj: pointer): PGtkTree =
-  result = GTK_TREE(obj).root_tree
+proc TREE_ROOT_TREE*(obj: pointer): PTree = 
+  result = TREE(obj).root_tree
 
-proc GTK_TREE_SELECTION_OLD*(obj: pointer): PGList =
-  result = (GTK_TREE_ROOT_TREE(obj)).selection
+proc TREE_SELECTION_OLD*(obj: pointer): PGList = 
+  result = (TREE_ROOT_TREE(obj)).selection
 
-proc selection_mode*(a: var TGtkTree): guint =
-  result = (a.GtkTreeflag0 and bm_TGtkTree_selection_mode) shr
+proc selection_mode*(a: var TTree): guint = 
+  result = (a.Treeflag0 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
+proc set_selection_mode*(a: var TTree, `selection_mode`: guint) = 
+  a.Treeflag0 = a.Treeflag0 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 view_mode*(a: var TTree): guint = 
+  result = (a.Treeflag0 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
+proc set_view_mode*(a: var TTree, `view_mode`: guint) = 
+  a.Treeflag0 = a.Treeflag0 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 view_line*(a: var TTree): guint = 
+  result = (a.Treeflag0 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
+proc set_view_line*(a: var TTree, `view_line`: guint) = 
+  a.Treeflag0 = a.Treeflag0 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 TYPE_TREE_DRAG_SOURCE*(): GType = 
+  result = 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 TREE_DRAG_SOURCE*(obj: pointer): PTreeDragSource = 
+  result = cast[PTreeDragSource](G_TYPE_CHECK_INSTANCE_CAST(obj, 
+      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 IS_TREE_DRAG_SOURCE*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, 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 TREE_DRAG_SOURCE_GET_IFACE*(obj: pointer): PTreeDragSourceIface = 
+  result = cast[PTreeDragSourceIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, 
+      TYPE_TREE_DRAG_SOURCE()))
 
-proc GTK_TYPE_TREE_DRAG_DEST*(): GType =
-  result = gtk_tree_drag_dest_get_type()
+proc TYPE_TREE_DRAG_DEST*(): GType = 
+  result = 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 TREE_DRAG_DEST*(obj: pointer): PTreeDragDest = 
+  result = cast[PTreeDragDest](G_TYPE_CHECK_INSTANCE_CAST(obj, 
+      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 IS_TREE_DRAG_DEST*(obj: pointer): bool = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, 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 TREE_DRAG_DEST_GET_IFACE*(obj: pointer): PTreeDragDestIface = 
+  result = cast[PTreeDragDestIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, 
+      TYPE_TREE_DRAG_DEST()))
 
-proc GTK_TYPE_TREE_ITEM*(): GType =
-  result = gtk_tree_item_get_type()
+proc TYPE_TREE_ITEM*(): GType = 
+  result = tree_item_get_type()
 
-proc GTK_TREE_ITEM*(obj: pointer): PGtkTreeItem =
-  result = cast[PGtkTreeItem](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_ITEM()))
+proc TREE_ITEM*(obj: pointer): PTreeItem = 
+  result = cast[PTreeItem](CHECK_CAST(obj, TYPE_TREE_ITEM()))
 
-proc GTK_TREE_ITEM_CLASS*(klass: pointer): PGtkTreeItemClass =
-  result = cast[PGtkTreeItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_ITEM()))
+proc TREE_ITEM_CLASS*(klass: pointer): PTreeItemClass = 
+  result = cast[PTreeItemClass](CHECK_CLASS_CAST(klass, TYPE_TREE_ITEM()))
 
-proc GTK_IS_TREE_ITEM*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_ITEM())
+proc IS_TREE_ITEM*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TREE_ITEM())
 
-proc GTK_IS_TREE_ITEM_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_ITEM())
+proc IS_TREE_ITEM_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TREE_ITEM_GET_CLASS*(obj: pointer): PTreeItemClass = 
+  result = cast[PTreeItemClass](CHECK_GET_CLASS(obj, TYPE_TREE_ITEM()))
 
-proc GTK_TREE_ITEM_SUBTREE*(obj: pointer): PGtkWidget =
-  result = (GTK_TREE_ITEM(obj)).subtree
+proc TREE_ITEM_SUBTREE*(obj: pointer): PWidget = 
+  result = (TREE_ITEM(obj)).subtree
 
-proc expanded*(a: var TGtkTreeItem): guint =
-  result = (a.GtkTreeItemflag0 and bm_TGtkTreeItem_expanded) shr
+proc expanded*(a: var TTreeItem): guint = 
+  result = (a.TreeItemflag0 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 set_expanded*(a: var TTreeItem, `expanded`: guint) = 
+  a.TreeItemflag0 = a.TreeItemflag0 or
+      (int16(`expanded` shl bp_TGtkTreeItem_expanded) and
+      bm_TGtkTreeItem_expanded)
 
-proc GTK_TYPE_TREE_SELECTION*(): GType =
-  result = gtk_tree_selection_get_type()
+proc TYPE_TREE_SELECTION*(): GType = 
+  result = tree_selection_get_type()
 
-proc GTK_TREE_SELECTION*(obj: pointer): PGtkTreeSelection =
-  result = cast[PGtkTreeSelection](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_SELECTION()))
+proc TREE_SELECTION*(obj: pointer): PTreeSelection = 
+  result = cast[PTreeSelection](CHECK_CAST(obj, TYPE_TREE_SELECTION()))
 
-proc GTK_TREE_SELECTION_CLASS*(klass: pointer): PGtkTreeSelectionClass =
-  result = cast[PGtkTreeSelectionClass](GTK_CHECK_CLASS_CAST(klass,
-      GTK_TYPE_TREE_SELECTION()))
+proc TREE_SELECTION_CLASS*(klass: pointer): PTreeSelectionClass = 
+  result = cast[PTreeSelectionClass](CHECK_CLASS_CAST(klass, 
+      TYPE_TREE_SELECTION()))
 
-proc GTK_IS_TREE_SELECTION*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_SELECTION())
+proc IS_TREE_SELECTION*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TREE_SELECTION())
 
-proc GTK_IS_TREE_SELECTION_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_SELECTION())
+proc IS_TREE_SELECTION_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TREE_SELECTION_GET_CLASS*(obj: pointer): PTreeSelectionClass = 
+  result = cast[PTreeSelectionClass](CHECK_GET_CLASS(obj, TYPE_TREE_SELECTION()))
 
-proc GTK_TYPE_TREE_STORE*(): GType =
-  result = gtk_tree_store_get_type()
+proc TYPE_TREE_STORE*(): GType = 
+  result = tree_store_get_type()
 
-proc GTK_TREE_STORE*(obj: pointer): PGtkTreeStore =
-  result = cast[PGtkTreeStore](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_STORE()))
+proc TREE_STORE*(obj: pointer): PTreeStore = 
+  result = cast[PTreeStore](CHECK_CAST(obj, TYPE_TREE_STORE()))
 
-proc GTK_TREE_STORE_CLASS*(klass: pointer): PGtkTreeStoreClass =
-  result = cast[PGtkTreeStoreClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_STORE()))
+proc TREE_STORE_CLASS*(klass: pointer): PTreeStoreClass = 
+  result = cast[PTreeStoreClass](CHECK_CLASS_CAST(klass, TYPE_TREE_STORE()))
 
-proc GTK_IS_TREE_STORE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_STORE())
+proc IS_TREE_STORE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TREE_STORE())
 
-proc GTK_IS_TREE_STORE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_STORE())
+proc IS_TREE_STORE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TREE_STORE_GET_CLASS*(obj: pointer): PTreeStoreClass = 
+  result = cast[PTreeStoreClass](CHECK_GET_CLASS(obj, TYPE_TREE_STORE()))
 
-proc columns_dirty*(a: var TGtkTreeStore): guint =
-  result = (a.GtkTreeStoreflag0 and bm_TGtkTreeStore_columns_dirty) shr
+proc columns_dirty*(a: var TTreeStore): guint = 
+  result = (a.TreeStoreflag0 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
+proc set_columns_dirty*(a: var TTreeStore, `columns_dirty`: guint) = 
+  a.TreeStoreflag0 = a.TreeStoreflag0 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 TYPE_TREE_VIEW_COLUMN*(): GType = 
+  result = 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 TREE_VIEW_COLUMN*(obj: pointer): PTreeViewColumn = 
+  result = cast[PTreeViewColumn](CHECK_CAST(obj, 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 TREE_VIEW_COLUMN_CLASS*(klass: pointer): PTreeViewColumnClass = 
+  result = cast[PTreeViewColumnClass](CHECK_CLASS_CAST(klass, 
+      TYPE_TREE_VIEW_COLUMN()))
 
-proc GTK_IS_TREE_VIEW_COLUMN*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_VIEW_COLUMN())
+proc IS_TREE_VIEW_COLUMN*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, 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 IS_TREE_VIEW_COLUMN_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TREE_VIEW_COLUMN_GET_CLASS*(obj: pointer): PTreeViewColumnClass = 
+  result = cast[PTreeViewColumnClass](CHECK_GET_CLASS(obj, 
+      TYPE_TREE_VIEW_COLUMN()))
 
-proc visible*(a: var TGtkTreeViewColumn): guint =
-  result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_visible) shr
+proc visible*(a: var TTreeViewColumn): guint = 
+  result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_visible) shr
       bp_TGtkTreeViewColumn_visible
 
-proc set_visible*(a: var TGtkTreeViewColumn, `visible`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
+proc set_visible*(a: var TTreeViewColumn, `visible`: guint) = 
+  a.TreeViewColumnflag0 = a.TreeViewColumnflag0 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
+proc resizable*(a: var TTreeViewColumn): guint = 
+  result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_resizable) shr
       bp_TGtkTreeViewColumn_resizable
 
-proc set_resizable*(a: var TGtkTreeViewColumn, `resizable`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
+proc set_resizable*(a: var TTreeViewColumn, `resizable`: guint) = 
+  a.TreeViewColumnflag0 = a.TreeViewColumnflag0 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
+proc clickable*(a: var TTreeViewColumn): guint = 
+  result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_clickable) shr
       bp_TGtkTreeViewColumn_clickable
 
-proc set_clickable*(a: var TGtkTreeViewColumn, `clickable`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
+proc set_clickable*(a: var TTreeViewColumn, `clickable`: guint) = 
+  a.TreeViewColumnflag0 = a.TreeViewColumnflag0 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
+proc dirty*(a: var TTreeViewColumn): guint = 
+  result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_dirty) shr
       bp_TGtkTreeViewColumn_dirty
 
-proc set_dirty*(a: var TGtkTreeViewColumn, `dirty`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
+proc set_dirty*(a: var TTreeViewColumn, `dirty`: guint) = 
+  a.TreeViewColumnflag0 = a.TreeViewColumnflag0 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
+proc show_sort_indicator*(a: var TTreeViewColumn): guint = 
+  result = (a.TreeViewColumnflag0 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
+proc set_show_sort_indicator*(a: var TTreeViewColumn, 
+                              `show_sort_indicator`: guint) = 
+  a.TreeViewColumnflag0 = a.TreeViewColumnflag0 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
+proc maybe_reordered*(a: var TTreeViewColumn): guint = 
+  result = (a.TreeViewColumnflag0 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
+proc set_maybe_reordered*(a: var TTreeViewColumn, `maybe_reordered`: guint) = 
+  a.TreeViewColumnflag0 = a.TreeViewColumnflag0 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
+proc reorderable*(a: var TTreeViewColumn): guint = 
+  result = (a.TreeViewColumnflag0 and bm_TGtkTreeViewColumn_reorderable) shr
       bp_TGtkTreeViewColumn_reorderable
 
-proc set_reorderable*(a: var TGtkTreeViewColumn, `reorderable`: guint) =
-  a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or
+proc set_reorderable*(a: var TTreeViewColumn, `reorderable`: guint) = 
+  a.TreeViewColumnflag0 = a.TreeViewColumnflag0 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
+proc use_resized_width*(a: var TTreeViewColumn): guint = 
+  result = (a.TreeViewColumnflag0 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
+proc set_use_resized_width*(a: var TTreeViewColumn, `use_resized_width`: guint) = 
+  a.TreeViewColumnflag0 = a.TreeViewColumnflag0 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 flags*(a: PRBNode): guint = 
+  result = (a.flag0 and bm_TGtkRBNode_flags) shr bp_TGtkRBNode_flags
 
-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 set_flags*(a: PRBNode, `flags`: guint) = 
+  a.flag0 = a.flag0 or
+      (int16(`flags` shl bp_TGtkRBNode_flags) and bm_TGtkRBNode_flags)
 
-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 parity*(a: PRBNode): guint = 
+  result = (a.flag0 and bm_TGtkRBNode_parity) shr bp_TGtkRBNode_parity
 
-proc GTK_RBNODE_GET_HEIGHT*(node: PGtkRBNode): gint =
+proc set_parity*(a: PRBNode, `parity`: guint) = 
+  a.flag0 = a.flag0 or
+      (int16(`parity` shl bp_TGtkRBNode_parity) and bm_TGtkRBNode_parity)
+
+proc GET_COLOR*(node: PRBNode): guint = 
+  if node == nil: 
+    Result = RBNODE_BLACK
+  elif (int(flags(node)) and RBNODE_RED) == RBNODE_RED: 
+    Result = RBNODE_RED
+  else: 
+    Result = RBNODE_BLACK
+
+proc SET_COLOR*(node: PRBNode, color: guint) = 
+  if node == nil: 
+    return 
+  if ((flags(node) and (color)) != color): 
+    set_flags(node, flags(node) xor cint(RBNODE_RED or RBNODE_BLACK))
+
+proc GET_HEIGHT*(node: PRBNode): gint = 
   var if_local1: gint
-  if node.children != nil:
+  if node.children != nil: 
     if_local1 = node.children.root.offset
-  else:
+  else: 
     if_local1 = 0
-  result = node.offset - ((node.left.offset) + node.right.offset + if_local1)
+  result = node.offset -
+      ((node.left.offset) + node.right.offset + if_local1)
 
-proc GTK_RBNODE_FLAG_SET*(node: PGtkRBNode, flag: guint): bool =
+proc FLAG_SET*(node: PRBNode, flag: guint): bool = 
   result = (node != nil) and ((flags(node) and (flag)) == flag)
 
-proc GTK_RBNODE_SET_FLAG*(node: PGtkRBNode, flag: guint16) =
+proc SET_FLAG*(node: PRBNode, flag: guint16) = 
   set_flags(node, (flag) or flags(node))
 
-proc GTK_RBNODE_UNSET_FLAG*(node: PGtkRBNode, flag: guint16) =
+proc UNSET_FLAG*(node: PRBNode, flag: guint16) = 
   set_flags(node, (not (flag)) and flags(node))
 
-proc GTK_TREE_VIEW_FLAG_SET*(tree_view: PGtkTreeView, flag: guint): bool =
+proc FLAG_SET*(tree_view: PTreeView, flag: guint): bool = 
   result = ((tree_view.priv.flags) and (flag)) == flag
 
-proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PGtkTreeView): int32 =
+proc HEADER_HEIGHT*(tree_view: PTreeView): int32 = 
   var if_local1: int32
-  if GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE):
+  if FLAG_SET(tree_view, TREE_VIEW_HEADERS_VISIBLE): 
     if_local1 = tree_view.priv.header_height
-  else:
+  else: 
     if_local1 = 0
   result = if_local1
 
-proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PGtkTreeViewColumn): int32 =
+proc COLUMN_REQUESTED_WIDTH*(column: PTreeViewColumn): int32 = 
   var MinWidth, MaxWidth: int
-  if column.min_width != -1'i32:
+  if column.min_width != - 1'i32: 
     MinWidth = column.min_width
-  else:
+  else: 
     MinWidth = column.requested_width
-  if column.max_width != - 1'i32:
+  if column.max_width != - 1'i32: 
     MaxWidth = column.max_width
-  else:
+  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 DRAW_EXPANDERS*(tree_view: PTreeView): bool = 
+  result = (not (FLAG_SET(tree_view, TREE_VIEW_IS_LIST))) and
+      (FLAG_SET(tree_view, 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 COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PTreeView): int32 = 
+  result = 10'i32 * (HEADER_HEIGHT(tree_view))
 
-proc scroll_to_use_align*(a: var TGtkTreeViewPrivate): guint =
+proc scroll_to_use_align*(a: var TTreeViewPrivate): 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) =
+proc set_scroll_to_use_align*(a: var TTreeViewPrivate, 
+                              `scroll_to_use_align`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`scroll_to_use_align` shl bp_TGtkTreeViewPrivate_scroll_to_use_align) and
+      (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 =
+proc fixed_height_check*(a: var TTreeViewPrivate): 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) =
+proc set_fixed_height_check*(a: var TTreeViewPrivate, 
+                             `fixed_height_check`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`fixed_height_check` shl bp_TGtkTreeViewPrivate_fixed_height_check) and
+      (int16(`fixed_height_check` shl
+      bp_TGtkTreeViewPrivate_fixed_height_check) and
       bm_TGtkTreeViewPrivate_fixed_height_check)
 
-proc reorderable*(a: var TGtkTreeViewPrivate): guint =
+proc reorderable*(a: var TTreeViewPrivate): guint = 
   result = (a.flag0 and bm_TGtkTreeViewPrivate_reorderable) shr
       bp_TGtkTreeViewPrivate_reorderable
 
-proc set_reorderable*(a: var TGtkTreeViewPrivate, `reorderable`: guint) =
+proc set_reorderable*(a: var TTreeViewPrivate, `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 =
+proc header_has_focus*(a: var TTreeViewPrivate): 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) =
+proc set_header_has_focus*(a: var TTreeViewPrivate, `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 =
+proc drag_column_window_state*(a: var TTreeViewPrivate): 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) =
+proc set_drag_column_window_state*(a: var TTreeViewPrivate, 
+                                   `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 =
+proc has_rules*(a: var TTreeViewPrivate): guint = 
   result = (a.flag0 and bm_TGtkTreeViewPrivate_has_rules) shr
       bp_TGtkTreeViewPrivate_has_rules
 
-proc set_has_rules*(a: var TGtkTreeViewPrivate, `has_rules`: guint) =
+proc set_has_rules*(a: var TTreeViewPrivate, `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 =
+proc mark_rows_col_dirty*(a: var TTreeViewPrivate): 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) =
+proc set_mark_rows_col_dirty*(a: var TTreeViewPrivate, 
+                              `mark_rows_col_dirty`: guint) = 
   a.flag0 = a.flag0 or
-      (int16(`mark_rows_col_dirty` shl bp_TGtkTreeViewPrivate_mark_rows_col_dirty) and
+      (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 =
+proc enable_search*(a: var TTreeViewPrivate): guint = 
   result = (a.flag0 and bm_TGtkTreeViewPrivate_enable_search) shr
       bp_TGtkTreeViewPrivate_enable_search
 
-proc set_enable_search*(a: var TGtkTreeViewPrivate, `enable_search`: guint) =
+proc set_enable_search*(a: var TTreeViewPrivate, `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 =
+proc disable_popdown*(a: var TTreeViewPrivate): guint = 
   result = (a.flag0 and bm_TGtkTreeViewPrivate_disable_popdown) shr
       bp_TGtkTreeViewPrivate_disable_popdown
 
-proc set_disable_popdown*(a: var TGtkTreeViewPrivate, `disable_popdown`: guint) =
+proc set_disable_popdown*(a: var TTreeViewPrivate, `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 SET_FLAG*(tree_view: PTreeView, 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 UNSET_FLAG*(tree_view: PTreeView, 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 TYPE_TREE_VIEW*(): GType = 
+  result = tree_view_get_type()
 
-proc GTK_TREE_VIEW*(obj: pointer): PGtkTreeView =
-  result = cast[PGtkTreeView](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_VIEW()))
+proc TREE_VIEW*(obj: pointer): PTreeView = 
+  result = cast[PTreeView](CHECK_CAST(obj, TYPE_TREE_VIEW()))
 
-proc GTK_TREE_VIEW_CLASS*(klass: pointer): PGtkTreeViewClass =
-  result = cast[PGtkTreeViewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_VIEW()))
+proc TREE_VIEW_CLASS*(klass: pointer): PTreeViewClass = 
+  result = cast[PTreeViewClass](CHECK_CLASS_CAST(klass, TYPE_TREE_VIEW()))
 
-proc GTK_IS_TREE_VIEW*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_VIEW())
+proc IS_TREE_VIEW*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_TREE_VIEW())
 
-proc GTK_IS_TREE_VIEW_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_VIEW())
+proc IS_TREE_VIEW_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 TREE_VIEW_GET_CLASS*(obj: pointer): PTreeViewClass = 
+  result = cast[PTreeViewClass](CHECK_GET_CLASS(obj, TYPE_TREE_VIEW()))
 
-proc GTK_TYPE_VBUTTON_BOX*(): GType =
-  result = gtk_vbutton_box_get_type()
+proc TYPE_VBUTTON_BOX*(): GType = 
+  result = vbutton_box_get_type()
 
-proc GTK_VBUTTON_BOX*(obj: pointer): PGtkVButtonBox =
-  result = cast[PGtkVButtonBox](GTK_CHECK_CAST(obj, GTK_TYPE_VBUTTON_BOX()))
+proc VBUTTON_BOX*(obj: pointer): PVButtonBox = 
+  result = cast[PVButtonBox](CHECK_CAST(obj, TYPE_VBUTTON_BOX()))
 
-proc GTK_VBUTTON_BOX_CLASS*(klass: pointer): PGtkVButtonBoxClass =
-  result = cast[PGtkVButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VBUTTON_BOX()))
+proc VBUTTON_BOX_CLASS*(klass: pointer): PVButtonBoxClass = 
+  result = cast[PVButtonBoxClass](CHECK_CLASS_CAST(klass, TYPE_VBUTTON_BOX()))
 
-proc GTK_IS_VBUTTON_BOX*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VBUTTON_BOX())
+proc IS_VBUTTON_BOX*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_VBUTTON_BOX())
 
-proc GTK_IS_VBUTTON_BOX_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VBUTTON_BOX())
+proc IS_VBUTTON_BOX_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, 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 VBUTTON_BOX_GET_CLASS*(obj: pointer): PVButtonBoxClass = 
+  result = cast[PVButtonBoxClass](CHECK_GET_CLASS(obj, TYPE_VBUTTON_BOX()))
 
-proc GTK_TYPE_VIEWPORT*(): GType =
-  result = gtk_viewport_get_type()
+proc TYPE_VIEWPORT*(): GType = 
+  result = viewport_get_type()
 
-proc GTK_VIEWPORT*(obj: pointer): PGtkViewport =
-  result = cast[PGtkViewport](GTK_CHECK_CAST(obj, GTK_TYPE_VIEWPORT()))
+proc VIEWPORT*(obj: pointer): PViewport = 
+  result = cast[PViewport](CHECK_CAST(obj, TYPE_VIEWPORT()))
 
-proc GTK_VIEWPORT_CLASS*(klass: pointer): PGtkViewportClass =
-  result = cast[PGtkViewportClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VIEWPORT()))
+proc VIEWPORT_CLASS*(klass: pointer): PViewportClass = 
+  result = cast[PViewportClass](CHECK_CLASS_CAST(klass, TYPE_VIEWPORT()))
 
-proc GTK_IS_VIEWPORT*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VIEWPORT())
+proc IS_VIEWPORT*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_VIEWPORT())
 
-proc GTK_IS_VIEWPORT_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VIEWPORT())
+proc IS_VIEWPORT_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_VIEWPORT())
 
-proc GTK_VIEWPORT_GET_CLASS*(obj: pointer): PGtkViewportClass =
-  result = cast[PGtkViewportClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VIEWPORT()))
+proc VIEWPORT_GET_CLASS*(obj: pointer): PViewportClass = 
+  result = cast[PViewportClass](CHECK_GET_CLASS(obj, TYPE_VIEWPORT()))
 
-proc GTK_TYPE_VPANED*(): GType =
-  result = gtk_vpaned_get_type()
+proc TYPE_VPANED*(): GType = 
+  result = vpaned_get_type()
 
-proc GTK_VPANED*(obj: pointer): PGtkVPaned =
-  result = cast[PGtkVPaned](GTK_CHECK_CAST(obj, GTK_TYPE_VPANED()))
+proc VPANED*(obj: pointer): PVPaned = 
+  result = cast[PVPaned](CHECK_CAST(obj, TYPE_VPANED()))
 
-proc GTK_VPANED_CLASS*(klass: pointer): PGtkVPanedClass =
-  result = cast[PGtkVPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VPANED()))
+proc VPANED_CLASS*(klass: pointer): PVPanedClass = 
+  result = cast[PVPanedClass](CHECK_CLASS_CAST(klass, TYPE_VPANED()))
 
-proc GTK_IS_VPANED*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VPANED())
+proc IS_VPANED*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_VPANED())
 
-proc GTK_IS_VPANED_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VPANED())
+proc IS_VPANED_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_VPANED())
 
-proc GTK_VPANED_GET_CLASS*(obj: pointer): PGtkVPanedClass =
-  result = cast[PGtkVPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VPANED()))
+proc VPANED_GET_CLASS*(obj: pointer): PVPanedClass = 
+  result = cast[PVPanedClass](CHECK_GET_CLASS(obj, TYPE_VPANED()))
 
-proc GTK_TYPE_VRULER*(): GType =
-  result = gtk_vruler_get_type()
+proc TYPE_VRULER*(): GType = 
+  result = vruler_get_type()
 
-proc GTK_VRULER*(obj: pointer): PGtkVRuler =
-  result = cast[PGtkVRuler](GTK_CHECK_CAST(obj, GTK_TYPE_VRULER()))
+proc VRULER*(obj: pointer): PVRuler = 
+  result = cast[PVRuler](CHECK_CAST(obj, TYPE_VRULER()))
 
-proc GTK_VRULER_CLASS*(klass: pointer): PGtkVRulerClass =
-  result = cast[PGtkVRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VRULER()))
+proc VRULER_CLASS*(klass: pointer): PVRulerClass = 
+  result = cast[PVRulerClass](CHECK_CLASS_CAST(klass, TYPE_VRULER()))
 
-proc GTK_IS_VRULER*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VRULER())
+proc IS_VRULER*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_VRULER())
 
-proc GTK_IS_VRULER_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VRULER())
+proc IS_VRULER_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_VRULER())
 
-proc GTK_VRULER_GET_CLASS*(obj: pointer): PGtkVRulerClass =
-  result = cast[PGtkVRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VRULER()))
+proc VRULER_GET_CLASS*(obj: pointer): PVRulerClass = 
+  result = cast[PVRulerClass](CHECK_GET_CLASS(obj, TYPE_VRULER()))
 
-proc GTK_TYPE_VSCALE*(): GType =
-  result = gtk_vscale_get_type()
+proc TYPE_VSCALE*(): GType = 
+  result = vscale_get_type()
 
-proc GTK_VSCALE*(obj: pointer): PGtkVScale =
-  result = cast[PGtkVScale](GTK_CHECK_CAST(obj, GTK_TYPE_VSCALE()))
+proc VSCALE*(obj: pointer): PVScale = 
+  result = cast[PVScale](CHECK_CAST(obj, TYPE_VSCALE()))
 
-proc GTK_VSCALE_CLASS*(klass: pointer): PGtkVScaleClass =
-  result = cast[PGtkVScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSCALE()))
+proc VSCALE_CLASS*(klass: pointer): PVScaleClass = 
+  result = cast[PVScaleClass](CHECK_CLASS_CAST(klass, TYPE_VSCALE()))
 
-proc GTK_IS_VSCALE*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSCALE())
+proc IS_VSCALE*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_VSCALE())
 
-proc GTK_IS_VSCALE_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSCALE())
+proc IS_VSCALE_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_VSCALE())
 
-proc GTK_VSCALE_GET_CLASS*(obj: pointer): PGtkVScaleClass =
-  result = cast[PGtkVScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSCALE()))
+proc VSCALE_GET_CLASS*(obj: pointer): PVScaleClass = 
+  result = cast[PVScaleClass](CHECK_GET_CLASS(obj, TYPE_VSCALE()))
 
-proc GTK_TYPE_VSCROLLBAR*(): GType =
-  result = gtk_vscrollbar_get_type()
+proc TYPE_VSCROLLBAR*(): GType = 
+  result = vscrollbar_get_type()
 
-proc GTK_VSCROLLBAR*(obj: pointer): PGtkVScrollbar =
-  result = cast[PGtkVScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_VSCROLLBAR()))
+proc VSCROLLBAR*(obj: pointer): PVScrollbar = 
+  result = cast[PVScrollbar](CHECK_CAST(obj, TYPE_VSCROLLBAR()))
 
-proc GTK_VSCROLLBAR_CLASS*(klass: pointer): PGtkVScrollbarClass =
-  result = cast[PGtkVScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSCROLLBAR()))
+proc VSCROLLBAR_CLASS*(klass: pointer): PVScrollbarClass = 
+  result = cast[PVScrollbarClass](CHECK_CLASS_CAST(klass, TYPE_VSCROLLBAR()))
 
-proc GTK_IS_VSCROLLBAR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSCROLLBAR())
+proc IS_VSCROLLBAR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_VSCROLLBAR())
 
-proc GTK_IS_VSCROLLBAR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSCROLLBAR())
+proc IS_VSCROLLBAR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_VSCROLLBAR())
 
-proc GTK_VSCROLLBAR_GET_CLASS*(obj: pointer): PGtkVScrollbarClass =
-  result = cast[PGtkVScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSCROLLBAR()))
+proc VSCROLLBAR_GET_CLASS*(obj: pointer): PVScrollbarClass = 
+  result = cast[PVScrollbarClass](CHECK_GET_CLASS(obj, TYPE_VSCROLLBAR()))
 
-proc GTK_TYPE_VSEPARATOR*(): GType =
-  result = gtk_vseparator_get_type()
+proc TYPE_VSEPARATOR*(): GType = 
+  result = vseparator_get_type()
 
-proc GTK_VSEPARATOR*(obj: pointer): PGtkVSeparator =
-  result = cast[PGtkVSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_VSEPARATOR()))
+proc VSEPARATOR*(obj: pointer): PVSeparator = 
+  result = cast[PVSeparator](CHECK_CAST(obj, TYPE_VSEPARATOR()))
 
-proc GTK_VSEPARATOR_CLASS*(klass: pointer): PGtkVSeparatorClass =
-  result = cast[PGtkVSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSEPARATOR()))
+proc VSEPARATOR_CLASS*(klass: pointer): PVSeparatorClass = 
+  result = cast[PVSeparatorClass](CHECK_CLASS_CAST(klass, TYPE_VSEPARATOR()))
 
-proc GTK_IS_VSEPARATOR*(obj: pointer): bool =
-  result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSEPARATOR())
+proc IS_VSEPARATOR*(obj: pointer): bool = 
+  result = CHECK_TYPE(obj, TYPE_VSEPARATOR())
 
-proc GTK_IS_VSEPARATOR_CLASS*(klass: pointer): bool =
-  result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSEPARATOR())
+proc IS_VSEPARATOR_CLASS*(klass: pointer): bool = 
+  result = CHECK_CLASS_TYPE(klass, TYPE_VSEPARATOR())
 
-proc GTK_VSEPARATOR_GET_CLASS*(obj: pointer): PGtkVSeparatorClass =
-  result = cast[PGtkVSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSEPARATOR()))
+proc VSEPARATOR_GET_CLASS*(obj: pointer): PVSeparatorClass = 
+  # these were missing:
+  result = cast[PVSeparatorClass](CHECK_GET_CLASS(obj, TYPE_VSEPARATOR()))
 
+type 
+  Tcelllayout {.pure, final.} = object
+
+  PCellLayout* = tcelllayout
+  PPGtkCellLayout* = ptr PCellLayout
+  PSignalRunType* = ptr TSignalRunType
+  TSignalRunType* = int32
+  PFileChooserAction* = ptr TFileChooserAction
+  TFileChooserAction* = enum 
+    FILE_CHOOSER_ACTION_OPEN, FILE_CHOOSER_ACTION_SAVE, 
+    FILE_CHOOSER_ACTION_SELECT_FOLDER, FILE_CHOOSER_ACTION_CREATE_FOLDER
+  PFileChooserError* = ptr TFileChooserError
+  TFileChooserError* = enum 
+    FILE_CHOOSER_ERROR_NONEXISTENT, FILE_CHOOSER_ERROR_BAD_FILENAME
 
-# 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
+  TFileChooser = object of TDialog
+  PFileChooser* = ptr TFileChooser
+  PPFileChooser* = ptr PFileChooser
 
 
 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, 
+  ARG_READWRITE* = ARG_READABLE or ARG_WRITABLE
+
+proc entry_add_signal*(binding_set: PBindingSet, keyval: guint, 
+                               modifiers: gdk2.TModifierType, 
+                               signal_name: cstring, n_args: guint){.varargs, 
+    importc: "gtk_binding_entry_add_signal", cdecl, dynlib: lib.}
+proc clist_new_with_titles*(columns: gint): PCList{.varargs, cdecl, 
+    importc: "gtk_clist_new_with_titles", dynlib: lib.}
+proc prepend*(clist: PCList): gint{.importc: "gtk_clist_prepend", varargs, 
+    cdecl, dynlib: lib.}
+proc append*(clist: PCList): gint{.importc: "gtk_clist_append", varargs, 
+    cdecl, dynlib: lib.}
+proc insert*(clist: PCList, row: gint): gint{.varargs, cdecl, 
+    importc: "gtk_clist_insert", dynlib: lib.}
+proc set_attributes*(cell_layout: PCellLayout, cell: PCellRenderer){.
+    cdecl, varargs, importc: "gtk_cell_layout_set_attributes", dynlib: lib, 
+    importc: "gtk_cell_layout_set_attributes".}
+proc add_with_properties*(container: PContainer, widget: PWidget, 
+                                    first_prop_name: cstring){.varargs, 
+    importc: "gtk_container_add_with_properties", cdecl, dynlib: lib.}
+proc child_set*(container: PContainer, child: PWidget, 
+                          first_prop_name: cstring){.varargs, cdecl, 
+    importc: "gtk_container_child_set", dynlib: lib.}
+proc child_get*(container: PContainer, child: PWidget, 
+                          first_prop_name: cstring){.varargs, cdecl, 
+    importc: "gtk_container_child_get", dynlib: lib.}
+proc child_set_valist*(container: PContainer, child: PWidget, 
+                                 first_property_name: cstring){.varargs, 
+    importc: "gtk_container_child_set_valist", cdecl, dynlib: lib.}
+proc child_get_valist*(container: PContainer, child: PWidget, 
+                                 first_property_name: cstring){.varargs, 
+    importc: "gtk_container_child_get_valist", cdecl, dynlib: lib.}
+proc ctree_new_with_titles*(columns: gint, tree_column: gint): PCTree{.
+    importc: "gtk_ctree_new_with_titles", varargs, cdecl, dynlib: lib.}
+proc get_vector*(curve: PCurve, veclen: int32){.varargs, cdecl, 
+    importc: "gtk_curve_get_vector", dynlib: lib.}
+proc set_vector*(curve: PCurve, veclen: int32){.varargs, cdecl, 
+    importc: "gtk_curve_set_vector", dynlib: lib.}
+proc add_buttons*(dialog: PDialog, first_button_text: cstring){.varargs, 
+    cdecl, importc: "gtk_dialog_add_buttons", dynlib: lib.}
+proc dialog_new_with_buttons*(title: cstring, parent: PWindow, 
+                              flags: TDialogFlags, first_button_text: cstring): PDialog{.
+    varargs, cdecl, importc: "gtk_dialog_new_with_buttons", dynlib: lib.}
+proc list_store_new*(n_columns: gint): PListStore{.varargs, cdecl, 
+    importc: "gtk_list_store_new", dynlib: lib.}
+proc set*(list_store: PListStore, iter: PTreeIter){.varargs, cdecl, 
+    importc: "gtk_list_store_set", dynlib: lib.}
+proc set_valist*(list_store: PListStore, iter: PTreeIter){.varargs, 
+    cdecl, importc: "gtk_list_store_set_valist", dynlib: lib.}
+proc message_dialog_new*(parent: PWindow, flags: TDialogFlags, 
+                         thetype: TMessageType, buttons: TButtonsType, 
+                         message_format: cstring): PMessageDialog{.varargs, 
+    cdecl, importc: "gtk_message_dialog_new", dynlib: lib.}
+proc signal_new*(name: cstring, signal_flags: TSignalRunType, 
+                 object_type: TType, function_offset: guint, 
+                 marshaller: TSignalMarshaller, return_val: TType, n_args: guint): guint{.
+    varargs, importc: "gtk_signal_new", cdecl, dynlib: lib.}
+proc signal_emit*(anObject: PObject, signal_id: guint){.varargs, cdecl, 
+    importc: "gtk_signal_emit", dynlib: lib.}
+proc signal_emit_by_name*(anObject: PObject, name: cstring){.varargs, cdecl, 
+    importc: "gtk_signal_emit_by_name", dynlib: lib.}
+proc insert_with_tags*(buffer: PTextBuffer, iter: PTextIter, 
+                                   text: cstring, length: gint, 
+                                   first_tag: PTextTag){.varargs, 
+    importc: "gtk_text_buffer_insert_with_tags", cdecl, dynlib: lib.}
+proc insert_with_tags_by_name*(buffer: PTextBuffer, iter: PTextIter, 
+    text: cstring, length: gint, first_tag_name: cstring){.varargs, 
+    importc: "gtk_text_buffer_insert_with_tags_by_name", cdecl, dynlib: lib.}
+proc create_tag*(buffer: PTextBuffer, tag_name: cstring, 
+                             first_property_name: cstring): PTextTag{.varargs, 
+    importc: "gtk_text_buffer_create_tag", cdecl, dynlib: lib.}
+proc get*(tree_model: PTreeModel, iter: PTreeIter){.varargs, 
+    importc: "gtk_tree_model_get", cdecl, dynlib: lib.}
+proc get_valist*(tree_model: PTreeModel, iter: PTreeIter){.varargs, 
+    importc: "gtk_tree_model_get_valist", cdecl, dynlib: lib.}
+proc tree_store_new*(n_columns: gint): PTreeStore{.varargs, cdecl, 
+    importc: "gtk_tree_store_new", dynlib: lib.}
+proc set*(tree_store: PTreeStore, iter: PTreeIter){.varargs, cdecl, 
+    importc: "gtk_tree_store_set", dynlib: lib.}
+proc set_valist*(tree_store: PTreeStore, iter: PTreeIter){.varargs, 
+    cdecl, importc: "gtk_tree_store_set_valist", dynlib: lib.}
+proc iter_is_valid*(tree_store: PTreeStore, iter: PTreeIter): gboolean{.
+    cdecl, importc: "gtk_tree_store_iter_is_valid", dynlib: lib.}
+proc reorder*(tree_store: PTreeStore, parent: PTreeIter, 
+                         new_order: pgint){.cdecl, 
+    importc: "gtk_tree_store_reorder", dynlib: lib.}
+proc swap*(tree_store: PTreeStore, a: PTreeIter, b: PTreeIter){.
+    cdecl, importc: "gtk_tree_store_swap", dynlib: lib.}
+proc move_before*(tree_store: PTreeStore, iter: PTreeIter, 
+                             position: PTreeIter){.cdecl, 
+    importc: "gtk_tree_store_move_before", dynlib: lib.}
+proc move_after*(tree_store: PTreeStore, iter: PTreeIter, 
+                            position: PTreeIter){.cdecl, 
+    importc: "gtk_tree_store_move_after", dynlib: lib.}
+proc insert_column_with_attributes*(tree_view: PTreeView, 
+    position: gint, title: cstring, cell: PCellRenderer): gint{.varargs, 
+    importc: "gtk_tree_view_insert_column_with_attributes", cdecl, dynlib: lib.}
+proc tree_view_column_new_with_attributes*(title: cstring, cell: PCellRenderer): PTreeViewColumn{.
+    importc: "gtk_tree_view_column_new_with_attributes", varargs, cdecl, 
+    dynlib: lib.}
+proc column_set_attributes*(tree_column: PTreeViewColumn, 
+                                      cell_renderer: PCellRenderer){.
+    importc: "gtk_tree_view_column_set_attributes", varargs, cdecl, dynlib: lib.}
+proc widget_new*(thetype: TType, first_property_name: cstring): PWidget{.
+    importc: "gtk_widget_new", varargs, cdecl, dynlib: lib.}
+proc set*(widget: PWidget, first_property_name: cstring){.varargs, 
+    importc: "gtk_widget_set", cdecl, dynlib: lib.}
+proc queue_clear*(widget: PWidget){.importc: "gtk_widget_queue_clear", 
+    cdecl, dynlib: lib.}
+proc queue_clear_area*(widget: PWidget, x: gint, y: gint, width: gint, 
+                              height: gint){.cdecl, 
+    importc: "gtk_widget_queue_clear_area", dynlib: lib.}
+proc draw*(widget: PWidget, area: gdk2.PRectangle){.cdecl, 
+    importc: "gtk_widget_draw", dynlib: lib.}
+proc style_get_valist*(widget: PWidget, first_property_name: cstring){.
+    varargs, cdecl, importc: "gtk_widget_style_get_valist", dynlib: lib.}
+proc style_get*(widget: PWidget, first_property_name: cstring){.varargs, 
+    cdecl, importc: "gtk_widget_style_get", dynlib: lib.}
+proc file_chooser_dialog_new*(title: cstring, parent: PWindow, 
+                              action: TFileChooserAction, 
+                              first_button_text: cstring): PFileChooser{.cdecl, 
+    varargs, dynlib: lib, importc: "gtk_file_chooser_dialog_new".}
+proc file_chooser_dialog_new_with_backend*(title: cstring, parent: PWindow, 
+    action: TFileChooserAction, backend: cstring, first_button_text: cstring): PFileChooser{.
+    varargs, cdecl, dynlib: lib, 
     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
+proc reference*(anObject: PObject): PObject{.cdecl, importc: "gtk_object_ref", 
+    dynlib: lib.}
+proc unref*(anObject: PObject){.cdecl, importc: "gtk_object_unref", 
+                                       dynlib: lib.}
+proc weakref*(anObject: PObject, notify: TDestroyNotify, data: gpointer){.
+    cdecl, importc: "gtk_object_weakref", dynlib: lib.}
+proc weakunref*(anObject: PObject, notify: TDestroyNotify, data: gpointer){.
+    cdecl, importc: "gtk_object_weakunref", dynlib: lib.}
+proc set_data*(anObject: PObject, key: cstring, data: gpointer){.cdecl, 
+    importc: "gtk_object_set_data", dynlib: lib.}
+proc set_data_full*(anObject: PObject, key: cstring, data: gpointer, 
+                           destroy: TDestroyNotify){.
+    importc: "gtk_object_set_data_full", cdecl, dynlib: lib.}
+proc remove_data*(anObject: PObject, key: cstring){.cdecl, 
+    importc: "gtk_object_remove_data", dynlib: lib.}
+proc get_data*(anObject: PObject, key: cstring): gpointer{.cdecl, 
+    importc: "gtk_object_get_data", dynlib: lib.}
+proc remove_no_notify*(anObject: PObject, key: cstring){.cdecl, 
+    importc: "gtk_object_remove_no_notify", dynlib: lib.}
+proc set_user_data*(anObject: PObject, data: gpointer){.cdecl, 
+    importc: "gtk_object_set_user_data", dynlib: lib.}
+proc get_user_data*(anObject: PObject): gpointer{.cdecl, 
+    importc: "gtk_object_get_user_data", dynlib: lib.}
+proc set_data_by_id*(anObject: PObject, data_id: TGQuark, data: gpointer){.
+    cdecl, importc: "gtk_object_set_data_by_id", dynlib: lib.}
+proc set_data_by_id_full*(anObject: PObject, data_id: TGQuark, 
+                                 data: gpointer, destroy: TDestroyNotify){.
+    cdecl, importc: "gtk_object_set_data_by_id_full", dynlib: lib.}
+proc get_data_by_id*(anObject: PObject, data_id: TGQuark): gpointer{.
+    cdecl, importc: "gtk_object_get_data_by_id", dynlib: lib.}
+proc remove_data_by_id*(anObject: PObject, data_id: TGQuark){.cdecl, 
+    importc: "gtk_object_remove_data_by_id", dynlib: lib.}
+proc remove_no_notify_by_id*(anObject: PObject, key_id: TGQuark){.cdecl, 
+    importc: "gtk_object_remove_no_notify_by_id", dynlib: lib.}
+proc object_data_try_key*(str: cstring): TGQuark{.cdecl, 
+    importc: "gtk_object_data_try_key", dynlib: lib.}
+proc object_data_force_id*(str: cstring): TGQuark{.cdecl, 
+    importc: "gtk_object_data_force_id", dynlib: lib.}
+proc get*(anObject: PObject, first_property_name: cstring){.cdecl, 
+    importc: "gtk_object_get", varargs, dynlib: lib.}
+proc set*(anObject: PObject, first_property_name: cstring){.cdecl, 
+    importc: "gtk_object_set", varargs, dynlib: lib.}
+proc object_add_arg_type*(arg_name: cstring, arg_type: TType, arg_flags: guint, 
+                          arg_id: guint){.cdecl, 
+    importc: "gtk_object_add_arg_type", dynlib: lib.}
 
 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
+  TFileFilter {.pure, final.} = object
+  PFileFilter* = ptr TFileFilter
+  PPGtkFileFilter* = ptr PFileFilter
+  PFileFilterFlags* = ptr TFileFilterFlags
+  TFileFilterFlags* = enum 
+    FILE_FILTER_FILENAME = 1 shl 0, FILE_FILTER_URI = 1 shl 1, 
+    FILE_FILTER_DISPLAY_NAME = 1 shl 2, FILE_FILTER_MIME_TYPE = 1 shl 3
+  PFileFilterInfo* = ptr TFileFilterInfo
+  TFileFilterInfo*{.final, pure.} = object 
+    contains*: TFileFilterFlags
     filename*: cstring
     uri*: cstring
     display_name*: cstring
     mime_type*: cstring
 
-  TGtkFileFilterFunc* = proc (filter_info: PGtkFileFilterInfo, data: gpointer): gboolean{.
+  TFileFilterFunc* = proc (filter_info: PFileFilterInfo, 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, 
+proc TYPE_FILE_FILTER*(): GType
+proc FILE_FILTER*(obj: pointer): PFileFilter
+proc IS_FILE_FILTER*(obj: pointer): gboolean
+proc file_filter_get_type*(): GType{.cdecl, dynlib: lib, 
+                                     importc: "gtk_file_filter_get_type".}
+proc file_filter_new*(): PFileFilter{.cdecl, dynlib: lib, 
+                                      importc: "gtk_file_filter_new".}
+proc set_name*(filter: PFileFilter, name: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_file_filter_set_name".}
+proc get_name*(filter: PFileFilter): cstring{.cdecl, dynlib: lib, 
+    importc: "gtk_file_filter_get_name".}
+proc add_mime_type*(filter: PFileFilter, mime_type: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_file_filter_add_mime_type".}
+proc add_pattern*(filter: PFileFilter, pattern: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_file_filter_add_pattern".}
+proc add_custom*(filter: PFileFilter, needed: TFileFilterFlags, 
+                             func: TFileFilterFunc, data: gpointer, 
+                             notify: TGDestroyNotify){.cdecl, dynlib: lib, 
+    importc: "gtk_file_filter_add_custom".}
+proc get_needed*(filter: PFileFilter): TFileFilterFlags{.cdecl, 
+    dynlib: lib, importc: "gtk_file_filter_get_needed".}
+proc filter*(filter: PFileFilter, filter_info: PFileFilterInfo): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_filter_filter".}
+proc TYPE_FILE_FILTER(): GType = 
+  result = file_filter_get_type()
+
+proc FILE_FILTER(obj: pointer): PFileFilter = 
+  result = cast[PFileFilter](G_TYPE_CHECK_INSTANCE_CAST(obj, TYPE_FILE_FILTER()))
+
+proc IS_FILE_FILTER(obj: pointer): gboolean = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_FILE_FILTER())
+
+proc file_chooser_get_type*(): GType{.cdecl, dynlib: lib, 
+                                      importc: "gtk_file_chooser_get_type".}
+proc file_chooser_error_quark*(): TGQuark{.cdecl, dynlib: lib, 
+    importc: "gtk_file_chooser_error_quark".}
+proc TYPE_FILE_CHOOSER*(): GType = 
+  result = file_chooser_get_type()
+
+proc FILE_CHOOSER*(obj: pointer): PFileChooser = 
+  result = cast[PFileChooser](G_TYPE_CHECK_INSTANCE_CAST(obj, 
+      TYPE_FILE_CHOOSER()))
+
+proc IS_FILE_CHOOSER*(obj: pointer): gboolean = 
+  result = G_TYPE_CHECK_INSTANCE_TYPE(obj, TYPE_FILE_CHOOSER())
+
+proc set_action*(chooser: PFileChooser, action: TFileChooserAction){.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_action".}
+proc get_action*(chooser: PFileChooser): TFileChooserAction{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_action".}
+proc set_local_only*(chooser: PFileChooser, local_only: gboolean){.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_local_only".}
+proc get_local_only*(chooser: PFileChooser): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_local_only".}
+proc set_select_multiple*(chooser: PFileChooser, 
+                                       select_multiple: gboolean){.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_set_select_multiple".}
+proc get_select_multiple*(chooser: PFileChooser): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_select_multiple".}
+proc set_current_name*(chooser: PFileChooser, name: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_current_name".}
+proc get_filename*(chooser: PFileChooser): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_filename".}
+proc set_filename*(chooser: PFileChooser, filename: cstring): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_filename".}
+proc select_filename*(chooser: PFileChooser, filename: cstring): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_select_filename".}
+proc unselect_filename*(chooser: PFileChooser, filename: cstring){.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_unselect_filename".}
+proc select_all*(chooser: PFileChooser){.cdecl, dynlib: lib, 
+    importc: "gtk_file_chooser_select_all".}
+proc unselect_all*(chooser: PFileChooser){.cdecl, dynlib: lib, 
+    importc: "gtk_file_chooser_unselect_all".}
+proc get_filenames*(chooser: PFileChooser): PGSList{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_filenames".}
+proc set_current_folder*(chooser: PFileChooser, filename: cstring): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_current_folder".}
+proc get_current_folder*(chooser: PFileChooser): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_current_folder".}
+proc get_uri*(chooser: PFileChooser): cstring{.cdecl, dynlib: lib, 
+    importc: "gtk_file_chooser_get_uri".}
+proc set_uri*(chooser: PFileChooser, uri: cstring): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_uri".}
+proc select_uri*(chooser: PFileChooser, uri: cstring): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_select_uri".}
+proc unselect_uri*(chooser: PFileChooser, uri: cstring){.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_unselect_uri".}
+proc get_uris*(chooser: PFileChooser): PGSList{.cdecl, dynlib: lib, 
+    importc: "gtk_file_chooser_get_uris".}
+proc set_current_folder_uri*(chooser: PFileChooser, uri: cstring): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_current_folder_uri".}
+proc get_current_folder_uri*(chooser: PFileChooser): cstring{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_get_current_folder_uri".}
+proc set_preview_widget*(chooser: PFileChooser, 
+                                      preview_widget: PWidget){.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_set_preview_widget".}
+proc get_preview_widget*(chooser: PFileChooser): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_preview_widget".}
+proc set_preview_widget_active*(chooser: PFileChooser, 
+    active: gboolean){.cdecl, dynlib: lib, 
                        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, 
+proc get_preview_widget_active*(chooser: PFileChooser): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_get_preview_widget_active".}
+proc set_use_preview_label*(chooser: PFileChooser, 
+    use_label: gboolean){.cdecl, dynlib: lib, 
                           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, 
+proc get_use_preview_label*(chooser: PFileChooser): gboolean{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_get_use_preview_label".}
+proc get_preview_filename*(chooser: PFileChooser): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_preview_filename".}
+proc get_preview_uri*(chooser: PFileChooser): cstring{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_preview_uri".}
+proc set_extra_widget*(chooser: PFileChooser, extra_widget: PWidget){.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_extra_widget".}
+proc get_extra_widget*(chooser: PFileChooser): PWidget{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_extra_widget".}
+proc add_filter*(chooser: PFileChooser, filter: PFileFilter){.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_add_filter".}
+proc remove_filter*(chooser: PFileChooser, filter: PFileFilter){.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_remove_filter".}
+proc list_filters*(chooser: PFileChooser): PGSList{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_list_filters".}
+proc set_filter*(chooser: PFileChooser, filter: PFileFilter){.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_set_filter".}
+proc get_filter*(chooser: PFileChooser): PFileFilter{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_get_filter".}
+proc add_shortcut_folder*(chooser: PFileChooser, folder: cstring, 
+                                       error: pointer): gboolean{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_add_shortcut_folder".}
+proc remove_shortcut_folder*(chooser: PFileChooser, 
+    folder: cstring, error: pointer): gboolean{.cdecl, dynlib: lib, 
     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, 
+proc list_shortcut_folders*(chooser: PFileChooser): PGSList{.cdecl, 
+    dynlib: lib, importc: "gtk_file_chooser_list_shortcut_folders".}
+proc add_shortcut_folder_uri*(chooser: PFileChooser, uri: cstring, 
+    error: pointer): gboolean{.cdecl, dynlib: lib, importc: "gtk_file_chooser_add_shortcut_folder_uri".}
+proc remove_shortcut_folder_uri*(chooser: PFileChooser, 
+    uri: cstring, error: pointer): gboolean{.cdecl, dynlib: lib, 
     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, 
+proc list_shortcut_folder_uris*(chooser: PFileChooser): PGSList{.
+    cdecl, dynlib: lib, importc: "gtk_file_chooser_list_shortcut_folder_uris".}
+proc set_do_overwrite_confirmation*(chooser: PFileChooser, 
+    do_overwrite_confirmation: gboolean){.cdecl, dynlib: lib, 
     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))
+proc nimrod_init*() = 
+  var 
+    cmdLine{.importc: "cmdLine".}: array[0..255, cstring]
+    cmdCount{.importc: "cmdCount".}: cint
+  init(addr(cmdLine), addr(cmdCount))
diff --git a/lib/wrappers/gtk/gtkglext.nim b/lib/wrappers/gtk/gtkglext.nim
deleted file mode 100755
index 38da5d25e..000000000
--- a/lib/wrappers/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/wrappers/gtk/gtkhtml.nim b/lib/wrappers/gtk/gtkhtml.nim
deleted file mode 100755
index c9ccc3595..000000000
--- a/lib/wrappers/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/wrappers/gtk/libglade2.nim b/lib/wrappers/gtk/libglade2.nim
deleted file mode 100755
index 5e323680e..000000000
--- a/lib/wrappers/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/wrappers/gtk/pango.nim b/lib/wrappers/gtk/pango.nim
deleted file mode 100755
index ade2da989..000000000
--- a/lib/wrappers/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/wrappers/gtk/pangoutils.nim b/lib/wrappers/gtk/pangoutils.nim
deleted file mode 100755
index e6f3ab94c..000000000
--- a/lib/wrappers/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".}