# Module Gtk

    module Gtk: sig .. end

    exception Error of string

    type 'a optobj = 'a Gobject.obj Gpointer.optboxed

    type clampf = float

    module Tags: sig .. end

    type gtk_class

    type accel_group

    type clipboard

    type style = [ `style ] Gobject.obj

    type 'a group = 'a Gobject.obj option

    type statusbar_message

    type statusbar_context

    type selection_data

    type rectangle = {

`` | `x : `int`;`
`` | `y : `int`;`
`` | `width : `int`;`
`` | `height : `int`;`

}

    type target_entry = {

`` | `target : `string`;`
`` | `flags : `Tags.target_flags list`;`
`` | `info : `int`;`

}

    type box_packing = {

`` | `expand : `bool`;`
`` | `fill : `bool`;`
`` | `padding : `int`;`
`` | `pack_type : `Tags.pack_type`;`

}

    type adjustment = [ `adjustment | `gtk ]

    type tooltips = [ `gtk | `tooltips ]

    type widget = [ `gtk | `widget ]

    type container = [ `container | `gtk | `widget ]

    type bin = [ `bin | `container | `gtk | `widget ]

    type alignment = [ `alignment | `bin | `container | `gtk | `widget ]

    type button = [ `bin | `button | `container | `gtk | `widget ]

    type toggle_button = [ `bin | `button | `container | `gtk | `togglebutton | `widget ]

    type radio_button = [ `bin | `button | `container | `gtk | `radiobutton | `togglebutton | `widget ]

    type color_button = [ `bin | `button | `colorbutton | `container | `gtk | `widget ]

    type font_button = [ `bin | `button | `container | `fontbutton | `gtk | `widget ]

    type link_button = [ `bin | `button | `container | `gtk | `linkbutton | `widget ]

    type scale_button = [ `bin | `button | `container | `gtk | `scalebutton | `widget ]

    type option_menu = [ `bin | `button | `container | `gtk | `optionmenu | `widget ]

    type event_box = [ `bin | `container | `eventbox | `gtk | `widget ]

    type frame = [ `bin | `container | `frame | `gtk | `widget ]

    type aspect_frame = [ `aspectframe | `bin | `container | `frame | `gtk | `widget ]

    type handle_box = [ `bin | `container | `gtk | `handlebox | `widget ]

    type invisible = [ `bin | `container | `gtk | `invisible | `widget ]

    type item = [ `bin | `container | `gtk | `item | `widget ]

    type list_item = [ `bin | `container | `gtk | `item | `listitem | `widget ]

    type menu_item = [ `bin | `container | `gtk | `item | `menuitem | `widget ]

    type image_menu_item = [ `bin | `container | `gtk | `imagemenuitem | `item | `menuitem | `widget ]

    type check_menu_item = [ `bin | `checkmenuitem | `container | `gtk | `item | `menuitem | `widget ]

    type radio_menu_item = [ `bin
           | `checkmenuitem
           | `container
           | `gtk
           | `item
           | `menuitem
           | `radiomenuitem
           | `widget ]

    type tree_item = [ `bin | `container | `gtk | `item | `treeitem | `widget ]

    type scrolled_window = [ `bin | `container | `gtk | `scrolledwindow | `widget ]

    type viewport = [ `bin | `container | `gtk | `viewport | `widget ]

    type window = [ `bin | `container | `gtk | `widget | `window ]

    type assistant = [ `assistant | `bin | `container | `gtk | `widget | `window ]

    type dialog = [ `bin | `container | `dialog | `gtk | `widget | `window ]

    type message_dialog = [ `bin | `container | `dialog | `gtk | `messagedialog | `widget | `window ]

    type color_selection_dialog = [ `bin
           | `colorselectiondialog
           | `container
           | `dialog
           | `gtk
           | `widget
           | `window ]

    type input_dialog = [ `bin | `container | `dialog | `gtk | `inputdialog | `widget | `window ]

    type file_selection = [ `bin | `container | `dialog | `fileselection | `gtk | `widget | `window ]

    type font_selection_dialog = [ `bin
           | `container
           | `dialog
           | `fontselectiondialog
           | `gtk
           | `widget
           | `window ]

    type plug = [ `bin | `container | `gtk | `plug | `widget | `window ]

    type box = [ `box | `container | `gtk | `widget ]

    type button_box = [ `box | `buttonbox | `container | `gtk | `widget ]

    type gamma_curve = [ `buttonbox | `container | `gamma | `gtk | `widget ]

    type color_selection = [ `box | `colorselection | `container | `gtk | `widget ]

    type font_selection = [ `box | `container | `fontselection | `gtk | `widget ]

    type combo = [ `box | `combo | `container | `gtk | `widget ]

    type statusbar = [ `box | `container | `gtk | `statusbar | `widget ]

    type status_icon = [ `gtkstatusicon ]

    type gtk_status_icon = status_icon Gobject.obj

    type clist = [ `clist | `container | `gtk | `widget ]

    type fixed = [ `container | `fixed | `gtk | `widget ]

    type layout = [ `container | `gtk | `layout | `widget ]

    type liste = [ `container | `gtk | `list | `widget ]

    type menu_shell = [ `container | `gtk | `menushell | `widget ]

    type menu = [ `container | `gtk | `menu | `menushell | `widget ]

    type menu_bar = [ `container | `gtk | `menubar | `menushell | `widget ]

    type notebook = [ `container | `gtk | `notebook | `widget ]

    type packer = [ `container | `gtk | `packer | `widget ]

    type paned = [ `container | `gtk | `paned | `widget ]

    type socket = [ `container | `gtk | `socket | `widget ]

    type table = [ `container | `gtk | `table | `widget ]

    type toolbar = [ `container | `gtk | `toolbar | `widget ]

    type tool_item = [ `bin | `container | `gtk | `toolitem | `widget ]

    type separator_tool_item = [ `bin | `container | `gtk | `separatortoolitem | `toolitem | `widget ]

    type tool_button = [ `bin | `container | `gtk | `toolbutton | `toolitem | `widget ]

    type toggle_tool_button = [ `bin
           | `container
           | `gtk
           | `toggletoolbutton
           | `toolbutton
           | `toolitem
           | `widget ]

    type radio_tool_button = [ `bin
           | `container
           | `gtk
           | `radiotoolbutton
           | `toggletoolbutton
           | `toolbutton
           | `toolitem
           | `widget ]

    type menu_tool_button = [ `bin
           | `container
           | `gtk
           | `menutoolbutton
           | `toolbutton
           | `toolitem
           | `widget ]

    type tree = [ `container | `gtk | `tree | `widget ]

    type calendar = [ `calendar | `gtk | `widget ]

    type drawing_area = [ `drawingarea | `gtk | `widget ]

    type curve = [ `curve | `drawingarea | `gtk | `widget ]

    type editable = [ `editable | `gtk | `widget ]

    type entry = [ `editable | `entry | `gtk | `widget ]

    type spin_button = [ `editable | `entry | `gtk | `spinbutton | `widget ]

    type old_editable = [ `editable | `gtk | `oldeditable | `widget ]

    type text = [ `editable | `gtk | `oldeditable | `text | `widget ]

    type misc = [ `gtk | `misc | `widget ]

    type arrow = [ `arrow | `gtk | `misc | `widget ]

    type image = [ `gtk | `image | `misc | `widget ]

    type label = [ `gtk | `label | `misc | `widget ]

    type tips_query = [ `gtk | `label | `misc | `tipsquery | `widget ]

    type pixmap = [ `gtk | `misc | `pixmap | `widget ]

    type progress = [ `gtk | `progress | `widget ]

    type progress_bar = [ `gtk | `progress | `progressbar | `widget ]

    type range = [ `gtk | `range | `widget ]

    type scale = [ `gtk | `range | `scale | `widget ]

    type scrollbar = [ `gtk | `range | `scrollbar | `widget ]

    type ruler = [ `gtk | `ruler | `widget ]

    type separator = [ `gtk | `separator | `widget ]

    type text_view = [ `container | `gtk | `textview | `widget ]

    type text_buffer = [ `textbuffer ] Gobject.obj

    type text_tag_table = [ `texttagtable ] Gobject.obj

    type text_tag = [ `texttag ] Gobject.obj

    type text_mark = [ `textmark ] Gobject.obj

    type text_child_anchor = [ `textchildanchor ] Gobject.obj

    type text_iter

    type tree_view = [ `container | `gtk | `treeview | `widget ]

    type tree_view_column = [ `celllayout | `gtk | `treeviewcolumn ]

    type tree_selection = [ `treeselection ] Gobject.obj

    type tree_model = [ `treemodel ] Gobject.obj

    type tree_model_custom = [ `custommodel | `treemodel ] Gobject.obj

    type tree_sortable = [ `tree_sortable | `treemodel ] Gobject.obj

    type tree_model_sort = [ `treemodel | `treemodelsort | `treesortable ] Gobject.obj

    type tree_model_filter = [ `treemodel | `treemodelfilter ] Gobject.obj

    type tree_store = [ `treemodel | `treesortable | `treestore ] Gobject.obj

    type list_store = [ `liststore | `treemodel | `treesortable ] Gobject.obj

    type tree_iter

    type tree_path

    type row_reference

    type cell_renderer = [ `cellrenderer | `gtk ]

    type cell_renderer_pixbuf = [ `cellrenderer | `cellrendererpixbuf | `gtk ]

    type cell_renderer_text = [ `cellrenderer | `cellrenderertext | `gtk ]

    type cell_renderer_toggle = [ `cellrenderer | `cellrenderertoggle | `gtk ]

    type cell_renderer_progress = [ `cellrenderer | `cellrendererprogress | `gtk ]

    type cell_renderer_combo = [ `cellrenderer | `cellrenderercombo | `cellrenderertext | `gtk ]

    type cell_renderer_accel = [ `cellrenderer | `cellrendereraccel | `cellrenderertext | `gtk ]

    type icon_source

    type icon_set

    type icon_factory = [ `iconfactory ] Gobject.obj

    type size_group = [ `sizegroup ] Gobject.obj

    type cell_layout = [ `celllayout ]

    type combo_box = [ `bin | `celllayout | `combobox | `container | `gtk | `widget ]

    type combo_box_entry = [ `bin
           | `celllayout
           | `combobox
           | `comboboxentry
           | `container
           | `gtk
           | `widget ]

    type expander = [ `bin | `container | `expander | `gtk | `widget ]

    type file_filter = [ `filefilter | `gtk ]

    type file_chooser = [ `filechooser | `gtk | `widget ]

    type entry_completion = [ `celllayout | `entrycompletion ] Gobject.obj

    type action = [ `action ]

    type toggle_action = [ `action | `toggleaction ]

    type radio_action = [ `action | `radioaction | `toggleaction ]

    type action_group = [ `actiongroup ]

    type ui_manager = [ `uimanager ]

    type icon_view = [ `container | `gtk | `iconview | `widget ]

    type about_dialog = [ `aboutdialog | `bin | `container | `dialog | `gtk | `widget | `window ]

    type file_chooser_button = [ `box | `container | `filechooser | `filechooserbutton | `gtk | `widget ]

    type tooltip = [ `tooltip ] Gobject.obj

    type 'a obj = 'a Gobject.obj