NAME¶
Gtk2::Editable - 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)
- insert-text (Gtk2::Editable, string, integer,
gpointer)
- delete-text (Gtk2::Editable, integer, integer)
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.
SEE ALSO¶
Gtk2, Glib::Interface
COPYRIGHT¶
Copyright (C) 2003-2011 by the gtk2-perl team.
This software is licensed under the LGPL. See Gtk2 for a full notice.