{-# LINE 2 "./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,
  AtkObject(AtkObject), AtkObjectClass,
  toAtkObject,
  mkAtkObject, unAtkObject,
  castToAtkObject, gTypeAtkObject,
  Accessible(Accessible), AccessibleClass,
  toAccessible,
  mkAccessible, unAccessible,
  castToAccessible, gTypeAccessible,
  Keymap(Keymap), KeymapClass,
  toKeymap,
  mkKeymap, unKeymap,
  castToKeymap, gTypeKeymap,
  DisplayManager(DisplayManager), DisplayManagerClass,
  toDisplayManager,
  mkDisplayManager, unDisplayManager,
  castToDisplayManager, gTypeDisplayManager,
  AppLaunchContext(AppLaunchContext), AppLaunchContextClass,
  toAppLaunchContext,
  mkAppLaunchContext, unAppLaunchContext,
  castToAppLaunchContext, gTypeAppLaunchContext,
  PrintSettings(PrintSettings), PrintSettingsClass,
  toPrintSettings,
  mkPrintSettings, unPrintSettings,
  castToPrintSettings, gTypePrintSettings,
  PrintOperation(PrintOperation), PrintOperationClass,
  toPrintOperation,
  mkPrintOperation, unPrintOperation,
  castToPrintOperation, gTypePrintOperation,
  PrintOperationPreview(PrintOperationPreview), PrintOperationPreviewClass,
  toPrintOperationPreview,
  mkPrintOperationPreview, unPrintOperationPreview,
  castToPrintOperationPreview, gTypePrintOperationPreview,
  PageSetup(PageSetup), PageSetupClass,
  toPageSetup,
  mkPageSetup, unPageSetup,
  castToPageSetup, gTypePageSetup,
  PrintContext(PrintContext), PrintContextClass,
  toPrintContext,
  mkPrintContext, unPrintContext,
  castToPrintContext, gTypePrintContext,
  RecentChooser(RecentChooser), RecentChooserClass,
  toRecentChooser,
  mkRecentChooser, unRecentChooser,
  castToRecentChooser, gTypeRecentChooser,
  RecentManager(RecentManager), RecentManagerClass,
  toRecentManager,
  mkRecentManager, unRecentManager,
  castToRecentManager, gTypeRecentManager,
  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,
  RecentFilter(RecentFilter), RecentFilterClass,
  toRecentFilter,
  mkRecentFilter, unRecentFilter,
  castToRecentFilter, gTypeRecentFilter,
  Widget(Widget), WidgetClass,
  toWidget,
  mkWidget, unWidget,
  castToWidget, gTypeWidget,
  HSV(HSV), HSVClass,
  toHSV,
  mkHSV, unHSV,
  castToHSV, gTypeHSV,
  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,
  ToolPalette(ToolPalette), ToolPaletteClass,
  toToolPalette,
  mkToolPalette, unToolPalette,
  castToToolPalette, gTypeToolPalette,
  ToolItemGroup(ToolItemGroup), ToolItemGroupClass,
  toToolItemGroup,
  mkToolItemGroup, unToolItemGroup,
  castToToolItemGroup, gTypeToolItemGroup,
  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,
  ScaleButton(ScaleButton), ScaleButtonClass,
  toScaleButton,
  mkScaleButton, unScaleButton,
  castToScaleButton, gTypeScaleButton,
  VolumeButton(VolumeButton), VolumeButtonClass,
  toVolumeButton,
  mkVolumeButton, unVolumeButton,
  castToVolumeButton, gTypeVolumeButton,
  LinkButton(LinkButton), LinkButtonClass,
  toLinkButton,
  mkLinkButton, unLinkButton,
  castToLinkButton, gTypeLinkButton,
  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,
  Assistant(Assistant), AssistantClass,
  toAssistant,
  mkAssistant, unAssistant,
  castToAssistant, gTypeAssistant,
  OffscreenWindow(OffscreenWindow), OffscreenWindowClass,
  toOffscreenWindow,
  mkOffscreenWindow, unOffscreenWindow,
  castToOffscreenWindow, gTypeOffscreenWindow,
  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,
  RecentChooserWidget(RecentChooserWidget), RecentChooserWidgetClass,
  toRecentChooserWidget,
  mkRecentChooserWidget, unRecentChooserWidget,
  castToRecentChooserWidget, gTypeRecentChooserWidget,
  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,
  InfoBar(InfoBar), InfoBarClass,
  toInfoBar,
  mkInfoBar, unInfoBar,
  castToInfoBar, gTypeInfoBar,
  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,
  RecentChooserMenu(RecentChooserMenu), RecentChooserMenuClass,
  toRecentChooserMenu,
  mkRecentChooserMenu, unRecentChooserMenu,
  castToRecentChooserMenu, gTypeRecentChooserMenu,
  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,
  Spinner(Spinner), SpinnerClass,
  toSpinner,
  mkSpinner, unSpinner,
  castToSpinner, gTypeSpinner,
  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,
  IMContextSimple(IMContextSimple), IMContextSimpleClass,
  toIMContextSimple,
  mkIMContextSimple, unIMContextSimple,
  castToIMContextSimple, gTypeIMContextSimple,
  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,
  CellRendererSpinner(CellRendererSpinner), CellRendererSpinnerClass,
  toCellRendererSpinner,
  mkCellRendererSpinner, unCellRendererSpinner,
  castToCellRendererSpinner, gTypeCellRendererSpinner,
  CellRendererPixbuf(CellRendererPixbuf), CellRendererPixbufClass,
  toCellRendererPixbuf,
  mkCellRendererPixbuf, unCellRendererPixbuf,
  castToCellRendererPixbuf, gTypeCellRendererPixbuf,
  CellRendererText(CellRendererText), CellRendererTextClass,
  toCellRendererText,
  mkCellRendererText, unCellRendererText,
  castToCellRendererText, gTypeCellRendererText,
  CellRendererAccel(CellRendererAccel), CellRendererAccelClass,
  toCellRendererAccel,
  mkCellRendererAccel, unCellRendererAccel,
  castToCellRendererAccel, gTypeCellRendererAccel,
  CellRendererSpin(CellRendererSpin), CellRendererSpinClass,
  toCellRendererSpin,
  mkCellRendererSpin, unCellRendererSpin,
  castToCellRendererSpin, gTypeCellRendererSpin,
  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,
  Tooltip(Tooltip), TooltipClass,
  toTooltip,
  mkTooltip, unTooltip,
  castToTooltip, gTypeTooltip,
  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,
  EntryBuffer(EntryBuffer), EntryBufferClass,
  toEntryBuffer,
  mkEntryBuffer, unEntryBuffer,
  castToEntryBuffer, gTypeEntryBuffer,
  Action(Action), ActionClass,
  toAction,
  mkAction, unAction,
  castToAction, gTypeAction,
  RecentAction(RecentAction), RecentActionClass,
  toRecentAction,
  mkRecentAction, unRecentAction,
  castToRecentAction, gTypeRecentAction,
  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,
  CellEditable(CellEditable), CellEditableClass,
  toCellEditable,
  mkCellEditable, unCellEditable,
  castToCellEditable, gTypeCellEditable,
  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)



