gi-gtk-3.0.11: Gtk bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Interfaces.Editable

Contents

Description

The Editable interface is an interface which should be implemented by text editing widgets, such as Entry and SpinButton. It contains functions for generically manipulating an editable widget, a large number of action signals used for key bindings, and several signals that an application can connect to to modify the behavior of a widget.

As an example of the latter usage, by connecting the following handler to Editable::insert-text, an application can convert all entry into a widget into uppercase.

Forcing entry to uppercase.

C code

#include <ctype.h>;

void
insert_text_handler (GtkEditable *editable,
                     const gchar *text,
                     gint         length,
                     gint        *position,
                     gpointer     data)
{
  gchar *result = g_utf8_strup (text, length);

  g_signal_handlers_block_by_func (editable,
                               (gpointer) insert_text_handler, data);
  gtk_editable_insert_text (editable, result, length, position);
  g_signal_handlers_unblock_by_func (editable,
                                     (gpointer) insert_text_handler, data);

  g_signal_stop_emission_by_name (editable, "insert_text");

  g_free (result);
}

Synopsis

Exported types

Methods

copyClipboard

editableCopyClipboard Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> m () 

Copies the contents of the currently selected content in the editable and puts it on the clipboard.

cutClipboard

editableCutClipboard Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> m () 

Removes the contents of the currently selected content in the editable and puts it on the clipboard.

deleteSelection

editableDeleteSelection Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> m () 

Deletes the currently selected text of the editable. This call doesn’t do anything if there is no selected text.

deleteText

data EditableDeleteTextMethodInfo Source #

Instances

((~) * signature (Int32 -> Int32 -> m ()), MonadIO m, IsEditable a) => MethodInfo * EditableDeleteTextMethodInfo a signature Source # 

editableDeleteText Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> Int32

startPos: start position

-> Int32

endPos: end position

-> m () 

Deletes a sequence of characters. The characters that are deleted are those characters at positions from startPos up to, but not including endPos. If endPos is negative, then the characters deleted are those from startPos to the end of the text.

Note that the positions are specified in characters, not bytes.

getChars

data EditableGetCharsMethodInfo Source #

Instances

((~) * signature (Int32 -> Int32 -> m Text), MonadIO m, IsEditable a) => MethodInfo * EditableGetCharsMethodInfo a signature Source # 

editableGetChars Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> Int32

startPos: start of text

-> Int32

endPos: end of text

-> m Text

Returns: a pointer to the contents of the widget as a string. This string is allocated by the Editable implementation and should be freed by the caller.

Retrieves a sequence of characters. The characters that are retrieved are those characters at positions from startPos up to, but not including endPos. If endPos is negative, then the characters retrieved are those characters from startPos to the end of the text.

Note that positions are specified in characters, not bytes.

getEditable

editableGetEditable Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> m Bool

Returns: True if editable is editable.

Retrieves whether editable is editable. See editableSetEditable.

getPosition

editableGetPosition Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> m Int32

Returns: the cursor position

Retrieves the current position of the cursor relative to the start of the content of the editable.

Note that this position is in characters, not in bytes.

getSelectionBounds

editableGetSelectionBounds Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> m (Bool, Int32, Int32)

Returns: True if an area is selected, False otherwise

Retrieves the selection bound of the editable. start_pos will be filled with the start of the selection and endPos with end. If no text was selected both will be identical and False will be returned.

Note that positions are specified in characters, not bytes.

insertText

editableInsertText Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> Text

newText: the text to append

-> Int32

newTextLength: the length of the text in bytes, or -1

-> Int32

position: location of the position text will be inserted at

-> m Int32 

Inserts newTextLength bytes of newText into the contents of the widget, at position position.

Note that the position is in characters, not in bytes. The function updates position to point after the newly inserted text.

pasteClipboard

editablePasteClipboard Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> m () 

Pastes the content of the clipboard to the current position of the cursor in the editable.

selectRegion

editableSelectRegion Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> Int32

startPos: start of region

-> Int32

endPos: end of region

-> m () 

Selects a region of text. The characters that are selected are those characters at positions from startPos up to, but not including endPos. If endPos is negative, then the characters selected are those characters from startPos to the end of the text.

Note that positions are specified in characters, not bytes.

setEditable

editableSetEditable Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> Bool

isEditable: True if the user is allowed to edit the text in the widget

-> m () 

Determines if the user can edit the text in the editable widget or not.

setPosition

editableSetPosition Source #

Arguments

:: (HasCallStack, MonadIO m, IsEditable a) 
=> a

editable: a Editable

-> Int32

position: the position of the cursor

-> m () 

Sets the cursor position in the editable to the given value.

The cursor is displayed before the character with the given (base 0) index in the contents of the editable. The value must be less than or equal to the number of characters in the editable. A value of -1 indicates that the position should be set after the last character of the editable. Note that position is in characters, not in bytes.

Signals

changed

type C_EditableChangedCallback = Ptr () -> Ptr () -> IO () Source #

deleteText

insertText