1 patch for repository http://code.haskell.org/gtk2hs/:

Tue Jun  1 21:18:28 CST 2010  Andy Stewart <lazycat.mana...@gmail.com>
  * Add Tooltip.chs (The new module to replace Tooltips.chs)
New patches:

[Add Tooltip.chs (The new module to replace Tooltips.chs)
Andy Stewart <lazycat.mana...@gmail.com>**20100601131828
 Ignore-this: ca64d1d45d3c526494a41fb537d16c6c
] {
hunk ./gtk/Graphics/UI/Gtk.chs 197
   module Graphics.UI.Gtk.Misc.HandleBox,
   module Graphics.UI.Gtk.Misc.IMMulticontext,
   module Graphics.UI.Gtk.Misc.SizeGroup,
+  module Graphics.UI.Gtk.Misc.Tooltip,
   module Graphics.UI.Gtk.Misc.Tooltips,
   module Graphics.UI.Gtk.Misc.Viewport,
   -- * Abstract base classes
hunk ./gtk/Graphics/UI/Gtk.chs 390
 import Graphics.UI.Gtk.Misc.HandleBox
 import Graphics.UI.Gtk.Misc.IMMulticontext
 import Graphics.UI.Gtk.Misc.SizeGroup
+import Graphics.UI.Gtk.Misc.Tooltip
 import Graphics.UI.Gtk.Misc.Tooltips
 import Graphics.UI.Gtk.Misc.Viewport
 --import Accessible
addfile ./gtk/Graphics/UI/Gtk/Misc/Tooltip.chs
hunk ./gtk/Graphics/UI/Gtk/Misc/Tooltip.chs 1
+{-# LANGUAGE CPP #-}
+-- -*-haskell-*-
+--  GIMP Toolkit (GTK) Widget Tooltip
+--
+--  Author : Andy Stewart
+--
+--  Created: 24 Mar 2010
+--
+--  Copyright (C) 2010 Andy Stewart
+--
+--  This library is free software; you can redistribute it and/or
+--  modify it under the terms of the GNU Lesser General Public
+--  License as published by the Free Software Foundation; either
+--  version 2.1 of the License, or (at your option) any later version.
+--
+--  This library is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+--  Lesser General Public License for more details.
+--
+-- |
+-- Maintainer  : gtk2hs-us...@lists.sourceforge.net
+-- Stability   : provisional
+-- Portability : portable (depends on GHC)
+--
+-- Add tips to your widgets
+--
+-- * Module available since Gtk+ version 2.12
+--
+module Graphics.UI.Gtk.Misc.Tooltip (
+
+-- * Detail
+--
+-- | 'Tooltip' belongs to the new tooltips API that was introduced in Gtk+
+-- 2.12 and which deprecates the old 'Tooltips' API.
+--
+-- Basic tooltips can be realized simply by using 'widgetSetTooltipText' or
+-- 'widgetSetTooltipMarkup' without any explicit tooltip object.
+--
+-- When you need a tooltip with a little more fancy contents, like adding an
+-- image, or you want the tooltip to have different contents per 'TreeView' row
+-- or cell, you will have to do a little more work:
+--
+--   * Set the 'hasTooltip' property to 'True', this will make GTK+ monitor the widget for motion and
+--     related events which are needed to determine when and where to show a tooltip.
+--    
+--   * Connect to the 'queryTooltip' signal. This signal will be emitted when a tooltip is supposed to
+--     be shown. One of the arguments passed to the signal handler is a 'Tooltip' object. This is the
+--     object that we are about to display as a tooltip, and can be manipulated in your callback using
+--     functions like 'tooltipSetIcon'. There are functions for setting the tooltip's markup,
+--     setting an image from a stock icon, or even putting in a custom widget.
+--    
+--   * Return 'True' from your query-tooltip handler. This causes the tooltip to be show. If you return
+--    'False', it will not be shown.
+--    
+-- In the probably rare case where you want to have even more control over the tooltip that is about to
+-- be shown, you can set your own 'Window' which will be used as tooltip window. This works as
+-- follows:
+-- 
+--   * Set 'hasTooltip' and connect to 'queryTooltip' as before.
+--    
+--   * Use 'widgetSetTooltipWindow' to set a 'Window' created by you as tooltip window.
+--    
+--   * In the 'queryTooltip' callback you can access your window using 'widgetGetTooltipWindow'
+--     and manipulate as you wish. The semantics of the return value are exactly as before, return 'True'
+--     to show the window, 'False' to not show it.
+
+-- * Class Hierarchy
+--
+-- |
+-- @
+-- |  'GObject'
+-- |   +----Tooltip
+-- @
+
+#if GTK_CHECK_VERSION(2,12,0)
+-- * Types
+  Tooltip,
+  TooltipClass,
+  castToTooltip,
+  toTooltip,
+
+-- * Methods
+  tooltipSetMarkup,
+  tooltipSetText,
+  tooltipSetIcon,
+  tooltipSetIconFromStock,
+#if GTK_CHECK_VERSION(2,14,0)
+  tooltipSetIconFromIconName,
+#endif
+  tooltipSetCustom,
+  tooltipTriggerTooltipQuery,
+  tooltipSetTipArea,
+#endif
+  ) where
+
+import Control.Monad	(liftM)
+import Data.Maybe (fromMaybe)
+
+import System.Glib.FFI
+import System.Glib.UTFString
+import System.Glib.GObject		(constructNewGObject,makeNewGObject)
+import Graphics.UI.Gtk.General.Structs	(IconSize(..), Rectangle)
+{#import Graphics.UI.Gtk.Types#}
+
+{# context lib="gtk" prefix="gtk" #}
+
+#if GTK_CHECK_VERSION(2,12,0)
+--------------------
+-- Methods
+
+-- | Sets the text of the tooltip to be @markup@, which is marked up with the
+-- Pango text markup language. If @markup@ is 'Nothing', the label will be hidden.
+--
+tooltipSetMarkup :: TooltipClass self => self
+ -> Maybe String -- ^ @markup@ - a markup string (see Pango markup format) or 'Nothing'
+ -> IO ()
+tooltipSetMarkup self markup =
+  maybeWith withUTFString markup $ \markupPtr ->
+  {# call gtk_tooltip_set_markup #}
+    (toTooltip self)
+    markupPtr
+
+-- | Sets the text of the tooltip to be @t...@. If @text@ is 'Nothing'
+-- the label will be hidden. See also 'tooltipSetMarkup'.
+--
+tooltipSetText :: TooltipClass self => self
+ -> Maybe String -- ^ @text@ - a text string or 'Nothing'
+ -> IO ()
+tooltipSetText self text =
+  maybeWith withUTFString text $ \textPtr ->
+  {# call gtk_tooltip_set_text #}
+    (toTooltip self)
+    textPtr
+
+-- | Sets the icon of the tooltip (which is in front of the text) to be
+-- @pix...@. If @pixbuf@ is 'Nothing' the image will be hidden.
+--
+tooltipSetIcon :: TooltipClass self => self
+  -> Maybe Pixbuf  -- ^ @pixbuf@ - a 'Pixbuf' or 'Nothing'
+  -> IO ()
+tooltipSetIcon self pixbuf =
+  {#call tooltip_set_icon#}
+    (toTooltip self)
+    (fromMaybe (Pixbuf nullForeignPtr) pixbuf)
+
+-- | Sets the icon of the tooltip (which is in front of the text) to be the
+-- stock item indicated by @stockId@ with the size indicated by @s...@. If
+-- @stockId@ is 'Nothing' the image will be hidden.
+--
+tooltipSetIconFromStock :: TooltipClass self => self
+  -> Maybe String -- ^ @id@ a stock id, or 'Nothing' 
+  -> IconSize -- ^ @size@ a stock icon size   
+  -> IO ()
+tooltipSetIconFromStock self id size =
+  maybeWith withUTFString id $ \ idPtr -> 
+  {#call tooltip_set_icon_from_stock#}
+    (toTooltip self)
+    idPtr
+    ((fromIntegral . fromEnum) size)
+
+#if GTK_CHECK_VERSION(2,14,0)
+-- | Sets the icon of the tooltip (which is in front of the text) to be the
+-- icon indicated by @iconName@ with the size indicated by @s...@. If
+-- @iconName@ is 'Nothing' the image will be hidden.
+--
+-- * Available since Gtk+ version 2.14
+--
+tooltipSetIconFromIconName :: TooltipClass self => self
+  -> Maybe String -- ^ @iconName@ an icon name, or 'Nothing' 
+  -> IconSize  -- ^ @size@ a stock icon size     
+  -> IO ()
+tooltipSetIconFromIconName self iconName size =
+  maybeWith withUTFString iconName $ \ iconPtr -> 
+  {#call tooltip_set_icon_from_icon_name#}
+    (toTooltip self)
+    iconPtr
+    ((fromIntegral . fromEnum) size)
+#endif
+
+-- | Replaces the widget packed into the tooltip with @customwid...@.
+-- @customWidget@ does not get destroyed when the tooltip goes away. By default
+-- a box with a 'Image' and 'Label' is embedded in the tooltip, which can be
+-- configured using 'tooltipSetMarkup' and 'tooltipSetIcon'.
+--
+tooltipSetCustom :: (TooltipClass self, WidgetClass widget) => self 
+  -> Maybe widget  -- ^ @customWidget@ a 'Widget', or 'Nothing' to unset the old custom widget. 
+  -> IO ()
+tooltipSetCustom self customWidget =
+  {#call tooltip_set_custom#} 
+    (toTooltip self)
+    (maybe (Widget nullForeignPtr) toWidget customWidget)
+
+-- | Triggers a new tooltip query on @display@, in order to update the current
+-- visible tooltip, or to show\/hide the current tooltip. This function is
+-- useful to call when, for example, the state of the widget changed by a key
+-- press.
+--
+tooltipTriggerTooltipQuery ::
+    Display -- ^ @display@ - a 'Display'
+ -> IO ()
+tooltipTriggerTooltipQuery display =
+  {# call gtk_tooltip_trigger_tooltip_query #}
+    display
+
+-- | Sets the area of the widget, where the contents of this tooltip apply, to
+-- be @rect@ (in widget coordinates). This is especially useful for properly
+-- setting tooltips on 'TreeView' rows and cells, 'IconView'
+--
+-- For setting tooltips on 'TreeView', please refer to the convenience
+-- functions for this: 'treeViewSetTooltipRow' and 'treeViewSetTooltipCell'.
+--
+tooltipSetTipArea :: TooltipClass self => self -> Rectangle -> IO ()
+tooltipSetTipArea self rect =
+  with rect $ \ rectPtr -> 
+  {#call tooltip_set_tip_area#}
+    (toTooltip self)
+    (castPtr rectPtr)
+#endif
hunk ./gtk/gtk.cabal 238
           Graphics.UI.Gtk.Misc.HandleBox
           Graphics.UI.Gtk.Misc.IMMulticontext
           Graphics.UI.Gtk.Misc.SizeGroup
+          Graphics.UI.Gtk.Misc.Tooltip
           Graphics.UI.Gtk.Misc.Tooltips
           Graphics.UI.Gtk.Misc.Viewport
           Graphics.UI.Gtk.ModelView
hunk ./tools/hierarchyGen/hierarchy.list 186
 # least GObjects.
 	GtkCellLayout			if gtk-2.4
 	GtkTreeSortable			if gtk-2.4
+	GtkTooltip				if gtk-2.12
 # These are derived from GObject:
   	GtkStatusIcon                   if gtk-2.10
         GtkTreeSelection
}

Context:

[Clean bootstrap.sh
Andy Stewart <lazycat.mana...@gmail.com>**20100601122113
 Ignore-this: f59b5f9bf21945c39258a39432621a03
] 
[Note that Cabal 1.8 is required for ghci support under Windows.
axel.si...@in.tum.de**20100527181310
 Ignore-this: 1c5fc3bb7ad83f5d1094e0083ddd9913
] 
[Do not query g_object_get_type as it only exists in newer Gtk+ versions.
axel.si...@in.tum.de**20100527163435
 Ignore-this: 70d62f66a2eb159c7fd3e23079c5debf
] 
[Remove gnomevfs sourceview mozembed since those packages has deprecated.
Andy Stewart <lazycat.mana...@gmail.com>**20100527124728
 Ignore-this: a1dfda3669b7417a7b09c3b4acfaa2d
 
 Below are backup repositories for those deprecated packages:
 
  * gnomevfs		: http://www2.in.tum.de/~simona/gnomevfs/  
  * sourceview	: http://www2.in.tum.de/~simona/sourceview/
  * mozembed		: http://www2.in.tum.de/~simona/mozembed/
 
] 
[Fix IconTheme.chs docs.
Andy Stewart <lazycat.mana...@gmail.com>**20100527102140
 Ignore-this: 2f2b7ab508c688cc73f1b59012966d13
] 
[Fix Gtk2HsSetup.hs bug.
Andy Stewart <lazycat.mana...@gmail.com>**20100527095530
 Ignore-this: 1b65945da174e05d0ad2a1f01e2ee651
] 
[Add gnomevfs demo directory.
Andy Stewart <lazycat.mana...@gmail.com>**20100527061234
 Ignore-this: 40c6dd74b460d7546937212dacf1f9e1
] 
[Add gtk demo directory.
Andy Stewart <lazycat.mana...@gmail.com>**20100527061041
 Ignore-this: 876a827c6f1bac1a8b26a99cd68c6005
] 
[Add cairo demo directory.
Andy Stewart <lazycat.mana...@gmail.com>**20100527051924
 Ignore-this: b1a70c2a24812fb84c899e4e8ce3ca6c
] 
[Add pango demo directory.
Andy Stewart <lazycat.mana...@gmail.com>**20100527051205
 Ignore-this: af1ff611ab459ee2b6c5bc09a3f63c11
] 
[Fix the license of gnomevfs
Andy Stewart <lazycat.mana...@gmail.com>**20100527035350
 Ignore-this: 9ac7c768af168d6f0c7af8c8790e8643
] 
[Fix the license of gio.
axel.si...@in.tum.de**20100526152125
 Ignore-this: 42fe27de2030e0395227f889ba5345d8
] 
[Fix Trac #1164. toGSList was reversing lists.
m.ni...@gmail.com**20090514122933
 Ignore-this: c466eadbc5ae61ba71721fe15b44735a
] 
[Remove gconf glade gstreamer gtkglext gtksourceview2 soegtk svgcairo vte webkit since these all now have their own repos.
axel.si...@in.tum.de**20100525211947] 
[Documentation fix for EventM.
axel.si...@in.tum.de**20100525131428
 Ignore-this: 25c3bf3513ec6467cbd0febe397ab53e
] 
[Put upper bounds on base version.
axel.si...@in.tum.de**20100525082101
 Ignore-this: f92b2d9970c436c9fcbcf141fc988e8
] 
[Make documentation parsable.
axel.si...@in.tum.de**20100525080209
 Ignore-this: 60f44b8251a9f3e933c874f72d8e8801
] 
[Make the version test in pango less complex as Cabal 1.6 doesn't parse it otherwise.
axel.si...@in.tum.de**20100525075706
 Ignore-this: f3446237cf66abf49e81bd4ba8ef9744
] 
[Fix an incorrect pattern in windowSetIcon.
axel.si...@in.tum.de**20100525075639
 Ignore-this: eb596c778897b4ae4fd7f9a8dde59726
] 
[Get rid of stock images under ./docs/reference/images
Andy Stewart <lazycat.mana...@gmail.com>**20100524235315
 Ignore-this: 1094aaf32c73ba189937e1beee24ee49
] 
[Redirect image link to library.gnome.org and update image items to GTK+ 2.20
Andy Stewart <lazycat.mana...@gmail.com>**20100524233947
 Ignore-this: f33362d57605d16365e4dfac59c01122
] 
[Add an upper version to the requirement on base.
axel.si...@in.tum.de**20100524211158] 
[Be more specific as to the prerequisites of packages.
axel.si...@in.tum.de**20100524210210] 
[Fix docu.
axel.si...@in.tum.de**20100524210157] 
[Make soegtk compile by fixing dependency on old-time and by not relying on Gtk 2.18.
axel.si...@in.tum.de**20100524210032] 
[don't mention tools in the docs for unregistering.
axel.si...@in.tum.de**20100524201401] 
[TAG 0.11.0
axel.si...@in.tum.de**20100524200857] 
Patch bundle hash:
a3e8891e6ba250582e3563a093e81149baa013e4
------------------------------------------------------------------------------

_______________________________________________
Gtk2hs-devel mailing list
Gtk2hs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel

Reply via email to