-- GENERATED by C->Haskell Compiler, version 0.13.4 (gtk2hs branch) "Bin IO", 13 Nov 2004 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Graphics/UI/Gtk/Types.chs" #-}
{-# OPTIONS_HADDOCK hide #-}
-- -*-haskell-*-
-- -------------------- automatically generated file - do not edit ----------
--  Object hierarchy for the GIMP Toolkit (GTK) Binding for Haskell
--
--  Author : Axel Simon
--
--  Copyright (C) 2001-2005 Axel Simon
--
--  This library is free software; you can redistribute it and/or
--  modify it under the terms of the GNU Lesser General Public
--  License as published by the Free Software Foundation; either
--  version 2.1 of the License, or (at your option) any later version.
--
--  This library is distributed in the hope that it will be useful,
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
--  Lesser General Public License for more details.
--
-- #hide

-- |
-- Maintainer  : gtk2hs-users@lists.sourceforge.net
-- Stability   : provisional
-- Portability : portable (depends on GHC)
--
-- This file reflects the Gtk+ object hierarchy in terms of Haskell classes.
--
-- Note: the mk... functions were originally meant to simply be an alias
-- for the constructor. However, in order to communicate the destructor
-- of an object to objectNew, the mk... functions are now a tuple containing
-- Haskell constructor and the destructor function pointer. This hack avoids
-- changing all modules that simply pass mk... to objectNew.
--
module Graphics.UI.Gtk.Types (

  module System.Glib.GObject,
  module Graphics.UI.Gtk.General.Threading,
  Drawable(Drawable), DrawableClass,
  toDrawable, 
  mkDrawable, unDrawable,
  castToDrawable, gTypeDrawable,
  DrawWindow(DrawWindow), DrawWindowClass,
  toDrawWindow, 
  mkDrawWindow, unDrawWindow,
  castToDrawWindow, gTypeDrawWindow,
  Pixmap(Pixmap), PixmapClass,
  toPixmap, 
  mkPixmap, unPixmap,
  castToPixmap, gTypePixmap,
  Colormap(Colormap), ColormapClass,
  toColormap, 
  mkColormap, unColormap,
  castToColormap, gTypeColormap,
  Screen(Screen), ScreenClass,
  toScreen, 
  mkScreen, unScreen,
  castToScreen, gTypeScreen,
  Display(Display), DisplayClass,
  toDisplay, 
  mkDisplay, unDisplay,
  castToDisplay, gTypeDisplay,
  Visual(Visual), VisualClass,
  toVisual, 
  mkVisual, unVisual,
  castToVisual, gTypeVisual,
  Device(Device), DeviceClass,
  toDevice, 
  mkDevice, unDevice,
  castToDevice, gTypeDevice,
  Settings(Settings), SettingsClass,
  toSettings, 
  mkSettings, unSettings,
  castToSettings, gTypeSettings,
  TextBuffer(TextBuffer), TextBufferClass,
  toTextBuffer, 
  mkTextBuffer, unTextBuffer,
  castToTextBuffer, gTypeTextBuffer,
  TextTag(TextTag), TextTagClass,
  toTextTag, 
  mkTextTag, unTextTag,
  castToTextTag, gTypeTextTag,
  TextTagTable(TextTagTable), TextTagTableClass,
  toTextTagTable, 
  mkTextTagTable, unTextTagTable,
  castToTextTagTable, gTypeTextTagTable,
  Style(Style), StyleClass,
  toStyle, 
  mkStyle, unStyle,
  castToStyle, gTypeStyle,
  RcStyle(RcStyle), RcStyleClass,
  toRcStyle, 
  mkRcStyle, unRcStyle,
  castToRcStyle, gTypeRcStyle,
  DragContext(DragContext), DragContextClass,
  toDragContext, 
  mkDragContext, unDragContext,
  castToDragContext, gTypeDragContext,
  Pixbuf(Pixbuf), PixbufClass,
  toPixbuf, 
  mkPixbuf, unPixbuf,
  castToPixbuf, gTypePixbuf,
  PixbufAnimation(PixbufAnimation), PixbufAnimationClass,
  toPixbufAnimation, 
  mkPixbufAnimation, unPixbufAnimation,
  castToPixbufAnimation, gTypePixbufAnimation,
  PixbufSimpleAnim(PixbufSimpleAnim), PixbufSimpleAnimClass,
  toPixbufSimpleAnim, 
  mkPixbufSimpleAnim, unPixbufSimpleAnim,
  castToPixbufSimpleAnim, gTypePixbufSimpleAnim,
  PixbufAnimationIter(PixbufAnimationIter), PixbufAnimationIterClass,
  toPixbufAnimationIter, 
  mkPixbufAnimationIter, unPixbufAnimationIter,
  castToPixbufAnimationIter, gTypePixbufAnimationIter,
  TextChildAnchor(TextChildAnchor), TextChildAnchorClass,
  toTextChildAnchor, 
  mkTextChildAnchor, unTextChildAnchor,
  castToTextChildAnchor, gTypeTextChildAnchor,
  TextMark(TextMark), TextMarkClass,
  toTextMark, 
  mkTextMark, unTextMark,
  castToTextMark, gTypeTextMark,
  Object(Object), ObjectClass,
  toObject, 
  mkObject, unObject,
  castToObject, gTypeObject,
  Widget(Widget), WidgetClass,
  toWidget, 
  mkWidget, unWidget,
  castToWidget, gTypeWidget,
  Misc(Misc), MiscClass,
  toMisc, 
  mkMisc, unMisc,
  castToMisc, gTypeMisc,
  Label(Label), LabelClass,
  toLabel, 
  mkLabel, unLabel,
  castToLabel, gTypeLabel,
  AccelLabel(AccelLabel), AccelLabelClass,
  toAccelLabel, 
  mkAccelLabel, unAccelLabel,
  castToAccelLabel, gTypeAccelLabel,
  TipsQuery(TipsQuery), TipsQueryClass,
  toTipsQuery, 
  mkTipsQuery, unTipsQuery,
  castToTipsQuery, gTypeTipsQuery,
  Arrow(Arrow), ArrowClass,
  toArrow, 
  mkArrow, unArrow,
  castToArrow, gTypeArrow,
  Image(Image), ImageClass,
  toImage, 
  mkImage, unImage,
  castToImage, gTypeImage,
  Container(Container), ContainerClass,
  toContainer, 
  mkContainer, unContainer,
  castToContainer, gTypeContainer,
  Bin(Bin), BinClass,
  toBin, 
  mkBin, unBin,
  castToBin, gTypeBin,
  Alignment(Alignment), AlignmentClass,
  toAlignment, 
  mkAlignment, unAlignment,
  castToAlignment, gTypeAlignment,
  Frame(Frame), FrameClass,
  toFrame, 
  mkFrame, unFrame,
  castToFrame, gTypeFrame,
  AspectFrame(AspectFrame), AspectFrameClass,
  toAspectFrame, 
  mkAspectFrame, unAspectFrame,
  castToAspectFrame, gTypeAspectFrame,
  Button(Button), ButtonClass,
  toButton, 
  mkButton, unButton,
  castToButton, gTypeButton,
  ToggleButton(ToggleButton), ToggleButtonClass,
  toToggleButton, 
  mkToggleButton, unToggleButton,
  castToToggleButton, gTypeToggleButton,
  CheckButton(CheckButton), CheckButtonClass,
  toCheckButton, 
  mkCheckButton, unCheckButton,
  castToCheckButton, gTypeCheckButton,
  RadioButton(RadioButton), RadioButtonClass,
  toRadioButton, 
  mkRadioButton, unRadioButton,
  castToRadioButton, gTypeRadioButton,
  ColorButton(ColorButton), ColorButtonClass,
  toColorButton, 
  mkColorButton, unColorButton,
  castToColorButton, gTypeColorButton,
  FontButton(FontButton), FontButtonClass,
  toFontButton, 
  mkFontButton, unFontButton,
  castToFontButton, gTypeFontButton,
  OptionMenu(OptionMenu), OptionMenuClass,
  toOptionMenu, 
  mkOptionMenu, unOptionMenu,
  castToOptionMenu, gTypeOptionMenu,
  Item(Item), ItemClass,
  toItem, 
  mkItem, unItem,
  castToItem, gTypeItem,
  MenuItem(MenuItem), MenuItemClass,
  toMenuItem, 
  mkMenuItem, unMenuItem,
  castToMenuItem, gTypeMenuItem,
  CheckMenuItem(CheckMenuItem), CheckMenuItemClass,
  toCheckMenuItem, 
  mkCheckMenuItem, unCheckMenuItem,
  castToCheckMenuItem, gTypeCheckMenuItem,
  RadioMenuItem(RadioMenuItem), RadioMenuItemClass,
  toRadioMenuItem, 
  mkRadioMenuItem, unRadioMenuItem,
  castToRadioMenuItem, gTypeRadioMenuItem,
  TearoffMenuItem(TearoffMenuItem), TearoffMenuItemClass,
  toTearoffMenuItem, 
  mkTearoffMenuItem, unTearoffMenuItem,
  castToTearoffMenuItem, gTypeTearoffMenuItem,
  ImageMenuItem(ImageMenuItem), ImageMenuItemClass,
  toImageMenuItem, 
  mkImageMenuItem, unImageMenuItem,
  castToImageMenuItem, gTypeImageMenuItem,
  SeparatorMenuItem(SeparatorMenuItem), SeparatorMenuItemClass,
  toSeparatorMenuItem, 
  mkSeparatorMenuItem, unSeparatorMenuItem,
  castToSeparatorMenuItem, gTypeSeparatorMenuItem,
  ListItem(ListItem), ListItemClass,
  toListItem, 
  mkListItem, unListItem,
  castToListItem, gTypeListItem,
  Window(Window), WindowClass,
  toWindow, 
  mkWindow, unWindow,
  castToWindow, gTypeWindow,
  Dialog(Dialog), DialogClass,
  toDialog, 
  mkDialog, unDialog,
  castToDialog, gTypeDialog,
  AboutDialog(AboutDialog), AboutDialogClass,
  toAboutDialog, 
  mkAboutDialog, unAboutDialog,
  castToAboutDialog, gTypeAboutDialog,
  ColorSelectionDialog(ColorSelectionDialog), ColorSelectionDialogClass,
  toColorSelectionDialog, 
  mkColorSelectionDialog, unColorSelectionDialog,
  castToColorSelectionDialog, gTypeColorSelectionDialog,
  FileSelection(FileSelection), FileSelectionClass,
  toFileSelection, 
  mkFileSelection, unFileSelection,
  castToFileSelection, gTypeFileSelection,
  FileChooserDialog(FileChooserDialog), FileChooserDialogClass,
  toFileChooserDialog, 
  mkFileChooserDialog, unFileChooserDialog,
  castToFileChooserDialog, gTypeFileChooserDialog,
  FontSelectionDialog(FontSelectionDialog), FontSelectionDialogClass,
  toFontSelectionDialog, 
  mkFontSelectionDialog, unFontSelectionDialog,
  castToFontSelectionDialog, gTypeFontSelectionDialog,
  InputDialog(InputDialog), InputDialogClass,
  toInputDialog, 
  mkInputDialog, unInputDialog,
  castToInputDialog, gTypeInputDialog,
  MessageDialog(MessageDialog), MessageDialogClass,
  toMessageDialog, 
  mkMessageDialog, unMessageDialog,
  castToMessageDialog, gTypeMessageDialog,
  Plug(Plug), PlugClass,
  toPlug, 
  mkPlug, unPlug,
  castToPlug, gTypePlug,
  EventBox(EventBox), EventBoxClass,
  toEventBox, 
  mkEventBox, unEventBox,
  castToEventBox, gTypeEventBox,
  HandleBox(HandleBox), HandleBoxClass,
  toHandleBox, 
  mkHandleBox, unHandleBox,
  castToHandleBox, gTypeHandleBox,
  ScrolledWindow(ScrolledWindow), ScrolledWindowClass,
  toScrolledWindow, 
  mkScrolledWindow, unScrolledWindow,
  castToScrolledWindow, gTypeScrolledWindow,
  Viewport(Viewport), ViewportClass,
  toViewport, 
  mkViewport, unViewport,
  castToViewport, gTypeViewport,
  Expander(Expander), ExpanderClass,
  toExpander, 
  mkExpander, unExpander,
  castToExpander, gTypeExpander,
  ComboBox(ComboBox), ComboBoxClass,
  toComboBox, 
  mkComboBox, unComboBox,
  castToComboBox, gTypeComboBox,
  ComboBoxEntry(ComboBoxEntry), ComboBoxEntryClass,
  toComboBoxEntry, 
  mkComboBoxEntry, unComboBoxEntry,
  castToComboBoxEntry, gTypeComboBoxEntry,
  ToolItem(ToolItem), ToolItemClass,
  toToolItem, 
  mkToolItem, unToolItem,
  castToToolItem, gTypeToolItem,
  ToolButton(ToolButton), ToolButtonClass,
  toToolButton, 
  mkToolButton, unToolButton,
  castToToolButton, gTypeToolButton,
  MenuToolButton(MenuToolButton), MenuToolButtonClass,
  toMenuToolButton, 
  mkMenuToolButton, unMenuToolButton,
  castToMenuToolButton, gTypeMenuToolButton,
  ToggleToolButton(ToggleToolButton), ToggleToolButtonClass,
  toToggleToolButton, 
  mkToggleToolButton, unToggleToolButton,
  castToToggleToolButton, gTypeToggleToolButton,
  RadioToolButton(RadioToolButton), RadioToolButtonClass,
  toRadioToolButton, 
  mkRadioToolButton, unRadioToolButton,
  castToRadioToolButton, gTypeRadioToolButton,
  SeparatorToolItem(SeparatorToolItem), SeparatorToolItemClass,
  toSeparatorToolItem, 
  mkSeparatorToolItem, unSeparatorToolItem,
  castToSeparatorToolItem, gTypeSeparatorToolItem,
  Box(Box), BoxClass,
  toBox, 
  mkBox, unBox,
  castToBox, gTypeBox,
  ButtonBox(ButtonBox), ButtonBoxClass,
  toButtonBox, 
  mkButtonBox, unButtonBox,
  castToButtonBox, gTypeButtonBox,
  HButtonBox(HButtonBox), HButtonBoxClass,
  toHButtonBox, 
  mkHButtonBox, unHButtonBox,
  castToHButtonBox, gTypeHButtonBox,
  VButtonBox(VButtonBox), VButtonBoxClass,
  toVButtonBox, 
  mkVButtonBox, unVButtonBox,
  castToVButtonBox, gTypeVButtonBox,
  VBox(VBox), VBoxClass,
  toVBox, 
  mkVBox, unVBox,
  castToVBox, gTypeVBox,
  ColorSelection(ColorSelection), ColorSelectionClass,
  toColorSelection, 
  mkColorSelection, unColorSelection,
  castToColorSelection, gTypeColorSelection,
  FontSelection(FontSelection), FontSelectionClass,
  toFontSelection, 
  mkFontSelection, unFontSelection,
  castToFontSelection, gTypeFontSelection,
  FileChooserWidget(FileChooserWidget), FileChooserWidgetClass,
  toFileChooserWidget, 
  mkFileChooserWidget, unFileChooserWidget,
  castToFileChooserWidget, gTypeFileChooserWidget,
  HBox(HBox), HBoxClass,
  toHBox, 
  mkHBox, unHBox,
  castToHBox, gTypeHBox,
  Combo(Combo), ComboClass,
  toCombo, 
  mkCombo, unCombo,
  castToCombo, gTypeCombo,
  FileChooserButton(FileChooserButton), FileChooserButtonClass,
  toFileChooserButton, 
  mkFileChooserButton, unFileChooserButton,
  castToFileChooserButton, gTypeFileChooserButton,
  Statusbar(Statusbar), StatusbarClass,
  toStatusbar, 
  mkStatusbar, unStatusbar,
  castToStatusbar, gTypeStatusbar,
  CList(CList), CListClass,
  toCList, 
  mkCList, unCList,
  castToCList, gTypeCList,
  CTree(CTree), CTreeClass,
  toCTree, 
  mkCTree, unCTree,
  castToCTree, gTypeCTree,
  Fixed(Fixed), FixedClass,
  toFixed, 
  mkFixed, unFixed,
  castToFixed, gTypeFixed,
  Paned(Paned), PanedClass,
  toPaned, 
  mkPaned, unPaned,
  castToPaned, gTypePaned,
  HPaned(HPaned), HPanedClass,
  toHPaned, 
  mkHPaned, unHPaned,
  castToHPaned, gTypeHPaned,
  VPaned(VPaned), VPanedClass,
  toVPaned, 
  mkVPaned, unVPaned,
  castToVPaned, gTypeVPaned,
  IconView(IconView), IconViewClass,
  toIconView, 
  mkIconView, unIconView,
  castToIconView, gTypeIconView,
  Layout(Layout), LayoutClass,
  toLayout, 
  mkLayout, unLayout,
  castToLayout, gTypeLayout,
  List(List), ListClass,
  toList, 
  mkList, unList,
  castToList, gTypeList,
  MenuShell(MenuShell), MenuShellClass,
  toMenuShell, 
  mkMenuShell, unMenuShell,
  castToMenuShell, gTypeMenuShell,
  Menu(Menu), MenuClass,
  toMenu, 
  mkMenu, unMenu,
  castToMenu, gTypeMenu,
  MenuBar(MenuBar), MenuBarClass,
  toMenuBar, 
  mkMenuBar, unMenuBar,
  castToMenuBar, gTypeMenuBar,
  Notebook(Notebook), NotebookClass,
  toNotebook, 
  mkNotebook, unNotebook,
  castToNotebook, gTypeNotebook,
  Socket(Socket), SocketClass,
  toSocket, 
  mkSocket, unSocket,
  castToSocket, gTypeSocket,
  Table(Table), TableClass,
  toTable, 
  mkTable, unTable,
  castToTable, gTypeTable,
  TextView(TextView), TextViewClass,
  toTextView, 
  mkTextView, unTextView,
  castToTextView, gTypeTextView,
  Toolbar(Toolbar), ToolbarClass,
  toToolbar, 
  mkToolbar, unToolbar,
  castToToolbar, gTypeToolbar,
  TreeView(TreeView), TreeViewClass,
  toTreeView, 
  mkTreeView, unTreeView,
  castToTreeView, gTypeTreeView,
  Calendar(Calendar), CalendarClass,
  toCalendar, 
  mkCalendar, unCalendar,
  castToCalendar, gTypeCalendar,
  CellView(CellView), CellViewClass,
  toCellView, 
  mkCellView, unCellView,
  castToCellView, gTypeCellView,
  DrawingArea(DrawingArea), DrawingAreaClass,
  toDrawingArea, 
  mkDrawingArea, unDrawingArea,
  castToDrawingArea, gTypeDrawingArea,
  Entry(Entry), EntryClass,
  toEntry, 
  mkEntry, unEntry,
  castToEntry, gTypeEntry,
  SpinButton(SpinButton), SpinButtonClass,
  toSpinButton, 
  mkSpinButton, unSpinButton,
  castToSpinButton, gTypeSpinButton,
  Ruler(Ruler), RulerClass,
  toRuler, 
  mkRuler, unRuler,
  castToRuler, gTypeRuler,
  HRuler(HRuler), HRulerClass,
  toHRuler, 
  mkHRuler, unHRuler,
  castToHRuler, gTypeHRuler,
  VRuler(VRuler), VRulerClass,
  toVRuler, 
  mkVRuler, unVRuler,
  castToVRuler, gTypeVRuler,
  Range(Range), RangeClass,
  toRange, 
  mkRange, unRange,
  castToRange, gTypeRange,
  Scale(Scale), ScaleClass,
  toScale, 
  mkScale, unScale,
  castToScale, gTypeScale,
  HScale(HScale), HScaleClass,
  toHScale, 
  mkHScale, unHScale,
  castToHScale, gTypeHScale,
  VScale(VScale), VScaleClass,
  toVScale, 
  mkVScale, unVScale,
  castToVScale, gTypeVScale,
  Scrollbar(Scrollbar), ScrollbarClass,
  toScrollbar, 
  mkScrollbar, unScrollbar,
  castToScrollbar, gTypeScrollbar,
  HScrollbar(HScrollbar), HScrollbarClass,
  toHScrollbar, 
  mkHScrollbar, unHScrollbar,
  castToHScrollbar, gTypeHScrollbar,
  VScrollbar(VScrollbar), VScrollbarClass,
  toVScrollbar, 
  mkVScrollbar, unVScrollbar,
  castToVScrollbar, gTypeVScrollbar,
  Separator(Separator), SeparatorClass,
  toSeparator, 
  mkSeparator, unSeparator,
  castToSeparator, gTypeSeparator,
  HSeparator(HSeparator), HSeparatorClass,
  toHSeparator, 
  mkHSeparator, unHSeparator,
  castToHSeparator, gTypeHSeparator,
  VSeparator(VSeparator), VSeparatorClass,
  toVSeparator, 
  mkVSeparator, unVSeparator,
  castToVSeparator, gTypeVSeparator,
  Invisible(Invisible), InvisibleClass,
  toInvisible, 
  mkInvisible, unInvisible,
  castToInvisible, gTypeInvisible,
  Preview(Preview), PreviewClass,
  toPreview, 
  mkPreview, unPreview,
  castToPreview, gTypePreview,
  ProgressBar(ProgressBar), ProgressBarClass,
  toProgressBar, 
  mkProgressBar, unProgressBar,
  castToProgressBar, gTypeProgressBar,
  Adjustment(Adjustment), AdjustmentClass,
  toAdjustment, 
  mkAdjustment, unAdjustment,
  castToAdjustment, gTypeAdjustment,
  IMContext(IMContext), IMContextClass,
  toIMContext, 
  mkIMContext, unIMContext,
  castToIMContext, gTypeIMContext,
  IMMulticontext(IMMulticontext), IMMulticontextClass,
  toIMMulticontext, 
  mkIMMulticontext, unIMMulticontext,
  castToIMMulticontext, gTypeIMMulticontext,
  ItemFactory(ItemFactory), ItemFactoryClass,
  toItemFactory, 
  mkItemFactory, unItemFactory,
  castToItemFactory, gTypeItemFactory,
  Tooltips(Tooltips), TooltipsClass,
  toTooltips, 
  mkTooltips, unTooltips,
  castToTooltips, gTypeTooltips,
  TreeViewColumn(TreeViewColumn), TreeViewColumnClass,
  toTreeViewColumn, 
  mkTreeViewColumn, unTreeViewColumn,
  castToTreeViewColumn, gTypeTreeViewColumn,
  CellRenderer(CellRenderer), CellRendererClass,
  toCellRenderer, 
  mkCellRenderer, unCellRenderer,
  castToCellRenderer, gTypeCellRenderer,
  CellRendererPixbuf(CellRendererPixbuf), CellRendererPixbufClass,
  toCellRendererPixbuf, 
  mkCellRendererPixbuf, unCellRendererPixbuf,
  castToCellRendererPixbuf, gTypeCellRendererPixbuf,
  CellRendererText(CellRendererText), CellRendererTextClass,
  toCellRendererText, 
  mkCellRendererText, unCellRendererText,
  castToCellRendererText, gTypeCellRendererText,
  CellRendererCombo(CellRendererCombo), CellRendererComboClass,
  toCellRendererCombo, 
  mkCellRendererCombo, unCellRendererCombo,
  castToCellRendererCombo, gTypeCellRendererCombo,
  CellRendererToggle(CellRendererToggle), CellRendererToggleClass,
  toCellRendererToggle, 
  mkCellRendererToggle, unCellRendererToggle,
  castToCellRendererToggle, gTypeCellRendererToggle,
  CellRendererProgress(CellRendererProgress), CellRendererProgressClass,
  toCellRendererProgress, 
  mkCellRendererProgress, unCellRendererProgress,
  castToCellRendererProgress, gTypeCellRendererProgress,
  FileFilter(FileFilter), FileFilterClass,
  toFileFilter, 
  mkFileFilter, unFileFilter,
  castToFileFilter, gTypeFileFilter,
  Builder(Builder), BuilderClass,
  toBuilder, 
  mkBuilder, unBuilder,
  castToBuilder, gTypeBuilder,
  CellLayout(CellLayout), CellLayoutClass,
  toCellLayout, 
  mkCellLayout, unCellLayout,
  castToCellLayout, gTypeCellLayout,
  TreeSortable(TreeSortable), TreeSortableClass,
  toTreeSortable, 
  mkTreeSortable, unTreeSortable,
  castToTreeSortable, gTypeTreeSortable,
  StatusIcon(StatusIcon), StatusIconClass,
  toStatusIcon, 
  mkStatusIcon, unStatusIcon,
  castToStatusIcon, gTypeStatusIcon,
  TreeSelection(TreeSelection), TreeSelectionClass,
  toTreeSelection, 
  mkTreeSelection, unTreeSelection,
  castToTreeSelection, gTypeTreeSelection,
  TreeModel(TreeModel), TreeModelClass,
  toTreeModel, 
  mkTreeModel, unTreeModel,
  castToTreeModel, gTypeTreeModel,
  TreeStore(TreeStore), TreeStoreClass,
  toTreeStore, 
  mkTreeStore, unTreeStore,
  castToTreeStore, gTypeTreeStore,
  ListStore(ListStore), ListStoreClass,
  toListStore, 
  mkListStore, unListStore,
  castToListStore, gTypeListStore,
  TreeModelSort(TreeModelSort), TreeModelSortClass,
  toTreeModelSort, 
  mkTreeModelSort, unTreeModelSort,
  castToTreeModelSort, gTypeTreeModelSort,
  TreeModelFilter(TreeModelFilter), TreeModelFilterClass,
  toTreeModelFilter, 
  mkTreeModelFilter, unTreeModelFilter,
  castToTreeModelFilter, gTypeTreeModelFilter,
  IconFactory(IconFactory), IconFactoryClass,
  toIconFactory, 
  mkIconFactory, unIconFactory,
  castToIconFactory, gTypeIconFactory,
  IconTheme(IconTheme), IconThemeClass,
  toIconTheme, 
  mkIconTheme, unIconTheme,
  castToIconTheme, gTypeIconTheme,
  SizeGroup(SizeGroup), SizeGroupClass,
  toSizeGroup, 
  mkSizeGroup, unSizeGroup,
  castToSizeGroup, gTypeSizeGroup,
  Clipboard(Clipboard), ClipboardClass,
  toClipboard, 
  mkClipboard, unClipboard,
  castToClipboard, gTypeClipboard,
  AccelGroup(AccelGroup), AccelGroupClass,
  toAccelGroup, 
  mkAccelGroup, unAccelGroup,
  castToAccelGroup, gTypeAccelGroup,
  AccelMap(AccelMap), AccelMapClass,
  toAccelMap, 
  mkAccelMap, unAccelMap,
  castToAccelMap, gTypeAccelMap,
  EntryCompletion(EntryCompletion), EntryCompletionClass,
  toEntryCompletion, 
  mkEntryCompletion, unEntryCompletion,
  castToEntryCompletion, gTypeEntryCompletion,
  Action(Action), ActionClass,
  toAction, 
  mkAction, unAction,
  castToAction, gTypeAction,
  ToggleAction(ToggleAction), ToggleActionClass,
  toToggleAction, 
  mkToggleAction, unToggleAction,
  castToToggleAction, gTypeToggleAction,
  RadioAction(RadioAction), RadioActionClass,
  toRadioAction, 
  mkRadioAction, unRadioAction,
  castToRadioAction, gTypeRadioAction,
  ActionGroup(ActionGroup), ActionGroupClass,
  toActionGroup, 
  mkActionGroup, unActionGroup,
  castToActionGroup, gTypeActionGroup,
  UIManager(UIManager), UIManagerClass,
  toUIManager, 
  mkUIManager, unUIManager,
  castToUIManager, gTypeUIManager,
  WindowGroup(WindowGroup), WindowGroupClass,
  toWindowGroup, 
  mkWindowGroup, unWindowGroup,
  castToWindowGroup, gTypeWindowGroup,
  Editable(Editable), EditableClass,
  toEditable, 
  mkEditable, unEditable,
  castToEditable, gTypeEditable,
  FileChooser(FileChooser), FileChooserClass,
  toFileChooser, 
  mkFileChooser, unFileChooser,
  castToFileChooser, gTypeFileChooser,
  GC(GC), GCClass,
  toGC, 
  mkGC, unGC,
  castToGC, gTypeGC
  ) where

import Foreign.ForeignPtr (ForeignPtr, castForeignPtr, unsafeForeignPtrToPtr)
import Foreign.C.Types    (CULong, CUInt)
import System.Glib.GType	(GType, typeInstanceIsA)
import System.Glib.GObject
{-# LINE 692 "./Graphics/UI/Gtk/Types.chs" #-}
import Graphics.UI.Gtk.General.Threading


{-# LINE 695 "./Graphics/UI/Gtk/Types.chs" #-}

-- The usage of foreignPtrToPtr should be safe as the evaluation will only be
-- forced if the object is used afterwards
--
castTo :: (GObjectClass obj, GObjectClass obj') => GType -> String
                                                -> (obj -> obj')
castTo gtype objTypeName obj =
  case toGObject obj of
    gobj@(GObject objFPtr)
      | typeInstanceIsA ((unsafeForeignPtrToPtr.castForeignPtr) objFPtr) gtype
                  -> unsafeCastGObject gobj
      | otherwise -> error $ "Cannot cast object to " ++ objTypeName


-- ******************************************************************* Drawable

newtype Drawable = Drawable (ForeignPtr (Drawable)) deriving (Eq,Ord)

mkDrawable = (Drawable, objectUnrefFromMainloop)
unDrawable (Drawable o) = o

class GObjectClass o => DrawableClass o
toDrawable :: DrawableClass o => o -> Drawable
toDrawable = unsafeCastGObject . toGObject

instance DrawableClass Drawable
instance GObjectClass Drawable where
  toGObject = GObject . castForeignPtr . unDrawable
  unsafeCastGObject = Drawable . castForeignPtr . unGObject

castToDrawable :: GObjectClass obj => obj -> Drawable
castToDrawable = castTo gTypeDrawable "Drawable"

gTypeDrawable :: GType
gTypeDrawable =
  gdk_drawable_get_type
{-# LINE 731 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** DrawWindow

newtype DrawWindow = DrawWindow (ForeignPtr (DrawWindow)) deriving (Eq,Ord)

mkDrawWindow = (DrawWindow, objectUnrefFromMainloop)
unDrawWindow (DrawWindow o) = o

class DrawableClass o => DrawWindowClass o
toDrawWindow :: DrawWindowClass o => o -> DrawWindow
toDrawWindow = unsafeCastGObject . toGObject

instance DrawWindowClass DrawWindow
instance DrawableClass DrawWindow
instance GObjectClass DrawWindow where
  toGObject = GObject . castForeignPtr . unDrawWindow
  unsafeCastGObject = DrawWindow . castForeignPtr . unGObject

castToDrawWindow :: GObjectClass obj => obj -> DrawWindow
castToDrawWindow = castTo gTypeDrawWindow "DrawWindow"

gTypeDrawWindow :: GType
gTypeDrawWindow =
  gdk_window_object_get_type
{-# LINE 755 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Pixmap

newtype Pixmap = Pixmap (ForeignPtr (Pixmap)) deriving (Eq,Ord)

mkPixmap = (Pixmap, objectUnrefFromMainloop)
unPixmap (Pixmap o) = o

class DrawableClass o => PixmapClass o
toPixmap :: PixmapClass o => o -> Pixmap
toPixmap = unsafeCastGObject . toGObject

instance PixmapClass Pixmap
instance DrawableClass Pixmap
instance GObjectClass Pixmap where
  toGObject = GObject . castForeignPtr . unPixmap
  unsafeCastGObject = Pixmap . castForeignPtr . unGObject

castToPixmap :: GObjectClass obj => obj -> Pixmap
castToPixmap = castTo gTypePixmap "Pixmap"

gTypePixmap :: GType
gTypePixmap =
  gdk_pixmap_get_type
{-# LINE 779 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* Colormap

newtype Colormap = Colormap (ForeignPtr (Colormap)) deriving (Eq,Ord)

mkColormap = (Colormap, objectUnrefFromMainloop)
unColormap (Colormap o) = o

class GObjectClass o => ColormapClass o
toColormap :: ColormapClass o => o -> Colormap
toColormap = unsafeCastGObject . toGObject

instance ColormapClass Colormap
instance GObjectClass Colormap where
  toGObject = GObject . castForeignPtr . unColormap
  unsafeCastGObject = Colormap . castForeignPtr . unGObject

castToColormap :: GObjectClass obj => obj -> Colormap
castToColormap = castTo gTypeColormap "Colormap"

gTypeColormap :: GType
gTypeColormap =
  gdk_colormap_get_type
{-# LINE 802 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Screen

newtype Screen = Screen (ForeignPtr (Screen)) deriving (Eq,Ord)

mkScreen = (Screen, objectUnrefFromMainloop)
unScreen (Screen o) = o

class GObjectClass o => ScreenClass o
toScreen :: ScreenClass o => o -> Screen
toScreen = unsafeCastGObject . toGObject

instance ScreenClass Screen
instance GObjectClass Screen where
  toGObject = GObject . castForeignPtr . unScreen
  unsafeCastGObject = Screen . castForeignPtr . unGObject

castToScreen :: GObjectClass obj => obj -> Screen
castToScreen = castTo gTypeScreen "Screen"

gTypeScreen :: GType
gTypeScreen =
  gdk_screen_get_type
{-# LINE 825 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** Display

newtype Display = Display (ForeignPtr (Display)) deriving (Eq,Ord)

mkDisplay = (Display, objectUnrefFromMainloop)
unDisplay (Display o) = o

class GObjectClass o => DisplayClass o
toDisplay :: DisplayClass o => o -> Display
toDisplay = unsafeCastGObject . toGObject

instance DisplayClass Display
instance GObjectClass Display where
  toGObject = GObject . castForeignPtr . unDisplay
  unsafeCastGObject = Display . castForeignPtr . unGObject

castToDisplay :: GObjectClass obj => obj -> Display
castToDisplay = castTo gTypeDisplay "Display"

gTypeDisplay :: GType
gTypeDisplay =
  gdk_display_get_type
{-# LINE 848 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Visual

newtype Visual = Visual (ForeignPtr (Visual)) deriving (Eq,Ord)

mkVisual = (Visual, objectUnrefFromMainloop)
unVisual (Visual o) = o

class GObjectClass o => VisualClass o
toVisual :: VisualClass o => o -> Visual
toVisual = unsafeCastGObject . toGObject

instance VisualClass Visual
instance GObjectClass Visual where
  toGObject = GObject . castForeignPtr . unVisual
  unsafeCastGObject = Visual . castForeignPtr . unGObject

castToVisual :: GObjectClass obj => obj -> Visual
castToVisual = castTo gTypeVisual "Visual"

gTypeVisual :: GType
gTypeVisual =
  gdk_visual_get_type
{-# LINE 871 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Device

newtype Device = Device (ForeignPtr (Device)) deriving (Eq,Ord)

mkDevice = (Device, objectUnrefFromMainloop)
unDevice (Device o) = o

class GObjectClass o => DeviceClass o
toDevice :: DeviceClass o => o -> Device
toDevice = unsafeCastGObject . toGObject

instance DeviceClass Device
instance GObjectClass Device where
  toGObject = GObject . castForeignPtr . unDevice
  unsafeCastGObject = Device . castForeignPtr . unGObject

castToDevice :: GObjectClass obj => obj -> Device
castToDevice = castTo gTypeDevice "Device"

gTypeDevice :: GType
gTypeDevice =
  gdk_device_get_type
{-# LINE 894 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* Settings

newtype Settings = Settings (ForeignPtr (Settings)) deriving (Eq,Ord)

mkSettings = (Settings, objectUnrefFromMainloop)
unSettings (Settings o) = o

class GObjectClass o => SettingsClass o
toSettings :: SettingsClass o => o -> Settings
toSettings = unsafeCastGObject . toGObject

instance SettingsClass Settings
instance GObjectClass Settings where
  toGObject = GObject . castForeignPtr . unSettings
  unsafeCastGObject = Settings . castForeignPtr . unGObject

castToSettings :: GObjectClass obj => obj -> Settings
castToSettings = castTo gTypeSettings "Settings"

gTypeSettings :: GType
gTypeSettings =
  gtk_settings_get_type
{-# LINE 917 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** TextBuffer

newtype TextBuffer = TextBuffer (ForeignPtr (TextBuffer)) deriving (Eq,Ord)

mkTextBuffer = (TextBuffer, objectUnrefFromMainloop)
unTextBuffer (TextBuffer o) = o

class GObjectClass o => TextBufferClass o
toTextBuffer :: TextBufferClass o => o -> TextBuffer
toTextBuffer = unsafeCastGObject . toGObject

instance TextBufferClass TextBuffer
instance GObjectClass TextBuffer where
  toGObject = GObject . castForeignPtr . unTextBuffer
  unsafeCastGObject = TextBuffer . castForeignPtr . unGObject

castToTextBuffer :: GObjectClass obj => obj -> TextBuffer
castToTextBuffer = castTo gTypeTextBuffer "TextBuffer"

gTypeTextBuffer :: GType
gTypeTextBuffer =
  gtk_text_buffer_get_type
{-# LINE 940 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** TextTag

newtype TextTag = TextTag (ForeignPtr (TextTag)) deriving (Eq,Ord)

mkTextTag = (TextTag, objectUnrefFromMainloop)
unTextTag (TextTag o) = o

class GObjectClass o => TextTagClass o
toTextTag :: TextTagClass o => o -> TextTag
toTextTag = unsafeCastGObject . toGObject

instance TextTagClass TextTag
instance GObjectClass TextTag where
  toGObject = GObject . castForeignPtr . unTextTag
  unsafeCastGObject = TextTag . castForeignPtr . unGObject

castToTextTag :: GObjectClass obj => obj -> TextTag
castToTextTag = castTo gTypeTextTag "TextTag"

gTypeTextTag :: GType
gTypeTextTag =
  gtk_text_tag_get_type
{-# LINE 963 "./Graphics/UI/Gtk/Types.chs" #-}

-- *************************************************************** TextTagTable

newtype TextTagTable = TextTagTable (ForeignPtr (TextTagTable)) deriving (Eq,Ord)

mkTextTagTable = (TextTagTable, objectUnrefFromMainloop)
unTextTagTable (TextTagTable o) = o

class GObjectClass o => TextTagTableClass o
toTextTagTable :: TextTagTableClass o => o -> TextTagTable
toTextTagTable = unsafeCastGObject . toGObject

instance TextTagTableClass TextTagTable
instance GObjectClass TextTagTable where
  toGObject = GObject . castForeignPtr . unTextTagTable
  unsafeCastGObject = TextTagTable . castForeignPtr . unGObject

castToTextTagTable :: GObjectClass obj => obj -> TextTagTable
castToTextTagTable = castTo gTypeTextTagTable "TextTagTable"

gTypeTextTagTable :: GType
gTypeTextTagTable =
  gtk_text_tag_table_get_type
{-# LINE 986 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Style

newtype Style = Style (ForeignPtr (Style)) deriving (Eq,Ord)

mkStyle = (Style, objectUnrefFromMainloop)
unStyle (Style o) = o

class GObjectClass o => StyleClass o
toStyle :: StyleClass o => o -> Style
toStyle = unsafeCastGObject . toGObject

instance StyleClass Style
instance GObjectClass Style where
  toGObject = GObject . castForeignPtr . unStyle
  unsafeCastGObject = Style . castForeignPtr . unGObject

castToStyle :: GObjectClass obj => obj -> Style
castToStyle = castTo gTypeStyle "Style"

gTypeStyle :: GType
gTypeStyle =
  gtk_style_get_type
{-# LINE 1009 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** RcStyle

newtype RcStyle = RcStyle (ForeignPtr (RcStyle)) deriving (Eq,Ord)

mkRcStyle = (RcStyle, objectUnrefFromMainloop)
unRcStyle (RcStyle o) = o

class GObjectClass o => RcStyleClass o
toRcStyle :: RcStyleClass o => o -> RcStyle
toRcStyle = unsafeCastGObject . toGObject

instance RcStyleClass RcStyle
instance GObjectClass RcStyle where
  toGObject = GObject . castForeignPtr . unRcStyle
  unsafeCastGObject = RcStyle . castForeignPtr . unGObject

castToRcStyle :: GObjectClass obj => obj -> RcStyle
castToRcStyle = castTo gTypeRcStyle "RcStyle"

gTypeRcStyle :: GType
gTypeRcStyle =
  gtk_rc_style_get_type
{-# LINE 1032 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** DragContext

newtype DragContext = DragContext (ForeignPtr (DragContext)) deriving (Eq,Ord)

mkDragContext = (DragContext, objectUnrefFromMainloop)
unDragContext (DragContext o) = o

class GObjectClass o => DragContextClass o
toDragContext :: DragContextClass o => o -> DragContext
toDragContext = unsafeCastGObject . toGObject

instance DragContextClass DragContext
instance GObjectClass DragContext where
  toGObject = GObject . castForeignPtr . unDragContext
  unsafeCastGObject = DragContext . castForeignPtr . unGObject

castToDragContext :: GObjectClass obj => obj -> DragContext
castToDragContext = castTo gTypeDragContext "DragContext"

gTypeDragContext :: GType
gTypeDragContext =
  gdk_drag_context_get_type
{-# LINE 1055 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Pixbuf

newtype Pixbuf = Pixbuf (ForeignPtr (Pixbuf)) deriving (Eq,Ord)

mkPixbuf = (Pixbuf, objectUnrefFromMainloop)
unPixbuf (Pixbuf o) = o

class GObjectClass o => PixbufClass o
toPixbuf :: PixbufClass o => o -> Pixbuf
toPixbuf = unsafeCastGObject . toGObject

instance PixbufClass Pixbuf
instance GObjectClass Pixbuf where
  toGObject = GObject . castForeignPtr . unPixbuf
  unsafeCastGObject = Pixbuf . castForeignPtr . unGObject

castToPixbuf :: GObjectClass obj => obj -> Pixbuf
castToPixbuf = castTo gTypePixbuf "Pixbuf"

gTypePixbuf :: GType
gTypePixbuf =
  gdk_pixbuf_get_type
{-# LINE 1078 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************ PixbufAnimation

newtype PixbufAnimation = PixbufAnimation (ForeignPtr (PixbufAnimation)) deriving (Eq,Ord)

mkPixbufAnimation = (PixbufAnimation, objectUnrefFromMainloop)
unPixbufAnimation (PixbufAnimation o) = o

class GObjectClass o => PixbufAnimationClass o
toPixbufAnimation :: PixbufAnimationClass o => o -> PixbufAnimation
toPixbufAnimation = unsafeCastGObject . toGObject

instance PixbufAnimationClass PixbufAnimation
instance GObjectClass PixbufAnimation where
  toGObject = GObject . castForeignPtr . unPixbufAnimation
  unsafeCastGObject = PixbufAnimation . castForeignPtr . unGObject

castToPixbufAnimation :: GObjectClass obj => obj -> PixbufAnimation
castToPixbufAnimation = castTo gTypePixbufAnimation "PixbufAnimation"

gTypePixbufAnimation :: GType
gTypePixbufAnimation =
  gdk_pixbuf_animation_get_type
{-# LINE 1101 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************** PixbufSimpleAnim

newtype PixbufSimpleAnim = PixbufSimpleAnim (ForeignPtr (PixbufSimpleAnim)) deriving (Eq,Ord)

mkPixbufSimpleAnim = (PixbufSimpleAnim, objectUnrefFromMainloop)
unPixbufSimpleAnim (PixbufSimpleAnim o) = o

class PixbufAnimationClass o => PixbufSimpleAnimClass o
toPixbufSimpleAnim :: PixbufSimpleAnimClass o => o -> PixbufSimpleAnim
toPixbufSimpleAnim = unsafeCastGObject . toGObject

instance PixbufSimpleAnimClass PixbufSimpleAnim
instance PixbufAnimationClass PixbufSimpleAnim
instance GObjectClass PixbufSimpleAnim where
  toGObject = GObject . castForeignPtr . unPixbufSimpleAnim
  unsafeCastGObject = PixbufSimpleAnim . castForeignPtr . unGObject

castToPixbufSimpleAnim :: GObjectClass obj => obj -> PixbufSimpleAnim
castToPixbufSimpleAnim = castTo gTypePixbufSimpleAnim "PixbufSimpleAnim"

gTypePixbufSimpleAnim :: GType
gTypePixbufSimpleAnim =
  gdk_pixbuf_simple_anim_get_type
{-# LINE 1125 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************** PixbufAnimationIter

newtype PixbufAnimationIter = PixbufAnimationIter (ForeignPtr (PixbufAnimationIter)) deriving (Eq,Ord)

mkPixbufAnimationIter = (PixbufAnimationIter, objectUnrefFromMainloop)
unPixbufAnimationIter (PixbufAnimationIter o) = o

class GObjectClass o => PixbufAnimationIterClass o
toPixbufAnimationIter :: PixbufAnimationIterClass o => o -> PixbufAnimationIter
toPixbufAnimationIter = unsafeCastGObject . toGObject

instance PixbufAnimationIterClass PixbufAnimationIter
instance GObjectClass PixbufAnimationIter where
  toGObject = GObject . castForeignPtr . unPixbufAnimationIter
  unsafeCastGObject = PixbufAnimationIter . castForeignPtr . unGObject

castToPixbufAnimationIter :: GObjectClass obj => obj -> PixbufAnimationIter
castToPixbufAnimationIter = castTo gTypePixbufAnimationIter "PixbufAnimationIter"

gTypePixbufAnimationIter :: GType
gTypePixbufAnimationIter =
  gdk_pixbuf_animation_iter_get_type
{-# LINE 1148 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************ TextChildAnchor

newtype TextChildAnchor = TextChildAnchor (ForeignPtr (TextChildAnchor)) deriving (Eq,Ord)

mkTextChildAnchor = (TextChildAnchor, objectUnrefFromMainloop)
unTextChildAnchor (TextChildAnchor o) = o

class GObjectClass o => TextChildAnchorClass o
toTextChildAnchor :: TextChildAnchorClass o => o -> TextChildAnchor
toTextChildAnchor = unsafeCastGObject . toGObject

instance TextChildAnchorClass TextChildAnchor
instance GObjectClass TextChildAnchor where
  toGObject = GObject . castForeignPtr . unTextChildAnchor
  unsafeCastGObject = TextChildAnchor . castForeignPtr . unGObject

castToTextChildAnchor :: GObjectClass obj => obj -> TextChildAnchor
castToTextChildAnchor = castTo gTypeTextChildAnchor "TextChildAnchor"

gTypeTextChildAnchor :: GType
gTypeTextChildAnchor =
  gtk_text_child_anchor_get_type
{-# LINE 1171 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* TextMark

newtype TextMark = TextMark (ForeignPtr (TextMark)) deriving (Eq,Ord)

mkTextMark = (TextMark, objectUnrefFromMainloop)
unTextMark (TextMark o) = o

class GObjectClass o => TextMarkClass o
toTextMark :: TextMarkClass o => o -> TextMark
toTextMark = unsafeCastGObject . toGObject

instance TextMarkClass TextMark
instance GObjectClass TextMark where
  toGObject = GObject . castForeignPtr . unTextMark
  unsafeCastGObject = TextMark . castForeignPtr . unGObject

castToTextMark :: GObjectClass obj => obj -> TextMark
castToTextMark = castTo gTypeTextMark "TextMark"

gTypeTextMark :: GType
gTypeTextMark =
  gtk_text_mark_get_type
{-# LINE 1194 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Object

newtype Object = Object (ForeignPtr (Object)) deriving (Eq,Ord)

mkObject = (Object, objectUnrefFromMainloop)
unObject (Object o) = o

class GObjectClass o => ObjectClass o
toObject :: ObjectClass o => o -> Object
toObject = unsafeCastGObject . toGObject

instance ObjectClass Object
instance GObjectClass Object where
  toGObject = GObject . castForeignPtr . unObject
  unsafeCastGObject = Object . castForeignPtr . unGObject

castToObject :: GObjectClass obj => obj -> Object
castToObject = castTo gTypeObject "Object"

gTypeObject :: GType
gTypeObject =
  gtk_object_get_type
{-# LINE 1217 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Widget

newtype Widget = Widget (ForeignPtr (Widget)) deriving (Eq,Ord)

mkWidget = (Widget, objectUnrefFromMainloop)
unWidget (Widget o) = o

class ObjectClass o => WidgetClass o
toWidget :: WidgetClass o => o -> Widget
toWidget = unsafeCastGObject . toGObject

instance WidgetClass Widget
instance ObjectClass Widget
instance GObjectClass Widget where
  toGObject = GObject . castForeignPtr . unWidget
  unsafeCastGObject = Widget . castForeignPtr . unGObject

castToWidget :: GObjectClass obj => obj -> Widget
castToWidget = castTo gTypeWidget "Widget"

gTypeWidget :: GType
gTypeWidget =
  gtk_widget_get_type
{-# LINE 1241 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************************** Misc

newtype Misc = Misc (ForeignPtr (Misc)) deriving (Eq,Ord)

mkMisc = (Misc, objectUnrefFromMainloop)
unMisc (Misc o) = o

class WidgetClass o => MiscClass o
toMisc :: MiscClass o => o -> Misc
toMisc = unsafeCastGObject . toGObject

instance MiscClass Misc
instance WidgetClass Misc
instance ObjectClass Misc
instance GObjectClass Misc where
  toGObject = GObject . castForeignPtr . unMisc
  unsafeCastGObject = Misc . castForeignPtr . unGObject

castToMisc :: GObjectClass obj => obj -> Misc
castToMisc = castTo gTypeMisc "Misc"

gTypeMisc :: GType
gTypeMisc =
  gtk_misc_get_type
{-# LINE 1266 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Label

newtype Label = Label (ForeignPtr (Label)) deriving (Eq,Ord)

mkLabel = (Label, objectUnrefFromMainloop)
unLabel (Label o) = o

class MiscClass o => LabelClass o
toLabel :: LabelClass o => o -> Label
toLabel = unsafeCastGObject . toGObject

instance LabelClass Label
instance MiscClass Label
instance WidgetClass Label
instance ObjectClass Label
instance GObjectClass Label where
  toGObject = GObject . castForeignPtr . unLabel
  unsafeCastGObject = Label . castForeignPtr . unGObject

castToLabel :: GObjectClass obj => obj -> Label
castToLabel = castTo gTypeLabel "Label"

gTypeLabel :: GType
gTypeLabel =
  gtk_label_get_type
{-# LINE 1292 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** AccelLabel

newtype AccelLabel = AccelLabel (ForeignPtr (AccelLabel)) deriving (Eq,Ord)

mkAccelLabel = (AccelLabel, objectUnrefFromMainloop)
unAccelLabel (AccelLabel o) = o

class LabelClass o => AccelLabelClass o
toAccelLabel :: AccelLabelClass o => o -> AccelLabel
toAccelLabel = unsafeCastGObject . toGObject

instance AccelLabelClass AccelLabel
instance LabelClass AccelLabel
instance MiscClass AccelLabel
instance WidgetClass AccelLabel
instance ObjectClass AccelLabel
instance GObjectClass AccelLabel where
  toGObject = GObject . castForeignPtr . unAccelLabel
  unsafeCastGObject = AccelLabel . castForeignPtr . unGObject

castToAccelLabel :: GObjectClass obj => obj -> AccelLabel
castToAccelLabel = castTo gTypeAccelLabel "AccelLabel"

gTypeAccelLabel :: GType
gTypeAccelLabel =
  gtk_accel_label_get_type
{-# LINE 1319 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** TipsQuery

newtype TipsQuery = TipsQuery (ForeignPtr (TipsQuery)) deriving (Eq,Ord)

mkTipsQuery = (TipsQuery, objectUnrefFromMainloop)
unTipsQuery (TipsQuery o) = o

class LabelClass o => TipsQueryClass o
toTipsQuery :: TipsQueryClass o => o -> TipsQuery
toTipsQuery = unsafeCastGObject . toGObject

instance TipsQueryClass TipsQuery
instance LabelClass TipsQuery
instance MiscClass TipsQuery
instance WidgetClass TipsQuery
instance ObjectClass TipsQuery
instance GObjectClass TipsQuery where
  toGObject = GObject . castForeignPtr . unTipsQuery
  unsafeCastGObject = TipsQuery . castForeignPtr . unGObject

castToTipsQuery :: GObjectClass obj => obj -> TipsQuery
castToTipsQuery = castTo gTypeTipsQuery "TipsQuery"

gTypeTipsQuery :: GType
gTypeTipsQuery =
  gtk_tips_query_get_type
{-# LINE 1346 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Arrow

newtype Arrow = Arrow (ForeignPtr (Arrow)) deriving (Eq,Ord)

mkArrow = (Arrow, objectUnrefFromMainloop)
unArrow (Arrow o) = o

class MiscClass o => ArrowClass o
toArrow :: ArrowClass o => o -> Arrow
toArrow = unsafeCastGObject . toGObject

instance ArrowClass Arrow
instance MiscClass Arrow
instance WidgetClass Arrow
instance ObjectClass Arrow
instance GObjectClass Arrow where
  toGObject = GObject . castForeignPtr . unArrow
  unsafeCastGObject = Arrow . castForeignPtr . unGObject

castToArrow :: GObjectClass obj => obj -> Arrow
castToArrow = castTo gTypeArrow "Arrow"

gTypeArrow :: GType
gTypeArrow =
  gtk_arrow_get_type
{-# LINE 1372 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Image

newtype Image = Image (ForeignPtr (Image)) deriving (Eq,Ord)

mkImage = (Image, objectUnrefFromMainloop)
unImage (Image o) = o

class MiscClass o => ImageClass o
toImage :: ImageClass o => o -> Image
toImage = unsafeCastGObject . toGObject

instance ImageClass Image
instance MiscClass Image
instance WidgetClass Image
instance ObjectClass Image
instance GObjectClass Image where
  toGObject = GObject . castForeignPtr . unImage
  unsafeCastGObject = Image . castForeignPtr . unGObject

castToImage :: GObjectClass obj => obj -> Image
castToImage = castTo gTypeImage "Image"

gTypeImage :: GType
gTypeImage =
  gtk_image_get_type
{-# LINE 1398 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** Container

newtype Container = Container (ForeignPtr (Container)) deriving (Eq,Ord)

mkContainer = (Container, objectUnrefFromMainloop)
unContainer (Container o) = o

class WidgetClass o => ContainerClass o
toContainer :: ContainerClass o => o -> Container
toContainer = unsafeCastGObject . toGObject

instance ContainerClass Container
instance WidgetClass Container
instance ObjectClass Container
instance GObjectClass Container where
  toGObject = GObject . castForeignPtr . unContainer
  unsafeCastGObject = Container . castForeignPtr . unGObject

castToContainer :: GObjectClass obj => obj -> Container
castToContainer = castTo gTypeContainer "Container"

gTypeContainer :: GType
gTypeContainer =
  gtk_container_get_type
{-# LINE 1423 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************************ Bin

newtype Bin = Bin (ForeignPtr (Bin)) deriving (Eq,Ord)

mkBin = (Bin, objectUnrefFromMainloop)
unBin (Bin o) = o

class ContainerClass o => BinClass o
toBin :: BinClass o => o -> Bin
toBin = unsafeCastGObject . toGObject

instance BinClass Bin
instance ContainerClass Bin
instance WidgetClass Bin
instance ObjectClass Bin
instance GObjectClass Bin where
  toGObject = GObject . castForeignPtr . unBin
  unsafeCastGObject = Bin . castForeignPtr . unGObject

castToBin :: GObjectClass obj => obj -> Bin
castToBin = castTo gTypeBin "Bin"

gTypeBin :: GType
gTypeBin =
  gtk_bin_get_type
{-# LINE 1449 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** Alignment

newtype Alignment = Alignment (ForeignPtr (Alignment)) deriving (Eq,Ord)

mkAlignment = (Alignment, objectUnrefFromMainloop)
unAlignment (Alignment o) = o

class BinClass o => AlignmentClass o
toAlignment :: AlignmentClass o => o -> Alignment
toAlignment = unsafeCastGObject . toGObject

instance AlignmentClass Alignment
instance BinClass Alignment
instance ContainerClass Alignment
instance WidgetClass Alignment
instance ObjectClass Alignment
instance GObjectClass Alignment where
  toGObject = GObject . castForeignPtr . unAlignment
  unsafeCastGObject = Alignment . castForeignPtr . unGObject

castToAlignment :: GObjectClass obj => obj -> Alignment
castToAlignment = castTo gTypeAlignment "Alignment"

gTypeAlignment :: GType
gTypeAlignment =
  gtk_alignment_get_type
{-# LINE 1476 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Frame

newtype Frame = Frame (ForeignPtr (Frame)) deriving (Eq,Ord)

mkFrame = (Frame, objectUnrefFromMainloop)
unFrame (Frame o) = o

class BinClass o => FrameClass o
toFrame :: FrameClass o => o -> Frame
toFrame = unsafeCastGObject . toGObject

instance FrameClass Frame
instance BinClass Frame
instance ContainerClass Frame
instance WidgetClass Frame
instance ObjectClass Frame
instance GObjectClass Frame where
  toGObject = GObject . castForeignPtr . unFrame
  unsafeCastGObject = Frame . castForeignPtr . unGObject

castToFrame :: GObjectClass obj => obj -> Frame
castToFrame = castTo gTypeFrame "Frame"

gTypeFrame :: GType
gTypeFrame =
  gtk_frame_get_type
{-# LINE 1503 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** AspectFrame

newtype AspectFrame = AspectFrame (ForeignPtr (AspectFrame)) deriving (Eq,Ord)

mkAspectFrame = (AspectFrame, objectUnrefFromMainloop)
unAspectFrame (AspectFrame o) = o

class FrameClass o => AspectFrameClass o
toAspectFrame :: AspectFrameClass o => o -> AspectFrame
toAspectFrame = unsafeCastGObject . toGObject

instance AspectFrameClass AspectFrame
instance FrameClass AspectFrame
instance BinClass AspectFrame
instance ContainerClass AspectFrame
instance WidgetClass AspectFrame
instance ObjectClass AspectFrame
instance GObjectClass AspectFrame where
  toGObject = GObject . castForeignPtr . unAspectFrame
  unsafeCastGObject = AspectFrame . castForeignPtr . unGObject

castToAspectFrame :: GObjectClass obj => obj -> AspectFrame
castToAspectFrame = castTo gTypeAspectFrame "AspectFrame"

gTypeAspectFrame :: GType
gTypeAspectFrame =
  gtk_aspect_frame_get_type
{-# LINE 1531 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Button

newtype Button = Button (ForeignPtr (Button)) deriving (Eq,Ord)

mkButton = (Button, objectUnrefFromMainloop)
unButton (Button o) = o

class BinClass o => ButtonClass o
toButton :: ButtonClass o => o -> Button
toButton = unsafeCastGObject . toGObject

instance ButtonClass Button
instance BinClass Button
instance ContainerClass Button
instance WidgetClass Button
instance ObjectClass Button
instance GObjectClass Button where
  toGObject = GObject . castForeignPtr . unButton
  unsafeCastGObject = Button . castForeignPtr . unGObject

castToButton :: GObjectClass obj => obj -> Button
castToButton = castTo gTypeButton "Button"

gTypeButton :: GType
gTypeButton =
  gtk_button_get_type
{-# LINE 1558 "./Graphics/UI/Gtk/Types.chs" #-}

-- *************************************************************** ToggleButton

newtype ToggleButton = ToggleButton (ForeignPtr (ToggleButton)) deriving (Eq,Ord)

mkToggleButton = (ToggleButton, objectUnrefFromMainloop)
unToggleButton (ToggleButton o) = o

class ButtonClass o => ToggleButtonClass o
toToggleButton :: ToggleButtonClass o => o -> ToggleButton
toToggleButton = unsafeCastGObject . toGObject

instance ToggleButtonClass ToggleButton
instance ButtonClass ToggleButton
instance BinClass ToggleButton
instance ContainerClass ToggleButton
instance WidgetClass ToggleButton
instance ObjectClass ToggleButton
instance GObjectClass ToggleButton where
  toGObject = GObject . castForeignPtr . unToggleButton
  unsafeCastGObject = ToggleButton . castForeignPtr . unGObject

castToToggleButton :: GObjectClass obj => obj -> ToggleButton
castToToggleButton = castTo gTypeToggleButton "ToggleButton"

gTypeToggleButton :: GType
gTypeToggleButton =
  gtk_toggle_button_get_type
{-# LINE 1586 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** CheckButton

newtype CheckButton = CheckButton (ForeignPtr (CheckButton)) deriving (Eq,Ord)

mkCheckButton = (CheckButton, objectUnrefFromMainloop)
unCheckButton (CheckButton o) = o

class ToggleButtonClass o => CheckButtonClass o
toCheckButton :: CheckButtonClass o => o -> CheckButton
toCheckButton = unsafeCastGObject . toGObject

instance CheckButtonClass CheckButton
instance ToggleButtonClass CheckButton
instance ButtonClass CheckButton
instance BinClass CheckButton
instance ContainerClass CheckButton
instance WidgetClass CheckButton
instance ObjectClass CheckButton
instance GObjectClass CheckButton where
  toGObject = GObject . castForeignPtr . unCheckButton
  unsafeCastGObject = CheckButton . castForeignPtr . unGObject

castToCheckButton :: GObjectClass obj => obj -> CheckButton
castToCheckButton = castTo gTypeCheckButton "CheckButton"

gTypeCheckButton :: GType
gTypeCheckButton =
  gtk_check_button_get_type
{-# LINE 1615 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** RadioButton

newtype RadioButton = RadioButton (ForeignPtr (RadioButton)) deriving (Eq,Ord)

mkRadioButton = (RadioButton, objectUnrefFromMainloop)
unRadioButton (RadioButton o) = o

class CheckButtonClass o => RadioButtonClass o
toRadioButton :: RadioButtonClass o => o -> RadioButton
toRadioButton = unsafeCastGObject . toGObject

instance RadioButtonClass RadioButton
instance CheckButtonClass RadioButton
instance ToggleButtonClass RadioButton
instance ButtonClass RadioButton
instance BinClass RadioButton
instance ContainerClass RadioButton
instance WidgetClass RadioButton
instance ObjectClass RadioButton
instance GObjectClass RadioButton where
  toGObject = GObject . castForeignPtr . unRadioButton
  unsafeCastGObject = RadioButton . castForeignPtr . unGObject

castToRadioButton :: GObjectClass obj => obj -> RadioButton
castToRadioButton = castTo gTypeRadioButton "RadioButton"

gTypeRadioButton :: GType
gTypeRadioButton =
  gtk_radio_button_get_type
{-# LINE 1645 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** ColorButton

newtype ColorButton = ColorButton (ForeignPtr (ColorButton)) deriving (Eq,Ord)

mkColorButton = (ColorButton, objectUnrefFromMainloop)
unColorButton (ColorButton o) = o

class ButtonClass o => ColorButtonClass o
toColorButton :: ColorButtonClass o => o -> ColorButton
toColorButton = unsafeCastGObject . toGObject

instance ColorButtonClass ColorButton
instance ButtonClass ColorButton
instance BinClass ColorButton
instance ContainerClass ColorButton
instance WidgetClass ColorButton
instance ObjectClass ColorButton
instance GObjectClass ColorButton where
  toGObject = GObject . castForeignPtr . unColorButton
  unsafeCastGObject = ColorButton . castForeignPtr . unGObject

castToColorButton :: GObjectClass obj => obj -> ColorButton
castToColorButton = castTo gTypeColorButton "ColorButton"

gTypeColorButton :: GType
gTypeColorButton =
  gtk_color_button_get_type
{-# LINE 1673 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** FontButton

newtype FontButton = FontButton (ForeignPtr (FontButton)) deriving (Eq,Ord)

mkFontButton = (FontButton, objectUnrefFromMainloop)
unFontButton (FontButton o) = o

class ButtonClass o => FontButtonClass o
toFontButton :: FontButtonClass o => o -> FontButton
toFontButton = unsafeCastGObject . toGObject

instance FontButtonClass FontButton
instance ButtonClass FontButton
instance BinClass FontButton
instance ContainerClass FontButton
instance WidgetClass FontButton
instance ObjectClass FontButton
instance GObjectClass FontButton where
  toGObject = GObject . castForeignPtr . unFontButton
  unsafeCastGObject = FontButton . castForeignPtr . unGObject

castToFontButton :: GObjectClass obj => obj -> FontButton
castToFontButton = castTo gTypeFontButton "FontButton"

gTypeFontButton :: GType
gTypeFontButton =
  gtk_font_button_get_type
{-# LINE 1701 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** OptionMenu

newtype OptionMenu = OptionMenu (ForeignPtr (OptionMenu)) deriving (Eq,Ord)

mkOptionMenu = (OptionMenu, objectUnrefFromMainloop)
unOptionMenu (OptionMenu o) = o

class ButtonClass o => OptionMenuClass o
toOptionMenu :: OptionMenuClass o => o -> OptionMenu
toOptionMenu = unsafeCastGObject . toGObject

instance OptionMenuClass OptionMenu
instance ButtonClass OptionMenu
instance BinClass OptionMenu
instance ContainerClass OptionMenu
instance WidgetClass OptionMenu
instance ObjectClass OptionMenu
instance GObjectClass OptionMenu where
  toGObject = GObject . castForeignPtr . unOptionMenu
  unsafeCastGObject = OptionMenu . castForeignPtr . unGObject

castToOptionMenu :: GObjectClass obj => obj -> OptionMenu
castToOptionMenu = castTo gTypeOptionMenu "OptionMenu"

gTypeOptionMenu :: GType
gTypeOptionMenu =
  gtk_option_menu_get_type
{-# LINE 1729 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************************** Item

newtype Item = Item (ForeignPtr (Item)) deriving (Eq,Ord)

mkItem = (Item, objectUnrefFromMainloop)
unItem (Item o) = o

class BinClass o => ItemClass o
toItem :: ItemClass o => o -> Item
toItem = unsafeCastGObject . toGObject

instance ItemClass Item
instance BinClass Item
instance ContainerClass Item
instance WidgetClass Item
instance ObjectClass Item
instance GObjectClass Item where
  toGObject = GObject . castForeignPtr . unItem
  unsafeCastGObject = Item . castForeignPtr . unGObject

castToItem :: GObjectClass obj => obj -> Item
castToItem = castTo gTypeItem "Item"

gTypeItem :: GType
gTypeItem =
  gtk_item_get_type
{-# LINE 1756 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* MenuItem

newtype MenuItem = MenuItem (ForeignPtr (MenuItem)) deriving (Eq,Ord)

mkMenuItem = (MenuItem, objectUnrefFromMainloop)
unMenuItem (MenuItem o) = o

class ItemClass o => MenuItemClass o
toMenuItem :: MenuItemClass o => o -> MenuItem
toMenuItem = unsafeCastGObject . toGObject

instance MenuItemClass MenuItem
instance ItemClass MenuItem
instance BinClass MenuItem
instance ContainerClass MenuItem
instance WidgetClass MenuItem
instance ObjectClass MenuItem
instance GObjectClass MenuItem where
  toGObject = GObject . castForeignPtr . unMenuItem
  unsafeCastGObject = MenuItem . castForeignPtr . unGObject

castToMenuItem :: GObjectClass obj => obj -> MenuItem
castToMenuItem = castTo gTypeMenuItem "MenuItem"

gTypeMenuItem :: GType
gTypeMenuItem =
  gtk_menu_item_get_type
{-# LINE 1784 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** CheckMenuItem

newtype CheckMenuItem = CheckMenuItem (ForeignPtr (CheckMenuItem)) deriving (Eq,Ord)

mkCheckMenuItem = (CheckMenuItem, objectUnrefFromMainloop)
unCheckMenuItem (CheckMenuItem o) = o

class MenuItemClass o => CheckMenuItemClass o
toCheckMenuItem :: CheckMenuItemClass o => o -> CheckMenuItem
toCheckMenuItem = unsafeCastGObject . toGObject

instance CheckMenuItemClass CheckMenuItem
instance MenuItemClass CheckMenuItem
instance ItemClass CheckMenuItem
instance BinClass CheckMenuItem
instance ContainerClass CheckMenuItem
instance WidgetClass CheckMenuItem
instance ObjectClass CheckMenuItem
instance GObjectClass CheckMenuItem where
  toGObject = GObject . castForeignPtr . unCheckMenuItem
  unsafeCastGObject = CheckMenuItem . castForeignPtr . unGObject

castToCheckMenuItem :: GObjectClass obj => obj -> CheckMenuItem
castToCheckMenuItem = castTo gTypeCheckMenuItem "CheckMenuItem"

gTypeCheckMenuItem :: GType
gTypeCheckMenuItem =
  gtk_check_menu_item_get_type
{-# LINE 1813 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** RadioMenuItem

newtype RadioMenuItem = RadioMenuItem (ForeignPtr (RadioMenuItem)) deriving (Eq,Ord)

mkRadioMenuItem = (RadioMenuItem, objectUnrefFromMainloop)
unRadioMenuItem (RadioMenuItem o) = o

class CheckMenuItemClass o => RadioMenuItemClass o
toRadioMenuItem :: RadioMenuItemClass o => o -> RadioMenuItem
toRadioMenuItem = unsafeCastGObject . toGObject

instance RadioMenuItemClass RadioMenuItem
instance CheckMenuItemClass RadioMenuItem
instance MenuItemClass RadioMenuItem
instance ItemClass RadioMenuItem
instance BinClass RadioMenuItem
instance ContainerClass RadioMenuItem
instance WidgetClass RadioMenuItem
instance ObjectClass RadioMenuItem
instance GObjectClass RadioMenuItem where
  toGObject = GObject . castForeignPtr . unRadioMenuItem
  unsafeCastGObject = RadioMenuItem . castForeignPtr . unGObject

castToRadioMenuItem :: GObjectClass obj => obj -> RadioMenuItem
castToRadioMenuItem = castTo gTypeRadioMenuItem "RadioMenuItem"

gTypeRadioMenuItem :: GType
gTypeRadioMenuItem =
  gtk_radio_menu_item_get_type
{-# LINE 1843 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************ TearoffMenuItem

newtype TearoffMenuItem = TearoffMenuItem (ForeignPtr (TearoffMenuItem)) deriving (Eq,Ord)

mkTearoffMenuItem = (TearoffMenuItem, objectUnrefFromMainloop)
unTearoffMenuItem (TearoffMenuItem o) = o

class MenuItemClass o => TearoffMenuItemClass o
toTearoffMenuItem :: TearoffMenuItemClass o => o -> TearoffMenuItem
toTearoffMenuItem = unsafeCastGObject . toGObject

instance TearoffMenuItemClass TearoffMenuItem
instance MenuItemClass TearoffMenuItem
instance ItemClass TearoffMenuItem
instance BinClass TearoffMenuItem
instance ContainerClass TearoffMenuItem
instance WidgetClass TearoffMenuItem
instance ObjectClass TearoffMenuItem
instance GObjectClass TearoffMenuItem where
  toGObject = GObject . castForeignPtr . unTearoffMenuItem
  unsafeCastGObject = TearoffMenuItem . castForeignPtr . unGObject

castToTearoffMenuItem :: GObjectClass obj => obj -> TearoffMenuItem
castToTearoffMenuItem = castTo gTypeTearoffMenuItem "TearoffMenuItem"

gTypeTearoffMenuItem :: GType
gTypeTearoffMenuItem =
  gtk_tearoff_menu_item_get_type
{-# LINE 1872 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** ImageMenuItem

newtype ImageMenuItem = ImageMenuItem (ForeignPtr (ImageMenuItem)) deriving (Eq,Ord)

mkImageMenuItem = (ImageMenuItem, objectUnrefFromMainloop)
unImageMenuItem (ImageMenuItem o) = o

class MenuItemClass o => ImageMenuItemClass o
toImageMenuItem :: ImageMenuItemClass o => o -> ImageMenuItem
toImageMenuItem = unsafeCastGObject . toGObject

instance ImageMenuItemClass ImageMenuItem
instance MenuItemClass ImageMenuItem
instance ItemClass ImageMenuItem
instance BinClass ImageMenuItem
instance ContainerClass ImageMenuItem
instance WidgetClass ImageMenuItem
instance ObjectClass ImageMenuItem
instance GObjectClass ImageMenuItem where
  toGObject = GObject . castForeignPtr . unImageMenuItem
  unsafeCastGObject = ImageMenuItem . castForeignPtr . unGObject

castToImageMenuItem :: GObjectClass obj => obj -> ImageMenuItem
castToImageMenuItem = castTo gTypeImageMenuItem "ImageMenuItem"

gTypeImageMenuItem :: GType
gTypeImageMenuItem =
  gtk_image_menu_item_get_type
{-# LINE 1901 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************** SeparatorMenuItem

newtype SeparatorMenuItem = SeparatorMenuItem (ForeignPtr (SeparatorMenuItem)) deriving (Eq,Ord)

mkSeparatorMenuItem = (SeparatorMenuItem, objectUnrefFromMainloop)
unSeparatorMenuItem (SeparatorMenuItem o) = o

class MenuItemClass o => SeparatorMenuItemClass o
toSeparatorMenuItem :: SeparatorMenuItemClass o => o -> SeparatorMenuItem
toSeparatorMenuItem = unsafeCastGObject . toGObject

instance SeparatorMenuItemClass SeparatorMenuItem
instance MenuItemClass SeparatorMenuItem
instance ItemClass SeparatorMenuItem
instance BinClass SeparatorMenuItem
instance ContainerClass SeparatorMenuItem
instance WidgetClass SeparatorMenuItem
instance ObjectClass SeparatorMenuItem
instance GObjectClass SeparatorMenuItem where
  toGObject = GObject . castForeignPtr . unSeparatorMenuItem
  unsafeCastGObject = SeparatorMenuItem . castForeignPtr . unGObject

castToSeparatorMenuItem :: GObjectClass obj => obj -> SeparatorMenuItem
castToSeparatorMenuItem = castTo gTypeSeparatorMenuItem "SeparatorMenuItem"

gTypeSeparatorMenuItem :: GType
gTypeSeparatorMenuItem =
  gtk_separator_menu_item_get_type
{-# LINE 1930 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* ListItem

newtype ListItem = ListItem (ForeignPtr (ListItem)) deriving (Eq,Ord)

mkListItem = (ListItem, objectUnrefFromMainloop)
unListItem (ListItem o) = o

class ItemClass o => ListItemClass o
toListItem :: ListItemClass o => o -> ListItem
toListItem = unsafeCastGObject . toGObject

instance ListItemClass ListItem
instance ItemClass ListItem
instance BinClass ListItem
instance ContainerClass ListItem
instance WidgetClass ListItem
instance ObjectClass ListItem
instance GObjectClass ListItem where
  toGObject = GObject . castForeignPtr . unListItem
  unsafeCastGObject = ListItem . castForeignPtr . unGObject

castToListItem :: GObjectClass obj => obj -> ListItem
castToListItem = castTo gTypeListItem "ListItem"

gTypeListItem :: GType
gTypeListItem =
  gtk_list_item_get_type
{-# LINE 1958 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Window

newtype Window = Window (ForeignPtr (Window)) deriving (Eq,Ord)

mkWindow = (Window, objectUnrefFromMainloop)
unWindow (Window o) = o

class BinClass o => WindowClass o
toWindow :: WindowClass o => o -> Window
toWindow = unsafeCastGObject . toGObject

instance WindowClass Window
instance BinClass Window
instance ContainerClass Window
instance WidgetClass Window
instance ObjectClass Window
instance GObjectClass Window where
  toGObject = GObject . castForeignPtr . unWindow
  unsafeCastGObject = Window . castForeignPtr . unGObject

castToWindow :: GObjectClass obj => obj -> Window
castToWindow = castTo gTypeWindow "Window"

gTypeWindow :: GType
gTypeWindow =
  gtk_window_get_type
{-# LINE 1985 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Dialog

newtype Dialog = Dialog (ForeignPtr (Dialog)) deriving (Eq,Ord)

mkDialog = (Dialog, objectUnrefFromMainloop)
unDialog (Dialog o) = o

class WindowClass o => DialogClass o
toDialog :: DialogClass o => o -> Dialog
toDialog = unsafeCastGObject . toGObject

instance DialogClass Dialog
instance WindowClass Dialog
instance BinClass Dialog
instance ContainerClass Dialog
instance WidgetClass Dialog
instance ObjectClass Dialog
instance GObjectClass Dialog where
  toGObject = GObject . castForeignPtr . unDialog
  unsafeCastGObject = Dialog . castForeignPtr . unGObject

castToDialog :: GObjectClass obj => obj -> Dialog
castToDialog = castTo gTypeDialog "Dialog"

gTypeDialog :: GType
gTypeDialog =
  gtk_dialog_get_type
{-# LINE 2013 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** AboutDialog

newtype AboutDialog = AboutDialog (ForeignPtr (AboutDialog)) deriving (Eq,Ord)

mkAboutDialog = (AboutDialog, objectUnrefFromMainloop)
unAboutDialog (AboutDialog o) = o

class DialogClass o => AboutDialogClass o
toAboutDialog :: AboutDialogClass o => o -> AboutDialog
toAboutDialog = unsafeCastGObject . toGObject

instance AboutDialogClass AboutDialog
instance DialogClass AboutDialog
instance WindowClass AboutDialog
instance BinClass AboutDialog
instance ContainerClass AboutDialog
instance WidgetClass AboutDialog
instance ObjectClass AboutDialog
instance GObjectClass AboutDialog where
  toGObject = GObject . castForeignPtr . unAboutDialog
  unsafeCastGObject = AboutDialog . castForeignPtr . unGObject

castToAboutDialog :: GObjectClass obj => obj -> AboutDialog
castToAboutDialog = castTo gTypeAboutDialog "AboutDialog"

gTypeAboutDialog :: GType
gTypeAboutDialog =
  gtk_about_dialog_get_type
{-# LINE 2042 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************* ColorSelectionDialog

newtype ColorSelectionDialog = ColorSelectionDialog (ForeignPtr (ColorSelectionDialog)) deriving (Eq,Ord)

mkColorSelectionDialog = (ColorSelectionDialog, objectUnrefFromMainloop)
unColorSelectionDialog (ColorSelectionDialog o) = o

class DialogClass o => ColorSelectionDialogClass o
toColorSelectionDialog :: ColorSelectionDialogClass o => o -> ColorSelectionDialog
toColorSelectionDialog = unsafeCastGObject . toGObject

instance ColorSelectionDialogClass ColorSelectionDialog
instance DialogClass ColorSelectionDialog
instance WindowClass ColorSelectionDialog
instance BinClass ColorSelectionDialog
instance ContainerClass ColorSelectionDialog
instance WidgetClass ColorSelectionDialog
instance ObjectClass ColorSelectionDialog
instance GObjectClass ColorSelectionDialog where
  toGObject = GObject . castForeignPtr . unColorSelectionDialog
  unsafeCastGObject = ColorSelectionDialog . castForeignPtr . unGObject

castToColorSelectionDialog :: GObjectClass obj => obj -> ColorSelectionDialog
castToColorSelectionDialog = castTo gTypeColorSelectionDialog "ColorSelectionDialog"

gTypeColorSelectionDialog :: GType
gTypeColorSelectionDialog =
  gtk_color_selection_dialog_get_type
{-# LINE 2071 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** FileSelection

newtype FileSelection = FileSelection (ForeignPtr (FileSelection)) deriving (Eq,Ord)

mkFileSelection = (FileSelection, objectUnrefFromMainloop)
unFileSelection (FileSelection o) = o

class DialogClass o => FileSelectionClass o
toFileSelection :: FileSelectionClass o => o -> FileSelection
toFileSelection = unsafeCastGObject . toGObject

instance FileSelectionClass FileSelection
instance DialogClass FileSelection
instance WindowClass FileSelection
instance BinClass FileSelection
instance ContainerClass FileSelection
instance WidgetClass FileSelection
instance ObjectClass FileSelection
instance GObjectClass FileSelection where
  toGObject = GObject . castForeignPtr . unFileSelection
  unsafeCastGObject = FileSelection . castForeignPtr . unGObject

castToFileSelection :: GObjectClass obj => obj -> FileSelection
castToFileSelection = castTo gTypeFileSelection "FileSelection"

gTypeFileSelection :: GType
gTypeFileSelection =
  gtk_file_selection_get_type
{-# LINE 2100 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************** FileChooserDialog

newtype FileChooserDialog = FileChooserDialog (ForeignPtr (FileChooserDialog)) deriving (Eq,Ord)

mkFileChooserDialog = (FileChooserDialog, objectUnrefFromMainloop)
unFileChooserDialog (FileChooserDialog o) = o

class DialogClass o => FileChooserDialogClass o
toFileChooserDialog :: FileChooserDialogClass o => o -> FileChooserDialog
toFileChooserDialog = unsafeCastGObject . toGObject

instance FileChooserDialogClass FileChooserDialog
instance DialogClass FileChooserDialog
instance WindowClass FileChooserDialog
instance BinClass FileChooserDialog
instance ContainerClass FileChooserDialog
instance WidgetClass FileChooserDialog
instance ObjectClass FileChooserDialog
instance GObjectClass FileChooserDialog where
  toGObject = GObject . castForeignPtr . unFileChooserDialog
  unsafeCastGObject = FileChooserDialog . castForeignPtr . unGObject

castToFileChooserDialog :: GObjectClass obj => obj -> FileChooserDialog
castToFileChooserDialog = castTo gTypeFileChooserDialog "FileChooserDialog"

gTypeFileChooserDialog :: GType
gTypeFileChooserDialog =
  gtk_file_chooser_dialog_get_type
{-# LINE 2129 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************** FontSelectionDialog

newtype FontSelectionDialog = FontSelectionDialog (ForeignPtr (FontSelectionDialog)) deriving (Eq,Ord)

mkFontSelectionDialog = (FontSelectionDialog, objectUnrefFromMainloop)
unFontSelectionDialog (FontSelectionDialog o) = o

class DialogClass o => FontSelectionDialogClass o
toFontSelectionDialog :: FontSelectionDialogClass o => o -> FontSelectionDialog
toFontSelectionDialog = unsafeCastGObject . toGObject

instance FontSelectionDialogClass FontSelectionDialog
instance DialogClass FontSelectionDialog
instance WindowClass FontSelectionDialog
instance BinClass FontSelectionDialog
instance ContainerClass FontSelectionDialog
instance WidgetClass FontSelectionDialog
instance ObjectClass FontSelectionDialog
instance GObjectClass FontSelectionDialog where
  toGObject = GObject . castForeignPtr . unFontSelectionDialog
  unsafeCastGObject = FontSelectionDialog . castForeignPtr . unGObject

castToFontSelectionDialog :: GObjectClass obj => obj -> FontSelectionDialog
castToFontSelectionDialog = castTo gTypeFontSelectionDialog "FontSelectionDialog"

gTypeFontSelectionDialog :: GType
gTypeFontSelectionDialog =
  gtk_font_selection_dialog_get_type
{-# LINE 2158 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** InputDialog

newtype InputDialog = InputDialog (ForeignPtr (InputDialog)) deriving (Eq,Ord)

mkInputDialog = (InputDialog, objectUnrefFromMainloop)
unInputDialog (InputDialog o) = o

class DialogClass o => InputDialogClass o
toInputDialog :: InputDialogClass o => o -> InputDialog
toInputDialog = unsafeCastGObject . toGObject

instance InputDialogClass InputDialog
instance DialogClass InputDialog
instance WindowClass InputDialog
instance BinClass InputDialog
instance ContainerClass InputDialog
instance WidgetClass InputDialog
instance ObjectClass InputDialog
instance GObjectClass InputDialog where
  toGObject = GObject . castForeignPtr . unInputDialog
  unsafeCastGObject = InputDialog . castForeignPtr . unGObject

castToInputDialog :: GObjectClass obj => obj -> InputDialog
castToInputDialog = castTo gTypeInputDialog "InputDialog"

gTypeInputDialog :: GType
gTypeInputDialog =
  gtk_input_dialog_get_type
{-# LINE 2187 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** MessageDialog

newtype MessageDialog = MessageDialog (ForeignPtr (MessageDialog)) deriving (Eq,Ord)

mkMessageDialog = (MessageDialog, objectUnrefFromMainloop)
unMessageDialog (MessageDialog o) = o

class DialogClass o => MessageDialogClass o
toMessageDialog :: MessageDialogClass o => o -> MessageDialog
toMessageDialog = unsafeCastGObject . toGObject

instance MessageDialogClass MessageDialog
instance DialogClass MessageDialog
instance WindowClass MessageDialog
instance BinClass MessageDialog
instance ContainerClass MessageDialog
instance WidgetClass MessageDialog
instance ObjectClass MessageDialog
instance GObjectClass MessageDialog where
  toGObject = GObject . castForeignPtr . unMessageDialog
  unsafeCastGObject = MessageDialog . castForeignPtr . unGObject

castToMessageDialog :: GObjectClass obj => obj -> MessageDialog
castToMessageDialog = castTo gTypeMessageDialog "MessageDialog"

gTypeMessageDialog :: GType
gTypeMessageDialog =
  gtk_message_dialog_get_type
{-# LINE 2216 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************************** Plug

newtype Plug = Plug (ForeignPtr (Plug)) deriving (Eq,Ord)

mkPlug = (Plug, objectUnrefFromMainloop)
unPlug (Plug o) = o

class WindowClass o => PlugClass o
toPlug :: PlugClass o => o -> Plug
toPlug = unsafeCastGObject . toGObject

instance PlugClass Plug
instance WindowClass Plug
instance BinClass Plug
instance ContainerClass Plug
instance WidgetClass Plug
instance ObjectClass Plug
instance GObjectClass Plug where
  toGObject = GObject . castForeignPtr . unPlug
  unsafeCastGObject = Plug . castForeignPtr . unGObject

castToPlug :: GObjectClass obj => obj -> Plug
castToPlug = castTo gTypePlug "Plug"

gTypePlug :: GType
gTypePlug =
  gtk_plug_get_type
{-# LINE 2244 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* EventBox

newtype EventBox = EventBox (ForeignPtr (EventBox)) deriving (Eq,Ord)

mkEventBox = (EventBox, objectUnrefFromMainloop)
unEventBox (EventBox o) = o

class BinClass o => EventBoxClass o
toEventBox :: EventBoxClass o => o -> EventBox
toEventBox = unsafeCastGObject . toGObject

instance EventBoxClass EventBox
instance BinClass EventBox
instance ContainerClass EventBox
instance WidgetClass EventBox
instance ObjectClass EventBox
instance GObjectClass EventBox where
  toGObject = GObject . castForeignPtr . unEventBox
  unsafeCastGObject = EventBox . castForeignPtr . unGObject

castToEventBox :: GObjectClass obj => obj -> EventBox
castToEventBox = castTo gTypeEventBox "EventBox"

gTypeEventBox :: GType
gTypeEventBox =
  gtk_event_box_get_type
{-# LINE 2271 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** HandleBox

newtype HandleBox = HandleBox (ForeignPtr (HandleBox)) deriving (Eq,Ord)

mkHandleBox = (HandleBox, objectUnrefFromMainloop)
unHandleBox (HandleBox o) = o

class BinClass o => HandleBoxClass o
toHandleBox :: HandleBoxClass o => o -> HandleBox
toHandleBox = unsafeCastGObject . toGObject

instance HandleBoxClass HandleBox
instance BinClass HandleBox
instance ContainerClass HandleBox
instance WidgetClass HandleBox
instance ObjectClass HandleBox
instance GObjectClass HandleBox where
  toGObject = GObject . castForeignPtr . unHandleBox
  unsafeCastGObject = HandleBox . castForeignPtr . unGObject

castToHandleBox :: GObjectClass obj => obj -> HandleBox
castToHandleBox = castTo gTypeHandleBox "HandleBox"

gTypeHandleBox :: GType
gTypeHandleBox =
  gtk_handle_box_get_type
{-# LINE 2298 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************* ScrolledWindow

newtype ScrolledWindow = ScrolledWindow (ForeignPtr (ScrolledWindow)) deriving (Eq,Ord)

mkScrolledWindow = (ScrolledWindow, objectUnrefFromMainloop)
unScrolledWindow (ScrolledWindow o) = o

class BinClass o => ScrolledWindowClass o
toScrolledWindow :: ScrolledWindowClass o => o -> ScrolledWindow
toScrolledWindow = unsafeCastGObject . toGObject

instance ScrolledWindowClass ScrolledWindow
instance BinClass ScrolledWindow
instance ContainerClass ScrolledWindow
instance WidgetClass ScrolledWindow
instance ObjectClass ScrolledWindow
instance GObjectClass ScrolledWindow where
  toGObject = GObject . castForeignPtr . unScrolledWindow
  unsafeCastGObject = ScrolledWindow . castForeignPtr . unGObject

castToScrolledWindow :: GObjectClass obj => obj -> ScrolledWindow
castToScrolledWindow = castTo gTypeScrolledWindow "ScrolledWindow"

gTypeScrolledWindow :: GType
gTypeScrolledWindow =
  gtk_scrolled_window_get_type
{-# LINE 2325 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* Viewport

newtype Viewport = Viewport (ForeignPtr (Viewport)) deriving (Eq,Ord)

mkViewport = (Viewport, objectUnrefFromMainloop)
unViewport (Viewport o) = o

class BinClass o => ViewportClass o
toViewport :: ViewportClass o => o -> Viewport
toViewport = unsafeCastGObject . toGObject

instance ViewportClass Viewport
instance BinClass Viewport
instance ContainerClass Viewport
instance WidgetClass Viewport
instance ObjectClass Viewport
instance GObjectClass Viewport where
  toGObject = GObject . castForeignPtr . unViewport
  unsafeCastGObject = Viewport . castForeignPtr . unGObject

castToViewport :: GObjectClass obj => obj -> Viewport
castToViewport = castTo gTypeViewport "Viewport"

gTypeViewport :: GType
gTypeViewport =
  gtk_viewport_get_type
{-# LINE 2352 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* Expander

newtype Expander = Expander (ForeignPtr (Expander)) deriving (Eq,Ord)

mkExpander = (Expander, objectUnrefFromMainloop)
unExpander (Expander o) = o

class BinClass o => ExpanderClass o
toExpander :: ExpanderClass o => o -> Expander
toExpander = unsafeCastGObject . toGObject

instance ExpanderClass Expander
instance BinClass Expander
instance ContainerClass Expander
instance WidgetClass Expander
instance ObjectClass Expander
instance GObjectClass Expander where
  toGObject = GObject . castForeignPtr . unExpander
  unsafeCastGObject = Expander . castForeignPtr . unGObject

castToExpander :: GObjectClass obj => obj -> Expander
castToExpander = castTo gTypeExpander "Expander"

gTypeExpander :: GType
gTypeExpander =
  gtk_expander_get_type
{-# LINE 2379 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* ComboBox

newtype ComboBox = ComboBox (ForeignPtr (ComboBox)) deriving (Eq,Ord)

mkComboBox = (ComboBox, objectUnrefFromMainloop)
unComboBox (ComboBox o) = o

class BinClass o => ComboBoxClass o
toComboBox :: ComboBoxClass o => o -> ComboBox
toComboBox = unsafeCastGObject . toGObject

instance ComboBoxClass ComboBox
instance BinClass ComboBox
instance ContainerClass ComboBox
instance WidgetClass ComboBox
instance ObjectClass ComboBox
instance GObjectClass ComboBox where
  toGObject = GObject . castForeignPtr . unComboBox
  unsafeCastGObject = ComboBox . castForeignPtr . unGObject

castToComboBox :: GObjectClass obj => obj -> ComboBox
castToComboBox = castTo gTypeComboBox "ComboBox"

gTypeComboBox :: GType
gTypeComboBox =
  gtk_combo_box_get_type
{-# LINE 2406 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** ComboBoxEntry

newtype ComboBoxEntry = ComboBoxEntry (ForeignPtr (ComboBoxEntry)) deriving (Eq,Ord)

mkComboBoxEntry = (ComboBoxEntry, objectUnrefFromMainloop)
unComboBoxEntry (ComboBoxEntry o) = o

class ComboBoxClass o => ComboBoxEntryClass o
toComboBoxEntry :: ComboBoxEntryClass o => o -> ComboBoxEntry
toComboBoxEntry = unsafeCastGObject . toGObject

instance ComboBoxEntryClass ComboBoxEntry
instance ComboBoxClass ComboBoxEntry
instance BinClass ComboBoxEntry
instance ContainerClass ComboBoxEntry
instance WidgetClass ComboBoxEntry
instance ObjectClass ComboBoxEntry
instance GObjectClass ComboBoxEntry where
  toGObject = GObject . castForeignPtr . unComboBoxEntry
  unsafeCastGObject = ComboBoxEntry . castForeignPtr . unGObject

castToComboBoxEntry :: GObjectClass obj => obj -> ComboBoxEntry
castToComboBoxEntry = castTo gTypeComboBoxEntry "ComboBoxEntry"

gTypeComboBoxEntry :: GType
gTypeComboBoxEntry =
  gtk_combo_box_entry_get_type
{-# LINE 2434 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* ToolItem

newtype ToolItem = ToolItem (ForeignPtr (ToolItem)) deriving (Eq,Ord)

mkToolItem = (ToolItem, objectUnrefFromMainloop)
unToolItem (ToolItem o) = o

class BinClass o => ToolItemClass o
toToolItem :: ToolItemClass o => o -> ToolItem
toToolItem = unsafeCastGObject . toGObject

instance ToolItemClass ToolItem
instance BinClass ToolItem
instance ContainerClass ToolItem
instance WidgetClass ToolItem
instance ObjectClass ToolItem
instance GObjectClass ToolItem where
  toGObject = GObject . castForeignPtr . unToolItem
  unsafeCastGObject = ToolItem . castForeignPtr . unGObject

castToToolItem :: GObjectClass obj => obj -> ToolItem
castToToolItem = castTo gTypeToolItem "ToolItem"

gTypeToolItem :: GType
gTypeToolItem =
  gtk_tool_item_get_type
{-# LINE 2461 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** ToolButton

newtype ToolButton = ToolButton (ForeignPtr (ToolButton)) deriving (Eq,Ord)

mkToolButton = (ToolButton, objectUnrefFromMainloop)
unToolButton (ToolButton o) = o

class ToolItemClass o => ToolButtonClass o
toToolButton :: ToolButtonClass o => o -> ToolButton
toToolButton = unsafeCastGObject . toGObject

instance ToolButtonClass ToolButton
instance ToolItemClass ToolButton
instance BinClass ToolButton
instance ContainerClass ToolButton
instance WidgetClass ToolButton
instance ObjectClass ToolButton
instance GObjectClass ToolButton where
  toGObject = GObject . castForeignPtr . unToolButton
  unsafeCastGObject = ToolButton . castForeignPtr . unGObject

castToToolButton :: GObjectClass obj => obj -> ToolButton
castToToolButton = castTo gTypeToolButton "ToolButton"

gTypeToolButton :: GType
gTypeToolButton =
  gtk_tool_button_get_type
{-# LINE 2489 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************* MenuToolButton

newtype MenuToolButton = MenuToolButton (ForeignPtr (MenuToolButton)) deriving (Eq,Ord)

mkMenuToolButton = (MenuToolButton, objectUnrefFromMainloop)
unMenuToolButton (MenuToolButton o) = o

class ToolButtonClass o => MenuToolButtonClass o
toMenuToolButton :: MenuToolButtonClass o => o -> MenuToolButton
toMenuToolButton = unsafeCastGObject . toGObject

instance MenuToolButtonClass MenuToolButton
instance ToolButtonClass MenuToolButton
instance ToolItemClass MenuToolButton
instance BinClass MenuToolButton
instance ContainerClass MenuToolButton
instance WidgetClass MenuToolButton
instance ObjectClass MenuToolButton
instance GObjectClass MenuToolButton where
  toGObject = GObject . castForeignPtr . unMenuToolButton
  unsafeCastGObject = MenuToolButton . castForeignPtr . unGObject

castToMenuToolButton :: GObjectClass obj => obj -> MenuToolButton
castToMenuToolButton = castTo gTypeMenuToolButton "MenuToolButton"

gTypeMenuToolButton :: GType
gTypeMenuToolButton =
  gtk_menu_tool_button_get_type
{-# LINE 2518 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************** ToggleToolButton

newtype ToggleToolButton = ToggleToolButton (ForeignPtr (ToggleToolButton)) deriving (Eq,Ord)

mkToggleToolButton = (ToggleToolButton, objectUnrefFromMainloop)
unToggleToolButton (ToggleToolButton o) = o

class ToolButtonClass o => ToggleToolButtonClass o
toToggleToolButton :: ToggleToolButtonClass o => o -> ToggleToolButton
toToggleToolButton = unsafeCastGObject . toGObject

instance ToggleToolButtonClass ToggleToolButton
instance ToolButtonClass ToggleToolButton
instance ToolItemClass ToggleToolButton
instance BinClass ToggleToolButton
instance ContainerClass ToggleToolButton
instance WidgetClass ToggleToolButton
instance ObjectClass ToggleToolButton
instance GObjectClass ToggleToolButton where
  toGObject = GObject . castForeignPtr . unToggleToolButton
  unsafeCastGObject = ToggleToolButton . castForeignPtr . unGObject

castToToggleToolButton :: GObjectClass obj => obj -> ToggleToolButton
castToToggleToolButton = castTo gTypeToggleToolButton "ToggleToolButton"

gTypeToggleToolButton :: GType
gTypeToggleToolButton =
  gtk_toggle_tool_button_get_type
{-# LINE 2547 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************ RadioToolButton

newtype RadioToolButton = RadioToolButton (ForeignPtr (RadioToolButton)) deriving (Eq,Ord)

mkRadioToolButton = (RadioToolButton, objectUnrefFromMainloop)
unRadioToolButton (RadioToolButton o) = o

class ToggleToolButtonClass o => RadioToolButtonClass o
toRadioToolButton :: RadioToolButtonClass o => o -> RadioToolButton
toRadioToolButton = unsafeCastGObject . toGObject

instance RadioToolButtonClass RadioToolButton
instance ToggleToolButtonClass RadioToolButton
instance ToolButtonClass RadioToolButton
instance ToolItemClass RadioToolButton
instance BinClass RadioToolButton
instance ContainerClass RadioToolButton
instance WidgetClass RadioToolButton
instance ObjectClass RadioToolButton
instance GObjectClass RadioToolButton where
  toGObject = GObject . castForeignPtr . unRadioToolButton
  unsafeCastGObject = RadioToolButton . castForeignPtr . unGObject

castToRadioToolButton :: GObjectClass obj => obj -> RadioToolButton
castToRadioToolButton = castTo gTypeRadioToolButton "RadioToolButton"

gTypeRadioToolButton :: GType
gTypeRadioToolButton =
  gtk_radio_tool_button_get_type
{-# LINE 2577 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************** SeparatorToolItem

newtype SeparatorToolItem = SeparatorToolItem (ForeignPtr (SeparatorToolItem)) deriving (Eq,Ord)

mkSeparatorToolItem = (SeparatorToolItem, objectUnrefFromMainloop)
unSeparatorToolItem (SeparatorToolItem o) = o

class ToolItemClass o => SeparatorToolItemClass o
toSeparatorToolItem :: SeparatorToolItemClass o => o -> SeparatorToolItem
toSeparatorToolItem = unsafeCastGObject . toGObject

instance SeparatorToolItemClass SeparatorToolItem
instance ToolItemClass SeparatorToolItem
instance BinClass SeparatorToolItem
instance ContainerClass SeparatorToolItem
instance WidgetClass SeparatorToolItem
instance ObjectClass SeparatorToolItem
instance GObjectClass SeparatorToolItem where
  toGObject = GObject . castForeignPtr . unSeparatorToolItem
  unsafeCastGObject = SeparatorToolItem . castForeignPtr . unGObject

castToSeparatorToolItem :: GObjectClass obj => obj -> SeparatorToolItem
castToSeparatorToolItem = castTo gTypeSeparatorToolItem "SeparatorToolItem"

gTypeSeparatorToolItem :: GType
gTypeSeparatorToolItem =
  gtk_separator_tool_item_get_type
{-# LINE 2605 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************************ Box

newtype Box = Box (ForeignPtr (Box)) deriving (Eq,Ord)

mkBox = (Box, objectUnrefFromMainloop)
unBox (Box o) = o

class ContainerClass o => BoxClass o
toBox :: BoxClass o => o -> Box
toBox = unsafeCastGObject . toGObject

instance BoxClass Box
instance ContainerClass Box
instance WidgetClass Box
instance ObjectClass Box
instance GObjectClass Box where
  toGObject = GObject . castForeignPtr . unBox
  unsafeCastGObject = Box . castForeignPtr . unGObject

castToBox :: GObjectClass obj => obj -> Box
castToBox = castTo gTypeBox "Box"

gTypeBox :: GType
gTypeBox =
  gtk_box_get_type
{-# LINE 2631 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** ButtonBox

newtype ButtonBox = ButtonBox (ForeignPtr (ButtonBox)) deriving (Eq,Ord)

mkButtonBox = (ButtonBox, objectUnrefFromMainloop)
unButtonBox (ButtonBox o) = o

class BoxClass o => ButtonBoxClass o
toButtonBox :: ButtonBoxClass o => o -> ButtonBox
toButtonBox = unsafeCastGObject . toGObject

instance ButtonBoxClass ButtonBox
instance BoxClass ButtonBox
instance ContainerClass ButtonBox
instance WidgetClass ButtonBox
instance ObjectClass ButtonBox
instance GObjectClass ButtonBox where
  toGObject = GObject . castForeignPtr . unButtonBox
  unsafeCastGObject = ButtonBox . castForeignPtr . unGObject

castToButtonBox :: GObjectClass obj => obj -> ButtonBox
castToButtonBox = castTo gTypeButtonBox "ButtonBox"

gTypeButtonBox :: GType
gTypeButtonBox =
  gtk_button_box_get_type
{-# LINE 2658 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** HButtonBox

newtype HButtonBox = HButtonBox (ForeignPtr (HButtonBox)) deriving (Eq,Ord)

mkHButtonBox = (HButtonBox, objectUnrefFromMainloop)
unHButtonBox (HButtonBox o) = o

class ButtonBoxClass o => HButtonBoxClass o
toHButtonBox :: HButtonBoxClass o => o -> HButtonBox
toHButtonBox = unsafeCastGObject . toGObject

instance HButtonBoxClass HButtonBox
instance ButtonBoxClass HButtonBox
instance BoxClass HButtonBox
instance ContainerClass HButtonBox
instance WidgetClass HButtonBox
instance ObjectClass HButtonBox
instance GObjectClass HButtonBox where
  toGObject = GObject . castForeignPtr . unHButtonBox
  unsafeCastGObject = HButtonBox . castForeignPtr . unGObject

castToHButtonBox :: GObjectClass obj => obj -> HButtonBox
castToHButtonBox = castTo gTypeHButtonBox "HButtonBox"

gTypeHButtonBox :: GType
gTypeHButtonBox =
  gtk_hbutton_box_get_type
{-# LINE 2686 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** VButtonBox

newtype VButtonBox = VButtonBox (ForeignPtr (VButtonBox)) deriving (Eq,Ord)

mkVButtonBox = (VButtonBox, objectUnrefFromMainloop)
unVButtonBox (VButtonBox o) = o

class ButtonBoxClass o => VButtonBoxClass o
toVButtonBox :: VButtonBoxClass o => o -> VButtonBox
toVButtonBox = unsafeCastGObject . toGObject

instance VButtonBoxClass VButtonBox
instance ButtonBoxClass VButtonBox
instance BoxClass VButtonBox
instance ContainerClass VButtonBox
instance WidgetClass VButtonBox
instance ObjectClass VButtonBox
instance GObjectClass VButtonBox where
  toGObject = GObject . castForeignPtr . unVButtonBox
  unsafeCastGObject = VButtonBox . castForeignPtr . unGObject

castToVButtonBox :: GObjectClass obj => obj -> VButtonBox
castToVButtonBox = castTo gTypeVButtonBox "VButtonBox"

gTypeVButtonBox :: GType
gTypeVButtonBox =
  gtk_vbutton_box_get_type
{-# LINE 2714 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************************** VBox

newtype VBox = VBox (ForeignPtr (VBox)) deriving (Eq,Ord)

mkVBox = (VBox, objectUnrefFromMainloop)
unVBox (VBox o) = o

class BoxClass o => VBoxClass o
toVBox :: VBoxClass o => o -> VBox
toVBox = unsafeCastGObject . toGObject

instance VBoxClass VBox
instance BoxClass VBox
instance ContainerClass VBox
instance WidgetClass VBox
instance ObjectClass VBox
instance GObjectClass VBox where
  toGObject = GObject . castForeignPtr . unVBox
  unsafeCastGObject = VBox . castForeignPtr . unGObject

castToVBox :: GObjectClass obj => obj -> VBox
castToVBox = castTo gTypeVBox "VBox"

gTypeVBox :: GType
gTypeVBox =
  gtk_vbox_get_type
{-# LINE 2741 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************* ColorSelection

newtype ColorSelection = ColorSelection (ForeignPtr (ColorSelection)) deriving (Eq,Ord)

mkColorSelection = (ColorSelection, objectUnrefFromMainloop)
unColorSelection (ColorSelection o) = o

class VBoxClass o => ColorSelectionClass o
toColorSelection :: ColorSelectionClass o => o -> ColorSelection
toColorSelection = unsafeCastGObject . toGObject

instance ColorSelectionClass ColorSelection
instance VBoxClass ColorSelection
instance BoxClass ColorSelection
instance ContainerClass ColorSelection
instance WidgetClass ColorSelection
instance ObjectClass ColorSelection
instance GObjectClass ColorSelection where
  toGObject = GObject . castForeignPtr . unColorSelection
  unsafeCastGObject = ColorSelection . castForeignPtr . unGObject

castToColorSelection :: GObjectClass obj => obj -> ColorSelection
castToColorSelection = castTo gTypeColorSelection "ColorSelection"

gTypeColorSelection :: GType
gTypeColorSelection =
  gtk_color_selection_get_type
{-# LINE 2769 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** FontSelection

newtype FontSelection = FontSelection (ForeignPtr (FontSelection)) deriving (Eq,Ord)

mkFontSelection = (FontSelection, objectUnrefFromMainloop)
unFontSelection (FontSelection o) = o

class VBoxClass o => FontSelectionClass o
toFontSelection :: FontSelectionClass o => o -> FontSelection
toFontSelection = unsafeCastGObject . toGObject

instance FontSelectionClass FontSelection
instance VBoxClass FontSelection
instance BoxClass FontSelection
instance ContainerClass FontSelection
instance WidgetClass FontSelection
instance ObjectClass FontSelection
instance GObjectClass FontSelection where
  toGObject = GObject . castForeignPtr . unFontSelection
  unsafeCastGObject = FontSelection . castForeignPtr . unGObject

castToFontSelection :: GObjectClass obj => obj -> FontSelection
castToFontSelection = castTo gTypeFontSelection "FontSelection"

gTypeFontSelection :: GType
gTypeFontSelection =
  gtk_font_selection_get_type
{-# LINE 2797 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************** FileChooserWidget

newtype FileChooserWidget = FileChooserWidget (ForeignPtr (FileChooserWidget)) deriving (Eq,Ord)

mkFileChooserWidget = (FileChooserWidget, objectUnrefFromMainloop)
unFileChooserWidget (FileChooserWidget o) = o

class VBoxClass o => FileChooserWidgetClass o
toFileChooserWidget :: FileChooserWidgetClass o => o -> FileChooserWidget
toFileChooserWidget = unsafeCastGObject . toGObject

instance FileChooserWidgetClass FileChooserWidget
instance VBoxClass FileChooserWidget
instance BoxClass FileChooserWidget
instance ContainerClass FileChooserWidget
instance WidgetClass FileChooserWidget
instance ObjectClass FileChooserWidget
instance GObjectClass FileChooserWidget where
  toGObject = GObject . castForeignPtr . unFileChooserWidget
  unsafeCastGObject = FileChooserWidget . castForeignPtr . unGObject

castToFileChooserWidget :: GObjectClass obj => obj -> FileChooserWidget
castToFileChooserWidget = castTo gTypeFileChooserWidget "FileChooserWidget"

gTypeFileChooserWidget :: GType
gTypeFileChooserWidget =
  gtk_file_chooser_widget_get_type
{-# LINE 2825 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************************** HBox

newtype HBox = HBox (ForeignPtr (HBox)) deriving (Eq,Ord)

mkHBox = (HBox, objectUnrefFromMainloop)
unHBox (HBox o) = o

class BoxClass o => HBoxClass o
toHBox :: HBoxClass o => o -> HBox
toHBox = unsafeCastGObject . toGObject

instance HBoxClass HBox
instance BoxClass HBox
instance ContainerClass HBox
instance WidgetClass HBox
instance ObjectClass HBox
instance GObjectClass HBox where
  toGObject = GObject . castForeignPtr . unHBox
  unsafeCastGObject = HBox . castForeignPtr . unGObject

castToHBox :: GObjectClass obj => obj -> HBox
castToHBox = castTo gTypeHBox "HBox"

gTypeHBox :: GType
gTypeHBox =
  gtk_hbox_get_type
{-# LINE 2852 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Combo

newtype Combo = Combo (ForeignPtr (Combo)) deriving (Eq,Ord)

mkCombo = (Combo, objectUnrefFromMainloop)
unCombo (Combo o) = o

class HBoxClass o => ComboClass o
toCombo :: ComboClass o => o -> Combo
toCombo = unsafeCastGObject . toGObject

instance ComboClass Combo
instance HBoxClass Combo
instance BoxClass Combo
instance ContainerClass Combo
instance WidgetClass Combo
instance ObjectClass Combo
instance GObjectClass Combo where
  toGObject = GObject . castForeignPtr . unCombo
  unsafeCastGObject = Combo . castForeignPtr . unGObject

castToCombo :: GObjectClass obj => obj -> Combo
castToCombo = castTo gTypeCombo "Combo"

gTypeCombo :: GType
gTypeCombo =
  gtk_combo_get_type
{-# LINE 2880 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************** FileChooserButton

newtype FileChooserButton = FileChooserButton (ForeignPtr (FileChooserButton)) deriving (Eq,Ord)

mkFileChooserButton = (FileChooserButton, objectUnrefFromMainloop)
unFileChooserButton (FileChooserButton o) = o

class HBoxClass o => FileChooserButtonClass o
toFileChooserButton :: FileChooserButtonClass o => o -> FileChooserButton
toFileChooserButton = unsafeCastGObject . toGObject

instance FileChooserButtonClass FileChooserButton
instance HBoxClass FileChooserButton
instance BoxClass FileChooserButton
instance ContainerClass FileChooserButton
instance WidgetClass FileChooserButton
instance ObjectClass FileChooserButton
instance GObjectClass FileChooserButton where
  toGObject = GObject . castForeignPtr . unFileChooserButton
  unsafeCastGObject = FileChooserButton . castForeignPtr . unGObject

castToFileChooserButton :: GObjectClass obj => obj -> FileChooserButton
castToFileChooserButton = castTo gTypeFileChooserButton "FileChooserButton"

gTypeFileChooserButton :: GType
gTypeFileChooserButton =
  gtk_file_chooser_button_get_type
{-# LINE 2908 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** Statusbar

newtype Statusbar = Statusbar (ForeignPtr (Statusbar)) deriving (Eq,Ord)

mkStatusbar = (Statusbar, objectUnrefFromMainloop)
unStatusbar (Statusbar o) = o

class HBoxClass o => StatusbarClass o
toStatusbar :: StatusbarClass o => o -> Statusbar
toStatusbar = unsafeCastGObject . toGObject

instance StatusbarClass Statusbar
instance HBoxClass Statusbar
instance BoxClass Statusbar
instance ContainerClass Statusbar
instance WidgetClass Statusbar
instance ObjectClass Statusbar
instance GObjectClass Statusbar where
  toGObject = GObject . castForeignPtr . unStatusbar
  unsafeCastGObject = Statusbar . castForeignPtr . unGObject

castToStatusbar :: GObjectClass obj => obj -> Statusbar
castToStatusbar = castTo gTypeStatusbar "Statusbar"

gTypeStatusbar :: GType
gTypeStatusbar =
  gtk_statusbar_get_type
{-# LINE 2936 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** CList

newtype CList = CList (ForeignPtr (CList)) deriving (Eq,Ord)

mkCList = (CList, objectUnrefFromMainloop)
unCList (CList o) = o

class ContainerClass o => CListClass o
toCList :: CListClass o => o -> CList
toCList = unsafeCastGObject . toGObject

instance CListClass CList
instance ContainerClass CList
instance WidgetClass CList
instance ObjectClass CList
instance GObjectClass CList where
  toGObject = GObject . castForeignPtr . unCList
  unsafeCastGObject = CList . castForeignPtr . unGObject

castToCList :: GObjectClass obj => obj -> CList
castToCList = castTo gTypeCList "CList"

gTypeCList :: GType
gTypeCList =
  gtk_clist_get_type
{-# LINE 2962 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** CTree

newtype CTree = CTree (ForeignPtr (CTree)) deriving (Eq,Ord)

mkCTree = (CTree, objectUnrefFromMainloop)
unCTree (CTree o) = o

class CListClass o => CTreeClass o
toCTree :: CTreeClass o => o -> CTree
toCTree = unsafeCastGObject . toGObject

instance CTreeClass CTree
instance CListClass CTree
instance ContainerClass CTree
instance WidgetClass CTree
instance ObjectClass CTree
instance GObjectClass CTree where
  toGObject = GObject . castForeignPtr . unCTree
  unsafeCastGObject = CTree . castForeignPtr . unGObject

castToCTree :: GObjectClass obj => obj -> CTree
castToCTree = castTo gTypeCTree "CTree"

gTypeCTree :: GType
gTypeCTree =
  gtk_ctree_get_type
{-# LINE 2989 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Fixed

newtype Fixed = Fixed (ForeignPtr (Fixed)) deriving (Eq,Ord)

mkFixed = (Fixed, objectUnrefFromMainloop)
unFixed (Fixed o) = o

class ContainerClass o => FixedClass o
toFixed :: FixedClass o => o -> Fixed
toFixed = unsafeCastGObject . toGObject

instance FixedClass Fixed
instance ContainerClass Fixed
instance WidgetClass Fixed
instance ObjectClass Fixed
instance GObjectClass Fixed where
  toGObject = GObject . castForeignPtr . unFixed
  unsafeCastGObject = Fixed . castForeignPtr . unGObject

castToFixed :: GObjectClass obj => obj -> Fixed
castToFixed = castTo gTypeFixed "Fixed"

gTypeFixed :: GType
gTypeFixed =
  gtk_fixed_get_type
{-# LINE 3015 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Paned

newtype Paned = Paned (ForeignPtr (Paned)) deriving (Eq,Ord)

mkPaned = (Paned, objectUnrefFromMainloop)
unPaned (Paned o) = o

class ContainerClass o => PanedClass o
toPaned :: PanedClass o => o -> Paned
toPaned = unsafeCastGObject . toGObject

instance PanedClass Paned
instance ContainerClass Paned
instance WidgetClass Paned
instance ObjectClass Paned
instance GObjectClass Paned where
  toGObject = GObject . castForeignPtr . unPaned
  unsafeCastGObject = Paned . castForeignPtr . unGObject

castToPaned :: GObjectClass obj => obj -> Paned
castToPaned = castTo gTypePaned "Paned"

gTypePaned :: GType
gTypePaned =
  gtk_paned_get_type
{-# LINE 3041 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* HPaned

newtype HPaned = HPaned (ForeignPtr (HPaned)) deriving (Eq,Ord)

mkHPaned = (HPaned, objectUnrefFromMainloop)
unHPaned (HPaned o) = o

class PanedClass o => HPanedClass o
toHPaned :: HPanedClass o => o -> HPaned
toHPaned = unsafeCastGObject . toGObject

instance HPanedClass HPaned
instance PanedClass HPaned
instance ContainerClass HPaned
instance WidgetClass HPaned
instance ObjectClass HPaned
instance GObjectClass HPaned where
  toGObject = GObject . castForeignPtr . unHPaned
  unsafeCastGObject = HPaned . castForeignPtr . unGObject

castToHPaned :: GObjectClass obj => obj -> HPaned
castToHPaned = castTo gTypeHPaned "HPaned"

gTypeHPaned :: GType
gTypeHPaned =
  gtk_hpaned_get_type
{-# LINE 3068 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* VPaned

newtype VPaned = VPaned (ForeignPtr (VPaned)) deriving (Eq,Ord)

mkVPaned = (VPaned, objectUnrefFromMainloop)
unVPaned (VPaned o) = o

class PanedClass o => VPanedClass o
toVPaned :: VPanedClass o => o -> VPaned
toVPaned = unsafeCastGObject . toGObject

instance VPanedClass VPaned
instance PanedClass VPaned
instance ContainerClass VPaned
instance WidgetClass VPaned
instance ObjectClass VPaned
instance GObjectClass VPaned where
  toGObject = GObject . castForeignPtr . unVPaned
  unsafeCastGObject = VPaned . castForeignPtr . unGObject

castToVPaned :: GObjectClass obj => obj -> VPaned
castToVPaned = castTo gTypeVPaned "VPaned"

gTypeVPaned :: GType
gTypeVPaned =
  gtk_vpaned_get_type
{-# LINE 3095 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* IconView

newtype IconView = IconView (ForeignPtr (IconView)) deriving (Eq,Ord)

mkIconView = (IconView, objectUnrefFromMainloop)
unIconView (IconView o) = o

class ContainerClass o => IconViewClass o
toIconView :: IconViewClass o => o -> IconView
toIconView = unsafeCastGObject . toGObject

instance IconViewClass IconView
instance ContainerClass IconView
instance WidgetClass IconView
instance ObjectClass IconView
instance GObjectClass IconView where
  toGObject = GObject . castForeignPtr . unIconView
  unsafeCastGObject = IconView . castForeignPtr . unGObject

castToIconView :: GObjectClass obj => obj -> IconView
castToIconView = castTo gTypeIconView "IconView"

gTypeIconView :: GType
gTypeIconView =
  gtk_icon_view_get_type
{-# LINE 3121 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Layout

newtype Layout = Layout (ForeignPtr (Layout)) deriving (Eq,Ord)

mkLayout = (Layout, objectUnrefFromMainloop)
unLayout (Layout o) = o

class ContainerClass o => LayoutClass o
toLayout :: LayoutClass o => o -> Layout
toLayout = unsafeCastGObject . toGObject

instance LayoutClass Layout
instance ContainerClass Layout
instance WidgetClass Layout
instance ObjectClass Layout
instance GObjectClass Layout where
  toGObject = GObject . castForeignPtr . unLayout
  unsafeCastGObject = Layout . castForeignPtr . unGObject

castToLayout :: GObjectClass obj => obj -> Layout
castToLayout = castTo gTypeLayout "Layout"

gTypeLayout :: GType
gTypeLayout =
  gtk_layout_get_type
{-# LINE 3147 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************************** List

newtype List = List (ForeignPtr (List)) deriving (Eq,Ord)

mkList = (List, objectUnrefFromMainloop)
unList (List o) = o

class ContainerClass o => ListClass o
toList :: ListClass o => o -> List
toList = unsafeCastGObject . toGObject

instance ListClass List
instance ContainerClass List
instance WidgetClass List
instance ObjectClass List
instance GObjectClass List where
  toGObject = GObject . castForeignPtr . unList
  unsafeCastGObject = List . castForeignPtr . unGObject

castToList :: GObjectClass obj => obj -> List
castToList = castTo gTypeList "List"

gTypeList :: GType
gTypeList =
  gtk_list_get_type
{-# LINE 3173 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** MenuShell

newtype MenuShell = MenuShell (ForeignPtr (MenuShell)) deriving (Eq,Ord)

mkMenuShell = (MenuShell, objectUnrefFromMainloop)
unMenuShell (MenuShell o) = o

class ContainerClass o => MenuShellClass o
toMenuShell :: MenuShellClass o => o -> MenuShell
toMenuShell = unsafeCastGObject . toGObject

instance MenuShellClass MenuShell
instance ContainerClass MenuShell
instance WidgetClass MenuShell
instance ObjectClass MenuShell
instance GObjectClass MenuShell where
  toGObject = GObject . castForeignPtr . unMenuShell
  unsafeCastGObject = MenuShell . castForeignPtr . unGObject

castToMenuShell :: GObjectClass obj => obj -> MenuShell
castToMenuShell = castTo gTypeMenuShell "MenuShell"

gTypeMenuShell :: GType
gTypeMenuShell =
  gtk_menu_shell_get_type
{-# LINE 3199 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************************** Menu

newtype Menu = Menu (ForeignPtr (Menu)) deriving (Eq,Ord)

mkMenu = (Menu, objectUnrefFromMainloop)
unMenu (Menu o) = o

class MenuShellClass o => MenuClass o
toMenu :: MenuClass o => o -> Menu
toMenu = unsafeCastGObject . toGObject

instance MenuClass Menu
instance MenuShellClass Menu
instance ContainerClass Menu
instance WidgetClass Menu
instance ObjectClass Menu
instance GObjectClass Menu where
  toGObject = GObject . castForeignPtr . unMenu
  unsafeCastGObject = Menu . castForeignPtr . unGObject

castToMenu :: GObjectClass obj => obj -> Menu
castToMenu = castTo gTypeMenu "Menu"

gTypeMenu :: GType
gTypeMenu =
  gtk_menu_get_type
{-# LINE 3226 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** MenuBar

newtype MenuBar = MenuBar (ForeignPtr (MenuBar)) deriving (Eq,Ord)

mkMenuBar = (MenuBar, objectUnrefFromMainloop)
unMenuBar (MenuBar o) = o

class MenuShellClass o => MenuBarClass o
toMenuBar :: MenuBarClass o => o -> MenuBar
toMenuBar = unsafeCastGObject . toGObject

instance MenuBarClass MenuBar
instance MenuShellClass MenuBar
instance ContainerClass MenuBar
instance WidgetClass MenuBar
instance ObjectClass MenuBar
instance GObjectClass MenuBar where
  toGObject = GObject . castForeignPtr . unMenuBar
  unsafeCastGObject = MenuBar . castForeignPtr . unGObject

castToMenuBar :: GObjectClass obj => obj -> MenuBar
castToMenuBar = castTo gTypeMenuBar "MenuBar"

gTypeMenuBar :: GType
gTypeMenuBar =
  gtk_menu_bar_get_type
{-# LINE 3253 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* Notebook

newtype Notebook = Notebook (ForeignPtr (Notebook)) deriving (Eq,Ord)

mkNotebook = (Notebook, objectUnrefFromMainloop)
unNotebook (Notebook o) = o

class ContainerClass o => NotebookClass o
toNotebook :: NotebookClass o => o -> Notebook
toNotebook = unsafeCastGObject . toGObject

instance NotebookClass Notebook
instance ContainerClass Notebook
instance WidgetClass Notebook
instance ObjectClass Notebook
instance GObjectClass Notebook where
  toGObject = GObject . castForeignPtr . unNotebook
  unsafeCastGObject = Notebook . castForeignPtr . unGObject

castToNotebook :: GObjectClass obj => obj -> Notebook
castToNotebook = castTo gTypeNotebook "Notebook"

gTypeNotebook :: GType
gTypeNotebook =
  gtk_notebook_get_type
{-# LINE 3279 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Socket

newtype Socket = Socket (ForeignPtr (Socket)) deriving (Eq,Ord)

mkSocket = (Socket, objectUnrefFromMainloop)
unSocket (Socket o) = o

class ContainerClass o => SocketClass o
toSocket :: SocketClass o => o -> Socket
toSocket = unsafeCastGObject . toGObject

instance SocketClass Socket
instance ContainerClass Socket
instance WidgetClass Socket
instance ObjectClass Socket
instance GObjectClass Socket where
  toGObject = GObject . castForeignPtr . unSocket
  unsafeCastGObject = Socket . castForeignPtr . unGObject

castToSocket :: GObjectClass obj => obj -> Socket
castToSocket = castTo gTypeSocket "Socket"

gTypeSocket :: GType
gTypeSocket =
  gtk_socket_get_type
{-# LINE 3305 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Table

newtype Table = Table (ForeignPtr (Table)) deriving (Eq,Ord)

mkTable = (Table, objectUnrefFromMainloop)
unTable (Table o) = o

class ContainerClass o => TableClass o
toTable :: TableClass o => o -> Table
toTable = unsafeCastGObject . toGObject

instance TableClass Table
instance ContainerClass Table
instance WidgetClass Table
instance ObjectClass Table
instance GObjectClass Table where
  toGObject = GObject . castForeignPtr . unTable
  unsafeCastGObject = Table . castForeignPtr . unGObject

castToTable :: GObjectClass obj => obj -> Table
castToTable = castTo gTypeTable "Table"

gTypeTable :: GType
gTypeTable =
  gtk_table_get_type
{-# LINE 3331 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* TextView

newtype TextView = TextView (ForeignPtr (TextView)) deriving (Eq,Ord)

mkTextView = (TextView, objectUnrefFromMainloop)
unTextView (TextView o) = o

class ContainerClass o => TextViewClass o
toTextView :: TextViewClass o => o -> TextView
toTextView = unsafeCastGObject . toGObject

instance TextViewClass TextView
instance ContainerClass TextView
instance WidgetClass TextView
instance ObjectClass TextView
instance GObjectClass TextView where
  toGObject = GObject . castForeignPtr . unTextView
  unsafeCastGObject = TextView . castForeignPtr . unGObject

castToTextView :: GObjectClass obj => obj -> TextView
castToTextView = castTo gTypeTextView "TextView"

gTypeTextView :: GType
gTypeTextView =
  gtk_text_view_get_type
{-# LINE 3357 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** Toolbar

newtype Toolbar = Toolbar (ForeignPtr (Toolbar)) deriving (Eq,Ord)

mkToolbar = (Toolbar, objectUnrefFromMainloop)
unToolbar (Toolbar o) = o

class ContainerClass o => ToolbarClass o
toToolbar :: ToolbarClass o => o -> Toolbar
toToolbar = unsafeCastGObject . toGObject

instance ToolbarClass Toolbar
instance ContainerClass Toolbar
instance WidgetClass Toolbar
instance ObjectClass Toolbar
instance GObjectClass Toolbar where
  toGObject = GObject . castForeignPtr . unToolbar
  unsafeCastGObject = Toolbar . castForeignPtr . unGObject

castToToolbar :: GObjectClass obj => obj -> Toolbar
castToToolbar = castTo gTypeToolbar "Toolbar"

gTypeToolbar :: GType
gTypeToolbar =
  gtk_toolbar_get_type
{-# LINE 3383 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* TreeView

newtype TreeView = TreeView (ForeignPtr (TreeView)) deriving (Eq,Ord)

mkTreeView = (TreeView, objectUnrefFromMainloop)
unTreeView (TreeView o) = o

class ContainerClass o => TreeViewClass o
toTreeView :: TreeViewClass o => o -> TreeView
toTreeView = unsafeCastGObject . toGObject

instance TreeViewClass TreeView
instance ContainerClass TreeView
instance WidgetClass TreeView
instance ObjectClass TreeView
instance GObjectClass TreeView where
  toGObject = GObject . castForeignPtr . unTreeView
  unsafeCastGObject = TreeView . castForeignPtr . unGObject

castToTreeView :: GObjectClass obj => obj -> TreeView
castToTreeView = castTo gTypeTreeView "TreeView"

gTypeTreeView :: GType
gTypeTreeView =
  gtk_tree_view_get_type
{-# LINE 3409 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* Calendar

newtype Calendar = Calendar (ForeignPtr (Calendar)) deriving (Eq,Ord)

mkCalendar = (Calendar, objectUnrefFromMainloop)
unCalendar (Calendar o) = o

class WidgetClass o => CalendarClass o
toCalendar :: CalendarClass o => o -> Calendar
toCalendar = unsafeCastGObject . toGObject

instance CalendarClass Calendar
instance WidgetClass Calendar
instance ObjectClass Calendar
instance GObjectClass Calendar where
  toGObject = GObject . castForeignPtr . unCalendar
  unsafeCastGObject = Calendar . castForeignPtr . unGObject

castToCalendar :: GObjectClass obj => obj -> Calendar
castToCalendar = castTo gTypeCalendar "Calendar"

gTypeCalendar :: GType
gTypeCalendar =
  gtk_calendar_get_type
{-# LINE 3434 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* CellView

newtype CellView = CellView (ForeignPtr (CellView)) deriving (Eq,Ord)

mkCellView = (CellView, objectUnrefFromMainloop)
unCellView (CellView o) = o

class WidgetClass o => CellViewClass o
toCellView :: CellViewClass o => o -> CellView
toCellView = unsafeCastGObject . toGObject

instance CellViewClass CellView
instance WidgetClass CellView
instance ObjectClass CellView
instance GObjectClass CellView where
  toGObject = GObject . castForeignPtr . unCellView
  unsafeCastGObject = CellView . castForeignPtr . unGObject

castToCellView :: GObjectClass obj => obj -> CellView
castToCellView = castTo gTypeCellView "CellView"

gTypeCellView :: GType
gTypeCellView =
  gtk_cell_view_get_type
{-# LINE 3459 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** DrawingArea

newtype DrawingArea = DrawingArea (ForeignPtr (DrawingArea)) deriving (Eq,Ord)

mkDrawingArea = (DrawingArea, objectUnrefFromMainloop)
unDrawingArea (DrawingArea o) = o

class WidgetClass o => DrawingAreaClass o
toDrawingArea :: DrawingAreaClass o => o -> DrawingArea
toDrawingArea = unsafeCastGObject . toGObject

instance DrawingAreaClass DrawingArea
instance WidgetClass DrawingArea
instance ObjectClass DrawingArea
instance GObjectClass DrawingArea where
  toGObject = GObject . castForeignPtr . unDrawingArea
  unsafeCastGObject = DrawingArea . castForeignPtr . unGObject

castToDrawingArea :: GObjectClass obj => obj -> DrawingArea
castToDrawingArea = castTo gTypeDrawingArea "DrawingArea"

gTypeDrawingArea :: GType
gTypeDrawingArea =
  gtk_drawing_area_get_type
{-# LINE 3484 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Entry

newtype Entry = Entry (ForeignPtr (Entry)) deriving (Eq,Ord)

mkEntry = (Entry, objectUnrefFromMainloop)
unEntry (Entry o) = o

class WidgetClass o => EntryClass o
toEntry :: EntryClass o => o -> Entry
toEntry = unsafeCastGObject . toGObject

instance EntryClass Entry
instance WidgetClass Entry
instance ObjectClass Entry
instance GObjectClass Entry where
  toGObject = GObject . castForeignPtr . unEntry
  unsafeCastGObject = Entry . castForeignPtr . unGObject

castToEntry :: GObjectClass obj => obj -> Entry
castToEntry = castTo gTypeEntry "Entry"

gTypeEntry :: GType
gTypeEntry =
  gtk_entry_get_type
{-# LINE 3509 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** SpinButton

newtype SpinButton = SpinButton (ForeignPtr (SpinButton)) deriving (Eq,Ord)

mkSpinButton = (SpinButton, objectUnrefFromMainloop)
unSpinButton (SpinButton o) = o

class EntryClass o => SpinButtonClass o
toSpinButton :: SpinButtonClass o => o -> SpinButton
toSpinButton = unsafeCastGObject . toGObject

instance SpinButtonClass SpinButton
instance EntryClass SpinButton
instance WidgetClass SpinButton
instance ObjectClass SpinButton
instance GObjectClass SpinButton where
  toGObject = GObject . castForeignPtr . unSpinButton
  unsafeCastGObject = SpinButton . castForeignPtr . unGObject

castToSpinButton :: GObjectClass obj => obj -> SpinButton
castToSpinButton = castTo gTypeSpinButton "SpinButton"

gTypeSpinButton :: GType
gTypeSpinButton =
  gtk_spin_button_get_type
{-# LINE 3535 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Ruler

newtype Ruler = Ruler (ForeignPtr (Ruler)) deriving (Eq,Ord)

mkRuler = (Ruler, objectUnrefFromMainloop)
unRuler (Ruler o) = o

class WidgetClass o => RulerClass o
toRuler :: RulerClass o => o -> Ruler
toRuler = unsafeCastGObject . toGObject

instance RulerClass Ruler
instance WidgetClass Ruler
instance ObjectClass Ruler
instance GObjectClass Ruler where
  toGObject = GObject . castForeignPtr . unRuler
  unsafeCastGObject = Ruler . castForeignPtr . unGObject

castToRuler :: GObjectClass obj => obj -> Ruler
castToRuler = castTo gTypeRuler "Ruler"

gTypeRuler :: GType
gTypeRuler =
  gtk_ruler_get_type
{-# LINE 3560 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* HRuler

newtype HRuler = HRuler (ForeignPtr (HRuler)) deriving (Eq,Ord)

mkHRuler = (HRuler, objectUnrefFromMainloop)
unHRuler (HRuler o) = o

class RulerClass o => HRulerClass o
toHRuler :: HRulerClass o => o -> HRuler
toHRuler = unsafeCastGObject . toGObject

instance HRulerClass HRuler
instance RulerClass HRuler
instance WidgetClass HRuler
instance ObjectClass HRuler
instance GObjectClass HRuler where
  toGObject = GObject . castForeignPtr . unHRuler
  unsafeCastGObject = HRuler . castForeignPtr . unGObject

castToHRuler :: GObjectClass obj => obj -> HRuler
castToHRuler = castTo gTypeHRuler "HRuler"

gTypeHRuler :: GType
gTypeHRuler =
  gtk_hruler_get_type
{-# LINE 3586 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* VRuler

newtype VRuler = VRuler (ForeignPtr (VRuler)) deriving (Eq,Ord)

mkVRuler = (VRuler, objectUnrefFromMainloop)
unVRuler (VRuler o) = o

class RulerClass o => VRulerClass o
toVRuler :: VRulerClass o => o -> VRuler
toVRuler = unsafeCastGObject . toGObject

instance VRulerClass VRuler
instance RulerClass VRuler
instance WidgetClass VRuler
instance ObjectClass VRuler
instance GObjectClass VRuler where
  toGObject = GObject . castForeignPtr . unVRuler
  unsafeCastGObject = VRuler . castForeignPtr . unGObject

castToVRuler :: GObjectClass obj => obj -> VRuler
castToVRuler = castTo gTypeVRuler "VRuler"

gTypeVRuler :: GType
gTypeVRuler =
  gtk_vruler_get_type
{-# LINE 3612 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Range

newtype Range = Range (ForeignPtr (Range)) deriving (Eq,Ord)

mkRange = (Range, objectUnrefFromMainloop)
unRange (Range o) = o

class WidgetClass o => RangeClass o
toRange :: RangeClass o => o -> Range
toRange = unsafeCastGObject . toGObject

instance RangeClass Range
instance WidgetClass Range
instance ObjectClass Range
instance GObjectClass Range where
  toGObject = GObject . castForeignPtr . unRange
  unsafeCastGObject = Range . castForeignPtr . unGObject

castToRange :: GObjectClass obj => obj -> Range
castToRange = castTo gTypeRange "Range"

gTypeRange :: GType
gTypeRange =
  gtk_range_get_type
{-# LINE 3637 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************** Scale

newtype Scale = Scale (ForeignPtr (Scale)) deriving (Eq,Ord)

mkScale = (Scale, objectUnrefFromMainloop)
unScale (Scale o) = o

class RangeClass o => ScaleClass o
toScale :: ScaleClass o => o -> Scale
toScale = unsafeCastGObject . toGObject

instance ScaleClass Scale
instance RangeClass Scale
instance WidgetClass Scale
instance ObjectClass Scale
instance GObjectClass Scale where
  toGObject = GObject . castForeignPtr . unScale
  unsafeCastGObject = Scale . castForeignPtr . unGObject

castToScale :: GObjectClass obj => obj -> Scale
castToScale = castTo gTypeScale "Scale"

gTypeScale :: GType
gTypeScale =
  gtk_scale_get_type
{-# LINE 3663 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* HScale

newtype HScale = HScale (ForeignPtr (HScale)) deriving (Eq,Ord)

mkHScale = (HScale, objectUnrefFromMainloop)
unHScale (HScale o) = o

class ScaleClass o => HScaleClass o
toHScale :: HScaleClass o => o -> HScale
toHScale = unsafeCastGObject . toGObject

instance HScaleClass HScale
instance ScaleClass HScale
instance RangeClass HScale
instance WidgetClass HScale
instance ObjectClass HScale
instance GObjectClass HScale where
  toGObject = GObject . castForeignPtr . unHScale
  unsafeCastGObject = HScale . castForeignPtr . unGObject

castToHScale :: GObjectClass obj => obj -> HScale
castToHScale = castTo gTypeHScale "HScale"

gTypeHScale :: GType
gTypeHScale =
  gtk_hscale_get_type
{-# LINE 3690 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* VScale

newtype VScale = VScale (ForeignPtr (VScale)) deriving (Eq,Ord)

mkVScale = (VScale, objectUnrefFromMainloop)
unVScale (VScale o) = o

class ScaleClass o => VScaleClass o
toVScale :: VScaleClass o => o -> VScale
toVScale = unsafeCastGObject . toGObject

instance VScaleClass VScale
instance ScaleClass VScale
instance RangeClass VScale
instance WidgetClass VScale
instance ObjectClass VScale
instance GObjectClass VScale where
  toGObject = GObject . castForeignPtr . unVScale
  unsafeCastGObject = VScale . castForeignPtr . unGObject

castToVScale :: GObjectClass obj => obj -> VScale
castToVScale = castTo gTypeVScale "VScale"

gTypeVScale :: GType
gTypeVScale =
  gtk_vscale_get_type
{-# LINE 3717 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** Scrollbar

newtype Scrollbar = Scrollbar (ForeignPtr (Scrollbar)) deriving (Eq,Ord)

mkScrollbar = (Scrollbar, objectUnrefFromMainloop)
unScrollbar (Scrollbar o) = o

class RangeClass o => ScrollbarClass o
toScrollbar :: ScrollbarClass o => o -> Scrollbar
toScrollbar = unsafeCastGObject . toGObject

instance ScrollbarClass Scrollbar
instance RangeClass Scrollbar
instance WidgetClass Scrollbar
instance ObjectClass Scrollbar
instance GObjectClass Scrollbar where
  toGObject = GObject . castForeignPtr . unScrollbar
  unsafeCastGObject = Scrollbar . castForeignPtr . unGObject

castToScrollbar :: GObjectClass obj => obj -> Scrollbar
castToScrollbar = castTo gTypeScrollbar "Scrollbar"

gTypeScrollbar :: GType
gTypeScrollbar =
  gtk_scrollbar_get_type
{-# LINE 3743 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** HScrollbar

newtype HScrollbar = HScrollbar (ForeignPtr (HScrollbar)) deriving (Eq,Ord)

mkHScrollbar = (HScrollbar, objectUnrefFromMainloop)
unHScrollbar (HScrollbar o) = o

class ScrollbarClass o => HScrollbarClass o
toHScrollbar :: HScrollbarClass o => o -> HScrollbar
toHScrollbar = unsafeCastGObject . toGObject

instance HScrollbarClass HScrollbar
instance ScrollbarClass HScrollbar
instance RangeClass HScrollbar
instance WidgetClass HScrollbar
instance ObjectClass HScrollbar
instance GObjectClass HScrollbar where
  toGObject = GObject . castForeignPtr . unHScrollbar
  unsafeCastGObject = HScrollbar . castForeignPtr . unGObject

castToHScrollbar :: GObjectClass obj => obj -> HScrollbar
castToHScrollbar = castTo gTypeHScrollbar "HScrollbar"

gTypeHScrollbar :: GType
gTypeHScrollbar =
  gtk_hscrollbar_get_type
{-# LINE 3770 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** VScrollbar

newtype VScrollbar = VScrollbar (ForeignPtr (VScrollbar)) deriving (Eq,Ord)

mkVScrollbar = (VScrollbar, objectUnrefFromMainloop)
unVScrollbar (VScrollbar o) = o

class ScrollbarClass o => VScrollbarClass o
toVScrollbar :: VScrollbarClass o => o -> VScrollbar
toVScrollbar = unsafeCastGObject . toGObject

instance VScrollbarClass VScrollbar
instance ScrollbarClass VScrollbar
instance RangeClass VScrollbar
instance WidgetClass VScrollbar
instance ObjectClass VScrollbar
instance GObjectClass VScrollbar where
  toGObject = GObject . castForeignPtr . unVScrollbar
  unsafeCastGObject = VScrollbar . castForeignPtr . unGObject

castToVScrollbar :: GObjectClass obj => obj -> VScrollbar
castToVScrollbar = castTo gTypeVScrollbar "VScrollbar"

gTypeVScrollbar :: GType
gTypeVScrollbar =
  gtk_vscrollbar_get_type
{-# LINE 3797 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** Separator

newtype Separator = Separator (ForeignPtr (Separator)) deriving (Eq,Ord)

mkSeparator = (Separator, objectUnrefFromMainloop)
unSeparator (Separator o) = o

class WidgetClass o => SeparatorClass o
toSeparator :: SeparatorClass o => o -> Separator
toSeparator = unsafeCastGObject . toGObject

instance SeparatorClass Separator
instance WidgetClass Separator
instance ObjectClass Separator
instance GObjectClass Separator where
  toGObject = GObject . castForeignPtr . unSeparator
  unsafeCastGObject = Separator . castForeignPtr . unGObject

castToSeparator :: GObjectClass obj => obj -> Separator
castToSeparator = castTo gTypeSeparator "Separator"

gTypeSeparator :: GType
gTypeSeparator =
  gtk_separator_get_type
{-# LINE 3822 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** HSeparator

newtype HSeparator = HSeparator (ForeignPtr (HSeparator)) deriving (Eq,Ord)

mkHSeparator = (HSeparator, objectUnrefFromMainloop)
unHSeparator (HSeparator o) = o

class SeparatorClass o => HSeparatorClass o
toHSeparator :: HSeparatorClass o => o -> HSeparator
toHSeparator = unsafeCastGObject . toGObject

instance HSeparatorClass HSeparator
instance SeparatorClass HSeparator
instance WidgetClass HSeparator
instance ObjectClass HSeparator
instance GObjectClass HSeparator where
  toGObject = GObject . castForeignPtr . unHSeparator
  unsafeCastGObject = HSeparator . castForeignPtr . unGObject

castToHSeparator :: GObjectClass obj => obj -> HSeparator
castToHSeparator = castTo gTypeHSeparator "HSeparator"

gTypeHSeparator :: GType
gTypeHSeparator =
  gtk_hseparator_get_type
{-# LINE 3848 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** VSeparator

newtype VSeparator = VSeparator (ForeignPtr (VSeparator)) deriving (Eq,Ord)

mkVSeparator = (VSeparator, objectUnrefFromMainloop)
unVSeparator (VSeparator o) = o

class SeparatorClass o => VSeparatorClass o
toVSeparator :: VSeparatorClass o => o -> VSeparator
toVSeparator = unsafeCastGObject . toGObject

instance VSeparatorClass VSeparator
instance SeparatorClass VSeparator
instance WidgetClass VSeparator
instance ObjectClass VSeparator
instance GObjectClass VSeparator where
  toGObject = GObject . castForeignPtr . unVSeparator
  unsafeCastGObject = VSeparator . castForeignPtr . unGObject

castToVSeparator :: GObjectClass obj => obj -> VSeparator
castToVSeparator = castTo gTypeVSeparator "VSeparator"

gTypeVSeparator :: GType
gTypeVSeparator =
  gtk_vseparator_get_type
{-# LINE 3874 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** Invisible

newtype Invisible = Invisible (ForeignPtr (Invisible)) deriving (Eq,Ord)

mkInvisible = (Invisible, objectUnrefFromMainloop)
unInvisible (Invisible o) = o

class WidgetClass o => InvisibleClass o
toInvisible :: InvisibleClass o => o -> Invisible
toInvisible = unsafeCastGObject . toGObject

instance InvisibleClass Invisible
instance WidgetClass Invisible
instance ObjectClass Invisible
instance GObjectClass Invisible where
  toGObject = GObject . castForeignPtr . unInvisible
  unsafeCastGObject = Invisible . castForeignPtr . unGObject

castToInvisible :: GObjectClass obj => obj -> Invisible
castToInvisible = castTo gTypeInvisible "Invisible"

gTypeInvisible :: GType
gTypeInvisible =
  gtk_invisible_get_type
{-# LINE 3899 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** Preview

newtype Preview = Preview (ForeignPtr (Preview)) deriving (Eq,Ord)

mkPreview = (Preview, objectUnrefFromMainloop)
unPreview (Preview o) = o

class WidgetClass o => PreviewClass o
toPreview :: PreviewClass o => o -> Preview
toPreview = unsafeCastGObject . toGObject

instance PreviewClass Preview
instance WidgetClass Preview
instance ObjectClass Preview
instance GObjectClass Preview where
  toGObject = GObject . castForeignPtr . unPreview
  unsafeCastGObject = Preview . castForeignPtr . unGObject

castToPreview :: GObjectClass obj => obj -> Preview
castToPreview = castTo gTypePreview "Preview"

gTypePreview :: GType
gTypePreview =
  gtk_preview_get_type
{-# LINE 3924 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** ProgressBar

newtype ProgressBar = ProgressBar (ForeignPtr (ProgressBar)) deriving (Eq,Ord)

mkProgressBar = (ProgressBar, objectUnrefFromMainloop)
unProgressBar (ProgressBar o) = o

class WidgetClass o => ProgressBarClass o
toProgressBar :: ProgressBarClass o => o -> ProgressBar
toProgressBar = unsafeCastGObject . toGObject

instance ProgressBarClass ProgressBar
instance WidgetClass ProgressBar
instance ObjectClass ProgressBar
instance GObjectClass ProgressBar where
  toGObject = GObject . castForeignPtr . unProgressBar
  unsafeCastGObject = ProgressBar . castForeignPtr . unGObject

castToProgressBar :: GObjectClass obj => obj -> ProgressBar
castToProgressBar = castTo gTypeProgressBar "ProgressBar"

gTypeProgressBar :: GType
gTypeProgressBar =
  gtk_progress_bar_get_type
{-# LINE 3949 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** Adjustment

newtype Adjustment = Adjustment (ForeignPtr (Adjustment)) deriving (Eq,Ord)

mkAdjustment = (Adjustment, objectUnrefFromMainloop)
unAdjustment (Adjustment o) = o

class ObjectClass o => AdjustmentClass o
toAdjustment :: AdjustmentClass o => o -> Adjustment
toAdjustment = unsafeCastGObject . toGObject

instance AdjustmentClass Adjustment
instance ObjectClass Adjustment
instance GObjectClass Adjustment where
  toGObject = GObject . castForeignPtr . unAdjustment
  unsafeCastGObject = Adjustment . castForeignPtr . unGObject

castToAdjustment :: GObjectClass obj => obj -> Adjustment
castToAdjustment = castTo gTypeAdjustment "Adjustment"

gTypeAdjustment :: GType
gTypeAdjustment =
  gtk_adjustment_get_type
{-# LINE 3973 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** IMContext

newtype IMContext = IMContext (ForeignPtr (IMContext)) deriving (Eq,Ord)

mkIMContext = (IMContext, objectUnrefFromMainloop)
unIMContext (IMContext o) = o

class ObjectClass o => IMContextClass o
toIMContext :: IMContextClass o => o -> IMContext
toIMContext = unsafeCastGObject . toGObject

instance IMContextClass IMContext
instance ObjectClass IMContext
instance GObjectClass IMContext where
  toGObject = GObject . castForeignPtr . unIMContext
  unsafeCastGObject = IMContext . castForeignPtr . unGObject

castToIMContext :: GObjectClass obj => obj -> IMContext
castToIMContext = castTo gTypeIMContext "IMContext"

gTypeIMContext :: GType
gTypeIMContext =
  gtk_im_context_get_type
{-# LINE 3997 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************* IMMulticontext

newtype IMMulticontext = IMMulticontext (ForeignPtr (IMMulticontext)) deriving (Eq,Ord)

mkIMMulticontext = (IMMulticontext, objectUnrefFromMainloop)
unIMMulticontext (IMMulticontext o) = o

class IMContextClass o => IMMulticontextClass o
toIMMulticontext :: IMMulticontextClass o => o -> IMMulticontext
toIMMulticontext = unsafeCastGObject . toGObject

instance IMMulticontextClass IMMulticontext
instance IMContextClass IMMulticontext
instance ObjectClass IMMulticontext
instance GObjectClass IMMulticontext where
  toGObject = GObject . castForeignPtr . unIMMulticontext
  unsafeCastGObject = IMMulticontext . castForeignPtr . unGObject

castToIMMulticontext :: GObjectClass obj => obj -> IMMulticontext
castToIMMulticontext = castTo gTypeIMMulticontext "IMMulticontext"

gTypeIMMulticontext :: GType
gTypeIMMulticontext =
  gtk_im_multicontext_get_type
{-# LINE 4022 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** ItemFactory

newtype ItemFactory = ItemFactory (ForeignPtr (ItemFactory)) deriving (Eq,Ord)

mkItemFactory = (ItemFactory, objectUnrefFromMainloop)
unItemFactory (ItemFactory o) = o

class ObjectClass o => ItemFactoryClass o
toItemFactory :: ItemFactoryClass o => o -> ItemFactory
toItemFactory = unsafeCastGObject . toGObject

instance ItemFactoryClass ItemFactory
instance ObjectClass ItemFactory
instance GObjectClass ItemFactory where
  toGObject = GObject . castForeignPtr . unItemFactory
  unsafeCastGObject = ItemFactory . castForeignPtr . unGObject

castToItemFactory :: GObjectClass obj => obj -> ItemFactory
castToItemFactory = castTo gTypeItemFactory "ItemFactory"

gTypeItemFactory :: GType
gTypeItemFactory =
  gtk_item_factory_get_type
{-# LINE 4046 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* Tooltips

newtype Tooltips = Tooltips (ForeignPtr (Tooltips)) deriving (Eq,Ord)

mkTooltips = (Tooltips, objectUnrefFromMainloop)
unTooltips (Tooltips o) = o

class ObjectClass o => TooltipsClass o
toTooltips :: TooltipsClass o => o -> Tooltips
toTooltips = unsafeCastGObject . toGObject

instance TooltipsClass Tooltips
instance ObjectClass Tooltips
instance GObjectClass Tooltips where
  toGObject = GObject . castForeignPtr . unTooltips
  unsafeCastGObject = Tooltips . castForeignPtr . unGObject

castToTooltips :: GObjectClass obj => obj -> Tooltips
castToTooltips = castTo gTypeTooltips "Tooltips"

gTypeTooltips :: GType
gTypeTooltips =
  gtk_tooltips_get_type
{-# LINE 4070 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************* TreeViewColumn

newtype TreeViewColumn = TreeViewColumn (ForeignPtr (TreeViewColumn)) deriving (Eq,Ord)

mkTreeViewColumn = (TreeViewColumn, objectUnrefFromMainloop)
unTreeViewColumn (TreeViewColumn o) = o

class ObjectClass o => TreeViewColumnClass o
toTreeViewColumn :: TreeViewColumnClass o => o -> TreeViewColumn
toTreeViewColumn = unsafeCastGObject . toGObject

instance TreeViewColumnClass TreeViewColumn
instance ObjectClass TreeViewColumn
instance GObjectClass TreeViewColumn where
  toGObject = GObject . castForeignPtr . unTreeViewColumn
  unsafeCastGObject = TreeViewColumn . castForeignPtr . unGObject

castToTreeViewColumn :: GObjectClass obj => obj -> TreeViewColumn
castToTreeViewColumn = castTo gTypeTreeViewColumn "TreeViewColumn"

gTypeTreeViewColumn :: GType
gTypeTreeViewColumn =
  gtk_tree_view_column_get_type
{-# LINE 4094 "./Graphics/UI/Gtk/Types.chs" #-}

-- *************************************************************** CellRenderer

newtype CellRenderer = CellRenderer (ForeignPtr (CellRenderer)) deriving (Eq,Ord)

mkCellRenderer = (CellRenderer, objectUnrefFromMainloop)
unCellRenderer (CellRenderer o) = o

class ObjectClass o => CellRendererClass o
toCellRenderer :: CellRendererClass o => o -> CellRenderer
toCellRenderer = unsafeCastGObject . toGObject

instance CellRendererClass CellRenderer
instance ObjectClass CellRenderer
instance GObjectClass CellRenderer where
  toGObject = GObject . castForeignPtr . unCellRenderer
  unsafeCastGObject = CellRenderer . castForeignPtr . unGObject

castToCellRenderer :: GObjectClass obj => obj -> CellRenderer
castToCellRenderer = castTo gTypeCellRenderer "CellRenderer"

gTypeCellRenderer :: GType
gTypeCellRenderer =
  gtk_cell_renderer_get_type
{-# LINE 4118 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************* CellRendererPixbuf

newtype CellRendererPixbuf = CellRendererPixbuf (ForeignPtr (CellRendererPixbuf)) deriving (Eq,Ord)

mkCellRendererPixbuf = (CellRendererPixbuf, objectUnrefFromMainloop)
unCellRendererPixbuf (CellRendererPixbuf o) = o

class CellRendererClass o => CellRendererPixbufClass o
toCellRendererPixbuf :: CellRendererPixbufClass o => o -> CellRendererPixbuf
toCellRendererPixbuf = unsafeCastGObject . toGObject

instance CellRendererPixbufClass CellRendererPixbuf
instance CellRendererClass CellRendererPixbuf
instance ObjectClass CellRendererPixbuf
instance GObjectClass CellRendererPixbuf where
  toGObject = GObject . castForeignPtr . unCellRendererPixbuf
  unsafeCastGObject = CellRendererPixbuf . castForeignPtr . unGObject

castToCellRendererPixbuf :: GObjectClass obj => obj -> CellRendererPixbuf
castToCellRendererPixbuf = castTo gTypeCellRendererPixbuf "CellRendererPixbuf"

gTypeCellRendererPixbuf :: GType
gTypeCellRendererPixbuf =
  gtk_cell_renderer_pixbuf_get_type
{-# LINE 4143 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************** CellRendererText

newtype CellRendererText = CellRendererText (ForeignPtr (CellRendererText)) deriving (Eq,Ord)

mkCellRendererText = (CellRendererText, objectUnrefFromMainloop)
unCellRendererText (CellRendererText o) = o

class CellRendererClass o => CellRendererTextClass o
toCellRendererText :: CellRendererTextClass o => o -> CellRendererText
toCellRendererText = unsafeCastGObject . toGObject

instance CellRendererTextClass CellRendererText
instance CellRendererClass CellRendererText
instance ObjectClass CellRendererText
instance GObjectClass CellRendererText where
  toGObject = GObject . castForeignPtr . unCellRendererText
  unsafeCastGObject = CellRendererText . castForeignPtr . unGObject

castToCellRendererText :: GObjectClass obj => obj -> CellRendererText
castToCellRendererText = castTo gTypeCellRendererText "CellRendererText"

gTypeCellRendererText :: GType
gTypeCellRendererText =
  gtk_cell_renderer_text_get_type
{-# LINE 4168 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************** CellRendererCombo

newtype CellRendererCombo = CellRendererCombo (ForeignPtr (CellRendererCombo)) deriving (Eq,Ord)

mkCellRendererCombo = (CellRendererCombo, objectUnrefFromMainloop)
unCellRendererCombo (CellRendererCombo o) = o

class CellRendererTextClass o => CellRendererComboClass o
toCellRendererCombo :: CellRendererComboClass o => o -> CellRendererCombo
toCellRendererCombo = unsafeCastGObject . toGObject

instance CellRendererComboClass CellRendererCombo
instance CellRendererTextClass CellRendererCombo
instance CellRendererClass CellRendererCombo
instance ObjectClass CellRendererCombo
instance GObjectClass CellRendererCombo where
  toGObject = GObject . castForeignPtr . unCellRendererCombo
  unsafeCastGObject = CellRendererCombo . castForeignPtr . unGObject

castToCellRendererCombo :: GObjectClass obj => obj -> CellRendererCombo
castToCellRendererCombo = castTo gTypeCellRendererCombo "CellRendererCombo"

gTypeCellRendererCombo :: GType
gTypeCellRendererCombo =
  gtk_cell_renderer_combo_get_type
{-# LINE 4194 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************* CellRendererToggle

newtype CellRendererToggle = CellRendererToggle (ForeignPtr (CellRendererToggle)) deriving (Eq,Ord)

mkCellRendererToggle = (CellRendererToggle, objectUnrefFromMainloop)
unCellRendererToggle (CellRendererToggle o) = o

class CellRendererClass o => CellRendererToggleClass o
toCellRendererToggle :: CellRendererToggleClass o => o -> CellRendererToggle
toCellRendererToggle = unsafeCastGObject . toGObject

instance CellRendererToggleClass CellRendererToggle
instance CellRendererClass CellRendererToggle
instance ObjectClass CellRendererToggle
instance GObjectClass CellRendererToggle where
  toGObject = GObject . castForeignPtr . unCellRendererToggle
  unsafeCastGObject = CellRendererToggle . castForeignPtr . unGObject

castToCellRendererToggle :: GObjectClass obj => obj -> CellRendererToggle
castToCellRendererToggle = castTo gTypeCellRendererToggle "CellRendererToggle"

gTypeCellRendererToggle :: GType
gTypeCellRendererToggle =
  gtk_cell_renderer_toggle_get_type
{-# LINE 4219 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************* CellRendererProgress

newtype CellRendererProgress = CellRendererProgress (ForeignPtr (CellRendererProgress)) deriving (Eq,Ord)

mkCellRendererProgress = (CellRendererProgress, objectUnrefFromMainloop)
unCellRendererProgress (CellRendererProgress o) = o

class CellRendererClass o => CellRendererProgressClass o
toCellRendererProgress :: CellRendererProgressClass o => o -> CellRendererProgress
toCellRendererProgress = unsafeCastGObject . toGObject

instance CellRendererProgressClass CellRendererProgress
instance CellRendererClass CellRendererProgress
instance ObjectClass CellRendererProgress
instance GObjectClass CellRendererProgress where
  toGObject = GObject . castForeignPtr . unCellRendererProgress
  unsafeCastGObject = CellRendererProgress . castForeignPtr . unGObject

castToCellRendererProgress :: GObjectClass obj => obj -> CellRendererProgress
castToCellRendererProgress = castTo gTypeCellRendererProgress "CellRendererProgress"

gTypeCellRendererProgress :: GType
gTypeCellRendererProgress =
  gtk_cell_renderer_progress_get_type
{-# LINE 4244 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** FileFilter

newtype FileFilter = FileFilter (ForeignPtr (FileFilter)) deriving (Eq,Ord)

mkFileFilter = (FileFilter, objectUnrefFromMainloop)
unFileFilter (FileFilter o) = o

class ObjectClass o => FileFilterClass o
toFileFilter :: FileFilterClass o => o -> FileFilter
toFileFilter = unsafeCastGObject . toGObject

instance FileFilterClass FileFilter
instance ObjectClass FileFilter
instance GObjectClass FileFilter where
  toGObject = GObject . castForeignPtr . unFileFilter
  unsafeCastGObject = FileFilter . castForeignPtr . unGObject

castToFileFilter :: GObjectClass obj => obj -> FileFilter
castToFileFilter = castTo gTypeFileFilter "FileFilter"

gTypeFileFilter :: GType
gTypeFileFilter =
  gtk_file_filter_get_type
{-# LINE 4268 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** Builder

newtype Builder = Builder (ForeignPtr (Builder)) deriving (Eq,Ord)

mkBuilder = (Builder, objectUnrefFromMainloop)
unBuilder (Builder o) = o

class ObjectClass o => BuilderClass o
toBuilder :: BuilderClass o => o -> Builder
toBuilder = unsafeCastGObject . toGObject

instance BuilderClass Builder
instance ObjectClass Builder
instance GObjectClass Builder where
  toGObject = GObject . castForeignPtr . unBuilder
  unsafeCastGObject = Builder . castForeignPtr . unGObject

castToBuilder :: GObjectClass obj => obj -> Builder
castToBuilder = castTo gTypeBuilder "Builder"

gTypeBuilder :: GType
gTypeBuilder =
  gtk_builder_get_type
{-# LINE 4292 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** CellLayout

newtype CellLayout = CellLayout (ForeignPtr (CellLayout)) deriving (Eq,Ord)

mkCellLayout = (CellLayout, objectUnrefFromMainloop)
unCellLayout (CellLayout o) = o

class GObjectClass o => CellLayoutClass o
toCellLayout :: CellLayoutClass o => o -> CellLayout
toCellLayout = unsafeCastGObject . toGObject

instance CellLayoutClass CellLayout
instance GObjectClass CellLayout where
  toGObject = GObject . castForeignPtr . unCellLayout
  unsafeCastGObject = CellLayout . castForeignPtr . unGObject

castToCellLayout :: GObjectClass obj => obj -> CellLayout
castToCellLayout = castTo gTypeCellLayout "CellLayout"

gTypeCellLayout :: GType
gTypeCellLayout =
  gtk_cell_layout_get_type
{-# LINE 4315 "./Graphics/UI/Gtk/Types.chs" #-}

-- *************************************************************** TreeSortable

newtype TreeSortable = TreeSortable (ForeignPtr (TreeSortable)) deriving (Eq,Ord)

mkTreeSortable = (TreeSortable, objectUnrefFromMainloop)
unTreeSortable (TreeSortable o) = o

class GObjectClass o => TreeSortableClass o
toTreeSortable :: TreeSortableClass o => o -> TreeSortable
toTreeSortable = unsafeCastGObject . toGObject

instance TreeSortableClass TreeSortable
instance GObjectClass TreeSortable where
  toGObject = GObject . castForeignPtr . unTreeSortable
  unsafeCastGObject = TreeSortable . castForeignPtr . unGObject

castToTreeSortable :: GObjectClass obj => obj -> TreeSortable
castToTreeSortable = castTo gTypeTreeSortable "TreeSortable"

gTypeTreeSortable :: GType
gTypeTreeSortable =
  gtk_tree_sortable_get_type
{-# LINE 4338 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** StatusIcon

newtype StatusIcon = StatusIcon (ForeignPtr (StatusIcon)) deriving (Eq,Ord)

mkStatusIcon = (StatusIcon, objectUnrefFromMainloop)
unStatusIcon (StatusIcon o) = o

class TreeSortableClass o => StatusIconClass o
toStatusIcon :: StatusIconClass o => o -> StatusIcon
toStatusIcon = unsafeCastGObject . toGObject

instance StatusIconClass StatusIcon
instance TreeSortableClass StatusIcon
instance GObjectClass StatusIcon where
  toGObject = GObject . castForeignPtr . unStatusIcon
  unsafeCastGObject = StatusIcon . castForeignPtr . unGObject

castToStatusIcon :: GObjectClass obj => obj -> StatusIcon
castToStatusIcon = castTo gTypeStatusIcon "StatusIcon"

gTypeStatusIcon :: GType
gTypeStatusIcon =
  gtk_status_icon_get_type
{-# LINE 4362 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** TreeSelection

newtype TreeSelection = TreeSelection (ForeignPtr (TreeSelection)) deriving (Eq,Ord)

mkTreeSelection = (TreeSelection, objectUnrefFromMainloop)
unTreeSelection (TreeSelection o) = o

class GObjectClass o => TreeSelectionClass o
toTreeSelection :: TreeSelectionClass o => o -> TreeSelection
toTreeSelection = unsafeCastGObject . toGObject

instance TreeSelectionClass TreeSelection
instance GObjectClass TreeSelection where
  toGObject = GObject . castForeignPtr . unTreeSelection
  unsafeCastGObject = TreeSelection . castForeignPtr . unGObject

castToTreeSelection :: GObjectClass obj => obj -> TreeSelection
castToTreeSelection = castTo gTypeTreeSelection "TreeSelection"

gTypeTreeSelection :: GType
gTypeTreeSelection =
  gtk_tree_selection_get_type
{-# LINE 4385 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** TreeModel

newtype TreeModel = TreeModel (ForeignPtr (TreeModel)) deriving (Eq,Ord)

mkTreeModel = (TreeModel, objectUnrefFromMainloop)
unTreeModel (TreeModel o) = o

class GObjectClass o => TreeModelClass o
toTreeModel :: TreeModelClass o => o -> TreeModel
toTreeModel = unsafeCastGObject . toGObject

instance TreeModelClass TreeModel
instance GObjectClass TreeModel where
  toGObject = GObject . castForeignPtr . unTreeModel
  unsafeCastGObject = TreeModel . castForeignPtr . unGObject

castToTreeModel :: GObjectClass obj => obj -> TreeModel
castToTreeModel = castTo gTypeTreeModel "TreeModel"

gTypeTreeModel :: GType
gTypeTreeModel =
  gtk_tree_model_get_type
{-# LINE 4408 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** TreeStore

newtype TreeStore = TreeStore (ForeignPtr (TreeStore)) deriving (Eq,Ord)

mkTreeStore = (TreeStore, objectUnrefFromMainloop)
unTreeStore (TreeStore o) = o

class TreeModelClass o => TreeStoreClass o
toTreeStore :: TreeStoreClass o => o -> TreeStore
toTreeStore = unsafeCastGObject . toGObject

instance TreeStoreClass TreeStore
instance TreeModelClass TreeStore
instance GObjectClass TreeStore where
  toGObject = GObject . castForeignPtr . unTreeStore
  unsafeCastGObject = TreeStore . castForeignPtr . unGObject

castToTreeStore :: GObjectClass obj => obj -> TreeStore
castToTreeStore = castTo gTypeTreeStore "TreeStore"

gTypeTreeStore :: GType
gTypeTreeStore =
  gtk_tree_store_get_type
{-# LINE 4432 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** ListStore

newtype ListStore = ListStore (ForeignPtr (ListStore)) deriving (Eq,Ord)

mkListStore = (ListStore, objectUnrefFromMainloop)
unListStore (ListStore o) = o

class TreeModelClass o => ListStoreClass o
toListStore :: ListStoreClass o => o -> ListStore
toListStore = unsafeCastGObject . toGObject

instance ListStoreClass ListStore
instance TreeModelClass ListStore
instance GObjectClass ListStore where
  toGObject = GObject . castForeignPtr . unListStore
  unsafeCastGObject = ListStore . castForeignPtr . unGObject

castToListStore :: GObjectClass obj => obj -> ListStore
castToListStore = castTo gTypeListStore "ListStore"

gTypeListStore :: GType
gTypeListStore =
  gtk_list_store_get_type
{-# LINE 4456 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** TreeModelSort

newtype TreeModelSort = TreeModelSort (ForeignPtr (TreeModelSort)) deriving (Eq,Ord)

mkTreeModelSort = (TreeModelSort, objectUnrefFromMainloop)
unTreeModelSort (TreeModelSort o) = o

class GObjectClass o => TreeModelSortClass o
toTreeModelSort :: TreeModelSortClass o => o -> TreeModelSort
toTreeModelSort = unsafeCastGObject . toGObject

instance TreeModelSortClass TreeModelSort
instance GObjectClass TreeModelSort where
  toGObject = GObject . castForeignPtr . unTreeModelSort
  unsafeCastGObject = TreeModelSort . castForeignPtr . unGObject

castToTreeModelSort :: GObjectClass obj => obj -> TreeModelSort
castToTreeModelSort = castTo gTypeTreeModelSort "TreeModelSort"

gTypeTreeModelSort :: GType
gTypeTreeModelSort =
  gtk_tree_model_sort_get_type
{-# LINE 4479 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************ TreeModelFilter

newtype TreeModelFilter = TreeModelFilter (ForeignPtr (TreeModelFilter)) deriving (Eq,Ord)

mkTreeModelFilter = (TreeModelFilter, objectUnrefFromMainloop)
unTreeModelFilter (TreeModelFilter o) = o

class GObjectClass o => TreeModelFilterClass o
toTreeModelFilter :: TreeModelFilterClass o => o -> TreeModelFilter
toTreeModelFilter = unsafeCastGObject . toGObject

instance TreeModelFilterClass TreeModelFilter
instance GObjectClass TreeModelFilter where
  toGObject = GObject . castForeignPtr . unTreeModelFilter
  unsafeCastGObject = TreeModelFilter . castForeignPtr . unGObject

castToTreeModelFilter :: GObjectClass obj => obj -> TreeModelFilter
castToTreeModelFilter = castTo gTypeTreeModelFilter "TreeModelFilter"

gTypeTreeModelFilter :: GType
gTypeTreeModelFilter =
  gtk_tree_model_filter_get_type
{-# LINE 4502 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** IconFactory

newtype IconFactory = IconFactory (ForeignPtr (IconFactory)) deriving (Eq,Ord)

mkIconFactory = (IconFactory, objectUnrefFromMainloop)
unIconFactory (IconFactory o) = o

class GObjectClass o => IconFactoryClass o
toIconFactory :: IconFactoryClass o => o -> IconFactory
toIconFactory = unsafeCastGObject . toGObject

instance IconFactoryClass IconFactory
instance GObjectClass IconFactory where
  toGObject = GObject . castForeignPtr . unIconFactory
  unsafeCastGObject = IconFactory . castForeignPtr . unGObject

castToIconFactory :: GObjectClass obj => obj -> IconFactory
castToIconFactory = castTo gTypeIconFactory "IconFactory"

gTypeIconFactory :: GType
gTypeIconFactory =
  gtk_icon_factory_get_type
{-# LINE 4525 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** IconTheme

newtype IconTheme = IconTheme (ForeignPtr (IconTheme)) deriving (Eq,Ord)

mkIconTheme = (IconTheme, objectUnrefFromMainloop)
unIconTheme (IconTheme o) = o

class GObjectClass o => IconThemeClass o
toIconTheme :: IconThemeClass o => o -> IconTheme
toIconTheme = unsafeCastGObject . toGObject

instance IconThemeClass IconTheme
instance GObjectClass IconTheme where
  toGObject = GObject . castForeignPtr . unIconTheme
  unsafeCastGObject = IconTheme . castForeignPtr . unGObject

castToIconTheme :: GObjectClass obj => obj -> IconTheme
castToIconTheme = castTo gTypeIconTheme "IconTheme"

gTypeIconTheme :: GType
gTypeIconTheme =
  gtk_icon_theme_get_type
{-# LINE 4548 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** SizeGroup

newtype SizeGroup = SizeGroup (ForeignPtr (SizeGroup)) deriving (Eq,Ord)

mkSizeGroup = (SizeGroup, objectUnrefFromMainloop)
unSizeGroup (SizeGroup o) = o

class GObjectClass o => SizeGroupClass o
toSizeGroup :: SizeGroupClass o => o -> SizeGroup
toSizeGroup = unsafeCastGObject . toGObject

instance SizeGroupClass SizeGroup
instance GObjectClass SizeGroup where
  toGObject = GObject . castForeignPtr . unSizeGroup
  unsafeCastGObject = SizeGroup . castForeignPtr . unGObject

castToSizeGroup :: GObjectClass obj => obj -> SizeGroup
castToSizeGroup = castTo gTypeSizeGroup "SizeGroup"

gTypeSizeGroup :: GType
gTypeSizeGroup =
  gtk_size_group_get_type
{-# LINE 4571 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** Clipboard

newtype Clipboard = Clipboard (ForeignPtr (Clipboard)) deriving (Eq,Ord)

mkClipboard = (Clipboard, objectUnrefFromMainloop)
unClipboard (Clipboard o) = o

class GObjectClass o => ClipboardClass o
toClipboard :: ClipboardClass o => o -> Clipboard
toClipboard = unsafeCastGObject . toGObject

instance ClipboardClass Clipboard
instance GObjectClass Clipboard where
  toGObject = GObject . castForeignPtr . unClipboard
  unsafeCastGObject = Clipboard . castForeignPtr . unGObject

castToClipboard :: GObjectClass obj => obj -> Clipboard
castToClipboard = castTo gTypeClipboard "Clipboard"

gTypeClipboard :: GType
gTypeClipboard =
  gtk_clipboard_get_type
{-# LINE 4594 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** AccelGroup

newtype AccelGroup = AccelGroup (ForeignPtr (AccelGroup)) deriving (Eq,Ord)

mkAccelGroup = (AccelGroup, objectUnrefFromMainloop)
unAccelGroup (AccelGroup o) = o

class GObjectClass o => AccelGroupClass o
toAccelGroup :: AccelGroupClass o => o -> AccelGroup
toAccelGroup = unsafeCastGObject . toGObject

instance AccelGroupClass AccelGroup
instance GObjectClass AccelGroup where
  toGObject = GObject . castForeignPtr . unAccelGroup
  unsafeCastGObject = AccelGroup . castForeignPtr . unGObject

castToAccelGroup :: GObjectClass obj => obj -> AccelGroup
castToAccelGroup = castTo gTypeAccelGroup "AccelGroup"

gTypeAccelGroup :: GType
gTypeAccelGroup =
  gtk_accel_group_get_type
{-# LINE 4617 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* AccelMap

newtype AccelMap = AccelMap (ForeignPtr (AccelMap)) deriving (Eq,Ord)

mkAccelMap = (AccelMap, objectUnrefFromMainloop)
unAccelMap (AccelMap o) = o

class GObjectClass o => AccelMapClass o
toAccelMap :: AccelMapClass o => o -> AccelMap
toAccelMap = unsafeCastGObject . toGObject

instance AccelMapClass AccelMap
instance GObjectClass AccelMap where
  toGObject = GObject . castForeignPtr . unAccelMap
  unsafeCastGObject = AccelMap . castForeignPtr . unGObject

castToAccelMap :: GObjectClass obj => obj -> AccelMap
castToAccelMap = castTo gTypeAccelMap "AccelMap"

gTypeAccelMap :: GType
gTypeAccelMap =
  gtk_accel_map_get_type
{-# LINE 4640 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************ EntryCompletion

newtype EntryCompletion = EntryCompletion (ForeignPtr (EntryCompletion)) deriving (Eq,Ord)

mkEntryCompletion = (EntryCompletion, objectUnrefFromMainloop)
unEntryCompletion (EntryCompletion o) = o

class GObjectClass o => EntryCompletionClass o
toEntryCompletion :: EntryCompletionClass o => o -> EntryCompletion
toEntryCompletion = unsafeCastGObject . toGObject

instance EntryCompletionClass EntryCompletion
instance GObjectClass EntryCompletion where
  toGObject = GObject . castForeignPtr . unEntryCompletion
  unsafeCastGObject = EntryCompletion . castForeignPtr . unGObject

castToEntryCompletion :: GObjectClass obj => obj -> EntryCompletion
castToEntryCompletion = castTo gTypeEntryCompletion "EntryCompletion"

gTypeEntryCompletion :: GType
gTypeEntryCompletion =
  gtk_entry_completion_get_type
{-# LINE 4663 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************************* Action

newtype Action = Action (ForeignPtr (Action)) deriving (Eq,Ord)

mkAction = (Action, objectUnrefFromMainloop)
unAction (Action o) = o

class GObjectClass o => ActionClass o
toAction :: ActionClass o => o -> Action
toAction = unsafeCastGObject . toGObject

instance ActionClass Action
instance GObjectClass Action where
  toGObject = GObject . castForeignPtr . unAction
  unsafeCastGObject = Action . castForeignPtr . unGObject

castToAction :: GObjectClass obj => obj -> Action
castToAction = castTo gTypeAction "Action"

gTypeAction :: GType
gTypeAction =
  gtk_action_get_type
{-# LINE 4686 "./Graphics/UI/Gtk/Types.chs" #-}

-- *************************************************************** ToggleAction

newtype ToggleAction = ToggleAction (ForeignPtr (ToggleAction)) deriving (Eq,Ord)

mkToggleAction = (ToggleAction, objectUnrefFromMainloop)
unToggleAction (ToggleAction o) = o

class ActionClass o => ToggleActionClass o
toToggleAction :: ToggleActionClass o => o -> ToggleAction
toToggleAction = unsafeCastGObject . toGObject

instance ToggleActionClass ToggleAction
instance ActionClass ToggleAction
instance GObjectClass ToggleAction where
  toGObject = GObject . castForeignPtr . unToggleAction
  unsafeCastGObject = ToggleAction . castForeignPtr . unGObject

castToToggleAction :: GObjectClass obj => obj -> ToggleAction
castToToggleAction = castTo gTypeToggleAction "ToggleAction"

gTypeToggleAction :: GType
gTypeToggleAction =
  gtk_toggle_action_get_type
{-# LINE 4710 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** RadioAction

newtype RadioAction = RadioAction (ForeignPtr (RadioAction)) deriving (Eq,Ord)

mkRadioAction = (RadioAction, objectUnrefFromMainloop)
unRadioAction (RadioAction o) = o

class ToggleActionClass o => RadioActionClass o
toRadioAction :: RadioActionClass o => o -> RadioAction
toRadioAction = unsafeCastGObject . toGObject

instance RadioActionClass RadioAction
instance ToggleActionClass RadioAction
instance ActionClass RadioAction
instance GObjectClass RadioAction where
  toGObject = GObject . castForeignPtr . unRadioAction
  unsafeCastGObject = RadioAction . castForeignPtr . unGObject

castToRadioAction :: GObjectClass obj => obj -> RadioAction
castToRadioAction = castTo gTypeRadioAction "RadioAction"

gTypeRadioAction :: GType
gTypeRadioAction =
  gtk_radio_action_get_type
{-# LINE 4735 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** ActionGroup

newtype ActionGroup = ActionGroup (ForeignPtr (ActionGroup)) deriving (Eq,Ord)

mkActionGroup = (ActionGroup, objectUnrefFromMainloop)
unActionGroup (ActionGroup o) = o

class GObjectClass o => ActionGroupClass o
toActionGroup :: ActionGroupClass o => o -> ActionGroup
toActionGroup = unsafeCastGObject . toGObject

instance ActionGroupClass ActionGroup
instance GObjectClass ActionGroup where
  toGObject = GObject . castForeignPtr . unActionGroup
  unsafeCastGObject = ActionGroup . castForeignPtr . unGObject

castToActionGroup :: GObjectClass obj => obj -> ActionGroup
castToActionGroup = castTo gTypeActionGroup "ActionGroup"

gTypeActionGroup :: GType
gTypeActionGroup =
  gtk_action_group_get_type
{-# LINE 4758 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** UIManager

newtype UIManager = UIManager (ForeignPtr (UIManager)) deriving (Eq,Ord)

mkUIManager = (UIManager, objectUnrefFromMainloop)
unUIManager (UIManager o) = o

class GObjectClass o => UIManagerClass o
toUIManager :: UIManagerClass o => o -> UIManager
toUIManager = unsafeCastGObject . toGObject

instance UIManagerClass UIManager
instance GObjectClass UIManager where
  toGObject = GObject . castForeignPtr . unUIManager
  unsafeCastGObject = UIManager . castForeignPtr . unGObject

castToUIManager :: GObjectClass obj => obj -> UIManager
castToUIManager = castTo gTypeUIManager "UIManager"

gTypeUIManager :: GType
gTypeUIManager =
  gtk_ui_manager_get_type
{-# LINE 4781 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** WindowGroup

newtype WindowGroup = WindowGroup (ForeignPtr (WindowGroup)) deriving (Eq,Ord)

mkWindowGroup = (WindowGroup, objectUnrefFromMainloop)
unWindowGroup (WindowGroup o) = o

class GObjectClass o => WindowGroupClass o
toWindowGroup :: WindowGroupClass o => o -> WindowGroup
toWindowGroup = unsafeCastGObject . toGObject

instance WindowGroupClass WindowGroup
instance GObjectClass WindowGroup where
  toGObject = GObject . castForeignPtr . unWindowGroup
  unsafeCastGObject = WindowGroup . castForeignPtr . unGObject

castToWindowGroup :: GObjectClass obj => obj -> WindowGroup
castToWindowGroup = castTo gTypeWindowGroup "WindowGroup"

gTypeWindowGroup :: GType
gTypeWindowGroup =
  gtk_window_group_get_type
{-# LINE 4804 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* Editable

newtype Editable = Editable (ForeignPtr (Editable)) deriving (Eq,Ord)

mkEditable = (Editable, objectUnrefFromMainloop)
unEditable (Editable o) = o

class GObjectClass o => EditableClass o
toEditable :: EditableClass o => o -> Editable
toEditable = unsafeCastGObject . toGObject

instance EditableClass Editable
instance GObjectClass Editable where
  toGObject = GObject . castForeignPtr . unEditable
  unsafeCastGObject = Editable . castForeignPtr . unGObject

castToEditable :: GObjectClass obj => obj -> Editable
castToEditable = castTo gTypeEditable "Editable"

gTypeEditable :: GType
gTypeEditable =
  gtk_editable_get_type
{-# LINE 4827 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** FileChooser

newtype FileChooser = FileChooser (ForeignPtr (FileChooser)) deriving (Eq,Ord)

mkFileChooser = (FileChooser, objectUnrefFromMainloop)
unFileChooser (FileChooser o) = o

class GObjectClass o => FileChooserClass o
toFileChooser :: FileChooserClass o => o -> FileChooser
toFileChooser = unsafeCastGObject . toGObject

instance FileChooserClass FileChooser
instance GObjectClass FileChooser where
  toGObject = GObject . castForeignPtr . unFileChooser
  unsafeCastGObject = FileChooser . castForeignPtr . unGObject

castToFileChooser :: GObjectClass obj => obj -> FileChooser
castToFileChooser = castTo gTypeFileChooser "FileChooser"

gTypeFileChooser :: GType
gTypeFileChooser =
  gtk_file_chooser_get_type
{-# LINE 4850 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************************* GC

newtype GC = GC (ForeignPtr (GC)) deriving (Eq,Ord)

mkGC = (GC, objectUnrefFromMainloop)
unGC (GC o) = o

class GObjectClass o => GCClass o
toGC :: GCClass o => o -> GC
toGC = unsafeCastGObject . toGObject

instance GCClass GC
instance GObjectClass GC where
  toGObject = GObject . castForeignPtr . unGC
  unsafeCastGObject = GC . castForeignPtr . unGObject

castToGC :: GObjectClass obj => obj -> GC
castToGC = castTo gTypeGC "GC"

gTypeGC :: GType
gTypeGC =
  gdk_gc_get_type
{-# LINE 4873 "./Graphics/UI/Gtk/Types.chs" #-}


foreign import ccall unsafe "gdk_drawable_get_type"
  gdk_drawable_get_type :: CUInt

foreign import ccall unsafe "gdk_window_object_get_type"
  gdk_window_object_get_type :: CUInt

foreign import ccall unsafe "gdk_pixmap_get_type"
  gdk_pixmap_get_type :: CUInt

foreign import ccall unsafe "gdk_colormap_get_type"
  gdk_colormap_get_type :: CUInt

foreign import ccall unsafe "gdk_screen_get_type"
  gdk_screen_get_type :: CUInt

foreign import ccall unsafe "gdk_display_get_type"
  gdk_display_get_type :: CUInt

foreign import ccall unsafe "gdk_visual_get_type"
  gdk_visual_get_type :: CUInt

foreign import ccall unsafe "gdk_device_get_type"
  gdk_device_get_type :: CUInt

foreign import ccall unsafe "gtk_settings_get_type"
  gtk_settings_get_type :: CUInt

foreign import ccall unsafe "gtk_text_buffer_get_type"
  gtk_text_buffer_get_type :: CUInt

foreign import ccall unsafe "gtk_text_tag_get_type"
  gtk_text_tag_get_type :: CUInt

foreign import ccall unsafe "gtk_text_tag_table_get_type"
  gtk_text_tag_table_get_type :: CUInt

foreign import ccall unsafe "gtk_style_get_type"
  gtk_style_get_type :: CUInt

foreign import ccall unsafe "gtk_rc_style_get_type"
  gtk_rc_style_get_type :: CUInt

foreign import ccall unsafe "gdk_drag_context_get_type"
  gdk_drag_context_get_type :: CUInt

foreign import ccall unsafe "gdk_pixbuf_get_type"
  gdk_pixbuf_get_type :: CUInt

foreign import ccall unsafe "gdk_pixbuf_animation_get_type"
  gdk_pixbuf_animation_get_type :: CUInt

foreign import ccall unsafe "gdk_pixbuf_simple_anim_get_type"
  gdk_pixbuf_simple_anim_get_type :: CUInt

foreign import ccall unsafe "gdk_pixbuf_animation_iter_get_type"
  gdk_pixbuf_animation_iter_get_type :: CUInt

foreign import ccall unsafe "gtk_text_child_anchor_get_type"
  gtk_text_child_anchor_get_type :: CUInt

foreign import ccall unsafe "gtk_text_mark_get_type"
  gtk_text_mark_get_type :: CUInt

foreign import ccall unsafe "gtk_object_get_type"
  gtk_object_get_type :: CUInt

foreign import ccall unsafe "gtk_widget_get_type"
  gtk_widget_get_type :: CUInt

foreign import ccall unsafe "gtk_misc_get_type"
  gtk_misc_get_type :: CUInt

foreign import ccall unsafe "gtk_label_get_type"
  gtk_label_get_type :: CUInt

foreign import ccall unsafe "gtk_accel_label_get_type"
  gtk_accel_label_get_type :: CUInt

foreign import ccall unsafe "gtk_tips_query_get_type"
  gtk_tips_query_get_type :: CUInt

foreign import ccall unsafe "gtk_arrow_get_type"
  gtk_arrow_get_type :: CUInt

foreign import ccall unsafe "gtk_image_get_type"
  gtk_image_get_type :: CUInt

foreign import ccall unsafe "gtk_container_get_type"
  gtk_container_get_type :: CUInt

foreign import ccall unsafe "gtk_bin_get_type"
  gtk_bin_get_type :: CUInt

foreign import ccall unsafe "gtk_alignment_get_type"
  gtk_alignment_get_type :: CUInt

foreign import ccall unsafe "gtk_frame_get_type"
  gtk_frame_get_type :: CUInt

foreign import ccall unsafe "gtk_aspect_frame_get_type"
  gtk_aspect_frame_get_type :: CUInt

foreign import ccall unsafe "gtk_button_get_type"
  gtk_button_get_type :: CUInt

foreign import ccall unsafe "gtk_toggle_button_get_type"
  gtk_toggle_button_get_type :: CUInt

foreign import ccall unsafe "gtk_check_button_get_type"
  gtk_check_button_get_type :: CUInt

foreign import ccall unsafe "gtk_radio_button_get_type"
  gtk_radio_button_get_type :: CUInt

foreign import ccall unsafe "gtk_color_button_get_type"
  gtk_color_button_get_type :: CUInt

foreign import ccall unsafe "gtk_font_button_get_type"
  gtk_font_button_get_type :: CUInt

foreign import ccall unsafe "gtk_option_menu_get_type"
  gtk_option_menu_get_type :: CUInt

foreign import ccall unsafe "gtk_item_get_type"
  gtk_item_get_type :: CUInt

foreign import ccall unsafe "gtk_menu_item_get_type"
  gtk_menu_item_get_type :: CUInt

foreign import ccall unsafe "gtk_check_menu_item_get_type"
  gtk_check_menu_item_get_type :: CUInt

foreign import ccall unsafe "gtk_radio_menu_item_get_type"
  gtk_radio_menu_item_get_type :: CUInt

foreign import ccall unsafe "gtk_tearoff_menu_item_get_type"
  gtk_tearoff_menu_item_get_type :: CUInt

foreign import ccall unsafe "gtk_image_menu_item_get_type"
  gtk_image_menu_item_get_type :: CUInt

foreign import ccall unsafe "gtk_separator_menu_item_get_type"
  gtk_separator_menu_item_get_type :: CUInt

foreign import ccall unsafe "gtk_list_item_get_type"
  gtk_list_item_get_type :: CUInt

foreign import ccall unsafe "gtk_window_get_type"
  gtk_window_get_type :: CUInt

foreign import ccall unsafe "gtk_dialog_get_type"
  gtk_dialog_get_type :: CUInt

foreign import ccall unsafe "gtk_about_dialog_get_type"
  gtk_about_dialog_get_type :: CUInt

foreign import ccall unsafe "gtk_color_selection_dialog_get_type"
  gtk_color_selection_dialog_get_type :: CUInt

foreign import ccall unsafe "gtk_file_selection_get_type"
  gtk_file_selection_get_type :: CUInt

foreign import ccall unsafe "gtk_file_chooser_dialog_get_type"
  gtk_file_chooser_dialog_get_type :: CUInt

foreign import ccall unsafe "gtk_font_selection_dialog_get_type"
  gtk_font_selection_dialog_get_type :: CUInt

foreign import ccall unsafe "gtk_input_dialog_get_type"
  gtk_input_dialog_get_type :: CUInt

foreign import ccall unsafe "gtk_message_dialog_get_type"
  gtk_message_dialog_get_type :: CUInt

foreign import ccall unsafe "gtk_plug_get_type"
  gtk_plug_get_type :: CUInt

foreign import ccall unsafe "gtk_event_box_get_type"
  gtk_event_box_get_type :: CUInt

foreign import ccall unsafe "gtk_handle_box_get_type"
  gtk_handle_box_get_type :: CUInt

foreign import ccall unsafe "gtk_scrolled_window_get_type"
  gtk_scrolled_window_get_type :: CUInt

foreign import ccall unsafe "gtk_viewport_get_type"
  gtk_viewport_get_type :: CUInt

foreign import ccall unsafe "gtk_expander_get_type"
  gtk_expander_get_type :: CUInt

foreign import ccall unsafe "gtk_combo_box_get_type"
  gtk_combo_box_get_type :: CUInt

foreign import ccall unsafe "gtk_combo_box_entry_get_type"
  gtk_combo_box_entry_get_type :: CUInt

foreign import ccall unsafe "gtk_tool_item_get_type"
  gtk_tool_item_get_type :: CUInt

foreign import ccall unsafe "gtk_tool_button_get_type"
  gtk_tool_button_get_type :: CUInt

foreign import ccall unsafe "gtk_menu_tool_button_get_type"
  gtk_menu_tool_button_get_type :: CUInt

foreign import ccall unsafe "gtk_toggle_tool_button_get_type"
  gtk_toggle_tool_button_get_type :: CUInt

foreign import ccall unsafe "gtk_radio_tool_button_get_type"
  gtk_radio_tool_button_get_type :: CUInt

foreign import ccall unsafe "gtk_separator_tool_item_get_type"
  gtk_separator_tool_item_get_type :: CUInt

foreign import ccall unsafe "gtk_box_get_type"
  gtk_box_get_type :: CUInt

foreign import ccall unsafe "gtk_button_box_get_type"
  gtk_button_box_get_type :: CUInt

foreign import ccall unsafe "gtk_hbutton_box_get_type"
  gtk_hbutton_box_get_type :: CUInt

foreign import ccall unsafe "gtk_vbutton_box_get_type"
  gtk_vbutton_box_get_type :: CUInt

foreign import ccall unsafe "gtk_vbox_get_type"
  gtk_vbox_get_type :: CUInt

foreign import ccall unsafe "gtk_color_selection_get_type"
  gtk_color_selection_get_type :: CUInt

foreign import ccall unsafe "gtk_font_selection_get_type"
  gtk_font_selection_get_type :: CUInt

foreign import ccall unsafe "gtk_file_chooser_widget_get_type"
  gtk_file_chooser_widget_get_type :: CUInt

foreign import ccall unsafe "gtk_hbox_get_type"
  gtk_hbox_get_type :: CUInt

foreign import ccall unsafe "gtk_combo_get_type"
  gtk_combo_get_type :: CUInt

foreign import ccall unsafe "gtk_file_chooser_button_get_type"
  gtk_file_chooser_button_get_type :: CUInt

foreign import ccall unsafe "gtk_statusbar_get_type"
  gtk_statusbar_get_type :: CUInt

foreign import ccall unsafe "gtk_clist_get_type"
  gtk_clist_get_type :: CUInt

foreign import ccall unsafe "gtk_ctree_get_type"
  gtk_ctree_get_type :: CUInt

foreign import ccall unsafe "gtk_fixed_get_type"
  gtk_fixed_get_type :: CUInt

foreign import ccall unsafe "gtk_paned_get_type"
  gtk_paned_get_type :: CUInt

foreign import ccall unsafe "gtk_hpaned_get_type"
  gtk_hpaned_get_type :: CUInt

foreign import ccall unsafe "gtk_vpaned_get_type"
  gtk_vpaned_get_type :: CUInt

foreign import ccall unsafe "gtk_icon_view_get_type"
  gtk_icon_view_get_type :: CUInt

foreign import ccall unsafe "gtk_layout_get_type"
  gtk_layout_get_type :: CUInt

foreign import ccall unsafe "gtk_list_get_type"
  gtk_list_get_type :: CUInt

foreign import ccall unsafe "gtk_menu_shell_get_type"
  gtk_menu_shell_get_type :: CUInt

foreign import ccall unsafe "gtk_menu_get_type"
  gtk_menu_get_type :: CUInt

foreign import ccall unsafe "gtk_menu_bar_get_type"
  gtk_menu_bar_get_type :: CUInt

foreign import ccall unsafe "gtk_notebook_get_type"
  gtk_notebook_get_type :: CUInt

foreign import ccall unsafe "gtk_socket_get_type"
  gtk_socket_get_type :: CUInt

foreign import ccall unsafe "gtk_table_get_type"
  gtk_table_get_type :: CUInt

foreign import ccall unsafe "gtk_text_view_get_type"
  gtk_text_view_get_type :: CUInt

foreign import ccall unsafe "gtk_toolbar_get_type"
  gtk_toolbar_get_type :: CUInt

foreign import ccall unsafe "gtk_tree_view_get_type"
  gtk_tree_view_get_type :: CUInt

foreign import ccall unsafe "gtk_calendar_get_type"
  gtk_calendar_get_type :: CUInt

foreign import ccall unsafe "gtk_cell_view_get_type"
  gtk_cell_view_get_type :: CUInt

foreign import ccall unsafe "gtk_drawing_area_get_type"
  gtk_drawing_area_get_type :: CUInt

foreign import ccall unsafe "gtk_entry_get_type"
  gtk_entry_get_type :: CUInt

foreign import ccall unsafe "gtk_spin_button_get_type"
  gtk_spin_button_get_type :: CUInt

foreign import ccall unsafe "gtk_ruler_get_type"
  gtk_ruler_get_type :: CUInt

foreign import ccall unsafe "gtk_hruler_get_type"
  gtk_hruler_get_type :: CUInt

foreign import ccall unsafe "gtk_vruler_get_type"
  gtk_vruler_get_type :: CUInt

foreign import ccall unsafe "gtk_range_get_type"
  gtk_range_get_type :: CUInt

foreign import ccall unsafe "gtk_scale_get_type"
  gtk_scale_get_type :: CUInt

foreign import ccall unsafe "gtk_hscale_get_type"
  gtk_hscale_get_type :: CUInt

foreign import ccall unsafe "gtk_vscale_get_type"
  gtk_vscale_get_type :: CUInt

foreign import ccall unsafe "gtk_scrollbar_get_type"
  gtk_scrollbar_get_type :: CUInt

foreign import ccall unsafe "gtk_hscrollbar_get_type"
  gtk_hscrollbar_get_type :: CUInt

foreign import ccall unsafe "gtk_vscrollbar_get_type"
  gtk_vscrollbar_get_type :: CUInt

foreign import ccall unsafe "gtk_separator_get_type"
  gtk_separator_get_type :: CUInt

foreign import ccall unsafe "gtk_hseparator_get_type"
  gtk_hseparator_get_type :: CUInt

foreign import ccall unsafe "gtk_vseparator_get_type"
  gtk_vseparator_get_type :: CUInt

foreign import ccall unsafe "gtk_invisible_get_type"
  gtk_invisible_get_type :: CUInt

foreign import ccall unsafe "gtk_preview_get_type"
  gtk_preview_get_type :: CUInt

foreign import ccall unsafe "gtk_progress_bar_get_type"
  gtk_progress_bar_get_type :: CUInt

foreign import ccall unsafe "gtk_adjustment_get_type"
  gtk_adjustment_get_type :: CUInt

foreign import ccall unsafe "gtk_im_context_get_type"
  gtk_im_context_get_type :: CUInt

foreign import ccall unsafe "gtk_im_multicontext_get_type"
  gtk_im_multicontext_get_type :: CUInt

foreign import ccall unsafe "gtk_item_factory_get_type"
  gtk_item_factory_get_type :: CUInt

foreign import ccall unsafe "gtk_tooltips_get_type"
  gtk_tooltips_get_type :: CUInt

foreign import ccall unsafe "gtk_tree_view_column_get_type"
  gtk_tree_view_column_get_type :: CUInt

foreign import ccall unsafe "gtk_cell_renderer_get_type"
  gtk_cell_renderer_get_type :: CUInt

foreign import ccall unsafe "gtk_cell_renderer_pixbuf_get_type"
  gtk_cell_renderer_pixbuf_get_type :: CUInt

foreign import ccall unsafe "gtk_cell_renderer_text_get_type"
  gtk_cell_renderer_text_get_type :: CUInt

foreign import ccall unsafe "gtk_cell_renderer_combo_get_type"
  gtk_cell_renderer_combo_get_type :: CUInt

foreign import ccall unsafe "gtk_cell_renderer_toggle_get_type"
  gtk_cell_renderer_toggle_get_type :: CUInt

foreign import ccall unsafe "gtk_cell_renderer_progress_get_type"
  gtk_cell_renderer_progress_get_type :: CUInt

foreign import ccall unsafe "gtk_file_filter_get_type"
  gtk_file_filter_get_type :: CUInt

foreign import ccall unsafe "gtk_builder_get_type"
  gtk_builder_get_type :: CUInt

foreign import ccall unsafe "gtk_cell_layout_get_type"
  gtk_cell_layout_get_type :: CUInt

foreign import ccall unsafe "gtk_tree_sortable_get_type"
  gtk_tree_sortable_get_type :: CUInt

foreign import ccall unsafe "gtk_status_icon_get_type"
  gtk_status_icon_get_type :: CUInt

foreign import ccall unsafe "gtk_tree_selection_get_type"
  gtk_tree_selection_get_type :: CUInt

foreign import ccall unsafe "gtk_tree_model_get_type"
  gtk_tree_model_get_type :: CUInt

foreign import ccall unsafe "gtk_tree_store_get_type"
  gtk_tree_store_get_type :: CUInt

foreign import ccall unsafe "gtk_list_store_get_type"
  gtk_list_store_get_type :: CUInt

foreign import ccall unsafe "gtk_tree_model_sort_get_type"
  gtk_tree_model_sort_get_type :: CUInt

foreign import ccall unsafe "gtk_tree_model_filter_get_type"
  gtk_tree_model_filter_get_type :: CUInt

foreign import ccall unsafe "gtk_icon_factory_get_type"
  gtk_icon_factory_get_type :: CUInt

foreign import ccall unsafe "gtk_icon_theme_get_type"
  gtk_icon_theme_get_type :: CUInt

foreign import ccall unsafe "gtk_size_group_get_type"
  gtk_size_group_get_type :: CUInt

foreign import ccall unsafe "gtk_clipboard_get_type"
  gtk_clipboard_get_type :: CUInt

foreign import ccall unsafe "gtk_accel_group_get_type"
  gtk_accel_group_get_type :: CUInt

foreign import ccall unsafe "gtk_accel_map_get_type"
  gtk_accel_map_get_type :: CUInt

foreign import ccall unsafe "gtk_entry_completion_get_type"
  gtk_entry_completion_get_type :: CUInt

foreign import ccall unsafe "gtk_action_get_type"
  gtk_action_get_type :: CUInt

foreign import ccall unsafe "gtk_toggle_action_get_type"
  gtk_toggle_action_get_type :: CUInt

foreign import ccall unsafe "gtk_radio_action_get_type"
  gtk_radio_action_get_type :: CUInt

foreign import ccall unsafe "gtk_action_group_get_type"
  gtk_action_group_get_type :: CUInt

foreign import ccall unsafe "gtk_ui_manager_get_type"
  gtk_ui_manager_get_type :: CUInt

foreign import ccall unsafe "gtk_window_group_get_type"
  gtk_window_group_get_type :: CUInt

foreign import ccall unsafe "gtk_editable_get_type"
  gtk_editable_get_type :: CUInt

foreign import ccall unsafe "gtk_file_chooser_get_type"
  gtk_file_chooser_get_type :: CUInt

foreign import ccall unsafe "gdk_gc_get_type"
  gdk_gc_get_type :: CUInt