import Foreign.ForeignPtr (unsafeForeignPtrToPtr)

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


{-# LINE 834 "./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


-- ****************************************************************** AtkObject

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

mkAtkObject = (AtkObject, objectUnrefFromMainloop)
unAtkObject (AtkObject o) = o

class GObjectClass o => AtkObjectClass o
toAtkObject :: AtkObjectClass o => o -> AtkObject
toAtkObject = unsafeCastGObject . toGObject

instance AtkObjectClass AtkObject
instance GObjectClass AtkObject where
  toGObject = GObject . castForeignPtr . unAtkObject
  unsafeCastGObject = AtkObject . castForeignPtr . unGObject

castToAtkObject :: GObjectClass obj => obj -> AtkObject
castToAtkObject = castTo gTypeAtkObject "AtkObject"

gTypeAtkObject :: GType
gTypeAtkObject =
  atk_object_get_type
{-# LINE 870 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** Accessible

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

mkAccessible = (Accessible, objectUnrefFromMainloop)
unAccessible (Accessible o) = o

class AtkObjectClass o => AccessibleClass o
toAccessible :: AccessibleClass o => o -> Accessible
toAccessible = unsafeCastGObject . toGObject

instance AccessibleClass Accessible
instance AtkObjectClass Accessible
instance GObjectClass Accessible where
  toGObject = GObject . castForeignPtr . unAccessible
  unsafeCastGObject = Accessible . castForeignPtr . unGObject

castToAccessible :: GObjectClass obj => obj -> Accessible
castToAccessible = castTo gTypeAccessible "Accessible"

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

-- ********************************************************************* Keymap

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

mkKeymap = (Keymap, objectUnrefFromMainloop)
unKeymap (Keymap o) = o

class GObjectClass o => KeymapClass o
toKeymap :: KeymapClass o => o -> Keymap
toKeymap = unsafeCastGObject . toGObject

instance KeymapClass Keymap
instance GObjectClass Keymap where
  toGObject = GObject . castForeignPtr . unKeymap
  unsafeCastGObject = Keymap . castForeignPtr . unGObject

castToKeymap :: GObjectClass obj => obj -> Keymap
castToKeymap = castTo gTypeKeymap "Keymap"

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

-- ************************************************************* DisplayManager

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

mkDisplayManager = (DisplayManager, objectUnrefFromMainloop)
unDisplayManager (DisplayManager o) = o

class GObjectClass o => DisplayManagerClass o
toDisplayManager :: DisplayManagerClass o => o -> DisplayManager
toDisplayManager = unsafeCastGObject . toGObject

instance DisplayManagerClass DisplayManager
instance GObjectClass DisplayManager where
  toGObject = GObject . castForeignPtr . unDisplayManager
  unsafeCastGObject = DisplayManager . castForeignPtr . unGObject

castToDisplayManager :: GObjectClass obj => obj -> DisplayManager
castToDisplayManager = castTo gTypeDisplayManager "DisplayManager"

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

-- *********************************************************** AppLaunchContext

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

mkAppLaunchContext = (AppLaunchContext, objectUnrefFromMainloop)
unAppLaunchContext (AppLaunchContext o) = o

class GObjectClass o => AppLaunchContextClass o
toAppLaunchContext :: AppLaunchContextClass o => o -> AppLaunchContext
toAppLaunchContext = unsafeCastGObject . toGObject

instance AppLaunchContextClass AppLaunchContext
instance GObjectClass AppLaunchContext where
  toGObject = GObject . castForeignPtr . unAppLaunchContext
  unsafeCastGObject = AppLaunchContext . castForeignPtr . unGObject

castToAppLaunchContext :: GObjectClass obj => obj -> AppLaunchContext
castToAppLaunchContext = castTo gTypeAppLaunchContext "AppLaunchContext"

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

-- ************************************************************** PrintSettings

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

mkPrintSettings = (PrintSettings, objectUnrefFromMainloop)
unPrintSettings (PrintSettings o) = o

class GObjectClass o => PrintSettingsClass o
toPrintSettings :: PrintSettingsClass o => o -> PrintSettings
toPrintSettings = unsafeCastGObject . toGObject

instance PrintSettingsClass PrintSettings
instance GObjectClass PrintSettings where
  toGObject = GObject . castForeignPtr . unPrintSettings
  unsafeCastGObject = PrintSettings . castForeignPtr . unGObject

castToPrintSettings :: GObjectClass obj => obj -> PrintSettings
castToPrintSettings = castTo gTypePrintSettings "PrintSettings"

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

-- ************************************************************* PrintOperation

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

mkPrintOperation = (PrintOperation, objectUnrefFromMainloop)
unPrintOperation (PrintOperation o) = o

class GObjectClass o => PrintOperationClass o
toPrintOperation :: PrintOperationClass o => o -> PrintOperation
toPrintOperation = unsafeCastGObject . toGObject

instance PrintOperationClass PrintOperation
instance GObjectClass PrintOperation where
  toGObject = GObject . castForeignPtr . unPrintOperation
  unsafeCastGObject = PrintOperation . castForeignPtr . unGObject

castToPrintOperation :: GObjectClass obj => obj -> PrintOperation
castToPrintOperation = castTo gTypePrintOperation "PrintOperation"

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

-- ****************************************************** PrintOperationPreview

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

mkPrintOperationPreview = (PrintOperationPreview, objectUnrefFromMainloop)
unPrintOperationPreview (PrintOperationPreview o) = o

class GObjectClass o => PrintOperationPreviewClass o
toPrintOperationPreview :: PrintOperationPreviewClass o => o -> PrintOperationPreview
toPrintOperationPreview = unsafeCastGObject . toGObject

instance PrintOperationPreviewClass PrintOperationPreview
instance GObjectClass PrintOperationPreview where
  toGObject = GObject . castForeignPtr . unPrintOperationPreview
  unsafeCastGObject = PrintOperationPreview . castForeignPtr . unGObject

castToPrintOperationPreview :: GObjectClass obj => obj -> PrintOperationPreview
castToPrintOperationPreview = castTo gTypePrintOperationPreview "PrintOperationPreview"

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

-- ****************************************************************** PageSetup

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

mkPageSetup = (PageSetup, objectUnrefFromMainloop)
unPageSetup (PageSetup o) = o

class GObjectClass o => PageSetupClass o
toPageSetup :: PageSetupClass o => o -> PageSetup
toPageSetup = unsafeCastGObject . toGObject

instance PageSetupClass PageSetup
instance GObjectClass PageSetup where
  toGObject = GObject . castForeignPtr . unPageSetup
  unsafeCastGObject = PageSetup . castForeignPtr . unGObject

castToPageSetup :: GObjectClass obj => obj -> PageSetup
castToPageSetup = castTo gTypePageSetup "PageSetup"

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

-- *************************************************************** PrintContext

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

mkPrintContext = (PrintContext, objectUnrefFromMainloop)
unPrintContext (PrintContext o) = o

class GObjectClass o => PrintContextClass o
toPrintContext :: PrintContextClass o => o -> PrintContext
toPrintContext = unsafeCastGObject . toGObject

instance PrintContextClass PrintContext
instance GObjectClass PrintContext where
  toGObject = GObject . castForeignPtr . unPrintContext
  unsafeCastGObject = PrintContext . castForeignPtr . unGObject

castToPrintContext :: GObjectClass obj => obj -> PrintContext
castToPrintContext = castTo gTypePrintContext "PrintContext"

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

-- ************************************************************** RecentChooser

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

mkRecentChooser = (RecentChooser, objectUnrefFromMainloop)
unRecentChooser (RecentChooser o) = o

class GObjectClass o => RecentChooserClass o
toRecentChooser :: RecentChooserClass o => o -> RecentChooser
toRecentChooser = unsafeCastGObject . toGObject

instance RecentChooserClass RecentChooser
instance GObjectClass RecentChooser where
  toGObject = GObject . castForeignPtr . unRecentChooser
  unsafeCastGObject = RecentChooser . castForeignPtr . unGObject

castToRecentChooser :: GObjectClass obj => obj -> RecentChooser
castToRecentChooser = castTo gTypeRecentChooser "RecentChooser"

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

-- ************************************************************** RecentManager

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

mkRecentManager = (RecentManager, objectUnrefFromMainloop)
unRecentManager (RecentManager o) = o

class GObjectClass o => RecentManagerClass o
toRecentManager :: RecentManagerClass o => o -> RecentManager
toRecentManager = unsafeCastGObject . toGObject

instance RecentManagerClass RecentManager
instance GObjectClass RecentManager where
  toGObject = GObject . castForeignPtr . unRecentManager
  unsafeCastGObject = RecentManager . castForeignPtr . unGObject

castToRecentManager :: GObjectClass obj => obj -> RecentManager
castToRecentManager = castTo gTypeRecentManager "RecentManager"

gTypeRecentManager :: GType
gTypeRecentManager =
  gtk_recent_manager_get_type
{-# LINE 1124 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************* 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 1147 "./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 1171 "./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 1195 "./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 1218 "./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 1241 "./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 1264 "./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 1287 "./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 1310 "./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 1333 "./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 1356 "./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 1379 "./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 1402 "./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 1425 "./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 1448 "./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 1471 "./Graphics/UI/Gtk/Types.chs" #-}

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

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

mkPixbuf = (Pixbuf, objectUnref)
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 1494 "./Graphics/UI/Gtk/Types.chs" #-}

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

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

mkPixbufAnimation = (PixbufAnimation, objectUnref)
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 1517 "./Graphics/UI/Gtk/Types.chs" #-}

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

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

mkPixbufSimpleAnim = (PixbufSimpleAnim, objectUnref)
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 1541 "./Graphics/UI/Gtk/Types.chs" #-}

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

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

mkPixbufAnimationIter = (PixbufAnimationIter, objectUnref)
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 1564 "./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 1587 "./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 1610 "./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 1633 "./Graphics/UI/Gtk/Types.chs" #-}

-- *************************************************************** RecentFilter

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

mkRecentFilter = (RecentFilter, objectUnrefFromMainloop)
unRecentFilter (RecentFilter o) = o

class ObjectClass o => RecentFilterClass o
toRecentFilter :: RecentFilterClass o => o -> RecentFilter
toRecentFilter = unsafeCastGObject . toGObject

instance RecentFilterClass RecentFilter
instance ObjectClass RecentFilter
instance GObjectClass RecentFilter where
  toGObject = GObject . castForeignPtr . unRecentFilter
  unsafeCastGObject = RecentFilter . castForeignPtr . unGObject

castToRecentFilter :: GObjectClass obj => obj -> RecentFilter
castToRecentFilter = castTo gTypeRecentFilter "RecentFilter"

gTypeRecentFilter :: GType
gTypeRecentFilter =
  gtk_recent_filter_get_type
{-# LINE 1657 "./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 1681 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************************ HSV

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

mkHSV = (HSV, objectUnrefFromMainloop)
unHSV (HSV o) = o

class WidgetClass o => HSVClass o
toHSV :: HSVClass o => o -> HSV
toHSV = unsafeCastGObject . toGObject

instance HSVClass HSV
instance WidgetClass HSV
instance ObjectClass HSV
instance GObjectClass HSV where
  toGObject = GObject . castForeignPtr . unHSV
  unsafeCastGObject = HSV . castForeignPtr . unGObject

castToHSV :: GObjectClass obj => obj -> HSV
castToHSV = castTo gTypeHSV "HSV"

gTypeHSV :: GType
gTypeHSV =
  gtk_hsv_get_type
{-# LINE 1706 "./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 1731 "./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 1757 "./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 1784 "./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 1811 "./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 1837 "./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 1863 "./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 1888 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** ToolPalette

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

mkToolPalette = (ToolPalette, objectUnrefFromMainloop)
unToolPalette (ToolPalette o) = o

class ContainerClass o => ToolPaletteClass o
toToolPalette :: ToolPaletteClass o => o -> ToolPalette
toToolPalette = unsafeCastGObject . toGObject

instance ToolPaletteClass ToolPalette
instance ContainerClass ToolPalette
instance WidgetClass ToolPalette
instance ObjectClass ToolPalette
instance GObjectClass ToolPalette where
  toGObject = GObject . castForeignPtr . unToolPalette
  unsafeCastGObject = ToolPalette . castForeignPtr . unGObject

castToToolPalette :: GObjectClass obj => obj -> ToolPalette
castToToolPalette = castTo gTypeToolPalette "ToolPalette"

gTypeToolPalette :: GType
gTypeToolPalette =
  gtk_tool_palette_get_type
{-# LINE 1914 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************** ToolItemGroup

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

mkToolItemGroup = (ToolItemGroup, objectUnrefFromMainloop)
unToolItemGroup (ToolItemGroup o) = o

class ContainerClass o => ToolItemGroupClass o
toToolItemGroup :: ToolItemGroupClass o => o -> ToolItemGroup
toToolItemGroup = unsafeCastGObject . toGObject

instance ToolItemGroupClass ToolItemGroup
instance ContainerClass ToolItemGroup
instance WidgetClass ToolItemGroup
instance ObjectClass ToolItemGroup
instance GObjectClass ToolItemGroup where
  toGObject = GObject . castForeignPtr . unToolItemGroup
  unsafeCastGObject = ToolItemGroup . castForeignPtr . unGObject

castToToolItemGroup :: GObjectClass obj => obj -> ToolItemGroup
castToToolItemGroup = castTo gTypeToolItemGroup "ToolItemGroup"

gTypeToolItemGroup :: GType
gTypeToolItemGroup =
  gtk_tool_item_group_get_type
{-# LINE 1940 "./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 1966 "./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 1993 "./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 2020 "./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 2048 "./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 2075 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** ScaleButton

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

mkScaleButton = (ScaleButton, objectUnrefFromMainloop)
unScaleButton (ScaleButton o) = o

class ButtonClass o => ScaleButtonClass o
toScaleButton :: ScaleButtonClass o => o -> ScaleButton
toScaleButton = unsafeCastGObject . toGObject

instance ScaleButtonClass ScaleButton
instance ButtonClass ScaleButton
instance BinClass ScaleButton
instance ContainerClass ScaleButton
instance WidgetClass ScaleButton
instance ObjectClass ScaleButton
instance GObjectClass ScaleButton where
  toGObject = GObject . castForeignPtr . unScaleButton
  unsafeCastGObject = ScaleButton . castForeignPtr . unGObject

castToScaleButton :: GObjectClass obj => obj -> ScaleButton
castToScaleButton = castTo gTypeScaleButton "ScaleButton"

gTypeScaleButton :: GType
gTypeScaleButton =
  gtk_scale_button_get_type
{-# LINE 2103 "./Graphics/UI/Gtk/Types.chs" #-}

-- *************************************************************** VolumeButton

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

mkVolumeButton = (VolumeButton, objectUnrefFromMainloop)
unVolumeButton (VolumeButton o) = o

class ScaleButtonClass o => VolumeButtonClass o
toVolumeButton :: VolumeButtonClass o => o -> VolumeButton
toVolumeButton = unsafeCastGObject . toGObject

instance VolumeButtonClass VolumeButton
instance ScaleButtonClass VolumeButton
instance ButtonClass VolumeButton
instance BinClass VolumeButton
instance ContainerClass VolumeButton
instance WidgetClass VolumeButton
instance ObjectClass VolumeButton
instance GObjectClass VolumeButton where
  toGObject = GObject . castForeignPtr . unVolumeButton
  unsafeCastGObject = VolumeButton . castForeignPtr . unGObject

castToVolumeButton :: GObjectClass obj => obj -> VolumeButton
castToVolumeButton = castTo gTypeVolumeButton "VolumeButton"

gTypeVolumeButton :: GType
gTypeVolumeButton =
  gtk_volume_button_get_type
{-# LINE 2132 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** LinkButton

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

mkLinkButton = (LinkButton, objectUnrefFromMainloop)
unLinkButton (LinkButton o) = o

class ButtonClass o => LinkButtonClass o
toLinkButton :: LinkButtonClass o => o -> LinkButton
toLinkButton = unsafeCastGObject . toGObject

instance LinkButtonClass LinkButton
instance ButtonClass LinkButton
instance BinClass LinkButton
instance ContainerClass LinkButton
instance WidgetClass LinkButton
instance ObjectClass LinkButton
instance GObjectClass LinkButton where
  toGObject = GObject . castForeignPtr . unLinkButton
  unsafeCastGObject = LinkButton . castForeignPtr . unGObject

castToLinkButton :: GObjectClass obj => obj -> LinkButton
castToLinkButton = castTo gTypeLinkButton "LinkButton"

gTypeLinkButton :: GType
gTypeLinkButton =
  gtk_link_button_get_type
{-# LINE 2160 "./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 2188 "./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 2217 "./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 2247 "./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 2275 "./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 2303 "./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 2331 "./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 2358 "./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 2386 "./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 2415 "./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 2445 "./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 2474 "./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 2503 "./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 2532 "./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 2560 "./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 2587 "./Graphics/UI/Gtk/Types.chs" #-}

-- ****************************************************************** Assistant

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

mkAssistant = (Assistant, objectUnrefFromMainloop)
unAssistant (Assistant o) = o

class WindowClass o => AssistantClass o
toAssistant :: AssistantClass o => o -> Assistant
toAssistant = unsafeCastGObject . toGObject

instance AssistantClass Assistant
instance WindowClass Assistant
instance BinClass Assistant
instance ContainerClass Assistant
instance WidgetClass Assistant
instance ObjectClass Assistant
instance GObjectClass Assistant where
  toGObject = GObject . castForeignPtr . unAssistant
  unsafeCastGObject = Assistant . castForeignPtr . unGObject

castToAssistant :: GObjectClass obj => obj -> Assistant
castToAssistant = castTo gTypeAssistant "Assistant"

gTypeAssistant :: GType
gTypeAssistant =
  gtk_assistant_get_type
{-# LINE 2615 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************ OffscreenWindow

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

mkOffscreenWindow = (OffscreenWindow, objectUnrefFromMainloop)
unOffscreenWindow (OffscreenWindow o) = o

class WindowClass o => OffscreenWindowClass o
toOffscreenWindow :: OffscreenWindowClass o => o -> OffscreenWindow
toOffscreenWindow = unsafeCastGObject . toGObject

instance OffscreenWindowClass OffscreenWindow
instance WindowClass OffscreenWindow
instance BinClass OffscreenWindow
instance ContainerClass OffscreenWindow
instance WidgetClass OffscreenWindow
instance ObjectClass OffscreenWindow
instance GObjectClass OffscreenWindow where
  toGObject = GObject . castForeignPtr . unOffscreenWindow
  unsafeCastGObject = OffscreenWindow . castForeignPtr . unGObject

castToOffscreenWindow :: GObjectClass obj => obj -> OffscreenWindow
castToOffscreenWindow = castTo gTypeOffscreenWindow "OffscreenWindow"

gTypeOffscreenWindow :: GType
gTypeOffscreenWindow =
  gtk_offscreen_window_get_type
{-# LINE 2643 "./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 2671 "./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 2700 "./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 2729 "./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 2758 "./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 2787 "./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 2816 "./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 2845 "./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 2874 "./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 2902 "./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 2929 "./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 2956 "./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 2983 "./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 3010 "./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 3037 "./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 3064 "./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 3092 "./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 3119 "./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 3147 "./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 3176 "./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 3205 "./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 3235 "./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 3263 "./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 3289 "./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 3316 "./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 3344 "./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 3372 "./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 3399 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************** RecentChooserWidget

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

mkRecentChooserWidget = (RecentChooserWidget, objectUnrefFromMainloop)
unRecentChooserWidget (RecentChooserWidget o) = o

class VBoxClass o => RecentChooserWidgetClass o
toRecentChooserWidget :: RecentChooserWidgetClass o => o -> RecentChooserWidget
toRecentChooserWidget = unsafeCastGObject . toGObject

instance RecentChooserWidgetClass RecentChooserWidget
instance VBoxClass RecentChooserWidget
instance BoxClass RecentChooserWidget
instance ContainerClass RecentChooserWidget
instance WidgetClass RecentChooserWidget
instance ObjectClass RecentChooserWidget
instance GObjectClass RecentChooserWidget where
  toGObject = GObject . castForeignPtr . unRecentChooserWidget
  unsafeCastGObject = RecentChooserWidget . castForeignPtr . unGObject

castToRecentChooserWidget :: GObjectClass obj => obj -> RecentChooserWidget
castToRecentChooserWidget = castTo gTypeRecentChooserWidget "RecentChooserWidget"

gTypeRecentChooserWidget :: GType
gTypeRecentChooserWidget =
  gtk_recent_chooser_widget_get_type
{-# LINE 3427 "./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 3455 "./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 3483 "./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 3511 "./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 3538 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** InfoBar

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

mkInfoBar = (InfoBar, objectUnrefFromMainloop)
unInfoBar (InfoBar o) = o

class HBoxClass o => InfoBarClass o
toInfoBar :: InfoBarClass o => o -> InfoBar
toInfoBar = unsafeCastGObject . toGObject

instance InfoBarClass InfoBar
instance HBoxClass InfoBar
instance BoxClass InfoBar
instance ContainerClass InfoBar
instance WidgetClass InfoBar
instance ObjectClass InfoBar
instance GObjectClass InfoBar where
  toGObject = GObject . castForeignPtr . unInfoBar
  unsafeCastGObject = InfoBar . castForeignPtr . unGObject

castToInfoBar :: GObjectClass obj => obj -> InfoBar
castToInfoBar = castTo gTypeInfoBar "InfoBar"

gTypeInfoBar :: GType
gTypeInfoBar =
  gtk_info_bar_get_type
{-# LINE 3566 "./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 3594 "./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 3622 "./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 3650 "./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 3676 "./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 3703 "./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 3729 "./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 3755 "./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 3782 "./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 3809 "./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 3835 "./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 3861 "./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 3887 "./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 3913 "./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 3940 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************** RecentChooserMenu

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

mkRecentChooserMenu = (RecentChooserMenu, objectUnrefFromMainloop)
unRecentChooserMenu (RecentChooserMenu o) = o

class MenuClass o => RecentChooserMenuClass o
toRecentChooserMenu :: RecentChooserMenuClass o => o -> RecentChooserMenu
toRecentChooserMenu = unsafeCastGObject . toGObject

instance RecentChooserMenuClass RecentChooserMenu
instance MenuClass RecentChooserMenu
instance MenuShellClass RecentChooserMenu
instance ContainerClass RecentChooserMenu
instance WidgetClass RecentChooserMenu
instance ObjectClass RecentChooserMenu
instance GObjectClass RecentChooserMenu where
  toGObject = GObject . castForeignPtr . unRecentChooserMenu
  unsafeCastGObject = RecentChooserMenu . castForeignPtr . unGObject

castToRecentChooserMenu :: GObjectClass obj => obj -> RecentChooserMenu
castToRecentChooserMenu = castTo gTypeRecentChooserMenu "RecentChooserMenu"

gTypeRecentChooserMenu :: GType
gTypeRecentChooserMenu =
  gtk_recent_chooser_menu_get_type
{-# LINE 3968 "./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 3995 "./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 4021 "./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 4047 "./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 4073 "./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 4099 "./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 4125 "./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 4151 "./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 4176 "./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 4201 "./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 4226 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** Spinner

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

mkSpinner = (Spinner, objectUnrefFromMainloop)
unSpinner (Spinner o) = o

class DrawingAreaClass o => SpinnerClass o
toSpinner :: SpinnerClass o => o -> Spinner
toSpinner = unsafeCastGObject . toGObject

instance SpinnerClass Spinner
instance DrawingAreaClass Spinner
instance WidgetClass Spinner
instance ObjectClass Spinner
instance GObjectClass Spinner where
  toGObject = GObject . castForeignPtr . unSpinner
  unsafeCastGObject = Spinner . castForeignPtr . unGObject

castToSpinner :: GObjectClass obj => obj -> Spinner
castToSpinner = castTo gTypeSpinner "Spinner"

gTypeSpinner :: GType
gTypeSpinner =
  gtk_spinner_get_type
{-# LINE 4252 "./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 4277 "./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 4303 "./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 4328 "./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 4354 "./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 4380 "./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 4405 "./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 4431 "./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 4458 "./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 4485 "./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 4511 "./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 4538 "./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 4565 "./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 4590 "./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 4616 "./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 4642 "./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 4667 "./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 4692 "./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 4717 "./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 4741 "./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 4765 "./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 4790 "./Graphics/UI/Gtk/Types.chs" #-}

-- ************************************************************ IMContextSimple

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

mkIMContextSimple = (IMContextSimple, objectUnrefFromMainloop)
unIMContextSimple (IMContextSimple o) = o

class IMContextClass o => IMContextSimpleClass o
toIMContextSimple :: IMContextSimpleClass o => o -> IMContextSimple
toIMContextSimple = unsafeCastGObject . toGObject

instance IMContextSimpleClass IMContextSimple
instance IMContextClass IMContextSimple
instance ObjectClass IMContextSimple
instance GObjectClass IMContextSimple where
  toGObject = GObject . castForeignPtr . unIMContextSimple
  unsafeCastGObject = IMContextSimple . castForeignPtr . unGObject

castToIMContextSimple :: GObjectClass obj => obj -> IMContextSimple
castToIMContextSimple = castTo gTypeIMContextSimple "IMContextSimple"

gTypeIMContextSimple :: GType
gTypeIMContextSimple =
  gtk_im_context_simple_get_type
{-# LINE 4815 "./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 4839 "./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 4863 "./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 4887 "./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 4911 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************** CellRendererSpinner

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

mkCellRendererSpinner = (CellRendererSpinner, objectUnrefFromMainloop)
unCellRendererSpinner (CellRendererSpinner o) = o

class CellRendererClass o => CellRendererSpinnerClass o
toCellRendererSpinner :: CellRendererSpinnerClass o => o -> CellRendererSpinner
toCellRendererSpinner = unsafeCastGObject . toGObject

instance CellRendererSpinnerClass CellRendererSpinner
instance CellRendererClass CellRendererSpinner
instance ObjectClass CellRendererSpinner
instance GObjectClass CellRendererSpinner where
  toGObject = GObject . castForeignPtr . unCellRendererSpinner
  unsafeCastGObject = CellRendererSpinner . castForeignPtr . unGObject

castToCellRendererSpinner :: GObjectClass obj => obj -> CellRendererSpinner
castToCellRendererSpinner = castTo gTypeCellRendererSpinner "CellRendererSpinner"

gTypeCellRendererSpinner :: GType
gTypeCellRendererSpinner =
  gtk_cell_renderer_spinner_get_type
{-# LINE 4936 "./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 4961 "./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 4986 "./Graphics/UI/Gtk/Types.chs" #-}

-- ********************************************************** CellRendererAccel

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

mkCellRendererAccel = (CellRendererAccel, objectUnrefFromMainloop)
unCellRendererAccel (CellRendererAccel o) = o

class CellRendererTextClass o => CellRendererAccelClass o
toCellRendererAccel :: CellRendererAccelClass o => o -> CellRendererAccel
toCellRendererAccel = unsafeCastGObject . toGObject

instance CellRendererAccelClass CellRendererAccel
instance CellRendererTextClass CellRendererAccel
instance CellRendererClass CellRendererAccel
instance ObjectClass CellRendererAccel
instance GObjectClass CellRendererAccel where
  toGObject = GObject . castForeignPtr . unCellRendererAccel
  unsafeCastGObject = CellRendererAccel . castForeignPtr . unGObject

castToCellRendererAccel :: GObjectClass obj => obj -> CellRendererAccel
castToCellRendererAccel = castTo gTypeCellRendererAccel "CellRendererAccel"

gTypeCellRendererAccel :: GType
gTypeCellRendererAccel =
  gtk_cell_renderer_accel_get_type
{-# LINE 5012 "./Graphics/UI/Gtk/Types.chs" #-}

-- *********************************************************** CellRendererSpin

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

mkCellRendererSpin = (CellRendererSpin, objectUnrefFromMainloop)
unCellRendererSpin (CellRendererSpin o) = o

class CellRendererTextClass o => CellRendererSpinClass o
toCellRendererSpin :: CellRendererSpinClass o => o -> CellRendererSpin
toCellRendererSpin = unsafeCastGObject . toGObject

instance CellRendererSpinClass CellRendererSpin
instance CellRendererTextClass CellRendererSpin
instance CellRendererClass CellRendererSpin
instance ObjectClass CellRendererSpin
instance GObjectClass CellRendererSpin where
  toGObject = GObject . castForeignPtr . unCellRendererSpin
  unsafeCastGObject = CellRendererSpin . castForeignPtr . unGObject

castToCellRendererSpin :: GObjectClass obj => obj -> CellRendererSpin
castToCellRendererSpin = castTo gTypeCellRendererSpin "CellRendererSpin"

gTypeCellRendererSpin :: GType
gTypeCellRendererSpin =
  gtk_cell_renderer_spin_get_type
{-# LINE 5038 "./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 5064 "./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 5089 "./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 5114 "./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 5138 "./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 5162 "./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 5185 "./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 5208 "./Graphics/UI/Gtk/Types.chs" #-}

-- ******************************************************************** Tooltip

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

mkTooltip = (Tooltip, objectUnrefFromMainloop)
unTooltip (Tooltip o) = o

class GObjectClass o => TooltipClass o
toTooltip :: TooltipClass o => o -> Tooltip
toTooltip = unsafeCastGObject . toGObject

instance TooltipClass Tooltip
instance GObjectClass Tooltip where
  toGObject = GObject . castForeignPtr . unTooltip
  unsafeCastGObject = Tooltip . castForeignPtr . unGObject

castToTooltip :: GObjectClass obj => obj -> Tooltip
castToTooltip = castTo gTypeTooltip "Tooltip"

gTypeTooltip :: GType
gTypeTooltip =
  gtk_tooltip_get_type
{-# LINE 5231 "./Graphics/UI/Gtk/Types.chs" #-}

-- ***************************************************************** StatusIcon

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

mkStatusIcon = (StatusIcon, objectUnrefFromMainloop)
unStatusIcon (StatusIcon o) = o

class TooltipClass o => StatusIconClass o
toStatusIcon :: StatusIconClass o => o -> StatusIcon
toStatusIcon = unsafeCastGObject . toGObject

instance StatusIconClass StatusIcon
instance TooltipClass 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 5255 "./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 5278 "./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 5301 "./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 5325 "./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 5349 "./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 5372 "./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 5395 "./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 5418 "./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 5441 "./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 5464 "./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 5487 "./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 5510 "./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 5533 "./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 5556 "./Graphics/UI/Gtk/Types.chs" #-}

-- **************************************************************** EntryBuffer

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

mkEntryBuffer = (EntryBuffer, objectUnrefFromMainloop)
unEntryBuffer (EntryBuffer o) = o

class GObjectClass o => EntryBufferClass o
toEntryBuffer :: EntryBufferClass o => o -> EntryBuffer
toEntryBuffer = unsafeCastGObject . toGObject

instance EntryBufferClass EntryBuffer
instance GObjectClass EntryBuffer where
  toGObject = GObject