Gtk2::Editable − wrapper for GtkEditable
Glib::Interface
+−−−−Gtk2::Editable
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.
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.
Gtk2, Glib::Interface
Copyright (C) 2003−2011 by the gtk2−perl team.
This software is licensed under the LGPL. See Gtk2 for a full notice.