diffing dir...
Sun Oct 24 11:57:48 EDT 2010 Maxime Henrion <mhe...@gm...>
* Provide new style signal handlers for Editable
Ignore-this: e364d8cc93b56536d409cbd2d5e88952
{
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 72
+ editableChanged,
+ deleteText,
+ insertText,
+ stopDeleteText,
+ stopInsertText,
+
+-- * Deprecated
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 83
- stopDeleteText,
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 84
- afterInsertText,
- stopInsertText
+ afterInsertText
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 285
--- | The 'onEditableChanged' signal is emitted at the end of a single
+-- | The 'editableChanged' signal is emitted at the end of a single
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 291
--- content, and may cause multiple 'onEditableInserText' signals to be
+-- content, and may cause multiple 'inserText' signals to be
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 294
-onEditableChanged, afterEditableChanged :: EditableClass ec => ec -> IO () ->
- IO (ConnectId ec)
-onEditableChanged = connect_NONE__NONE "changed" False
-afterEditableChanged = connect_NONE__NONE "changed" True
+editableChanged :: EditableClass ec => Signal ec (IO ())
+editableChanged = Signal (connect_NONE__NONE "changed")
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 299
--- * See 'onInsertText' for information on how to use this signal.
+-- * See 'insertText' for information on how to use this signal.
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 301
-onDeleteText, afterDeleteText :: EditableClass self => self
- -> (Int -> Int -> IO ()) -- ^ @(\startPos endPos -> ...)@
- -> IO (ConnectId self)
-onDeleteText = connect_INT_INT__NONE "delete_text" False
-afterDeleteText = connect_INT_INT__NONE "delete_text" True
+deleteText :: EditableClass self =>
+ Signal self (
+ Int -> Int -> IO () -- ^ @(\startPos endPos -> ...)@
+ )
+deleteText = Signal (connect_INT_INT__NONE "delete_text")
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 330
--- > id <- onInsertText entry $ \str pos -> do
+-- > id <- entry `on` insertText $ \str pos -> do
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 339
--- Note that the 'afterInsertText' function is not very useful, except to
+-- Note that binding 'insertText' using 'after' is not very useful, except to
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 342
+insertText :: EditableClass self => Signal self (String -> Int -> IO Int)
+insertText = Signal $ \after obj handler ->
+ connect_PTR_INT_PTR__NONE "insert_text" after obj
+ (\strPtr strLen posPtr -> do
+ str <- if strLen<0 then peekUTFString strPtr
+ else peekUTFStringLen (strPtr, strLen)
+ pos <- peek (posPtr :: Ptr {#type gint#})
+ pos' <- handler str (fromIntegral pos)
+ poke (posPtr :: Ptr {#type gint#}) (fromIntegral pos')
+ )
+ [_$_]
+-- | Stop the current signal that inserts text.
+stopInsertText :: EditableClass self => ConnectId self -> IO ()
+stopInsertText (ConnectId _ obj) =
+ signalStopEmission obj "insert_text"
+
+--------------------
+-- Deprecated Signals
+
+onEditableChanged, afterEditableChanged :: EditableClass ec => ec -> IO () ->
+ IO (ConnectId ec)
+onEditableChanged = connect_NONE__NONE "changed" False
+afterEditableChanged = connect_NONE__NONE "changed" True
+
+onDeleteText, afterDeleteText :: EditableClass self => self
+ -> (Int -> Int -> IO ()) -- ^ @(\startPos endPos -> ...)@
+ -> IO (ConnectId self)
+onDeleteText = connect_INT_INT__NONE "delete_text" False
+afterDeleteText = connect_INT_INT__NONE "delete_text" True
+
hunk ./gtk/Graphics/UI/Gtk/Entry/Editable.chs 393
-
--- | Stop the current signal that inserts text.
-stopInsertText :: EditableClass self => ConnectId self -> IO ()
-stopInsertText (ConnectId _ obj) =
- signalStopEmission obj "insert_text"
}
|