From: Andy S. <And...@co...> - 2010-03-27 09:53:08
|
Sat Mar 27 05:52:10 EDT 2010 Andy Stewart <laz...@gm...> * Update all `Display` modules to Gtk+ 2.18.3 Ignore-this: bc4b7751282300d8dab998a53182cd57 hunk ./ApiUpdateTodoList.txt 71 -*** TODO InfoBar.chs +*** DONE InfoBar.chs hunk ./ApiUpdateTodoList.txt 210 -*** TODO Label.chs.pp -*** TODO ProgressBar.chs.pp -*** TODO Statusbar.chs +*** DONE Label.chs.pp +*** DONE ProgressBar.chs.pp +*** DONE Statusbar.chs hunk ./Makefile.am 637 + gtk/Graphics/UI/Gtk/Display/InfoBar.chs.pp \ hunk ./gtk/Graphics/UI/Gtk.hs.pp 84 + module Graphics.UI.Gtk.Display.InfoBar, hunk ./gtk/Graphics/UI/Gtk.hs.pp 290 +import Graphics.UI.Gtk.Display.InfoBar addfile ./gtk/Graphics/UI/Gtk/Display/InfoBar.chs.pp hunk ./gtk/Graphics/UI/Gtk/Display/InfoBar.chs.pp 1 +-- -*-haskell-*- +-- GIMP Toolkit (GTK) Widget InfoBar +-- +-- Author : Andy Stewart +-- +-- Created: 27 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. +-- +-- The following varargs functions can't bound: +-- gtk_info_bar_new_with_buttons +-- gtk_info_bar_add_buttons +-- +-- | +-- Maintainer : gtk...@li... +-- Stability : provisional +-- Portability : portable (depends on GHC) +-- +-- Report important messages to the user +-- +module Graphics.UI.Gtk.Display.InfoBar ( + +-- * Detail +-- +-- | 'InfoBar' is a widget that can be used to show messages to the user +-- without showing a dialog. It is often temporarily shown at the top or bottom +-- of a document. In contrast to 'Dialog', which has a horizontal action area +-- at the bottom, 'InfoBar' has a vertical action area at the side. +-- +-- The API of 'InfoBar' is very similar to 'Dialog', allowing you to add +-- buttons to the action area with 'infoBarAddButton' or +-- 'infoBarNewWithButtons'. The sensitivity of action widgets can be controlled +-- with 'infoBarSetResponseSensitive'. To add widgets to the main content area +-- of a 'InfoBar', use 'infoBarGetContentArea' and add your widgets to the +-- container. +-- +-- Similar to 'MessageDialog', the contents of a 'InfoBar' can by classified +-- as error message, warning, informational message, etc, by using +-- 'infoBarSetMessageType'. Gtk+ uses the message type to determine the +-- background color of the message area. +-- +-- * Simple GtkInfoBar usage. +-- +-- > FIXME: if the follwing is a C code example, port it to Haskell or remove it +-- > [_$_] +-- > /* set up info bar */ +-- > info_bar = gtk_info_bar_new (); +-- > gtk_widget_set_no_show_all (info_bar, TRUE); +-- > message_label = gtk_label_new (""); +-- > gtk_widget_show (message_label); +-- > content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (info_bar)); +-- > gtk_container_add (GTK_CONTAINER (content_area), message_label); +-- > gtk_info_bar_add_button (GTK_INFO_BAR (info_bar), +-- > GTK_STOCK_OK, GTK_RESPONSE_OK); +-- > g_signal_connect (info_bar, "response", +-- > G_CALLBACK (gtk_widget_hide), NULL); +-- > gtk_table_attach (GTK_TABLE (table), +-- > info_bar, +-- > 0, 1, 2, 3, +-- > GTK_EXPAND | GTK_FILL, 0, +-- > 0, 0); +-- > [_$_] +-- > /* ... */ +-- > [_$_] +-- > /* show an error message */ +-- > gtk_label_set_text (GTK_LABEL (message_label), error_message); +-- > gtk_info_bar_set_message_type (GTK_INFO_BAR (info_bar), +-- > GTK_MESSAGE_ERROR); +-- > gtk_widget_show (info_bar); +-- +-- '{FIXME: gtk-doc cross reference to:}' + +-- * Class Hierarchy +-- +-- | +-- @ +-- | 'GObject' +-- | +----'Object' +-- | +----'Widget' +-- | +----'Container' +-- | +----'Box' +-- | +----'HBox' +-- | +----InfoBar +-- @ + +-- * Types + InfoBar, + InfoBarClass, + castToInfoBar, + toInfoBar, + +-- * Constructors +#if GTK_CHECK_VERSION(2,18,0) + infoBarNew, +#endif + +-- * Methods +#if GTK_CHECK_VERSION(2,18,0) + infoBarAddActionWidget, + infoBarAddButton, + infoBarSetResponseSensitive, + infoBarSetDefaultResponse, + infoBarResponse, + infoBarGetActionArea, + infoBarGetContentArea, +#endif + +-- * Attributes + infoBarMessageType, + +-- * Signals +#if GTK_CHECK_VERSION(2,18,0) + ibResponse, + ibClose, +#endif + ) where + +import Control.Monad (liftM) + +import System.Glib.FFI +import System.Glib.UTFString +import System.Glib.Attributes +import System.Glib.Properties +import Graphics.UI.Gtk.Abstract.Object (makeNewObject) +import Graphics.UI.Gtk.Windows.MessageDialog (MessageType) +{#import Graphics.UI.Gtk.Types#} +{#import Graphics.UI.Gtk.Signals#} + + +{# context lib="gtk" prefix="gtk" #} + +-------------------- +-- Interfaces + +-- instance BuildableClass InfoBar + +-------------------- +-- Constructors + +#if GTK_CHECK_VERSION(2,18,0) +-- | Creates a new 'InfoBar' object. +-- +-- * Available since Gtk+ version 2.18 +-- +infoBarNew :: IO InfoBar +infoBarNew = + makeNewObject mkInfoBar $ + liftM (castPtr :: Ptr Widget -> Ptr InfoBar) $ + {# call gtk_info_bar_new #} +#endif + +-------------------- +-- Methods + +#if GTK_CHECK_VERSION(2,18,0) +-- | Add an activatable widget to the action area of a 'InfoBar', connecting a +-- signal handler that will emit the {\"response\", FIXME: unknown type\/value} +-- signal on the message area when the widget is activated. The widget is +-- appended to the end of the message areas action area. +-- +-- * Available since Gtk+ version 2.18 +-- +infoBarAddActionWidget :: (InfoBarClass self, WidgetClass child) => self + -> child -- ^ @child@ - an activatable widget + -> Int -- ^ @responseId@ - response ID for @child@ + -> IO () +infoBarAddActionWidget self child responseId = + {# call gtk_info_bar_add_action_widget #} + (toInfoBar self) + (toWidget child) + (fromIntegral responseId) + +-- | Adds a button with the given text (or a stock button, if button_text is a +-- stock ID) and sets things up so that clicking the button will emit the +-- \"response\" signal with the given response_id. The button is appended to +-- the end of the info bars's action area. The button widget is returned, but +-- usually you don't need it. +-- +-- * Available since Gtk+ version 2.18 +-- +infoBarAddButton :: InfoBarClass self => self + -> String -- ^ @buttonText@ - text of button, or stock ID + -> Int -- ^ @responseId@ - response ID for the button + -> IO Widget -- ^ returns the button widget that was added +infoBarAddButton self buttonText responseId = + makeNewObject mkWidget $ + withUTFString buttonText $ \buttonTextPtr -> + {# call gtk_info_bar_add_button #} + (toInfoBar self) + buttonTextPtr + (fromIntegral responseId) + +-- | Calls gtk_widget_set_sensitive (widget, setting) for each widget in the +-- info bars's action area with the given response_id. A convenient way to +-- sensitize\/desensitize dialog buttons. +-- +-- * Available since Gtk+ version 2.18 +-- +infoBarSetResponseSensitive :: InfoBarClass self => self + -> Int -- ^ @responseId@ - a response ID + -> Bool -- ^ @setting@ - @True@ for sensitive + -> IO () +infoBarSetResponseSensitive self responseId setting = + {# call gtk_info_bar_set_response_sensitive #} + (toInfoBar self) + (fromIntegral responseId) + (fromBool setting) + +-- | Sets the last widget in the info bar's action area with the given +-- response_id as the default widget for the dialog. Pressing \"Enter\" +-- normally activates the default widget. +-- +-- * Available since Gtk+ version 2.18 +-- +infoBarSetDefaultResponse :: InfoBarClass self => self + -> Int -- ^ @responseId@ - a response ID + -> IO () +infoBarSetDefaultResponse self responseId = + {# call gtk_info_bar_set_default_response #} + (toInfoBar self) + (fromIntegral responseId) + +-- | Emits the \'response\' signal with the given @responseId@. +-- +-- * Available since Gtk+ version 2.18 +-- +infoBarResponse :: InfoBarClass self => self + -> Int -- ^ @responseId@ - a response ID + -> IO () +infoBarResponse self responseId = + {# call gtk_info_bar_response #} + (toInfoBar self) + (fromIntegral responseId) + +-- | Returns the action area of @infoBar@. +-- +-- * Available since Gtk+ version 2.18 +-- +infoBarGetActionArea :: InfoBarClass self => self + -> IO Widget -- ^ returns the action area. +infoBarGetActionArea self = + makeNewObject mkWidget $ + {# call gtk_info_bar_get_action_area #} + (toInfoBar self) + +-- | Returns the content area of @infoBar@. +-- +-- * Available since Gtk+ version 2.18 +-- +infoBarGetContentArea :: InfoBarClass self => self + -> IO Widget -- ^ returns the content area. +infoBarGetContentArea self = + makeNewObject mkWidget $ + {# call gtk_info_bar_get_content_area #} + (toInfoBar self) +#endif + +-------------------- +-- Attributes + +-- | +-- +infoBarMessageType :: InfoBarClass self => Attr self MessageType +infoBarMessageType = newAttrFromEnumProperty "message-type" + {# call pure unsafe gtk_message_type_get_type #} + +-------------------- +-- Signals + +#if GTK_CHECK_VERSION(2,18,0) +-- | The 'close' signal is a keybinding signal which gets emitted when the user uses a keybinding to +-- dismiss the info bar. +-- [_$_] +-- The default binding for this signal is the Escape key. +-- [_$_] +-- Since 2.18 +ibClose :: InfoBarClass self => Signal self (IO ()) +ibClose = Signal (connect_NONE__NONE "close") + [_$_] + +-- | Emitted when an action widget is clicked or the application programmer +-- calls 'dialogResponse'. The @responseId@ depends on which action widget was +-- clicked. +-- +-- * Available since Gtk+ version 2.18 +-- +ibResponse :: InfoBarClass self => Signal self (Int -> IO ()) +ibResponse = Signal (connect_INT__NONE "response") +#endif + hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 28 +-- The following functions don't bind, use correspond attributes instead: +-- gtk_label_set_track_visited_links +-- gtk_label_get_track_visited_links +-- hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 171 +#if GTK_CHECK_VERSION(2,18,0) + labelGetCurrentURI, +#endif hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 188 +#if GTK_CHECK_VERSION(2,18,0) + labelTrackVisitedLinks, +#endif hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 201 + +-- * Signal + activateCurrentLink, + activateLink, + labelCopyClipboard, + labelMoveCursor, + labelPopulatePopup, hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 221 +{#import Graphics.UI.Gtk.Signals#} hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 224 -import Graphics.UI.Gtk.General.Enums (Justification(..)) +import Graphics.UI.Gtk.General.Enums (Justification(..), MovementStep(..)) hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 735 +#if GTK_CHECK_VERSION(2,18,0) +-- | Returns the URI for the currently active link in the label. The active link is the one under the +-- mouse pointer or, in a selectable label, the link in which the text cursor is currently positioned. +-- [_$_] +-- This function is intended for use in a 'linkActivate' handler or for use in a 'queryTooltip' +-- handler. +-- +-- * Available since Gtk+ version 2.18 +-- +labelGetCurrentURI :: LabelClass self => self + -> IO String -- ^ returns the currently active URI. The string is owned by + -- Gtk+ and must not be freed or modified. +labelGetCurrentURI self = + {# call gtk_label_get_current_uri #} + (toLabel self) + >>= peekUTFString +#endif + hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 889 +#if GTK_CHECK_VERSION(2,18,0) +-- | Set this property to 'True' to make the label track which links have been clicked. It will then apply +-- the 'visitedLinkColor' color, instead of 'linkColor'. +-- [_$_] +-- Default value: 'True' +-- [_$_] +-- Since 2.18 +labelTrackVisitedLinks :: LabelClass self => Attr self Bool +labelTrackVisitedLinks = newAttrFromBoolProperty "track-visited-links" +#endif + hunk ./gtk/Graphics/UI/Gtk/Display/Label.chs.pp 995 + +---------------- +-- Signals +-- | A keybinding signal which gets emitted when the user activates a link in the label. +-- [_$_] +-- Applications may also emit the signal with 'signalEmitByName' if they need to control +-- activation of URIs programmatically. +-- [_$_] +-- The default bindings for this signal are all forms of the Enter key. +-- [_$_] +-- Since 2.18 +activateCurrentLink :: LabelClass self => Signal self (IO ()) +activateCurrentLink = Signal (connect_NONE__NONE "activate-current-link") + [_$_] +-- | The signal which gets emitted to activate a URI. Applications may connect to it to override the +-- default behaviour, which is to call 'showUri'. +-- [_$_] +-- Since 2.18 +activateLink :: LabelClass self => Signal self (String -> IO Bool) +activateLink = Signal (connect_STRING__BOOL "activate-link") + [_$_] +-- | The 'labelCopyClipboard' signal is a keybinding signal which gets emitted to copy the selection to the +-- clipboard. +-- [_$_] +-- The default binding for this signal is Ctrl-c. +labelCopyClipboard :: LabelClass self => Signal self (IO ()) +labelCopyClipboard = Signal (connect_NONE__NONE "copy-clipboard") + +-- | The 'labelMoveCursor' signal is a keybinding signal which gets emitted when the user initiates a cursor +-- movement. If the cursor is not visible in entry, this signal causes the viewport to be moved +-- instead. +-- [_$_] +-- Applications should not connect to it, but may emit it with 'signalEmitByName' if they need to +-- control the cursor programmatically. +-- [_$_] +-- The default bindings for this signal come in two variants, the variant with the Shift modifier +-- extends the selection, the variant without the Shift modifer does not. There are too many key +-- combinations to list them all here. +-- [_$_] +-- [_\e2_][_\97_][_\8f_] Arrow keys move by individual characters/lines [_$_] +-- [_\e2_][_\97_][_\8f_] Ctrl-arrow key combinations move by words/paragraphs [_$_] +-- [_\e2_][_\97_][_\8f_] Home/End keys move to the ends of the buffer +labelMoveCursor :: LabelClass self => Signal self (MovementStep -> Int -> Bool -> IO ()) +labelMoveCursor = Signal (connect_ENUM_INT_BOOL__NONE "move-cursor") + +-- | The 'labelPopulatePopup' signal gets emitted before showing the context menu of the label. Note that +-- only selectable labels have context menus. +-- [_$_] +-- If you need to add items to the context menu, connect to this signal and append your menuitems to +-- the menu. +labelPopulatePopup :: LabelClass self => Signal self (Menu -> IO ()) +labelPopulatePopup = Signal (connect_OBJECT__NONE "populate-popup") hunk ./gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp 8 --- Copyright (C) 1999-2005 Axel Simon +-- Copyright (C) 1999-2009 Axel Simon hunk ./gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp 28 + hunk ./gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp 55 +-- hunk ./gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp 310 + hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 8 --- Copyright (C) 2007 Axel Simon +-- Copyright (C) 2007-2009 Axel Simon hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 29 +-- The following functions don't bind, use corresponding attributes instead: +-- gtk_status_icon_set_screen +-- gtk_status_icon_get_screen +-- gtk_status_icon_set_tooltip_text +-- gtk_status_icon_get_tooltip_text +-- gtk_status_icon_set_tooltip_markup +-- gtk_status_icon_get_tooltip_markup +-- gtk_status_icon_set_has_tooltip +-- gtk_status_icon_get_has_tooltip +-- gtk_status_icon_set_title +-- gtk_status_icon_get_title +-- gtk_status_icon_set_visible +-- gtk_status_icon_get_visible +-- gtk_status_icon_set_blinking +-- gtk_status_icon_get_blinking +-- hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 111 +#if GTK_CHECK_VERSION(2,14,0) + statusIconGetX11WindowId, +#endif hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 125 + statusIconScreen, + statusIconEmbedded, + statusIconOrientation, + statusIconHasTooltip, + statusIconTooltipText, + statusIconTooltipMarkup, + statusIconTitle, + hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 137 + statusIconButtonPressEvent, + statusIconButtonReleaseEvent, + statusIconQueryTooltip, + statusIconScrollEvent, hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 487 +#if GTK_CHECK_VERSION(2,14,0) +-- | This function is only useful on the X11\/freedesktop.org platform. It +-- returns a window ID for the widget in the underlying status icon +-- implementation. This is useful for the Galago notification service, which +-- can send a window ID in the protocol in order for the server to position +-- notification windows pointing to a status icon reliably. +-- +-- This function is not intended for other use cases which are more likely +-- to be met by one of the non-X11 specific methods, such as +-- 'statusIconPositionMenu'. +-- +-- * Available since Gtk+ version 2.14 +-- +statusIconGetX11WindowId :: StatusIconClass self => self + -> IO Int -- ^ returns An 32 bit unsigned integer identifier for the + -- underlying X11 Window +statusIconGetX11WindowId self = + liftM fromIntegral $ + {# call gtk_status_icon_get_x11_window_id #} + (toStatusIcon self) +#endif hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 578 +-- | The screen where this status icon will be displayed. +statusIconScreen :: StatusIconClass self => Attr self Screen +statusIconScreen = newAttrFromObjectProperty "screen" + {# call pure unsafe gdk_screen_get_type #} + +-- | 'True' if the statusicon is embedded in a notification area. +-- [_$_] +-- Default value: 'False' +-- [_$_] +-- Since 2.12 +statusIconEmbedded :: StatusIconClass self => ReadAttr self Bool +statusIconEmbedded = readAttrFromBoolProperty "embedded" + +-- | The orientation of the tray in which the statusicon is embedded. +-- [_$_] +-- Default value: ''OrientationHorizontal'' +-- [_$_] +-- Since 2.12 +statusIconOrientation :: StatusIconClass self => ReadAttr self Orientation +statusIconOrientation = readAttrFromEnumProperty "orientation" + {# call pure unsafe gtk_orientation_get_type #} + +-- | Enables or disables the emission of 'queryTooltip' on @statusIcon@. A value of 'True' indicates that +-- @statusIcon@ can have a tooltip, in this case the status icon will be queried using 'queryTooltip' +-- to determine whether it will provide a tooltip or not. +-- [_$_] +-- Note that setting this property to 'True' for the first time will change the event masks of the +-- windows of this status icon to include leave-notify and motion-notify events. This will not be +-- undone when the property is set to 'False' again. +-- [_$_] +-- Whether this property is respected is platform dependent. For plain text tooltips, use +-- 'tooltipText' in preference. +-- [_$_] +-- Default value: 'False' +-- [_$_] +-- Since 2.16 +statusIconHasTooltip :: StatusIconClass self => Attr self Bool +statusIconHasTooltip = newAttrFromBoolProperty "has-tooltip" + +-- | Sets the text of tooltip to be the given string. +-- [_$_] +-- Also see 'tooltipSetText'. +-- [_$_] +-- This is a convenience property which will take care of getting the tooltip shown if the given string +-- is not 'Nothing'. 'hasTooltip' will automatically be set to 'True' and the default handler for the +-- 'queryTooltip' signal will take care of displaying the tooltip. +-- [_$_] +-- Note that some platforms have limitations on the length of tooltips that they allow on status icons, +-- e.g. Windows only shows the first 64 characters. +-- [_$_] +-- Default value: 'Nothing' +-- [_$_] +-- Since 2.16 +statusIconTooltipText :: StatusIconClass self => Attr self String +statusIconTooltipText = newAttrFromStringProperty "tooltip-text" + +-- | Sets the text of tooltip to be the given string, which is marked up with the Pango text markup +-- language. Also see 'tooltipSetMarkup' . +-- [_$_] +-- This is a convenience property which will take care of getting the tooltip shown if the given string +-- is not 'Nothing'. 'hasTooltip' will automatically be set to 'True' and the default handler for the +-- 'queryTooltip' signal will take care of displaying the tooltip. +-- [_$_] +-- On some platforms, embedded markup will be ignored. +-- [_$_] +-- Default value: 'Nothing' +-- [_$_] +-- Since 2.16 +statusIconTooltipMarkup :: StatusIconClass self => Attr self String +statusIconTooltipMarkup = newAttrFromStringProperty "tooltip-markup" + +-- | The title of this tray icon. This should be a short, human-readable, localized string describing the +-- tray icon. It may be used by tools like screen readers to render the tray icon. +-- [_$_] +-- Default value: 'Nothing' +-- [_$_] +-- Since 2.18 +statusIconTitle :: StatusIconClass self => Attr self String +statusIconTitle = newAttrFromStringProperty "title" + hunk ./gtk/Graphics/UI/Gtk/Display/StatusIcon.chs.pp 686 +-- | The 'buttonPressEvent' signal will be emitted when a button (typically from a mouse) is pressed. +-- [_$_] +-- Whether this event is emitted is platform-dependent. Use the 'activate' and 'popupMenu' signals in +-- preference. +-- [_$_] +-- Since 2.14 +statusIconButtonPressEvent :: StatusIconClass self => Signal self (Event -> IO Bool) +statusIconButtonPressEvent = Signal (connect_BOXED__BOOL "button_press_event" marshalEvent) + +-- | The 'buttonReleaseEvent' signal will be emitted when a button (typically from a mouse) is +-- released. +-- [_$_] +-- Whether this event is emitted is platform-dependent. Use the 'activate' and 'popupMenu' signals in +-- preference. +-- [_$_] +-- Since 2.14 +statusIconButtonReleaseEvent :: StatusIconClass self => Signal self (Event -> IO Bool) +statusIconButtonReleaseEvent = Signal (connect_BOXED__BOOL "button_release_event" marshalEvent) + +-- | The 'scrollEvent' signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are +-- usually configured to generate button press events for buttons 4 and 5 when the wheel is turned. +-- [_$_] +-- Whether this event is emitted is platform-dependent. +statusIconScrollEvent :: StatusIconClass self => Signal self (Event -> IO Bool) +statusIconScrollEvent = Signal (connect_BOXED__BOOL "scroll_event" marshalEvent) + +-- | Emitted when the 'gtkTooltipTimeout' has expired with the cursor hovering above @statusIcon@; or +-- emitted when @statusIcon@ got focus in keyboard mode. +-- [_$_] +-- Using the given coordinates, the signal handler should determine whether a tooltip should be shown +-- for @statusIcon@. If this is the case 'True' should be returned, 'False' otherwise. Note that if +-- @keyboardMode@ is 'True', the values of x and y are undefined and should not be used. +-- [_$_] +-- The signal handler is free to manipulate tooltip with the therefore destined function calls. +-- [_$_] +-- Whether this signal is emitted is platform-dependent. For plain text tooltips, use 'tooltipText' in +-- preference. +-- [_$_] +-- Since 2.16 +statusIconQueryTooltip :: StatusIconClass self => Signal self (Int -> Int -> Bool -> Tooltip -> IO Bool) +statusIconQueryTooltip = Signal (connect_INT_INT_BOOL_OBJECT__BOOL "query-tooltip") + [_$_] hunk ./gtk/Graphics/UI/Gtk/Display/Statusbar.chs.pp 8 --- Copyright (C) 1999-2005 Axel Simon +-- Copyright (C) 1999-2009 Axel Simon hunk ./gtk/Graphics/UI/Gtk/Display/Statusbar.chs.pp 28 + hunk ./gtk/Graphics/UI/Gtk/Display/Statusbar.chs.pp 58 +-- hunk ./tools/hierarchyGen/hierarchy.list 123 + GtkInfoBar |