From: Andy S. <And...@co...> - 2010-03-24 02:59:26
|
Tue Mar 23 22:58:44 EDT 2010 Andy Stewart <laz...@gm...> * Update all `Multine` modules to Gtk+ 2.18.3 Ignore-this: 2d79d84d819e356c3bc3339a1f067ab hunk ./ApiUpdateTodoList.txt 290 -*** TODO TextBuffer.chs.pp +*** DONE TextBuffer.chs.pp hunk ./ApiUpdateTodoList.txt 292 -*** TODO TextMark.chs -*** TODO TextTag.chs.pp -*** TODO TextTagTable.chs +*** DONE TextMark.chs +*** DONE TextTag.chs.pp +*** DONE TextTagTable.chs hunk ./gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp 226 - -- widgetGetClipboard, + widgetGetClipboard, hunk ./gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp 2125 --- [_$_] --- widgetGetClipboard :: WidgetClass self => self --- -> Atom -- ^ @selection@ - a {GdkAtom, FIXME: struct type} which --- -- identifies the clipboard to use. @GDK_SELECTION_CLIPBOARD@ --- -- gives the default clipboard. Another common value is --- -- @GDK_SELECTION_PRIMARY@, which gives the primary X --- -- selection. --- -> IO Clipboard -- ^ returns the appropriate clipboard object. If no --- -- clipboard already exists, a new one will be created. Once a --- -- clipboard object has been created, it is persistent for all --- -- time. --- widgetGetClipboard self selection = --- makeNewGObject mkClipboard $ --- with selection $ \selectionPtr -> --- {# call gtk_widget_get_clipboard #} --- (toWidget self) --- (castPtr selectionPtr) -- need write Stroable isntance for GdkAtom +widgetGetClipboard :: WidgetClass self => self + -> Atom -- ^ @selection@ - a {GdkAtom, FIXME: struct type} which + -- identifies the clipboard to use. @GDK_SELECTION_CLIPBOARD@ + -- gives the default clipboard. Another common value is + -- @GDK_SELECTION_PRIMARY@, which gives the primary X + -- selection. + -> IO Clipboard -- ^ returns the appropriate clipboard object. If no + -- clipboard already exists, a new one will be created. Once a + -- clipboard object has been created, it is persistent for all + -- time. +widgetGetClipboard self (Atom selection) = + makeNewGObject mkClipboard $ + with selection $ \selectionPtr -> + {# call gtk_widget_get_clipboard #} + (toWidget self) + selection hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 27 +-- hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 55 + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 63 +-- hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 75 + TextBufferDeserialize, + +-- * Enums [_$_] + TextBufferTargetInfo(..), hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 125 - textBufferHasSelection, + textBufferGetHasSelection, hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 147 +#if GTK_CHECK_VERSION(2,10,0) + textBufferDeserialize, + textBufferDeserializeGetCanCreateTags, + textBufferDeserializeSetCanCreateTags, + textBufferGetCopyTargetList, + textBufferGetPasteTargetList, + textBufferGetDeserializeFormats, + textBufferGetSerializeFormats, + textBufferRegisterDeserializeFormat, + textBufferRegisterDeserializeTagset, + textBufferRegisterSerializeFormat, + textBufferRegisterSerializeTagset, + textBufferSerialize, + textBufferUnregisterDeserializeFormat, + textBufferUnregisterSerializeFormat, +#endif hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 165 +#if GTK_CHECK_VERSION(2,8,0) + textBufferCopyTargetList, + textBufferCursorPosition, + textBufferHasSelection, + textBufferPasteTargetList, +#endif + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 227 +import System.Glib.GList hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 231 -import System.Glib.GObject (constructNewGObject, +import System.Glib.GError (GErrorDomain, GErrorClass(..), propagateGError) +import System.Glib.GObject (DestroyNotify, constructNewGObject, hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 239 +import Graphics.UI.Gtk.General.DNDTypes (Atom(..), mkTargetList) +{#import Graphics.UI.Gtk.General.Selection#} (TargetList) hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 244 +-------------------- +-- Types +type TextBufferDeserialize = TextBuffer -> TextIter -> Int -> Int -> Bool -> Bool + +{#pointer TextBufferDeserializeFunc#} + +foreign import ccall "wrapper" mkTextBufferDeserializeFunc :: + (Ptr TextBuffer -> Ptr TextBuffer -> Ptr TextIter -> {#type guint#} -> {#type glong#} -> {#type gboolean#} -> Ptr () -> IO {#type gboolean#}) + -> IO TextBufferDeserializeFunc + +type TextBufferSerialize = TextBuffer -> TextIter -> TextIter -> Int -> String + +{#pointer TextBufferSerializeFunc#} + +foreign import ccall "wrapper" mkTextBufferSerializeFunc :: + (Ptr TextBuffer -> Ptr TextBuffer -> Ptr TextIter -> Ptr TextIter -> {#type glong#} -> Ptr () -> IO CString) + -> IO TextBufferSerializeFunc + +-------------------- +-- Enums +{#enum GtkTextBufferTargetInfo as TextBufferTargetInfo {underscoreToCase} deriving (Bounded,Eq,Show)#} + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 888 -textBufferHasSelection :: TextBufferClass self => self -> IO Bool -textBufferHasSelection self = +textBufferGetHasSelection :: TextBufferClass self => self -> IO Bool +textBufferGetHasSelection self = hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 891 - {# call unsafe text_buffer_get_selection_bounds #} + {# call gtk_text_buffer_get_has_selection #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 893 - (TextIter nullForeignPtr) - (TextIter nullForeignPtr) hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 960 - {# call gtk_text_buffer_backspace #} + {# call text_buffer_backspace #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 982 - {# call gtk_text_buffer_insert_child_anchor #} + {# call text_buffer_insert_child_anchor #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 996 - {# call gtk_text_buffer_create_child_anchor #} + {# call text_buffer_create_child_anchor #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1015 - {# call gtk_text_buffer_select_range #} + {# call text_buffer_select_range #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1028 - {# call gtk_text_buffer_get_iter_at_child_anchor #} + {# call text_buffer_get_iter_at_child_anchor #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1058 - {# call gtk_text_buffer_paste_clipboard #} + {# call text_buffer_paste_clipboard #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1073 - {# call gtk_text_buffer_paste_clipboard #} + {# call text_buffer_paste_clipboard #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1084 - {# call gtk_text_buffer_copy_clipboard #} + {# call text_buffer_copy_clipboard #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1095 - {# call gtk_text_buffer_cut_clipboard #} + {# call text_buffer_cut_clipboard #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1118 +#if GTK_CHECK_VERSION(2,10,0) +-- | This function deserializes rich text in format format and inserts it at iter. +-- [_$_] +-- formats to be used must be registered using 'textBufferRegisterDeserializeFormat' or +-- 'textBufferRegisterDeserializeTagset' beforehand. +textBufferDeserialize :: (TextBufferClass registerBuf, TextBufferClass contentBuf) => [_$_] + registerBuf -> contentBuf [_$_] + -> Atom + -> TextIter [_$_] + -> String + -> Int + -> IO Bool +textBufferDeserialize regBuf conBuf (Atom format) iter dat length = [_$_] + liftM toBool $ + withUTFString dat $ \datPtr -> + propagateGError $ \gerrorPtr -> + {#call text_buffer_deserialize#} [_$_] + (toTextBuffer regBuf) + (toTextBuffer conBuf) + format + iter + (castPtr datPtr) + (fromIntegral length) + gerrorPtr + +-- | This functions returns the value set with +-- 'textBufferDeserializeSetCanCreateTags' +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferDeserializeGetCanCreateTags :: TextBufferClass self => self + -> Atom -- ^ @format@ - representing a registered rich text format + -> IO Bool -- ^ returns whether deserializing this format may create tags +textBufferDeserializeGetCanCreateTags self (Atom format) = + liftM toBool $ + {# call text_buffer_deserialize_get_can_create_tags #} + (toTextBuffer self) + format + [_$_] +-- | Use this function to allow a rich text deserialization function to create +-- new tags in the receiving buffer. Note that using this function is almost +-- always a bad idea, because the rich text functions you register should know +-- how to map the rich text format they handler to your text buffers set of +-- tags. +-- +-- The ability of creating new (arbitrary!) tags in the receiving buffer is +-- meant for special rich text formats like the internal one that is registered +-- using 'textBufferRegisterDeserializeTagset', because that format is +-- essentially a dump of the internal structure of the source buffer, including +-- its tag names. +-- +-- You should allow creation of tags only if you know what you are doing, +-- e.g. if you defined a tagset name for your application suite's text buffers +-- and you know that it's fine to receive new tags from these buffers, because +-- you know that your application can handle the newly created tags. +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferDeserializeSetCanCreateTags :: TextBufferClass self => self + -> Atom -- ^ @format@ - representing a registered rich text format + -> Bool -- ^ @canCreateTags@ - whether deserializing this format may + -- create tags + -> IO () +textBufferDeserializeSetCanCreateTags self (Atom format) canCreateTags = + {# call text_buffer_deserialize_set_can_create_tags #} + (toTextBuffer self) + format + (fromBool canCreateTags) + +-- | This function returns the list of targets this text buffer can provide +-- for copying and as DND source. The targets in the list are added with @info@ +-- values from the 'TextBufferTargetInfo' enum, using +-- 'targetListAddRichTextTargets' and 'targetListAddTextTargets'. +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferGetCopyTargetList :: TextBufferClass self => self + -> IO TargetList -- ^ returns the 'TagetList' +textBufferGetCopyTargetList self = do + tlPtr <- {# call text_buffer_get_copy_target_list #} + (toTextBuffer self) + mkTargetList tlPtr [_$_] + +-- | This function returns the rich text deserialize formats registered with +-- @buffer@ using 'textBufferRegisterDeserializeFormat' or +-- 'textBufferRegisterDeserializeTagset' +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferGetDeserializeFormats :: TextBufferClass self => self + -> IO ([Atom], Int) -- ^ @(atomList, nFormats)@ returns an array of 'Atom' [_$_] + -- representing the registered formats. + -- @nFormats@ - return location for the number of + -- formats +textBufferGetDeserializeFormats self = + alloca $ \nFormatsPtr -> do + atomPtr <- {# call text_buffer_get_deserialize_formats #} + (toTextBuffer self) + nFormatsPtr + peek nFormatsPtr >>= \nFormats -> do + atomList <- liftM (map Atom) (peekArray 0 atomPtr) + return (atomList, fromIntegral nFormats) + +-- | This function returns the rich text serialize formats registered with +-- @buffer@ using 'textBufferRegisterSerializeFormat' or +-- 'textBufferRegisterSerializeTagset' +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferGetSerializeFormats :: TextBufferClass self => self + -> IO ([Atom], Int)-- ^ @(atomList, nFormats)@ returns an array of 'Atom' [_$_] + -- representing the registered formats. + -- @nFormats@ - return location for the number of + -- formats +textBufferGetSerializeFormats self = + alloca $ \nFormatsPtr -> do + atomPtr <- {# call text_buffer_get_serialize_formats #} + (toTextBuffer self) + nFormatsPtr + peek nFormatsPtr >>= \nFormats -> do + atomList <- liftM (map Atom) (peekArray 0 atomPtr) + return (atomList, fromIntegral nFormats) + +-- | This function registers a rich text deserialization @function@ along with +-- its @mimeType@ with the passed @buffer@. +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferRegisterDeserializeFormat :: TextBufferClass self => self + -> String -- ^ @mimeType@ - the format's mime-type + -> TextBufferDeserialize -- ^ @function@ - the deserialize + -- function to register + -> DestroyNotify -- ^ @userDataDestroy@ - a function to + -- call when @userData@ is no longer + -- needed + -> IO Atom -- ^ returns the 'Atom' that corresponds to the newly + -- registered format's mime-type. +textBufferRegisterDeserializeFormat self mimeType function notify = + withUTFString mimeType $ \mimeTypePtr -> do + func <- mkTextBufferDeserializeFunc $ \_ cBuffer iterPtr dat length tags _ -> do + iter <- mkTextIterCopy iterPtr + buffer <- makeNewGObject mkTextBuffer (return cBuffer) + return (fromBool (function buffer iter (fromIntegral dat) (fromIntegral length) (toBool tags))) + atomPtr <- {# call gtk_text_buffer_register_deserialize_format #} + (toTextBuffer self) + mimeTypePtr + func + nullPtr + notify + return $ Atom atomPtr + +-- | This function registers Gtk+'s internal rich text serialization format +-- with the passed @buffer@. See 'textBufferRegisterSerializeTagset' for +-- details. +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferRegisterDeserializeTagset :: TextBufferClass self => self + -> String -- ^ @tagsetName@ - an optional tagset name + -> IO Atom -- ^ returns the 'Atom' that + -- corresponds to the newly registered format's mime-type. +textBufferRegisterDeserializeTagset self tagsetName = + withUTFString tagsetName $ \tagsetNamePtr -> do + atomPtr <- {# call gtk_text_buffer_register_deserialize_tagset #} + (toTextBuffer self) + tagsetNamePtr + return $ Atom atomPtr + +-- | This function registers a rich text serialization @function@ along with +-- its @mimeType@ with the passed @buffer@. +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferRegisterSerializeFormat :: TextBufferClass self => self + -> String -- ^ @mimeType@ - the format's mime-type + -> TextBufferSerialize -- ^ @function@ - the serialize function to + -- register + -> DestroyNotify -- ^ @userDataDestroy@ - a function to call + -- when @userData@ is no longer needed + -> IO Atom -- ^ returns the 'Atom' that corresponds to the newly + -- registered format's mime-type. +textBufferRegisterSerializeFormat self mimeType function notify = + withUTFString mimeType $ \mimeTypePtr -> do + func <- mkTextBufferSerializeFunc $ \_ cBuffer start end length _ -> do + startIter <- mkTextIterCopy start + endIter <- mkTextIterCopy end + buffer <- makeNewGObject mkTextBuffer (return cBuffer) + newCString $ function buffer startIter endIter (fromIntegral length) + atomPtr <- {# call gtk_text_buffer_register_serialize_format #} + (toTextBuffer self) + mimeTypePtr + func + nullPtr + notify + return $ Atom atomPtr + +-- | This function registers Gtk+'s internal rich text serialization format +-- with the passed @buffer@. The internal format does not comply to any +-- standard rich text format and only works between 'TextBuffer' instances. It +-- is capable of serializing all of a text buffer's tags and embedded pixbufs. +-- +-- This function is just a wrapper around +-- 'textBufferRegisterSerializeFormat'. The mime type used for registering is +-- \"application\/x-gtk-text-buffer-rich-text\", or +-- \"application\/x-gtk-text-buffer-rich-text;format=@tagsetName@\" if a +-- @tagsetName@ was passed. +-- +-- The @tagsetName@ can be used to restrict the transfer of rich text to +-- buffers with compatible sets of tags, in order to avoid unknown tags from +-- being pasted. [_$_] +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferRegisterSerializeTagset :: TextBufferClass self => self + -> String -- ^ @tagsetName@ - an optional tagset name + -> IO Atom -- ^ returns the 'Atom' that corresponds to the newly registered format's mime-type. +textBufferRegisterSerializeTagset self tagsetName = + withUTFString tagsetName $ \tagsetNamePtr -> do + atomPtr <- {# call gtk_text_buffer_register_serialize_tagset #} + (toTextBuffer self) + tagsetNamePtr + return $ Atom atomPtr + +-- | This function serializes the portion of text between @start@ and @end@ in +-- the rich text format represented by @format@. +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferSerialize :: (TextBufferClass self, TextBufferClass contentBuffer) => self + -> contentBuffer -- ^ @contentBuffer@ - the 'TextBuffer' to serialize + -> Atom -- ^ @format@ - the rich text format to use for serializing + -> TextIter -- ^ @start@ - start of block of text to serialize + -> TextIter -- ^ @end@ - end of block of test to serialize + -> [Int] -- ^ @length@ - return location for the length of the + -- serialized data + -> IO String -- ^ returns the serialized data, encoded as @format@ +textBufferSerialize self contentBuffer (Atom format) start end length = [_$_] + withArray (map fromIntegral length) $ \lengthPtr -> do + cstring <- {# call gtk_text_buffer_serialize #} + (toTextBuffer self) + (toTextBuffer contentBuffer) + format + start + end + lengthPtr + peekCString $ castPtr cstring + +-- | This function unregisters a rich text format that was previously +-- registered using 'textBufferRegisterDeserializeFormat' or +-- 'textBufferRegisterDeserializeTagset'. +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferUnregisterDeserializeFormat :: TextBufferClass self => self + -> Atom -- ^ @format@ - a 'Atom' representing a + -- registered rich text format. + -> IO () +textBufferUnregisterDeserializeFormat self (Atom format) = + {# call gtk_text_buffer_unregister_deserialize_format #} + (toTextBuffer self) + format + +-- | This function unregisters a rich text format that was previously +-- registered using 'textBufferRegisterSerializeFormat' or +-- 'textBufferRegisterSerializeTagset' +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferUnregisterSerializeFormat :: TextBufferClass self => self + -> Atom -- ^ @format@ - a 'Atom' representing a + -- registered rich text format. + -> IO () +textBufferUnregisterSerializeFormat self (Atom format) = + {# call gtk_text_buffer_unregister_serialize_format #} + (toTextBuffer self) + format + +#endif [_$_] + +-- | This function returns the list of targets this text buffer supports for +-- pasting and as DND destination. The targets in the list are added with +-- @info@ values from the 'TextBufferTargetInfo' enum, using +-- 'targetListAddRichTextTargets' and 'targetListAddTextTargets'. +-- +-- * Available since Gtk+ version 2.10 +-- +textBufferGetPasteTargetList :: TextBufferClass self => self + -> IO TargetList -- ^ returns the 'TargetList' +textBufferGetPasteTargetList self = do + tlPtr <- {# call text_buffer_get_paste_target_list #} + (toTextBuffer self) + mkTargetList tlPtr + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1414 +#if GTK_CHECK_VERSION(2,10,0) +-- | The list of targets this buffer supports for clipboard copying and as DND source. +-- [_$_] +-- Since 2.10 +textBufferCopyTargetList :: TextBufferClass self => ReadAttr self TargetList +textBufferCopyTargetList = readAttr textBufferGetCopyTargetList + +-- | The position of the insert mark (as offset from the beginning of the buffer). It is useful for +-- getting notified when the cursor moves. +-- [_$_] +-- Allowed values: >= 0 +-- [_$_] +-- Default value: 0 +-- [_$_] +-- Since 2.10 +textBufferCursorPosition :: TextBufferClass self => ReadAttr self Int +textBufferCursorPosition = readAttrFromIntProperty "cursor-position" + +-- | Whether the buffer has some text currently selected. +-- [_$_] +-- Default value: 'False' +-- [_$_] +-- Since 2.10 +textBufferHasSelection :: TextBufferClass self => ReadAttr self Bool +textBufferHasSelection = readAttrFromBoolProperty "has-selection" + +-- | The list of targets this buffer supports for clipboard pasting and as DND destination. +-- [_$_] +-- Since 2.10 +textBufferPasteTargetList :: TextBufferClass self => ReadAttr self TargetList +textBufferPasteTargetList = readAttr textBufferGetPasteTargetList +#endif + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp 1452 - {# call pure unsafe gtk_text_tag_table_get_type #} + {# call pure unsafe text_tag_table_get_type #} hunk ./gtk/Graphics/UI/Gtk/Multiline/TextIter.chs.pp 31 +-- The following functions just for implementation, don't bind them: +-- gtk_text_iter_free +-- hunk ./gtk/Graphics/UI/Gtk/Multiline/TextMark.chs.pp 8 --- Copyright (C) 2002-2005 Axel Simon +-- Copyright (C) 2002-2009 Axel Simon hunk ./gtk/Graphics/UI/Gtk/Multiline/TextMark.chs.pp 28 + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextMark.chs.pp 56 +-- hunk ./gtk/Graphics/UI/Gtk/Multiline/TextMark.chs.pp 84 + textMarkName, + textMarkLeftGravity, hunk ./gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp 142 +#if GTK_CHECK_VERSION(2,12,0) + textTagAccumulativeMargin, +#endif hunk ./gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp 743 +-- | Whether the margins accumulate or override each other. +-- [_$_] +-- When set to 'True' the margins of this tag are added to the margins of any other non-accumulative +-- margins present. When set to 'False' the margins override one another (the default). +-- [_$_] +-- Default value: 'False' +-- [_$_] +-- Since 2.12 +textTagAccumulativeMargin :: TextTagClass self => Attr self Bool +textTagAccumulativeMargin = newAttrFromBoolProperty "accumulative-margin" + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextTagTable.chs 8 --- Copyright (C) 2004-2005 Duncan Coutts +-- Copyright (C) 2004-2009 Duncan Coutts hunk ./gtk/Graphics/UI/Gtk/Multiline/TextTagTable.chs 28 + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextTagTable.chs 36 +-- hunk ./gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp 8 --- Copyright (C) 2002-2005 Axel Simon +-- Copyright (C) 2002-2009 Axel Simon hunk ./gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp 34 + hunk ./gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp 48 +-- hunk ./gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp 56 --- | --- | hunk ./gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp 170 + selectAll, hunk ./gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp 1220 +selectAll :: TextBufferClass self => Signal self (Bool -> IO ()) +selectAll = Signal (connect_BOOL__NONE "select-all") + |