packages feed

gtk 0.13.4 → 0.13.6

raw patch · 10 files changed

+1630/−246 lines, 10 files

Files

Graphics/UI/Gtk/Abstract/Widget.chs view
@@ -133,7 +133,6 @@ #if GTK_MAJOR_VERSION < 3   widgetGetDrawWindow, #endif-  widgetGetWindow,   widgetDelEvents,   widgetAddEvents,   widgetGetEvents,@@ -174,11 +173,6 @@   widgetShapeCombineRegion,   widgetInputShapeCombineRegion, #endif-#if GTK_CHECK_VERSION(2,12,0)-  widgetGetTooltipWindow,-  widgetSetTooltipWindow,-  widgetTriggerTooltipQuery,-#endif #if GTK_MAJOR_VERSION < 3 #if GTK_CHECK_VERSION(2,14,0)   widgetGetSnapshot,@@ -187,6 +181,13 @@   widgetPath,   widgetClassPath,   widgetGetCompositeName,+#if GTK_CHECK_VERSION(3,0,0)+  widgetOverrideBackgroundColor,+  widgetOverrideColor,+  widgetOverrideFont,+  widgetOverrideSymbolicColor,+  widgetOverrideCursor,+#endif   widgetModifyStyle,   widgetGetModifierStyle,   widgetModifyFg,@@ -213,6 +214,7 @@   widgetSetDoubleBuffered,   widgetSetRedrawOnAllocate,   widgetSetCompositeName,+  widgetMnemonicActivate, #if GTK_MAJOR_VERSION < 3   widgetSetScrollAdjustments,   widgetRegionIntersect,@@ -245,6 +247,30 @@   widgetIsComposited, #endif #endif+#if GTK_CHECK_VERSION(2,12,0)+  widgetErrorBell,+  widgetKeynavFailed,+  widgetGetTooltipMarkup,+  widgetSetTooltipMarkup,+  widgetGetTooltipText,+  widgetSetTooltipText,+  widgetGetTooltipWindow,+  widgetSetTooltipWindow,+  widgetGetHasTooltip,+  widgetSetHasTooltip,+  widgetTriggerTooltipQuery,+#endif+#if GTK_CHECK_VERSION(2,14,0)+  widgetGetWindow,+#endif+#if GTK_CHECK_VERSION(3,8,0)+  widgetRegisterWindow,+  widgetUnregisterWindow,+#endif+#if GTK_CHECK_VERSION(3,0,0)+  cairoShouldDrawWindow,+  cairoTransformToWindow,+#endif   widgetReparent, #if GTK_CHECK_VERSION(2,18,0)   widgetGetCanFocus,@@ -262,7 +288,50 @@   widgetGetClip,   widgetSetClip, #endif+#if GTK_CHECK_VERSION(2,18,0)+  widgetGetAppPaintable,+  widgetGetCanDefault,+  widgetSetCanDefault,+  widgetGetHasWindow,+  widgetSetHasWindow,+  widgetGetSensitive,+  widgetIsSensitive,   widgetGetState,+  widgetGetVisible,+#endif+#if GTK_CHECK_VERSION(3,8,0)+  widgetIsVisible,+#endif+#if GTK_CHECK_VERSION(3,0,0)+  widgetSetStateFlags,+  widgetUnsetStateFlags,+  widgetGetStateFlags,+#endif+#if GTK_CHECK_VERSION(2,18,0)+  widgetGetHasDefault,+  widgetGetHasFocus,+#endif+#if GTK_CHECK_VERSION(3,2,0)+  widgetHasVisibleFocus,+#endif+#if GTK_CHECK_VERSION(2,18,0)+  widgetHasGrab,+  widgetIsDrawable,+  widgetIsToplevel,+  widgetSetWindow,+  widgetSetReceivesDefault,+  widgetGetReceivesDefault,+#endif+#if GTK_CHECK_VERSION(3,0,0)+  widgetDeviceIsShadowed,+#endif+#if GTK_CHECK_VERSION(3,4,0)+  widgetGetModifierMask,+#endif+#if GTK_CHECK_VERSION(3,0,0)+  widgetSetSupportMultidevice,+  widgetGetSupportMultidevice,+#endif   widgetSetState, #if GTK_MAJOR_VERSION < 3   widgetGetSavedState,@@ -286,6 +355,10 @@   widgetHeightRequest,   widgetMarginLeft,   widgetMarginRight,+#if GTK_CHECK_VERSION(3,12,0)+  widgetMarginStart,+  widgetMarginEnd,+#endif   widgetMarginTop,   widgetMarginBottom,   widgetVisible,@@ -307,6 +380,9 @@ #endif   widgetExpand,   widgetHExpand,+  widgetHExpandSet,+  widgetVExpand,+  widgetVExpandSet,   widgetNoShowAll,   widgetChildVisible, #if GTK_MAJOR_VERSION < 3@@ -321,6 +397,8 @@   widgetHasRcStyle,   widgetGetRealized,   widgetGetMapped,+  widgetSetRealized,+  widgetSetMapped, #endif #if GTK_CHECK_VERSION(3,0,0)   widgetGetStyleContext,@@ -524,6 +602,9 @@ #if GTK_CHECK_VERSION(3,0,0)                                         ,StateFlags(..), Align(..) #endif+#if GTK_CHECK_VERSION(3,4,0)+                                        ,ModifierIntent(..)+#endif 					) {#import Graphics.Rendering.Pango.Types#} {#import Graphics.Rendering.Pango.BasicTypes#}	(FontDescription(FontDescription),@@ -1425,59 +1506,6 @@     (castPtr ptrRegion) #endif -#if GTK_CHECK_VERSION(2,12,0)--- | Returns the 'Window' of the current tooltip. This can be the 'Window' created by default, or the--- custom tooltip window set using 'widgetSetTooltipWindow'.------ * Available since Gtk+ version 2.12----widgetGetTooltipWindow :: WidgetClass self => self- -> IO Window -- ^ returns The 'Window' of the current tooltip-widgetGetTooltipWindow self =-  makeNewObject mkWindow $-  {# call gtk_widget_get_tooltip_window #}-    (toWidget self)---- | Replaces the default, usually yellow, window used for displaying tooltips with @customWindow@. GTK+--- will take care of showing and hiding @customWindow@ at the right moment, to behave likewise as the--- default tooltip window. If @customWindow@ is 'Nothing', the default tooltip window will be used.------ If the custom window should have the default theming it needs to have the name 'gtk-tooltip', see--- 'widgetSetName'.------ * Available since Gtk+ version 2.12----widgetSetTooltipWindow :: (WidgetClass self, WindowClass customWindow) => self- -> Maybe customWindow -- ^ @customWindow@ a 'Window', or 'Nothing'. allow-none.- -> IO ()-widgetSetTooltipWindow self customWindow =-  {# call gtk_widget_set_tooltip_window #}-    (toWidget self)-    (maybe (Window nullForeignPtr) toWindow customWindow)---- | Triggers a tooltip query on the display where the toplevel of @widget@ is--- located. See 'tooltipTriggerTooltipQuery' for more information.------ * Available since Gtk+ version 2.12----widgetTriggerTooltipQuery :: WidgetClass self => self -> IO ()-widgetTriggerTooltipQuery self =-  {# call gtk_widget_trigger_tooltip_query #}-    (toWidget self)-#endif--#if GTK_CHECK_VERSION(2,14,0)--- | Returns the widget's window if it is realized, Nothing otherwise------ * Available since Gtk+ version 2.14----widgetGetWindow :: WidgetClass self => self -> IO (Maybe DrawWindow)-widgetGetWindow self =-  maybeNull (makeNewGObject mkDrawWindow) $-  {# call gtk_widget_get_window #}-    (toWidget self)-#endif- #if GTK_MAJOR_VERSION < 3 #if GTK_CHECK_VERSION(2,14,0) -- | Create a 'Pixmap' of the contents of the widget and its children.@@ -1577,6 +1605,105 @@     (toWidget self)   >>= maybePeek peekUTFString +#if GTK_CHECK_VERSION(3,0,0)+-- | Sets the background color to use for a widget.+--+-- All other style values are left untouched. See 'widgetOverrideColor'.+widgetOverrideBackgroundColor :: WidgetClass self => self+ -> StateType   -- ^ @state@ - the state for which to set the background color.+ -> Maybe Color -- ^ @color@ - the color to assign, or Nothing to undo the+                -- effect of previous calls to 'widgetOverrideBackgroundColor'+ -> IO ()+widgetOverrideBackgroundColor self state color =+  maybeWith with color $ \colorPtr ->+  {# call widget_override_background_color #}+    (toWidget self)+    ((fromIntegral . fromEnum) state)+    (castPtr colorPtr)++-- | Sets the color to use for a widget.+--+-- All other style values are left untouched.+--+-- This function does not act recursively. Setting the color of a container+-- does not affect its children. Note that some widgets that you may not think+-- of as containers, for instance 'Button's, are actually containers.+--+-- This API is mostly meant as a quick way for applications to change a+-- widget appearance. If you are developing a widgets library and intend this+-- change to be themeable, it is better done by setting meaningful CSS classes+-- and regions in your widget/container implementation through+-- 'styleContextAddClass' and 'styleContextAddRegion'.+--+-- This way, your widget library can install a 'CssProvider' with the+-- GTK_STYLE_PROVIDER_PRIORITY_FALLBACK priority in order to provide a default+-- styling for those widgets that need so, and this theming may fully overridden+-- by the user’s theme.+--+-- Note that for complex widgets this may bring in undesired results (such as+-- uniform background color everywhere), in these cases it is better to fully+-- style such widgets through a CssProvider with the+-- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION priority.+widgetOverrideColor :: WidgetClass self => self+ -> StateType   -- ^ @state@ - the state for which to set the color.+ -> Maybe Color -- ^ @color@ - the color to assign, or @Nothing@ to undo the+                -- effect of previous calls to 'widgetOverrideColor'+ -> IO ()+widgetOverrideColor self state color =+  maybeWith with color $ \colorPtr ->+  {# call widget_override_color #}+    (toWidget self)+    ((fromIntegral . fromEnum) state)+    (castPtr colorPtr)++-- | Sets the font to use for a widget. All other style values are left untouched.+-- See 'widgetOverrideColor'.+widgetOverrideFont :: WidgetClass self => self+ -> Maybe FontDescription -- ^ @fontDesc@ - the font description to use, or+                          -- @Nothing@ to undo the effect of previous calls to+                          -- 'widgetOverrideFont'.+ -> IO ()+widgetOverrideFont self fontDesc =+  {# call widget_override_font #}+    (toWidget self)+    (fromMaybe (FontDescription nullForeignPtr) fontDesc)++-- | Sets the symbolic color to use for a widget.+--+-- All other style values are left untouched. See 'widgetOverrideColor'.+widgetOverrideSymbolicColor :: (WidgetClass self, GlibString string) => self+ -> string      -- ^ @name@ - the name of the symbolic color to modify.+ -> Maybe Color -- ^ @color@ - the color to assign, or @Nothing@ to undo the+                -- effect of previous calls to 'widgetOverrideSymbolicColor'+ -> IO ()+widgetOverrideSymbolicColor self name color =+  withUTFString name $ \namePtr ->+  maybeWith with color $ \colorPtr ->+  {# call widget_override_symbolic_color #}+    (toWidget self)+    namePtr+    (castPtr colorPtr)++-- | Sets the cursor color to use in a widget, overriding the cursor-color+-- and secondary-cursor-color style properties. All other style values are+-- left untouched. See also 'widgetModifyStyle'.+--+-- Note that the alpha values will be ignored.+widgetOverrideCursor :: WidgetClass self => self+ -> Maybe Color -- ^ @cursor@ - the color to use for primary cursor, or @Nothing@+                -- to undo the effect of previous calls to of 'widgetOverrideCursor'.+ -> Maybe Color -- ^ @secondaryCursor@ - the color to use for secondary cursor, or @Nothing@+                -- to undo the effect of previous calls to of 'widgetOverrideCursor'.+ -> IO ()+widgetOverrideCursor self cursor secondaryCursor =+  maybeWith with cursor $ \cursorPtr ->+  maybeWith with secondaryCursor $ \secondaryCursorPtr ->+  {# call widget_override_cursor #}+    (toWidget self)+    (castPtr cursorPtr)+    (castPtr secondaryCursorPtr)+#endif+ -- | Modifies style values on the widget. Modifications made using this -- technique take precedence over style values set via an RC file, however, -- they will be overriden if a style is explicitely set on the widget using@@ -1611,7 +1738,7 @@ -- Caution: passing the style back to 'widgetModifyStyle' will normally end -- up destroying it, because 'widgetModifyStyle' copies the passed-in style and -- sets the copy as the new modifier style, thus dropping any reference to the--- old modifier style. Add a reference to the modifier style if you want to+-- old modifier styl e. Add a reference to the modifier style if you want to -- keep it alive. -- widgetGetModifierStyle :: WidgetClass self => self -> IO RcStyle@@ -2013,6 +2140,19 @@     (toWidget self)     namePtr +-- | Emits the “mnemonic-activate” signal.+--+-- The default handler for this signal activates the widget if groupCycling+-- is @False@, and just grabs the focus if @groupCycling@ is @True@.+widgetMnemonicActivate :: WidgetClass self => self+ -> Bool+ -> IO Bool+widgetMnemonicActivate self groupCycling =+  liftM toBool $+  {# call widget_mnemonic_activate #}+    (toWidget self)+    (fromBool groupCycling)+ #if GTK_MAJOR_VERSION < 3 -- %hash c:5c58 d:6895 -- | For widgets that support scrolling, sets the scroll adjustments and@@ -2447,6 +2587,237 @@ #endif #endif +#if GTK_CHECK_VERSION(2,12,0)+-- | Notifies the user about an input-related error on this widget.+-- If the "gtk-error-bell" setting is @True@, it calls 'drawWindowBeep',+-- otherwise it does nothing.+--+-- Note that the effect of 'drawWindow_beep' can be configured in many+-- ways, depending on the windowing backend and the desktop environment+-- or window manager that is used.+widgetErrorBell :: WidgetClass self => self+ -> IO ()+widgetErrorBell self =+  {# call widget_error_bell #}+    (toWidget self)++-- | This function should be called whenever keyboard navigation within+-- a single widget hits a boundary. The function emits the "keynav-failed"+-- signal on the widget and its return value should be interpreted in a+-- way similar to the return value of 'widgetChildFocus':+--+-- When @True@ is returned, stay in the widget, the failed keyboard+-- navigation is Ok and/or there is nowhere we can/should move the+-- focus to.+--+-- When @False@ is returned, the caller should continue with keyboard+-- navigation outside the widget, e.g. by calling 'widgetChildFocus' on+-- the widget’s toplevel.+--+-- The default ::keynav-failed handler returns @True@ for 'DirTabForward'+-- and 'DirTabBackward'. For the other values of 'DirectionType' it+-- returns @False@.+--+-- Whenever the default handler returns @True@, it also calls+-- 'widgetErrorBell' to notify the user of the failed keyboard+-- navigation.+--+-- A use case for providing an own implementation of ::keynav-failed+-- (either by connecting to it or by overriding it) would be a row of+-- 'Entry' widgets where the user should be able to navigate the entire+-- row with the cursor keys, as e.g. known from user interfaces that+-- require entering license keys.+widgetKeynavFailed :: WidgetClass self => self+ -> DirectionType -- ^ @direction@ - direction of focus movement+ -> IO Bool       -- ^ returns @True@ if stopping keyboard navigation is+                  -- fine, @False@ if the emitting widget should try to handle+                  -- the keyboard navigation attempt in its parent container(s).+widgetKeynavFailed self direction =+  liftM toBool $+  {# call widget_keynav_failed #}+    (toWidget self)+    ((fromIntegral . fromEnum) direction)++-- | Gets the contents of the tooltip for widget.+widgetGetTooltipMarkup :: (WidgetClass self, GlibString markup) => self+ -> IO (Maybe markup) -- Returns the tooltip text, or Nothing.+widgetGetTooltipMarkup self =+  {# call widget_get_tooltip_markup #}+    (toWidget self)+  >>= maybePeek peekUTFString++-- | Sets @markup@ as the contents of the tooltip, which is marked up with the+-- Pango text markup language.+--+-- This function will take care of setting "has-tooltip" to True and of the+-- default handler for the "query-tooltip" signal.+--+-- See also the "tooltip-markup" property and 'tooltipSetMarkup'.+widgetSetTooltipMarkup :: (WidgetClass self, GlibString markup) => self+  -> Maybe markup -- ^ the contents of the tooltip for widget, or @Nothing@.+  -> IO ()+widgetSetTooltipMarkup self markup =+  maybeWith withUTFString markup $ \ markupPtr ->+  {# call widget_set_tooltip_markup #}+    (toWidget self)+    markupPtr++-- | Gets the contents of the tooltip for widget.+widgetGetTooltipText :: (WidgetClass self, GlibString text) => self+ -> IO (Maybe text) -- Returns the tooltip text, or Nothing.+widgetGetTooltipText self =+  {# call widget_get_tooltip_text #}+    (toWidget self)+  >>= maybePeek peekUTFString++-- | Sets @text@ as the contents of the tooltip. This function will take care+-- of setting "has-tooltip" to @True@ and of the default handler for the+-- "query-tooltip" signal.+--+-- See also the "tooltip-text" property and 'tooltipSetText'.+widgetSetTooltipText :: (WidgetClass widget, GlibString text) => widget+  -> Maybe text -- ^ the contents of the tooltip for widget, or @Nothing@.+  -> IO ()+widgetSetTooltipText widget text =+  maybeWith withUTFString text $ \ textPtr ->+  {# call widget_set_tooltip_text #}+    (toWidget widget)+    textPtr++-- | Returns the 'Window' of the current tooltip. This can be the 'Window' created by default, or the+-- custom tooltip window set using 'widgetSetTooltipWindow'.+--+-- * Available since Gtk+ version 2.12+--+widgetGetTooltipWindow :: WidgetClass self => self+ -> IO Window -- ^ returns The 'Window' of the current tooltip+widgetGetTooltipWindow self =+  makeNewObject mkWindow $+  {# call gtk_widget_get_tooltip_window #}+    (toWidget self)++-- | Replaces the default, usually yellow, window used for displaying tooltips with @customWindow@. GTK++-- will take care of showing and hiding @customWindow@ at the right moment, to behave likewise as the+-- default tooltip window. If @customWindow@ is 'Nothing', the default tooltip window will be used.+--+-- If the custom window should have the default theming it needs to have the name 'gtk-tooltip', see+-- 'widgetSetName'.+--+-- * Available since Gtk+ version 2.12+--+widgetSetTooltipWindow :: (WidgetClass self, WindowClass customWindow) => self+ -> Maybe customWindow -- ^ @customWindow@ a 'Window', or 'Nothing'. allow-none.+ -> IO ()+widgetSetTooltipWindow self customWindow =+  {# call gtk_widget_set_tooltip_window #}+    (toWidget self)+    (maybe (Window nullForeignPtr) toWindow customWindow)++-- | Returns the current value of the has-tooltip property.+-- See 'widgetHasTooltip' for more information.+widgetGetHasTooltip :: WidgetClass widget => widget+ -> IO Bool -- ^ current value of 'widgetHasTooltip' on @widget@.+widgetGetHasTooltip widget =+  liftM toBool $+  {# call widget_get_has_tooltip #}+    (toWidget widget)++-- | Sets the has-tooltip property on @widget@ to @hasTooltip@.+-- See 'widgetHasTooltip' for more information.+widgetSetHasTooltip :: WidgetClass widget => widget+ -> Bool  -- ^ @hasTooltip@ whether or not @widget@ has a tooltip.+ -> IO ()+widgetSetHasTooltip widget hasTooltip =+  {# call widget_set_has_tooltip #}+    (toWidget widget)+    (fromBool hasTooltip)++-- | Triggers a tooltip query on the display where the toplevel of @widget@ is+-- located. See 'tooltipTriggerTooltipQuery' for more information.+--+-- * Available since Gtk+ version 2.12+--+widgetTriggerTooltipQuery :: WidgetClass self => self -> IO ()+widgetTriggerTooltipQuery self =+  {# call gtk_widget_trigger_tooltip_query #}+    (toWidget self)+#endif++#if GTK_CHECK_VERSION(2,14,0)+-- | Returns the widget's window if it is realized, Nothing otherwise+--+-- * Available since Gtk+ version 2.14+--+widgetGetWindow :: WidgetClass self => self -> IO (Maybe DrawWindow)+widgetGetWindow self =+  maybeNull (makeNewGObject mkDrawWindow) $+  {# call gtk_widget_get_window #}+    (toWidget self)+#endif++#if GTK_CHECK_VERSION(3,8,0)+-- | Registers a 'DrawWindow' with the widget and sets it up so that the+-- widget receives events for it. Call 'widgetUnregisterWindow' when+-- destroying the window.+widgetRegisterWindow :: (WidgetClass widget, DrawWindowClass window) => widget+ -> window+ -> IO ()+widgetRegisterWindow widget window =+  {# call widget_register_window #}+    (toWidget widget)+    (toDrawWindow window)++-- | Unregisters a 'DrawWindow' from the widget that was previously set up+-- with 'widgetRegisterWindow'. You need to call this when the window is no+-- longer used by the widget, such as when you destroy it.+widgetUnregisterWindow :: (WidgetClass widget, DrawWindowClass window) => widget+ -> window+ -> IO ()+widgetUnregisterWindow widget window =+  {# call widget_unregister_window #}+    (toWidget widget)+    (toDrawWindow window)+#endif++#if GTK_CHECK_VERSION(3,0,0)+-- | This function is supposed to be called in "draw" implementations for+-- widgets that support multiple windows. @cr@ must be untransformed from+-- invoking of the draw function. This function will return @True@ if the+-- contents of the given @window@ are supposed to be drawn and @False@+-- otherwise. Note that when the drawing was not initiated by the windowing+-- system this function will return @True@ for all windows, so you need to+-- draw the bottommost window first. Also, do not use “else if” statements to+-- check which window should be drawn.+cairoShouldDrawWindow :: DrawWindowClass window+ => Cairo   -- ^ @cr@ a cairo context+ -> window  -- ^ @window@ the window to check. @window@ may not be an input-only window.+ -> IO Bool+cairoShouldDrawWindow cr window =+  liftM toBool $+  {# call cairo_should_draw_window #}+    (castPtr $ unCairo cr)+    (toDrawWindow window)++-- | Transforms the given cairo context @cr@ that from @widget@-relative+-- coordinates to @window@-relative coordinates. If the @widget@’s window is+-- not an ancestor of @window@, no modification will be applied.+--+-- This is the inverse to the transformation GTK applies when preparing an+-- expose event to be emitted with the “draw” signal. It is intended to help+-- porting multiwindow widgets from GTK+ 2 to the rendering architecture of+-- GTK+ 3.+cairoTransformToWindow :: (WidgetClass widget, DrawWindowClass window)+ => Cairo  -- ^ @cr@ the cairo context to transform+ -> widget -- ^ @widget@ the widget the context is currently centered for+ -> window -- ^ @window@ the window to transform the context to+ -> IO ()+cairoTransformToWindow cr widget window =+  {# call gtk_cairo_transform_to_window #}+    (castPtr $ unCairo cr)+    (toWidget widget)+    (toDrawWindow window)+#endif+ -- | Moves a widget from one 'Container' to another. -- widgetReparent :: (WidgetClass self, WidgetClass newParent) => self@@ -2542,6 +2913,81 @@ #endif  #if GTK_CHECK_VERSION(2,18,0)+-- | Determines whether the application intends to draw on the widget in an+-- "draw" handler.+-- See 'widgetSetAppPaintable'.+widgetGetAppPaintable :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if the @widget@ is app paintable.+widgetGetAppPaintable widget =+  liftM toBool $+  {#call widget_get_app_paintable #}+    (toWidget widget)++-- | Determines whether @widget@ can be a default widget.+-- See 'widgetSetCanDefault'.+widgetGetCanDefault :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if @widget@ can be a default widget, @False@ otherwise.+widgetGetCanDefault widget =+  liftM toBool $+  {#call gtk_widget_get_can_default #}+    (toWidget widget)++-- | Specifies whether @widget@ can be a default widget.+-- See 'widgetGrabDefault' for details about the meaning of "default".+widgetSetCanDefault :: WidgetClass widget => widget+ -> Bool  -- ^ @canDefault@ whether or not @widget@ can be a default widget.+ -> IO ()+widgetSetCanDefault widget canDefault =+  {# call widget_set_can_default #}+    (toWidget widget)+    (fromBool canDefault)++-- | Determines whether @widget@ has a 'DrawWindow' of its own. See 'widgetSetHasWindow'.+widgetGetHasWindow :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if @widget@ has a window, @False@ otherwise.+widgetGetHasWindow widget =+  liftM toBool $+  {#call widget_get_has_window #}+    (toWidget widget)++-- | Specifies whether @widget@ has a 'DrawWindow' of its own. Note that all+-- realized widgets have a non-NULL "window" pointer ('widgetGetWindow' never+-- returns a NULL window when a widget is realized), but for many of them it's+-- actually the 'DrawWindow' of one of its parent widgets. Widgets that do not+-- create a window for themselves in "realize" must announce this by calling+-- this function with @hasWindow@ = @False@.+--+-- This function should only be called by widget implementations, and they+-- should call it in their @init()@ function.+widgetSetHasWindow :: WidgetClass widget => widget+ -> Bool  -- ^ @hasWindow@ whether or not @widget@ has a window.+ -> IO ()+widgetSetHasWindow widget hasWindow =+  {# call widget_set_has_window #}+    (toWidget widget)+    (fromBool hasWindow)++-- | Returns the @widget@’s sensitivity (in the sense of returning the value+-- that has been set using 'widgetSetSensitive').+--+-- The effective sensitivity of a widget is however determined by both its own+-- and its parent widget’s sensitivity. See 'widgetIsSensitive'.+widgetGetSensitive :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if the widget is sensitive.+widgetGetSensitive widget =+  liftM toBool $+  {#call widget_get_sensitive #}+    (toWidget widget)++-- | Returns the widget’s effective sensitivity, which means it is sensitive+-- itself and also its parent widget is sensitive.+widgetIsSensitive :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if the widget is effectively sensitive.+widgetIsSensitive widget =+  liftM toBool $+  {#call widget_is_sensitive #}+    (toWidget widget)+ -- | Retrieve the current state of the widget. -- -- * The state refers to different modes of user interaction, see@@ -2552,8 +2998,246 @@   liftM (toEnum . fromIntegral) $   {#call widget_get_state#}     (toWidget widget)++-- | Determines whether the widget is visible. If you want to take into+--  account whether the widget’s parent is also marked as visible, use+-- 'widgetIsVisible' instead.+--+-- This function does not check if the widget is obscured in any way.+-- See 'widgetSetVisible'.+widgetGetVisible :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if the widget is visible.+widgetGetVisible widget =+  liftM toBool $+  {#call widget_get_visible #}+    (toWidget widget) #endif +#if GTK_CHECK_VERSION(3,8,0)+-- | Determines whether the widget and all its parents are marked as visible.+--+-- This function does not check if the widget is obscured in any way.+--+-- See also 'widgetGetVisible' and 'widgetSetVisible'+widgetIsVisible :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if the widget and all its parents are visible.+widgetIsVisible widget =+  liftM toBool $+  {#call widget_is_visible #}+    (toWidget widget)+#endif++#if GTK_CHECK_VERSION(3,0,0)+-- | This function is for use in widget implementations. Turns on flag values+-- in the current widget state (insensitive, prelighted, etc.).+--+-- This function accepts the values 'StateFlagDirLtr' and 'StateFlagDirRtl'+-- but ignores them. If you want to set the widget's direction, use+-- 'widgetSetDirection'.+--+-- It is worth mentioning that any other state than StateFlagInsensitive',+-- will be propagated down to all non-internal children if @widget@ is a+-- 'Container', while 'StateFlagInsensitive' itself will be propagated down+-- to all 'Container' children by different means than turning on the state+-- flag down the hierarchy, both 'widgetGetStateFlags' and+-- 'widgetIsSensitive' will make use of these.+widgetSetStateFlags :: WidgetClass widget => widget+ -> [StateFlags] -- ^ @flags@ State flags to turn on+ -> Bool         -- ^ @clear@ Whether to clear state before turning on @flags@+ -> IO ()+widgetSetStateFlags widget flags clear =+  {# call widget_set_state_flags #}+    (toWidget widget)+    (fromIntegral $ fromFlags flags)+    (fromBool clear)++-- | This function is for use in widget implementations. Turns off flag+-- values for the current widget state (insensitive, prelighted, etc.).+-- See 'widgetSetStateFlags'.+widgetUnsetStateFlags :: WidgetClass widget => widget+ -> [StateFlags] -- ^ @flags@ State flags to turn off+ -> IO ()+widgetUnsetStateFlags widget flags =+  {# call widget_unset_state_flags #}+    (toWidget widget)+    (fromIntegral $ fromFlags flags)++-- | Returns the widget state as a flag set. It is worth mentioning that the+-- effective StateFlagInsensitive state will be returned, that is, also based+-- on parent insensitivity, even if @widget@ itself is sensitive.+widgetGetStateFlags :: WidgetClass widget => widget+ -> IO [StateFlags] -- ^ Returns the state flags for @widget@+widgetGetStateFlags widget =+  liftM (toFlags . fromIntegral) $+  {# call widget_get_state_flags #}+    (toWidget widget)+#endif++#if GTK_CHECK_VERSION(2,18,0)+-- | Determines whether @widget@ is the current default widget within its+-- toplevel. See 'widgetSetCanDefault'.+widgetGetHasDefault :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if @widget@ is the current default widget within its toplevel, @False@ otherwise.+widgetGetHasDefault widget =+  liftM toBool $+  {#call widget_has_default #}+    (toWidget widget)++-- | Determines if the @widget@ has the global input focus.+-- See 'widgetIsFocus' for the difference between having the global input+-- focus, and only having the focus within a toplevel.+widgetGetHasFocus :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if @widget@ has the global input focus.+widgetGetHasFocus widget =+  liftM toBool $+  {#call widget_has_focus #}+    (toWidget widget)+#endif++#if GTK_CHECK_VERSION(3,2,0)+-- | Determines if the widget should show a visible indication that it has the+-- global input focus. This is a convenience function for use in ::draw+-- handlers that takes into account whether focus indication should currently+-- be shown in the toplevel window of @widget@. See 'windowGetFocusVisible'+-- for more information about focus indication.+--+-- To find out if the widget has the global input focus, use 'widgetHasFocus'.+widgetHasVisibleFocus :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if the widget should display a “focus rectangle”+widgetHasVisibleFocus widget =+  liftM toBool $+  {# call widget_has_visible_focus #}+    (toWidget widget)+#endif++#if GTK_CHECK_VERSION(2,18,0)+-- | Determines whether the widget is currently grabbing events, so it is the+-- only widget receiving input events (keyboard and mouse).+--+-- See also 'grabAdd'.+widgetHasGrab :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if the widget is in the grab_widgets stack+widgetHasGrab widget =+  liftM toBool $+  {# call widget_has_grab #}+    (toWidget widget)++-- | Determines whether @widget@ can be drawn to. A widget can be drawn to if+-- it is mapped and visible.+widgetIsDrawable :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if @widget@ is drawable, @False@ otherwise+widgetIsDrawable widget =+  liftM toBool $+  {# call widget_is_drawable #}+    (toWidget widget)++-- | Determines whether @widget@ is a toplevel widget.+--+-- Currently only 'Window' and 'Invisible' (and out-of-process 'Plugs') are+-- toplevel widgets. Toplevel widgets have no parent widget.+widgetIsToplevel :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if @widget@ is a toplevel, @False@ otherwise+widgetIsToplevel widget =+  liftM toBool $+  {# call widget_is_toplevel #}+    (toWidget widget)++-- | Sets a widget’s window. This function should only be used in a widget’s+-- “realize” implementation. The window passed is usually either new window+-- created with 'drawWindowNew', or the window of its parent widget as+-- returned by 'widgetGetParentWindow'.+--+-- Widgets must indicate whether they will create their own 'DrawWindow' by+-- calling 'widgetSetHasWindow'. This is usually done in the widget’s init()+-- function.+--+-- Note that this function does not add any reference to window.+widgetSetWindow :: (WidgetClass widget, DrawWindowClass window) => widget+ -> window+ -> IO ()+widgetSetWindow widget window =+  {# call widget_set_window #}+    (toWidget widget)+    (toDrawWindow window)++-- | Specifies whether @widget@ will be treated as the default widget within+-- its toplevel when it has the focus, even if another widget is the default.+--+-- See 'widgetGrabDefault' for details about the meaning of “default”.+widgetSetReceivesDefault :: WidgetClass widget => widget+ -> Bool -- ^ @receivesDefault@ whether or not widget can be a default widget.+ -> IO ()+widgetSetReceivesDefault widget receivesDefault =+  {# call widget_set_receives_default #}+    (toWidget widget)+    (fromBool receivesDefault)++-- | Determines whether @widget@ is always treated as the default widget+-- within its toplevel when it has the focus, even if another widget is the+-- default.+--+-- See 'widgetSetReceivesDefault'.+widgetGetReceivesDefault :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if @widget@ acts as the default widget when focussed, @False@ otherwise+widgetGetReceivesDefault widget =+  liftM toBool $+  {# call widget_get_receives_default #}+    (toWidget widget)+#endif++#if GTK_CHECK_VERSION(3,0,0)+-- | Returns @True@ if device has been shadowed by a GTK+ device grab on+-- another widget, so it would stop sending events to widget. This may be+-- used in the “grab-notify” signal to check for specific devices.+-- See 'deviceGrabAdd'.+widgetDeviceIsShadowed :: (WidgetClass widget, DeviceClass device) => widget+ -> device+ -> IO Bool -- ^ Returns @True@ if there is an ongoing grab on device by another 'Widget' than widget.+widgetDeviceIsShadowed widget device =+  liftM toBool $+  {# call widget_device_is_shadowed #}+    (toWidget widget)+    (toDevice device)+#endif++#if GTK_CHECK_VERSION(3,4,0)+-- | Returns the modifier mask the @widget@’s windowing system backend uses+-- for a particular purpose.+--+-- See 'keymapGetModifierMask'.+widgetGetModifierMask :: WidgetClass widget => widget+ -> ModifierIntent -- ^ @intent@ the use case for the modifier mask+ -> IO [Modifier]  -- ^ Returns the modifier mask used for @intent@.+widgetGetModifierMask widget intent =+  liftM (toFlags . fromIntegral) $+  {# call widget_get_modifier_mask #}+    (toWidget widget)+    ((fromIntegral . fromEnum) intent)+#endif++#if GTK_CHECK_VERSION(3,0,0)+-- | Enables or disables multiple pointer awareness. If this setting is+-- @True@, widget will start receiving multiple, per device enter/leave+-- events. Note that if custom 'DrawWindows' are created in “realize”,+-- 'windowSetSupportMultidevice' will have to be called manually on them.+widgetSetSupportMultidevice :: WidgetClass widget => widget+ -> Bool -- ^ @supportMultidevice@ @True@ to support input from multiple devices.+ -> IO ()+widgetSetSupportMultidevice widget supportMultidevice =+  {# call widget_set_support_multidevice #}+    (toWidget widget)+    (fromBool supportMultidevice)++-- | Returns @True@ if @widget@ is multiple pointer aware.+-- See 'widgetSetSupportMultidevice' for more information.+widgetGetSupportMultidevice :: WidgetClass widget => widget+ -> IO Bool -- ^ Returns @True@ if @widget@ is multidevice aware.+widgetGetSupportMultidevice widget =+  liftM toBool $+  {# call widget_get_support_multidevice #}+    (toWidget widget)+#endif+ -- | This function is for use in widget implementations. Sets the state of a -- widget (insensitive, prelighted, etc.) Usually you should set the state -- using wrapper functions such as 'widgetSetSensitive'.@@ -2591,6 +3275,14 @@ widgetMarginRight :: WidgetClass self => Attr self Int widgetMarginRight = newAttrFromIntProperty "margin-right" +#if GTK_CHECK_VERSION(3,12,0)+widgetMarginStart :: WidgetClass self => Attr self Int+widgetMarginStart = newAttrFromIntProperty "margin-start"++widgetMarginEnd :: WidgetClass self => Attr self Int+widgetMarginEnd = newAttrFromIntProperty "margin-end"+#endif+ widgetMarginTop :: WidgetClass self => Attr self Int widgetMarginTop = newAttrFromIntProperty "margin-top" @@ -2756,13 +3448,34 @@ widgetExpand :: WidgetClass self => Attr self Bool widgetExpand = newAttrFromBoolProperty "expand" --- | Whether to expand in both directions. Setting this sets both 'widgetHExpand' and 'widgetVExpand'+-- | Whether to expand horizontally. See 'widgetSetHExpand' -- -- Default value: @False@ -- widgetHExpand :: WidgetClass self => Attr self Bool widgetHExpand = newAttrFromBoolProperty "hexpand" +-- | Whether to use the “hexpand” property. See 'widgetGetHExpandSet'.+--+-- Default value: @False@+--+widgetHExpandSet :: WidgetClass self => Attr self Bool+widgetHExpandSet = newAttrFromBoolProperty "hexpand-set"++-- | Whether to expand vertically. See 'widgetSetVExpand'.+--+-- Default value: @False@+--+widgetVExpand :: WidgetClass self => Attr self Bool+widgetVExpand = newAttrFromBoolProperty "vexpand"++-- | Whether to use the “vexpand” property. See 'widgetGetVExpandSet'.+--+-- Default value: @False@+--+widgetVExpandSet :: WidgetClass self => Attr self Bool+widgetVExpandSet = newAttrFromBoolProperty "vexpand-set"+ -- %hash c:1605 d:48ea -- | Whether 'widgetShowAll' should not affect this widget. --@@ -2877,6 +3590,30 @@   {#call gtk_widget_get_mapped #}     (toWidget self) +-- | Marks the @widget@ as being realized. This function must only be called+-- after all 'DrawWindows' for the widget have been created and registered.+--+-- This function should only ever be called in a derived widget's “realize”+-- or “unrealize” implementation.+widgetSetRealized :: WidgetClass widget => widget+ -> Bool -- ^ @realized@ @True@ to mark the widget realized.+ -> IO ()+widgetSetRealized widget realized =+  {# call widget_set_realized #}+    (toWidget widget)+    (fromBool realized)++-- | Marks the @widget@ as being realized.+--+-- This function should only ever be called in a derived widget's “map” or+-- “unmap” implementation.+widgetSetMapped :: WidgetClass widget => widget+ -> Bool -- ^ @mapped@ @True@ to mark the widget as mapped.+ -> IO ()+widgetSetMapped widget mapped =+  {# call widget_set_mapped #}+    (toWidget widget)+    (fromBool mapped) #endif  #if GTK_CHECK_VERSION(3,0,0)
Graphics/UI/Gtk/Gdk/Enums.chs view
@@ -31,6 +31,9 @@   DragAction(..),   EventMask(..),   Modifier(..),+#if GTK_CHECK_VERSION(3,4,0)+  ModifierIntent(..),+#endif   NotifyType(..),   ScrollDirection(..),   VisibilityState(..),@@ -165,6 +168,10 @@ #endif  instance Flags Modifier++#if GTK_CHECK_VERSION(3,4,0)+{#enum ModifierIntent {underscoreToCase} deriving(Eq,Show) #}+#endif  #if GTK_MAJOR_VERSION < 3 -- | specify which input extension a widget desires
Graphics/UI/Gtk/Gdk/EventM.hsc view
@@ -1,5 +1,8 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE EmptyDataDecls #-}+#if MIN_VERSION_base(4,8,0)+{-# LANGUAGE FlexibleContexts #-}+#endif -- -*-haskell-*-  #include <gtk/gtk.h>
Graphics/UI/Gtk/General/hsgthread.c view
@@ -55,12 +55,37 @@  gboolean gtk2hs_run_finalizers(gpointer data); +#if defined( WIN32 ) && GLIB_CHECK_VERSION(2,32,0)+static GRecMutex recursive_mutex;++void imp_rec_lock() {+    g_rec_mutex_lock(&recursive_mutex);+}++void imp_rec_unlock() {+    g_rec_mutex_unlock(&recursive_mutex);+}+#endif+ /* Initialize the default _fmode on WIN32. */ void gtk2hs_initialise (void) { #if defined( WIN32 ) && defined( GTK2HS_SET_FMODE_BINARY ) 	/* Some Windows GTK binraries (current Fedora MinGW ones) do */ 	/* not open files in binary mode.  This is a work around.    */-    _fmode = _O_BINARY;+    HANDLE handle = LoadLibrary("MSVCRT.dll");+    if(!handle) { +        fprintf(stderr, "Warning: failed to load MSVCRT.dll, ");+        fprintf(stderr, "binary mode was not set!\n");+        return;+    }+    +    int *_fmode_ptr = GetProcAddress(handle, "_fmode");+    if(!_fmode_ptr) {+        fprintf(stderr, "Warning: failed to load address of _fmode from MSVCRT.dll, ");+        fprintf(stderr, "binary mode was not set!\n");+        return;+    }+    *_fmode_ptr = _O_BINARY; #endif } @@ -78,6 +103,12 @@     InitializeCriticalSection(&gtk2hs_finalizer_mutex); #else     g_static_mutex_init(&gtk2hs_finalizer_mutex);+#endif++#if defined( WIN32 ) && GLIB_CHECK_VERSION(2,32,0)+    g_rec_mutex_init(&recursive_mutex);+    +    gdk_threads_set_lock_functions(imp_rec_lock, imp_rec_unlock); #endif     g_thread_init(NULL);     gdk_threads_init();
Graphics/UI/Gtk/ModelView/Types.chs view
@@ -76,7 +76,6 @@ {#import Graphics.UI.Gtk.Types#}	(TreeModel, TreeModelSort, TreeModelFilter,                                    Pixbuf) import Data.Char ( isDigit )-import Data.Word (Word32) import Control.Monad ( liftM )  {# context lib="gtk" prefix="gtk" #}
Graphics/UI/Gtk/Types.chs view
@@ -86,10 +86,22 @@   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,@@ -106,10 +118,6 @@   toDevice,    mkDevice, unDevice,   castToDevice, gTypeDevice,-  FrameClock(FrameClock), FrameClockClass,-  toFrameClock, -  mkFrameClock, unFrameClock,-  castToFrameClock, gTypeFrameClock,   Settings(Settings), SettingsClass,   toSettings,    mkSettings, unSettings,@@ -162,6 +170,10 @@   toTextMark,    mkTextMark, unTextMark,   castToTextMark, gTypeTextMark,+  Object(Object), ObjectClass,+  toObject, +  mkObject, unObject,+  castToObject, gTypeObject,   RecentFilter(RecentFilter), RecentFilterClass,   toRecentFilter,    mkRecentFilter, unRecentFilter,@@ -186,6 +198,10 @@   toAccelLabel,    mkAccelLabel, unAccelLabel,   castToAccelLabel, gTypeAccelLabel,+  TipsQuery(TipsQuery), TipsQueryClass,+  toTipsQuery, +  mkTipsQuery, unTipsQuery,+  castToTipsQuery, gTypeTipsQuery,   Arrow(Arrow), ArrowClass,   toArrow,    mkArrow, unArrow,@@ -258,6 +274,14 @@   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,@@ -282,10 +306,10 @@   toSeparatorMenuItem,    mkSeparatorMenuItem, unSeparatorMenuItem,   castToSeparatorMenuItem, gTypeSeparatorMenuItem,-  Overlay(Overlay), OverlayClass,-  toOverlay, -  mkOverlay, unOverlay,-  castToOverlay, gTypeOverlay,+  ListItem(ListItem), ListItemClass,+  toListItem, +  mkListItem, unListItem,+  castToListItem, gTypeListItem,   Window(Window), WindowClass,   toWindow,    mkWindow, unWindow,@@ -310,6 +334,10 @@   toColorSelectionDialog,    mkColorSelectionDialog, unColorSelectionDialog,   castToColorSelectionDialog, gTypeColorSelectionDialog,+  FileSelection(FileSelection), FileSelectionClass,+  toFileSelection, +  mkFileSelection, unFileSelection,+  castToFileSelection, gTypeFileSelection,   FileChooserDialog(FileChooserDialog), FileChooserDialogClass,   toFileChooserDialog,    mkFileChooserDialog, unFileChooserDialog,@@ -318,6 +346,10 @@   toFontSelectionDialog,    mkFontSelectionDialog, unFontSelectionDialog,   castToFontSelectionDialog, gTypeFontSelectionDialog,+  InputDialog(InputDialog), InputDialogClass,+  toInputDialog, +  mkInputDialog, unInputDialog,+  castToInputDialog, gTypeInputDialog,   MessageDialog(MessageDialog), MessageDialogClass,   toMessageDialog,    mkMessageDialog, unMessageDialog,@@ -346,6 +378,10 @@   toComboBox,    mkComboBox, unComboBox,   castToComboBox, gTypeComboBox,+  ComboBoxEntry(ComboBoxEntry), ComboBoxEntryClass,+  toComboBoxEntry, +  mkComboBoxEntry, unComboBoxEntry,+  castToComboBoxEntry, gTypeComboBoxEntry,   ToolItem(ToolItem), ToolItemClass,   toToolItem,    mkToolItem, unToolItem,@@ -414,6 +450,10 @@   toInfoBar,    mkInfoBar, unInfoBar,   castToInfoBar, gTypeInfoBar,+  Combo(Combo), ComboClass,+  toCombo, +  mkCombo, unCombo,+  castToCombo, gTypeCombo,   FileChooserButton(FileChooserButton), FileChooserButtonClass,   toFileChooserButton,    mkFileChooserButton, unFileChooserButton,@@ -422,6 +462,14 @@   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,@@ -446,6 +494,10 @@   toLayout,    mkLayout, unLayout,   castToLayout, gTypeLayout,+  List(List), ListClass,+  toList, +  mkList, unList,+  castToList, gTypeList,   MenuShell(MenuShell), MenuShellClass,   toMenuShell,    mkMenuShell, unMenuShell,@@ -506,6 +558,18 @@   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,@@ -550,14 +614,14 @@   toInvisible,    mkInvisible, unInvisible,   castToInvisible, gTypeInvisible,+  Preview(Preview), PreviewClass,+  toPreview, +  mkPreview, unPreview,+  castToPreview, gTypePreview,   ProgressBar(ProgressBar), ProgressBarClass,   toProgressBar,    mkProgressBar, unProgressBar,   castToProgressBar, gTypeProgressBar,-  LevelBar(LevelBar), LevelBarClass,-  toLevelBar, -  mkLevelBar, unLevelBar,-  castToLevelBar, gTypeLevelBar,   Adjustment(Adjustment), AdjustmentClass,   toAdjustment,    mkAdjustment, unAdjustment,@@ -574,6 +638,14 @@   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,@@ -622,18 +694,6 @@   toBuilder,    mkBuilder, unBuilder,   castToBuilder, gTypeBuilder,-  StyleContext(StyleContext), StyleContextClass,-  toStyleContext, -  mkStyleContext, unStyleContext,-  castToStyleContext, gTypeStyleContext,-  StyleProvider(StyleProvider), StyleProviderClass,-  toStyleProvider, -  mkStyleProvider, unStyleProvider,-  castToStyleProvider, gTypeStyleProvider,-  CssProvider(CssProvider), CssProviderClass,-  toCssProvider, -  mkCssProvider, unCssProvider,-  castToCssProvider, gTypeCssProvider,   CellLayout(CellLayout), CellLayoutClass,   toCellLayout,    mkCellLayout, unCellLayout,@@ -745,7 +805,11 @@   FileChooser(FileChooser), FileChooserClass,   toFileChooser,    mkFileChooser, unFileChooser,-  castToFileChooser, gTypeFileChooser+  castToFileChooser, gTypeFileChooser,+  GC(GC), GCClass,+  toGC, +  mkGC, unGC,+  castToGC, gTypeGC   ) where  import Foreign.ForeignPtr (ForeignPtr, castForeignPtr)@@ -1051,6 +1115,29 @@ gTypeRecentManager =   {# call fun unsafe gtk_recent_manager_get_type #} +-- ******************************************************************* Drawable++{#pointer *GdkDrawable as Drawable foreign newtype #} 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 =+  {# call fun unsafe gdk_drawable_get_type #}+ -- ***************************************************************** DrawWindow  {#pointer *GdkWindow as DrawWindow foreign newtype #} deriving (Eq,Ord)@@ -1058,11 +1145,12 @@ mkDrawWindow = (DrawWindow, objectUnrefFromMainloop) unDrawWindow (DrawWindow o) = o -class GObjectClass o => DrawWindowClass 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@@ -1072,8 +1160,55 @@  gTypeDrawWindow :: GType gTypeDrawWindow =-  {# call fun unsafe gdk_window_get_type #}+  {# call fun unsafe gdk_window_object_get_type #} +-- ********************************************************************* Pixmap++{#pointer *GdkPixmap as Pixmap foreign newtype #} 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 =+  {# call fun unsafe gdk_pixmap_get_type #}++-- ******************************************************************* Colormap++{#pointer *GdkColormap as Colormap foreign newtype #} 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 =+  {# call fun unsafe gdk_colormap_get_type #}+ -- ********************************************************************* Screen  {#pointer *GdkScreen as Screen foreign newtype #} deriving (Eq,Ord)@@ -1166,29 +1301,6 @@ gTypeDevice =   {# call fun unsafe gdk_device_get_type #} --- ***************************************************************** FrameClock--{#pointer *GdkFrameClock as FrameClock foreign newtype #} deriving (Eq,Ord)--mkFrameClock = (FrameClock, objectUnrefFromMainloop)-unFrameClock (FrameClock o) = o--class GObjectClass o => FrameClockClass o-toFrameClock :: FrameClockClass o => o -> FrameClock-toFrameClock = unsafeCastGObject . toGObject--instance FrameClockClass FrameClock-instance GObjectClass FrameClock where-  toGObject = GObject . castForeignPtr . unFrameClock-  unsafeCastGObject = FrameClock . castForeignPtr . unGObject--castToFrameClock :: GObjectClass obj => obj -> FrameClock-castToFrameClock = castTo gTypeFrameClock "FrameClock"--gTypeFrameClock :: GType-gTypeFrameClock =-  {# call fun unsafe gdk_frame_clock_get_type #}- -- ******************************************************************* Settings  {#pointer *GtkSettings as Settings foreign newtype #} deriving (Eq,Ord)@@ -1489,6 +1601,29 @@ gTypeTextMark =   {# call fun unsafe gtk_text_mark_get_type #} +-- ********************************************************************* Object++{#pointer *GtkObject as Object foreign newtype #} 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 =+  {# call fun unsafe gtk_object_get_type #}+ -- *************************************************************** RecentFilter  {#pointer *GtkRecentFilter as RecentFilter foreign newtype #} deriving (Eq,Ord)@@ -1496,11 +1631,12 @@ mkRecentFilter = (RecentFilter, objectUnrefFromMainloop) unRecentFilter (RecentFilter o) = o -class GObjectClass o => RecentFilterClass 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@@ -1519,11 +1655,12 @@ mkWidget = (Widget, objectUnrefFromMainloop) unWidget (Widget o) = o -class GObjectClass o => WidgetClass 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@@ -1548,6 +1685,7 @@  instance HSVClass HSV instance WidgetClass HSV+instance ObjectClass HSV instance GObjectClass HSV where   toGObject = GObject . castForeignPtr . unHSV   unsafeCastGObject = HSV . castForeignPtr . unGObject@@ -1572,6 +1710,7 @@  instance MiscClass Misc instance WidgetClass Misc+instance ObjectClass Misc instance GObjectClass Misc where   toGObject = GObject . castForeignPtr . unMisc   unsafeCastGObject = Misc . castForeignPtr . unGObject@@ -1597,6 +1736,7 @@ instance LabelClass Label instance MiscClass Label instance WidgetClass Label+instance ObjectClass Label instance GObjectClass Label where   toGObject = GObject . castForeignPtr . unLabel   unsafeCastGObject = Label . castForeignPtr . unGObject@@ -1623,6 +1763,7 @@ instance LabelClass AccelLabel instance MiscClass AccelLabel instance WidgetClass AccelLabel+instance ObjectClass AccelLabel instance GObjectClass AccelLabel where   toGObject = GObject . castForeignPtr . unAccelLabel   unsafeCastGObject = AccelLabel . castForeignPtr . unGObject@@ -1634,6 +1775,33 @@ gTypeAccelLabel =   {# call fun unsafe gtk_accel_label_get_type #} +-- ****************************************************************** TipsQuery++{#pointer *GtkTipsQuery as TipsQuery foreign newtype #} 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 =+  {# call fun unsafe gtk_tips_query_get_type #}+ -- ********************************************************************** Arrow  {#pointer *GtkArrow as Arrow foreign newtype #} deriving (Eq,Ord)@@ -1648,6 +1816,7 @@ instance ArrowClass Arrow instance MiscClass Arrow instance WidgetClass Arrow+instance ObjectClass Arrow instance GObjectClass Arrow where   toGObject = GObject . castForeignPtr . unArrow   unsafeCastGObject = Arrow . castForeignPtr . unGObject@@ -1673,6 +1842,7 @@ instance ImageClass Image instance MiscClass Image instance WidgetClass Image+instance ObjectClass Image instance GObjectClass Image where   toGObject = GObject . castForeignPtr . unImage   unsafeCastGObject = Image . castForeignPtr . unGObject@@ -1697,6 +1867,7 @@  instance ContainerClass Container instance WidgetClass Container+instance ObjectClass Container instance GObjectClass Container where   toGObject = GObject . castForeignPtr . unContainer   unsafeCastGObject = Container . castForeignPtr . unGObject@@ -1722,6 +1893,7 @@ instance ToolPaletteClass ToolPalette instance ContainerClass ToolPalette instance WidgetClass ToolPalette+instance ObjectClass ToolPalette instance GObjectClass ToolPalette where   toGObject = GObject . castForeignPtr . unToolPalette   unsafeCastGObject = ToolPalette . castForeignPtr . unGObject@@ -1747,6 +1919,7 @@ instance ToolItemGroupClass ToolItemGroup instance ContainerClass ToolItemGroup instance WidgetClass ToolItemGroup+instance ObjectClass ToolItemGroup instance GObjectClass ToolItemGroup where   toGObject = GObject . castForeignPtr . unToolItemGroup   unsafeCastGObject = ToolItemGroup . castForeignPtr . unGObject@@ -1772,6 +1945,7 @@ instance BinClass Bin instance ContainerClass Bin instance WidgetClass Bin+instance ObjectClass Bin instance GObjectClass Bin where   toGObject = GObject . castForeignPtr . unBin   unsafeCastGObject = Bin . castForeignPtr . unGObject@@ -1798,6 +1972,7 @@ instance BinClass Alignment instance ContainerClass Alignment instance WidgetClass Alignment+instance ObjectClass Alignment instance GObjectClass Alignment where   toGObject = GObject . castForeignPtr . unAlignment   unsafeCastGObject = Alignment . castForeignPtr . unGObject@@ -1824,6 +1999,7 @@ instance BinClass Frame instance ContainerClass Frame instance WidgetClass Frame+instance ObjectClass Frame instance GObjectClass Frame where   toGObject = GObject . castForeignPtr . unFrame   unsafeCastGObject = Frame . castForeignPtr . unGObject@@ -1851,6 +2027,7 @@ instance BinClass AspectFrame instance ContainerClass AspectFrame instance WidgetClass AspectFrame+instance ObjectClass AspectFrame instance GObjectClass AspectFrame where   toGObject = GObject . castForeignPtr . unAspectFrame   unsafeCastGObject = AspectFrame . castForeignPtr . unGObject@@ -1877,6 +2054,7 @@ instance BinClass Button instance ContainerClass Button instance WidgetClass Button+instance ObjectClass Button instance GObjectClass Button where   toGObject = GObject . castForeignPtr . unButton   unsafeCastGObject = Button . castForeignPtr . unGObject@@ -1904,6 +2082,7 @@ instance BinClass ScaleButton instance ContainerClass ScaleButton instance WidgetClass ScaleButton+instance ObjectClass ScaleButton instance GObjectClass ScaleButton where   toGObject = GObject . castForeignPtr . unScaleButton   unsafeCastGObject = ScaleButton . castForeignPtr . unGObject@@ -1932,6 +2111,7 @@ instance BinClass VolumeButton instance ContainerClass VolumeButton instance WidgetClass VolumeButton+instance ObjectClass VolumeButton instance GObjectClass VolumeButton where   toGObject = GObject . castForeignPtr . unVolumeButton   unsafeCastGObject = VolumeButton . castForeignPtr . unGObject@@ -1959,6 +2139,7 @@ instance BinClass LinkButton instance ContainerClass LinkButton instance WidgetClass LinkButton+instance ObjectClass LinkButton instance GObjectClass LinkButton where   toGObject = GObject . castForeignPtr . unLinkButton   unsafeCastGObject = LinkButton . castForeignPtr . unGObject@@ -1986,6 +2167,7 @@ instance BinClass ToggleButton instance ContainerClass ToggleButton instance WidgetClass ToggleButton+instance ObjectClass ToggleButton instance GObjectClass ToggleButton where   toGObject = GObject . castForeignPtr . unToggleButton   unsafeCastGObject = ToggleButton . castForeignPtr . unGObject@@ -2014,6 +2196,7 @@ instance BinClass CheckButton instance ContainerClass CheckButton instance WidgetClass CheckButton+instance ObjectClass CheckButton instance GObjectClass CheckButton where   toGObject = GObject . castForeignPtr . unCheckButton   unsafeCastGObject = CheckButton . castForeignPtr . unGObject@@ -2043,6 +2226,7 @@ instance BinClass RadioButton instance ContainerClass RadioButton instance WidgetClass RadioButton+instance ObjectClass RadioButton instance GObjectClass RadioButton where   toGObject = GObject . castForeignPtr . unRadioButton   unsafeCastGObject = RadioButton . castForeignPtr . unGObject@@ -2070,6 +2254,7 @@ instance BinClass ColorButton instance ContainerClass ColorButton instance WidgetClass ColorButton+instance ObjectClass ColorButton instance GObjectClass ColorButton where   toGObject = GObject . castForeignPtr . unColorButton   unsafeCastGObject = ColorButton . castForeignPtr . unGObject@@ -2097,6 +2282,7 @@ instance BinClass FontButton instance ContainerClass FontButton instance WidgetClass FontButton+instance ObjectClass FontButton instance GObjectClass FontButton where   toGObject = GObject . castForeignPtr . unFontButton   unsafeCastGObject = FontButton . castForeignPtr . unGObject@@ -2108,6 +2294,61 @@ gTypeFontButton =   {# call fun unsafe gtk_font_button_get_type #} +-- ***************************************************************** OptionMenu++{#pointer *GtkOptionMenu as OptionMenu foreign newtype #} 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 =+  {# call fun unsafe gtk_option_menu_get_type #}++-- *********************************************************************** Item++{#pointer *GtkItem as Item foreign newtype #} 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 =+  {# call fun unsafe gtk_item_get_type #}+ -- ******************************************************************* MenuItem  {#pointer *GtkMenuItem as MenuItem foreign newtype #} deriving (Eq,Ord)@@ -2115,14 +2356,16 @@ mkMenuItem = (MenuItem, objectUnrefFromMainloop) unMenuItem (MenuItem o) = o -class BinClass o => MenuItemClass 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@@ -2147,9 +2390,11 @@  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@@ -2175,9 +2420,11 @@ 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@@ -2202,9 +2449,11 @@  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@@ -2229,9 +2478,11 @@  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@@ -2256,9 +2507,11 @@  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@@ -2270,31 +2523,33 @@ gTypeSeparatorMenuItem =   {# call fun unsafe gtk_separator_menu_item_get_type #} --- ******************************************************************** Overlay+-- ******************************************************************* ListItem -{#pointer *GtkOverlay as Overlay foreign newtype #} deriving (Eq,Ord)+{#pointer *GtkListItem as ListItem foreign newtype #} deriving (Eq,Ord) -mkOverlay = (Overlay, objectUnrefFromMainloop)-unOverlay (Overlay o) = o+mkListItem = (ListItem, objectUnrefFromMainloop)+unListItem (ListItem o) = o -class BinClass o => OverlayClass o-toOverlay :: OverlayClass o => o -> Overlay-toOverlay = unsafeCastGObject . toGObject+class ItemClass o => ListItemClass o+toListItem :: ListItemClass o => o -> ListItem+toListItem = unsafeCastGObject . toGObject -instance OverlayClass Overlay-instance BinClass Overlay-instance ContainerClass Overlay-instance WidgetClass Overlay-instance GObjectClass Overlay where-  toGObject = GObject . castForeignPtr . unOverlay-  unsafeCastGObject = Overlay . castForeignPtr . unGObject+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 -castToOverlay :: GObjectClass obj => obj -> Overlay-castToOverlay = castTo gTypeOverlay "Overlay"+castToListItem :: GObjectClass obj => obj -> ListItem+castToListItem = castTo gTypeListItem "ListItem" -gTypeOverlay :: GType-gTypeOverlay =-  {# call fun unsafe gtk_overlay_get_type #}+gTypeListItem :: GType+gTypeListItem =+  {# call fun unsafe gtk_list_item_get_type #}  -- ********************************************************************* Window @@ -2311,6 +2566,7 @@ instance BinClass Window instance ContainerClass Window instance WidgetClass Window+instance ObjectClass Window instance GObjectClass Window where   toGObject = GObject . castForeignPtr . unWindow   unsafeCastGObject = Window . castForeignPtr . unGObject@@ -2338,6 +2594,7 @@ instance BinClass Assistant instance ContainerClass Assistant instance WidgetClass Assistant+instance ObjectClass Assistant instance GObjectClass Assistant where   toGObject = GObject . castForeignPtr . unAssistant   unsafeCastGObject = Assistant . castForeignPtr . unGObject@@ -2365,6 +2622,7 @@ instance BinClass OffscreenWindow instance ContainerClass OffscreenWindow instance WidgetClass OffscreenWindow+instance ObjectClass OffscreenWindow instance GObjectClass OffscreenWindow where   toGObject = GObject . castForeignPtr . unOffscreenWindow   unsafeCastGObject = OffscreenWindow . castForeignPtr . unGObject@@ -2392,6 +2650,7 @@ instance BinClass Dialog instance ContainerClass Dialog instance WidgetClass Dialog+instance ObjectClass Dialog instance GObjectClass Dialog where   toGObject = GObject . castForeignPtr . unDialog   unsafeCastGObject = Dialog . castForeignPtr . unGObject@@ -2420,6 +2679,7 @@ instance BinClass AboutDialog instance ContainerClass AboutDialog instance WidgetClass AboutDialog+instance ObjectClass AboutDialog instance GObjectClass AboutDialog where   toGObject = GObject . castForeignPtr . unAboutDialog   unsafeCastGObject = AboutDialog . castForeignPtr . unGObject@@ -2448,6 +2708,7 @@ instance BinClass ColorSelectionDialog instance ContainerClass ColorSelectionDialog instance WidgetClass ColorSelectionDialog+instance ObjectClass ColorSelectionDialog instance GObjectClass ColorSelectionDialog where   toGObject = GObject . castForeignPtr . unColorSelectionDialog   unsafeCastGObject = ColorSelectionDialog . castForeignPtr . unGObject@@ -2459,6 +2720,35 @@ gTypeColorSelectionDialog =   {# call fun unsafe gtk_color_selection_dialog_get_type #} +-- ************************************************************** FileSelection++{#pointer *GtkFileSelection as FileSelection foreign newtype #} 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 =+  {# call fun unsafe gtk_file_selection_get_type #}+ -- ********************************************************** FileChooserDialog  {#pointer *GtkFileChooserDialog as FileChooserDialog foreign newtype #} deriving (Eq,Ord)@@ -2476,6 +2766,7 @@ instance BinClass FileChooserDialog instance ContainerClass FileChooserDialog instance WidgetClass FileChooserDialog+instance ObjectClass FileChooserDialog instance GObjectClass FileChooserDialog where   toGObject = GObject . castForeignPtr . unFileChooserDialog   unsafeCastGObject = FileChooserDialog . castForeignPtr . unGObject@@ -2504,6 +2795,7 @@ instance BinClass FontSelectionDialog instance ContainerClass FontSelectionDialog instance WidgetClass FontSelectionDialog+instance ObjectClass FontSelectionDialog instance GObjectClass FontSelectionDialog where   toGObject = GObject . castForeignPtr . unFontSelectionDialog   unsafeCastGObject = FontSelectionDialog . castForeignPtr . unGObject@@ -2515,6 +2807,35 @@ gTypeFontSelectionDialog =   {# call fun unsafe gtk_font_selection_dialog_get_type #} +-- **************************************************************** InputDialog++{#pointer *GtkInputDialog as InputDialog foreign newtype #} 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 =+  {# call fun unsafe gtk_input_dialog_get_type #}+ -- ************************************************************** MessageDialog  {#pointer *GtkMessageDialog as MessageDialog foreign newtype #} deriving (Eq,Ord)@@ -2532,6 +2853,7 @@ instance BinClass MessageDialog instance ContainerClass MessageDialog instance WidgetClass MessageDialog+instance ObjectClass MessageDialog instance GObjectClass MessageDialog where   toGObject = GObject . castForeignPtr . unMessageDialog   unsafeCastGObject = MessageDialog . castForeignPtr . unGObject@@ -2558,6 +2880,7 @@ instance BinClass EventBox instance ContainerClass EventBox instance WidgetClass EventBox+instance ObjectClass EventBox instance GObjectClass EventBox where   toGObject = GObject . castForeignPtr . unEventBox   unsafeCastGObject = EventBox . castForeignPtr . unGObject@@ -2584,6 +2907,7 @@ instance BinClass HandleBox instance ContainerClass HandleBox instance WidgetClass HandleBox+instance ObjectClass HandleBox instance GObjectClass HandleBox where   toGObject = GObject . castForeignPtr . unHandleBox   unsafeCastGObject = HandleBox . castForeignPtr . unGObject@@ -2610,6 +2934,7 @@ instance BinClass ScrolledWindow instance ContainerClass ScrolledWindow instance WidgetClass ScrolledWindow+instance ObjectClass ScrolledWindow instance GObjectClass ScrolledWindow where   toGObject = GObject . castForeignPtr . unScrolledWindow   unsafeCastGObject = ScrolledWindow . castForeignPtr . unGObject@@ -2636,6 +2961,7 @@ instance BinClass Viewport instance ContainerClass Viewport instance WidgetClass Viewport+instance ObjectClass Viewport instance GObjectClass Viewport where   toGObject = GObject . castForeignPtr . unViewport   unsafeCastGObject = Viewport . castForeignPtr . unGObject@@ -2662,6 +2988,7 @@ instance BinClass Expander instance ContainerClass Expander instance WidgetClass Expander+instance ObjectClass Expander instance GObjectClass Expander where   toGObject = GObject . castForeignPtr . unExpander   unsafeCastGObject = Expander . castForeignPtr . unGObject@@ -2688,6 +3015,7 @@ instance BinClass ComboBox instance ContainerClass ComboBox instance WidgetClass ComboBox+instance ObjectClass ComboBox instance GObjectClass ComboBox where   toGObject = GObject . castForeignPtr . unComboBox   unsafeCastGObject = ComboBox . castForeignPtr . unGObject@@ -2699,6 +3027,34 @@ gTypeComboBox =   {# call fun unsafe gtk_combo_box_get_type #} +-- ************************************************************** ComboBoxEntry++{#pointer *GtkComboBoxEntry as ComboBoxEntry foreign newtype #} 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 =+  {# call fun unsafe gtk_combo_box_entry_get_type #}+ -- ******************************************************************* ToolItem  {#pointer *GtkToolItem as ToolItem foreign newtype #} deriving (Eq,Ord)@@ -2714,6 +3070,7 @@ instance BinClass ToolItem instance ContainerClass ToolItem instance WidgetClass ToolItem+instance ObjectClass ToolItem instance GObjectClass ToolItem where   toGObject = GObject . castForeignPtr . unToolItem   unsafeCastGObject = ToolItem . castForeignPtr . unGObject@@ -2741,6 +3098,7 @@ instance BinClass ToolButton instance ContainerClass ToolButton instance WidgetClass ToolButton+instance ObjectClass ToolButton instance GObjectClass ToolButton where   toGObject = GObject . castForeignPtr . unToolButton   unsafeCastGObject = ToolButton . castForeignPtr . unGObject@@ -2769,6 +3127,7 @@ instance BinClass MenuToolButton instance ContainerClass MenuToolButton instance WidgetClass MenuToolButton+instance ObjectClass MenuToolButton instance GObjectClass MenuToolButton where   toGObject = GObject . castForeignPtr . unMenuToolButton   unsafeCastGObject = MenuToolButton . castForeignPtr . unGObject@@ -2797,6 +3156,7 @@ instance BinClass ToggleToolButton instance ContainerClass ToggleToolButton instance WidgetClass ToggleToolButton+instance ObjectClass ToggleToolButton instance GObjectClass ToggleToolButton where   toGObject = GObject . castForeignPtr . unToggleToolButton   unsafeCastGObject = ToggleToolButton . castForeignPtr . unGObject@@ -2826,6 +3186,7 @@ instance BinClass RadioToolButton instance ContainerClass RadioToolButton instance WidgetClass RadioToolButton+instance ObjectClass RadioToolButton instance GObjectClass RadioToolButton where   toGObject = GObject . castForeignPtr . unRadioToolButton   unsafeCastGObject = RadioToolButton . castForeignPtr . unGObject@@ -2853,6 +3214,7 @@ instance BinClass SeparatorToolItem instance ContainerClass SeparatorToolItem instance WidgetClass SeparatorToolItem+instance ObjectClass SeparatorToolItem instance GObjectClass SeparatorToolItem where   toGObject = GObject . castForeignPtr . unSeparatorToolItem   unsafeCastGObject = SeparatorToolItem . castForeignPtr . unGObject@@ -2878,6 +3240,7 @@ instance BoxClass Box instance ContainerClass Box instance WidgetClass Box+instance ObjectClass Box instance GObjectClass Box where   toGObject = GObject . castForeignPtr . unBox   unsafeCastGObject = Box . castForeignPtr . unGObject@@ -2904,6 +3267,7 @@ instance BoxClass ButtonBox instance ContainerClass ButtonBox instance WidgetClass ButtonBox+instance ObjectClass ButtonBox instance GObjectClass ButtonBox where   toGObject = GObject . castForeignPtr . unButtonBox   unsafeCastGObject = ButtonBox . castForeignPtr . unGObject@@ -2931,6 +3295,7 @@ instance BoxClass HButtonBox instance ContainerClass HButtonBox instance WidgetClass HButtonBox+instance ObjectClass HButtonBox instance GObjectClass HButtonBox where   toGObject = GObject . castForeignPtr . unHButtonBox   unsafeCastGObject = HButtonBox . castForeignPtr . unGObject@@ -2958,6 +3323,7 @@ instance BoxClass VButtonBox instance ContainerClass VButtonBox instance WidgetClass VButtonBox+instance ObjectClass VButtonBox instance GObjectClass VButtonBox where   toGObject = GObject . castForeignPtr . unVButtonBox   unsafeCastGObject = VButtonBox . castForeignPtr . unGObject@@ -2984,6 +3350,7 @@ instance BoxClass VBox instance ContainerClass VBox instance WidgetClass VBox+instance ObjectClass VBox instance GObjectClass VBox where   toGObject = GObject . castForeignPtr . unVBox   unsafeCastGObject = VBox . castForeignPtr . unGObject@@ -3011,6 +3378,7 @@ instance BoxClass RecentChooserWidget instance ContainerClass RecentChooserWidget instance WidgetClass RecentChooserWidget+instance ObjectClass RecentChooserWidget instance GObjectClass RecentChooserWidget where   toGObject = GObject . castForeignPtr . unRecentChooserWidget   unsafeCastGObject = RecentChooserWidget . castForeignPtr . unGObject@@ -3038,6 +3406,7 @@ instance BoxClass ColorSelection instance ContainerClass ColorSelection instance WidgetClass ColorSelection+instance ObjectClass ColorSelection instance GObjectClass ColorSelection where   toGObject = GObject . castForeignPtr . unColorSelection   unsafeCastGObject = ColorSelection . castForeignPtr . unGObject@@ -3065,6 +3434,7 @@ instance BoxClass FontSelection instance ContainerClass FontSelection instance WidgetClass FontSelection+instance ObjectClass FontSelection instance GObjectClass FontSelection where   toGObject = GObject . castForeignPtr . unFontSelection   unsafeCastGObject = FontSelection . castForeignPtr . unGObject@@ -3092,6 +3462,7 @@ instance BoxClass FileChooserWidget instance ContainerClass FileChooserWidget instance WidgetClass FileChooserWidget+instance ObjectClass FileChooserWidget instance GObjectClass FileChooserWidget where   toGObject = GObject . castForeignPtr . unFileChooserWidget   unsafeCastGObject = FileChooserWidget . castForeignPtr . unGObject@@ -3118,6 +3489,7 @@ instance BoxClass HBox instance ContainerClass HBox instance WidgetClass HBox+instance ObjectClass HBox instance GObjectClass HBox where   toGObject = GObject . castForeignPtr . unHBox   unsafeCastGObject = HBox . castForeignPtr . unGObject@@ -3145,6 +3517,7 @@ instance BoxClass InfoBar instance ContainerClass InfoBar instance WidgetClass InfoBar+instance ObjectClass InfoBar instance GObjectClass InfoBar where   toGObject = GObject . castForeignPtr . unInfoBar   unsafeCastGObject = InfoBar . castForeignPtr . unGObject@@ -3156,6 +3529,34 @@ gTypeInfoBar =   {# call fun unsafe gtk_info_bar_get_type #} +-- ********************************************************************** Combo++{#pointer *GtkCombo as Combo foreign newtype #} 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 =+  {# call fun unsafe gtk_combo_get_type #}+ -- ********************************************************** FileChooserButton  {#pointer *GtkFileChooserButton as FileChooserButton foreign newtype #} deriving (Eq,Ord)@@ -3172,6 +3573,7 @@ instance BoxClass FileChooserButton instance ContainerClass FileChooserButton instance WidgetClass FileChooserButton+instance ObjectClass FileChooserButton instance GObjectClass FileChooserButton where   toGObject = GObject . castForeignPtr . unFileChooserButton   unsafeCastGObject = FileChooserButton . castForeignPtr . unGObject@@ -3199,6 +3601,7 @@ instance BoxClass Statusbar instance ContainerClass Statusbar instance WidgetClass Statusbar+instance ObjectClass Statusbar instance GObjectClass Statusbar where   toGObject = GObject . castForeignPtr . unStatusbar   unsafeCastGObject = Statusbar . castForeignPtr . unGObject@@ -3210,6 +3613,59 @@ gTypeStatusbar =   {# call fun unsafe gtk_statusbar_get_type #} +-- ********************************************************************** CList++{#pointer *GtkCList as CList foreign newtype #} 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 =+  {# call fun unsafe gtk_clist_get_type #}++-- ********************************************************************** CTree++{#pointer *GtkCTree as CTree foreign newtype #} 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 =+  {# call fun unsafe gtk_ctree_get_type #}+ -- ********************************************************************** Fixed  {#pointer *GtkFixed as Fixed foreign newtype #} deriving (Eq,Ord)@@ -3224,6 +3680,7 @@ instance FixedClass Fixed instance ContainerClass Fixed instance WidgetClass Fixed+instance ObjectClass Fixed instance GObjectClass Fixed where   toGObject = GObject . castForeignPtr . unFixed   unsafeCastGObject = Fixed . castForeignPtr . unGObject@@ -3249,6 +3706,7 @@ instance PanedClass Paned instance ContainerClass Paned instance WidgetClass Paned+instance ObjectClass Paned instance GObjectClass Paned where   toGObject = GObject . castForeignPtr . unPaned   unsafeCastGObject = Paned . castForeignPtr . unGObject@@ -3275,6 +3733,7 @@ instance PanedClass HPaned instance ContainerClass HPaned instance WidgetClass HPaned+instance ObjectClass HPaned instance GObjectClass HPaned where   toGObject = GObject . castForeignPtr . unHPaned   unsafeCastGObject = HPaned . castForeignPtr . unGObject@@ -3301,6 +3760,7 @@ instance PanedClass VPaned instance ContainerClass VPaned instance WidgetClass VPaned+instance ObjectClass VPaned instance GObjectClass VPaned where   toGObject = GObject . castForeignPtr . unVPaned   unsafeCastGObject = VPaned . castForeignPtr . unGObject@@ -3326,6 +3786,7 @@ instance IconViewClass IconView instance ContainerClass IconView instance WidgetClass IconView+instance ObjectClass IconView instance GObjectClass IconView where   toGObject = GObject . castForeignPtr . unIconView   unsafeCastGObject = IconView . castForeignPtr . unGObject@@ -3351,6 +3812,7 @@ instance LayoutClass Layout instance ContainerClass Layout instance WidgetClass Layout+instance ObjectClass Layout instance GObjectClass Layout where   toGObject = GObject . castForeignPtr . unLayout   unsafeCastGObject = Layout . castForeignPtr . unGObject@@ -3362,6 +3824,32 @@ gTypeLayout =   {# call fun unsafe gtk_layout_get_type #} +-- *********************************************************************** List++{#pointer *GtkList as List foreign newtype #} 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 =+  {# call fun unsafe gtk_list_get_type #}+ -- ****************************************************************** MenuShell  {#pointer *GtkMenuShell as MenuShell foreign newtype #} deriving (Eq,Ord)@@ -3376,6 +3864,7 @@ instance MenuShellClass MenuShell instance ContainerClass MenuShell instance WidgetClass MenuShell+instance ObjectClass MenuShell instance GObjectClass MenuShell where   toGObject = GObject . castForeignPtr . unMenuShell   unsafeCastGObject = MenuShell . castForeignPtr . unGObject@@ -3402,6 +3891,7 @@ instance MenuShellClass Menu instance ContainerClass Menu instance WidgetClass Menu+instance ObjectClass Menu instance GObjectClass Menu where   toGObject = GObject . castForeignPtr . unMenu   unsafeCastGObject = Menu . castForeignPtr . unGObject@@ -3429,6 +3919,7 @@ instance MenuShellClass RecentChooserMenu instance ContainerClass RecentChooserMenu instance WidgetClass RecentChooserMenu+instance ObjectClass RecentChooserMenu instance GObjectClass RecentChooserMenu where   toGObject = GObject . castForeignPtr . unRecentChooserMenu   unsafeCastGObject = RecentChooserMenu . castForeignPtr . unGObject@@ -3455,6 +3946,7 @@ instance MenuShellClass MenuBar instance ContainerClass MenuBar instance WidgetClass MenuBar+instance ObjectClass MenuBar instance GObjectClass MenuBar where   toGObject = GObject . castForeignPtr . unMenuBar   unsafeCastGObject = MenuBar . castForeignPtr . unGObject@@ -3480,6 +3972,7 @@ instance NotebookClass Notebook instance ContainerClass Notebook instance WidgetClass Notebook+instance ObjectClass Notebook instance GObjectClass Notebook where   toGObject = GObject . castForeignPtr . unNotebook   unsafeCastGObject = Notebook . castForeignPtr . unGObject@@ -3505,6 +3998,7 @@ instance TableClass Table instance ContainerClass Table instance WidgetClass Table+instance ObjectClass Table instance GObjectClass Table where   toGObject = GObject . castForeignPtr . unTable   unsafeCastGObject = Table . castForeignPtr . unGObject@@ -3530,6 +4024,7 @@ instance TextViewClass TextView instance ContainerClass TextView instance WidgetClass TextView+instance ObjectClass TextView instance GObjectClass TextView where   toGObject = GObject . castForeignPtr . unTextView   unsafeCastGObject = TextView . castForeignPtr . unGObject@@ -3555,6 +4050,7 @@ instance ToolbarClass Toolbar instance ContainerClass Toolbar instance WidgetClass Toolbar+instance ObjectClass Toolbar instance GObjectClass Toolbar where   toGObject = GObject . castForeignPtr . unToolbar   unsafeCastGObject = Toolbar . castForeignPtr . unGObject@@ -3580,6 +4076,7 @@ instance TreeViewClass TreeView instance ContainerClass TreeView instance WidgetClass TreeView+instance ObjectClass TreeView instance GObjectClass TreeView where   toGObject = GObject . castForeignPtr . unTreeView   unsafeCastGObject = TreeView . castForeignPtr . unGObject@@ -3604,6 +4101,7 @@  instance CalendarClass Calendar instance WidgetClass Calendar+instance ObjectClass Calendar instance GObjectClass Calendar where   toGObject = GObject . castForeignPtr . unCalendar   unsafeCastGObject = Calendar . castForeignPtr . unGObject@@ -3628,6 +4126,7 @@  instance CellViewClass CellView instance WidgetClass CellView+instance ObjectClass CellView instance GObjectClass CellView where   toGObject = GObject . castForeignPtr . unCellView   unsafeCastGObject = CellView . castForeignPtr . unGObject@@ -3652,6 +4151,7 @@  instance DrawingAreaClass DrawingArea instance WidgetClass DrawingArea+instance ObjectClass DrawingArea instance GObjectClass DrawingArea where   toGObject = GObject . castForeignPtr . unDrawingArea   unsafeCastGObject = DrawingArea . castForeignPtr . unGObject@@ -3677,6 +4177,7 @@ instance SpinnerClass Spinner instance DrawingAreaClass Spinner instance WidgetClass Spinner+instance ObjectClass Spinner instance GObjectClass Spinner where   toGObject = GObject . castForeignPtr . unSpinner   unsafeCastGObject = Spinner . castForeignPtr . unGObject@@ -3701,6 +4202,7 @@  instance EntryClass Entry instance WidgetClass Entry+instance ObjectClass Entry instance GObjectClass Entry where   toGObject = GObject . castForeignPtr . unEntry   unsafeCastGObject = Entry . castForeignPtr . unGObject@@ -3726,6 +4228,7 @@ instance SpinButtonClass SpinButton instance EntryClass SpinButton instance WidgetClass SpinButton+instance ObjectClass SpinButton instance GObjectClass SpinButton where   toGObject = GObject . castForeignPtr . unSpinButton   unsafeCastGObject = SpinButton . castForeignPtr . unGObject@@ -3737,6 +4240,83 @@ gTypeSpinButton =   {# call fun unsafe gtk_spin_button_get_type #} +-- ********************************************************************** Ruler++{#pointer *GtkRuler as Ruler foreign newtype #} 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 =+  {# call fun unsafe gtk_ruler_get_type #}++-- ********************************************************************* HRuler++{#pointer *GtkHRuler as HRuler foreign newtype #} 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 =+  {# call fun unsafe gtk_hruler_get_type #}++-- ********************************************************************* VRuler++{#pointer *GtkVRuler as VRuler foreign newtype #} 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 =+  {# call fun unsafe gtk_vruler_get_type #}+ -- ********************************************************************** Range  {#pointer *GtkRange as Range foreign newtype #} deriving (Eq,Ord)@@ -3750,6 +4330,7 @@  instance RangeClass Range instance WidgetClass Range+instance ObjectClass Range instance GObjectClass Range where   toGObject = GObject . castForeignPtr . unRange   unsafeCastGObject = Range . castForeignPtr . unGObject@@ -3775,6 +4356,7 @@ instance ScaleClass Scale instance RangeClass Scale instance WidgetClass Scale+instance ObjectClass Scale instance GObjectClass Scale where   toGObject = GObject . castForeignPtr . unScale   unsafeCastGObject = Scale . castForeignPtr . unGObject@@ -3801,6 +4383,7 @@ instance ScaleClass HScale instance RangeClass HScale instance WidgetClass HScale+instance ObjectClass HScale instance GObjectClass HScale where   toGObject = GObject . castForeignPtr . unHScale   unsafeCastGObject = HScale . castForeignPtr . unGObject@@ -3827,6 +4410,7 @@ instance ScaleClass VScale instance RangeClass VScale instance WidgetClass VScale+instance ObjectClass VScale instance GObjectClass VScale where   toGObject = GObject . castForeignPtr . unVScale   unsafeCastGObject = VScale . castForeignPtr . unGObject@@ -3852,6 +4436,7 @@ instance ScrollbarClass Scrollbar instance RangeClass Scrollbar instance WidgetClass Scrollbar+instance ObjectClass Scrollbar instance GObjectClass Scrollbar where   toGObject = GObject . castForeignPtr . unScrollbar   unsafeCastGObject = Scrollbar . castForeignPtr . unGObject@@ -3878,6 +4463,7 @@ instance ScrollbarClass HScrollbar instance RangeClass HScrollbar instance WidgetClass HScrollbar+instance ObjectClass HScrollbar instance GObjectClass HScrollbar where   toGObject = GObject . castForeignPtr . unHScrollbar   unsafeCastGObject = HScrollbar . castForeignPtr . unGObject@@ -3904,6 +4490,7 @@ instance ScrollbarClass VScrollbar instance RangeClass VScrollbar instance WidgetClass VScrollbar+instance ObjectClass VScrollbar instance GObjectClass VScrollbar where   toGObject = GObject . castForeignPtr . unVScrollbar   unsafeCastGObject = VScrollbar . castForeignPtr . unGObject@@ -3928,6 +4515,7 @@  instance SeparatorClass Separator instance WidgetClass Separator+instance ObjectClass Separator instance GObjectClass Separator where   toGObject = GObject . castForeignPtr . unSeparator   unsafeCastGObject = Separator . castForeignPtr . unGObject@@ -3953,6 +4541,7 @@ instance HSeparatorClass HSeparator instance SeparatorClass HSeparator instance WidgetClass HSeparator+instance ObjectClass HSeparator instance GObjectClass HSeparator where   toGObject = GObject . castForeignPtr . unHSeparator   unsafeCastGObject = HSeparator . castForeignPtr . unGObject@@ -3978,6 +4567,7 @@ instance VSeparatorClass VSeparator instance SeparatorClass VSeparator instance WidgetClass VSeparator+instance ObjectClass VSeparator instance GObjectClass VSeparator where   toGObject = GObject . castForeignPtr . unVSeparator   unsafeCastGObject = VSeparator . castForeignPtr . unGObject@@ -4002,6 +4592,7 @@  instance InvisibleClass Invisible instance WidgetClass Invisible+instance ObjectClass Invisible instance GObjectClass Invisible where   toGObject = GObject . castForeignPtr . unInvisible   unsafeCastGObject = Invisible . castForeignPtr . unGObject@@ -4013,6 +4604,31 @@ gTypeInvisible =   {# call fun unsafe gtk_invisible_get_type #} +-- ******************************************************************** Preview++{#pointer *GtkPreview as Preview foreign newtype #} 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 =+  {# call fun unsafe gtk_preview_get_type #}+ -- **************************************************************** ProgressBar  {#pointer *GtkProgressBar as ProgressBar foreign newtype #} deriving (Eq,Ord)@@ -4026,6 +4642,7 @@  instance ProgressBarClass ProgressBar instance WidgetClass ProgressBar+instance ObjectClass ProgressBar instance GObjectClass ProgressBar where   toGObject = GObject . castForeignPtr . unProgressBar   unsafeCastGObject = ProgressBar . castForeignPtr . unGObject@@ -4037,30 +4654,6 @@ gTypeProgressBar =   {# call fun unsafe gtk_progress_bar_get_type #} --- ******************************************************************* LevelBar--{#pointer *GtkLevelBar as LevelBar foreign newtype #} deriving (Eq,Ord)--mkLevelBar = (LevelBar, objectUnrefFromMainloop)-unLevelBar (LevelBar o) = o--class WidgetClass o => LevelBarClass o-toLevelBar :: LevelBarClass o => o -> LevelBar-toLevelBar = unsafeCastGObject . toGObject--instance LevelBarClass LevelBar-instance WidgetClass LevelBar-instance GObjectClass LevelBar where-  toGObject = GObject . castForeignPtr . unLevelBar-  unsafeCastGObject = LevelBar . castForeignPtr . unGObject--castToLevelBar :: GObjectClass obj => obj -> LevelBar-castToLevelBar = castTo gTypeLevelBar "LevelBar"--gTypeLevelBar :: GType-gTypeLevelBar =-  {# call fun unsafe gtk_level_bar_get_type #}- -- ***************************************************************** Adjustment  {#pointer *GtkAdjustment as Adjustment foreign newtype #} deriving (Eq,Ord)@@ -4068,11 +4661,12 @@ mkAdjustment = (Adjustment, objectUnrefFromMainloop) unAdjustment (Adjustment o) = o -class GObjectClass o => AdjustmentClass 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@@ -4091,11 +4685,12 @@ mkIMContext = (IMContext, objectUnrefFromMainloop) unIMContext (IMContext o) = o -class GObjectClass o => IMContextClass 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@@ -4120,6 +4715,7 @@  instance IMMulticontextClass IMMulticontext instance IMContextClass IMMulticontext+instance ObjectClass IMMulticontext instance GObjectClass IMMulticontext where   toGObject = GObject . castForeignPtr . unIMMulticontext   unsafeCastGObject = IMMulticontext . castForeignPtr . unGObject@@ -4144,6 +4740,7 @@  instance IMContextSimpleClass IMContextSimple instance IMContextClass IMContextSimple+instance ObjectClass IMContextSimple instance GObjectClass IMContextSimple where   toGObject = GObject . castForeignPtr . unIMContextSimple   unsafeCastGObject = IMContextSimple . castForeignPtr . unGObject@@ -4155,6 +4752,54 @@ gTypeIMContextSimple =   {# call fun unsafe gtk_im_context_simple_get_type #} +-- **************************************************************** ItemFactory++{#pointer *GtkItemFactory as ItemFactory foreign newtype #} 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 =+  {# call fun unsafe gtk_item_factory_get_type #}++-- ******************************************************************* Tooltips++{#pointer *GtkTooltips as Tooltips foreign newtype #} 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 =+  {# call fun unsafe gtk_tooltips_get_type #}+ -- ************************************************************* TreeViewColumn  {#pointer *GtkTreeViewColumn as TreeViewColumn foreign newtype #} deriving (Eq,Ord)@@ -4162,11 +4807,12 @@ mkTreeViewColumn = (TreeViewColumn, objectUnrefFromMainloop) unTreeViewColumn (TreeViewColumn o) = o -class GObjectClass o => TreeViewColumnClass 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@@ -4185,11 +4831,12 @@ mkCellRenderer = (CellRenderer, objectUnrefFromMainloop) unCellRenderer (CellRenderer o) = o -class GObjectClass o => CellRendererClass 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@@ -4214,6 +4861,7 @@  instance CellRendererSpinnerClass CellRendererSpinner instance CellRendererClass CellRendererSpinner+instance ObjectClass CellRendererSpinner instance GObjectClass CellRendererSpinner where   toGObject = GObject . castForeignPtr . unCellRendererSpinner   unsafeCastGObject = CellRendererSpinner . castForeignPtr . unGObject@@ -4238,6 +4886,7 @@  instance CellRendererPixbufClass CellRendererPixbuf instance CellRendererClass CellRendererPixbuf+instance ObjectClass CellRendererPixbuf instance GObjectClass CellRendererPixbuf where   toGObject = GObject . castForeignPtr . unCellRendererPixbuf   unsafeCastGObject = CellRendererPixbuf . castForeignPtr . unGObject@@ -4262,6 +4911,7 @@  instance CellRendererTextClass CellRendererText instance CellRendererClass CellRendererText+instance ObjectClass CellRendererText instance GObjectClass CellRendererText where   toGObject = GObject . castForeignPtr . unCellRendererText   unsafeCastGObject = CellRendererText . castForeignPtr . unGObject@@ -4287,6 +4937,7 @@ instance CellRendererAccelClass CellRendererAccel instance CellRendererTextClass CellRendererAccel instance CellRendererClass CellRendererAccel+instance ObjectClass CellRendererAccel instance GObjectClass CellRendererAccel where   toGObject = GObject . castForeignPtr . unCellRendererAccel   unsafeCastGObject = CellRendererAccel . castForeignPtr . unGObject@@ -4312,6 +4963,7 @@ instance CellRendererSpinClass CellRendererSpin instance CellRendererTextClass CellRendererSpin instance CellRendererClass CellRendererSpin+instance ObjectClass CellRendererSpin instance GObjectClass CellRendererSpin where   toGObject = GObject . castForeignPtr . unCellRendererSpin   unsafeCastGObject = CellRendererSpin . castForeignPtr . unGObject@@ -4337,6 +4989,7 @@ instance CellRendererComboClass CellRendererCombo instance CellRendererTextClass CellRendererCombo instance CellRendererClass CellRendererCombo+instance ObjectClass CellRendererCombo instance GObjectClass CellRendererCombo where   toGObject = GObject . castForeignPtr . unCellRendererCombo   unsafeCastGObject = CellRendererCombo . castForeignPtr . unGObject@@ -4361,6 +5014,7 @@  instance CellRendererToggleClass CellRendererToggle instance CellRendererClass CellRendererToggle+instance ObjectClass CellRendererToggle instance GObjectClass CellRendererToggle where   toGObject = GObject . castForeignPtr . unCellRendererToggle   unsafeCastGObject = CellRendererToggle . castForeignPtr . unGObject@@ -4385,6 +5039,7 @@  instance CellRendererProgressClass CellRendererProgress instance CellRendererClass CellRendererProgress+instance ObjectClass CellRendererProgress instance GObjectClass CellRendererProgress where   toGObject = GObject . castForeignPtr . unCellRendererProgress   unsafeCastGObject = CellRendererProgress . castForeignPtr . unGObject@@ -4403,11 +5058,12 @@ mkFileFilter = (FileFilter, objectUnrefFromMainloop) unFileFilter (FileFilter o) = o -class GObjectClass o => FileFilterClass 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@@ -4426,11 +5082,12 @@ mkBuilder = (Builder, objectUnrefFromMainloop) unBuilder (Builder o) = o -class GObjectClass o => BuilderClass 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@@ -4442,75 +5099,6 @@ gTypeBuilder =   {# call fun unsafe gtk_builder_get_type #} --- *************************************************************** StyleContext--{#pointer *GtkStyleContext as StyleContext foreign newtype #} deriving (Eq,Ord)--mkStyleContext = (StyleContext, objectUnrefFromMainloop)-unStyleContext (StyleContext o) = o--class GObjectClass o => StyleContextClass o-toStyleContext :: StyleContextClass o => o -> StyleContext-toStyleContext = unsafeCastGObject . toGObject--instance StyleContextClass StyleContext-instance GObjectClass StyleContext where-  toGObject = GObject . castForeignPtr . unStyleContext-  unsafeCastGObject = StyleContext . castForeignPtr . unGObject--castToStyleContext :: GObjectClass obj => obj -> StyleContext-castToStyleContext = castTo gTypeStyleContext "StyleContext"--gTypeStyleContext :: GType-gTypeStyleContext =-  {# call fun unsafe gtk_style_context_get_type #}---- ************************************************************** StyleProvider--{#pointer *GtkStyleProvider as StyleProvider foreign newtype #} deriving (Eq,Ord)--mkStyleProvider = (StyleProvider, objectUnrefFromMainloop)-unStyleProvider (StyleProvider o) = o--class GObjectClass o => StyleProviderClass o-toStyleProvider :: StyleProviderClass o => o -> StyleProvider-toStyleProvider = unsafeCastGObject . toGObject--instance StyleProviderClass StyleProvider-instance GObjectClass StyleProvider where-  toGObject = GObject . castForeignPtr . unStyleProvider-  unsafeCastGObject = StyleProvider . castForeignPtr . unGObject--castToStyleProvider :: GObjectClass obj => obj -> StyleProvider-castToStyleProvider = castTo gTypeStyleProvider "StyleProvider"--gTypeStyleProvider :: GType-gTypeStyleProvider =-  {# call fun unsafe gtk_style_provider_get_type #}---- **************************************************************** CssProvider--{#pointer *GtkCssProvider as CssProvider foreign newtype #} deriving (Eq,Ord)--mkCssProvider = (CssProvider, objectUnrefFromMainloop)-unCssProvider (CssProvider o) = o--class GObjectClass o => CssProviderClass o-toCssProvider :: CssProviderClass o => o -> CssProvider-toCssProvider = unsafeCastGObject . toGObject--instance CssProviderClass CssProvider-instance GObjectClass CssProvider where-  toGObject = GObject . castForeignPtr . unCssProvider-  unsafeCastGObject = CssProvider . castForeignPtr . unGObject--castToCssProvider :: GObjectClass obj => obj -> CssProvider-castToCssProvider = castTo gTypeCssProvider "CssProvider"--gTypeCssProvider :: GType-gTypeCssProvider =-  {# call fun unsafe gtk_css_provider_get_type #}- -- ***************************************************************** CellLayout  {#pointer *GtkCellLayout as CellLayout foreign newtype #} deriving (Eq,Ord)@@ -5161,4 +5749,27 @@ gTypeFileChooser :: GType gTypeFileChooser =   {# call fun unsafe gtk_file_chooser_get_type #}++-- ************************************************************************* GC++{#pointer *GdkGC as GC foreign newtype #} deriving (Eq,Ord)++mkGC = (GC, objectUnrefFromMainloop)+unGC (GC o) = o++class GObjectClass o => GCClass o+toGC :: GCClass o => o -> GC+toGC = unsafeCastGObject . toGObject++instance GCClass GC+instance GObjectClass GC where+  toGObject = GObject . castForeignPtr . unGC+  unsafeCastGObject = GC . castForeignPtr . unGObject++castToGC :: GObjectClass obj => obj -> GC+castToGC = castTo gTypeGC "GC"++gTypeGC :: GType+gTypeGC =+  {# call fun unsafe gdk_gc_get_type #} 
Gtk2HsSetup.hs view
@@ -429,15 +429,10 @@   let modDeps = zipWith (ModDep True []) expMods mExpFiles++                 zipWith (ModDep False []) othMods mOthFiles   modDeps <- mapM extractDeps modDeps-  let (expMods, othMods) = span mdExposed $ sortTopological modDeps-      badOther = map (fromMaybe "<no file>" . mdLocation) $-                 filter (not . mdExposed) expMods-  unless (null badOther) $-    die ("internal chs modules "++intercalate "," badOther++-         " depend on exposed chs modules; cabal needs to build internal modules first")+  let (othMods, expMods) = span (not . mdExposed) $ reverse $ sortTopological modDeps   return pd { PD.library = Just lib {-    PD.exposedModules = map mdOriginal expMods,-    PD.libBuildInfo = bi { PD.otherModules = map mdOriginal othMods }+    PD.exposedModules = map mdOriginal (reverse expMods),+    PD.libBuildInfo = bi { PD.otherModules = map mdOriginal (reverse othMods) }   }}  data ModDep = ModDep {
SetupWrapper.hs view
@@ -18,7 +18,7 @@  import System.Environment import System.Process-import System.Exit+import System.Exit (ExitCode(..), exitWith) import System.FilePath import System.Directory import qualified Control.Exception as Exception
demo/embedded/Embedded.hs view
@@ -12,6 +12,7 @@ import Control.Monad import Control.Monad.Trans import Control.Concurrent+import Data.Text (unpack)  import Graphics.UI.Gtk import Graphics.UI.Gtk.Gdk.DrawWindow@@ -38,7 +39,7 @@   window <- windowNew   windowSetPosition window WinPosCenter   windowSetDefaultSize window 600 400-  windowSetTitle window "Press `m` to new tab, press `q` exit."+  set window [windowTitle := "Press `m` to new tab, press `q` exit."]   on window objectDestroy mainQuit    -- Create notebook to contain GtkSocekt.@@ -49,7 +50,7 @@   window `on` keyPressEvent $ tryEvent $ do     keyName <- eventKeyName     liftIO $-      case keyName of+      case unpack keyName of         "m" -> do                -- Create new GtkSocket.                socket <- socketNew
gtk.cabal view
@@ -1,5 +1,5 @@ Name:           gtk-Version:        0.13.4+Version:        0.13.6 License:        LGPL-2.1 License-file:   COPYING Copyright:      (c) 2001-2010 The Gtk2Hs Team