Gtk2::Editable(3pm)

Gtk2::Editable3pm

Wrapper for gtkeditable

Hierarchy

  Glib::Interface
  +----Gtk2::Editable

Methods

string = $editable->get_chars ($start_pos, $end_pos)

•

$start_pos (integer)

•

$end_pos (integer)

$editable->copy_clipboard

$editable->cut_clipboard

$editable->delete_selection

$editable->delete_text ($start_pos, $end_pos)

•

$start_pos (integer)

•

$end_pos (integer)

boolean = $editable->get_editable

$editable->set_editable ($is_editable)

•

$is_editable (boolean)

new_position = $editable->insert_text (new_text, position)

•

$new_text (string)

•

... (list)

$editable->paste_clipboard

integer = $editable->get_position

$editable->set_position ($position)

•

$position (integer)

$editable->select_region ($start, $end)

•

$start (integer)

•

$end (integer)

(start, end) = $editable->get_selection_bounds

Returns integers, start and end.

Signals

changed (Gtk2::Editable)
delete-text (Gtk2::Editable, integer, integer)
insert-text (Gtk2::Editable, string, integer, gpointer)

The "insert-text" signal handler can optionally alter the text to be inserted. It may

•

Return no values for no change. Be sure to end with an empty "return".

    sub my_insert_text_handler {
      my ($widget, $text, $len, $pos, $userdata) = @_;
      print "inserting '$text' at char position '$pos'\n";
      return;  # no values
    }
•

Return two values "($text, $pos)" which are the new text and character position.

    sub my_insert_text_handler {
      my ($widget, $text, $len, $pos, $userdata) = @_;
      return (uc($text), $pos);  # force to upper case
    }
•

Return no values and modify the text in $_[1] and/or position in $_[3]. For example,

    sub my_insert_text_handler {
      $_[1] = uc($_[1]);   # force to upper case
      $_[3] = 0;           # force position to the start
      return;  # no values
    }

Note that currently in a Perl subclass of a "Gtk2::Editable" widget, a class closure (ie. class default signal handler) for "insert-text" does not work this way. It instead sees the C level "($text, $len, $pos_pointer)", where $pos_pointer is a machine address and cannot be used easily. Hopefully this will change in the future. A "signal_chain_from_overridden" with the args as passed works, but for anything else the suggestion is to use a "signal_connect" instead.

Releases

7 releases since Debian 3.1 (Sarge); the text changed 6 times.

  1. 3.1
  2. 4.0
  3. 5.0
  4. 6.0
  5. 7
  6. 9
  7. 10

From libgtk2-perl-doc 2:1.24992-1 in Debian 10 (Buster). Parsed by carta from the page's man source.