Gtk2::ComboBox(3) User Contributed Perl Documentation Gtk2::ComboBox(3)NAMEGtk2::ComboBox - A widget used to choose from a list of items
SYNOPSIS
# the easy way:
$combobox = Gtk2::ComboBox->new_text;
foreach (@strings) {
$combobox->append_text ($_);
}
$combobox->prepend_text ($another_string);
$combobox->insert_text ($index, $yet_another_string);
$combobox->remove_text ($index);
$text = $combobox->get_active_text;
# the full-featured way.
# a combo box that shows stock ids and their images:
use constant ID_COLUMN => 0;
$model = Gtk2::ListStore->new ('Glib::String');
foreach (qw(gtk-ok gtk-cancel gtk-yes gtk-no gtk-save gtk-open)) {
$model->set ($model->append, ID_COLUMN, $_);
}
$combo_box = Gtk2::ComboBox->new ($model);
# to display anything, you must pack cell renderers into
# the combobox, which implements the Gtk2::CellLayout interface.
$renderer = Gtk2::CellRendererPixbuf->new;
$combo_box->pack_start ($renderer, FALSE);
$combo_box->add_attribute ($renderer, stock_id => ID_COLUMN);
$renderer = Gtk2::CellRendererText->new;
$combo_box->pack_start ($renderer, TRUE);
$combo_box->add_attribute ($renderer, text => ID_COLUMN);
# select by index
$combo_box->set_active ($index);
$active_index = $combo_box->get_active;
# or by iter
$combo_box->set_active_iter ($iter);
$active_iter = $combo_box->get_active_iter;
DESCRIPTIONGtk2::ComboBox is a widget that allows the user to choose from a list
of valid choices. The ComboBox displays the selected choice. When
activated, the ComboBox displays a popup which allows the user to make
a new choice.
Unlike its predecessors Gtk2::Combo and Gtk2::OptionMenu, the
Gtk2::ComboBox uses the model-view pattern; the list of valid choices
is specified in the form of a tree model, and the display of the
choices can be adapted to the data in the model by using cell
renderers, as you would in a tree view. This is possible since
ComboBox implements the Gtk2::CellLayout interface. The tree model
holding the valid choices is not restricted to a flat list; it can be a
real tree, and the popup will reflect the tree structure.
In addition to the model-view API, ComboBox offers a simple API which
is suitable for text-only combo boxes, and hides the complexity of
managing the data in a model. It consists of the methods "new_text",
"append_text", "insert_text", "prepend_text", "remove_text" and
"get_active_text".
HIERARCHY
Glib::Object
+----Glib::InitiallyUnowned
+----Gtk2::Object
+----Gtk2::Widget
+----Gtk2::Container
+----Gtk2::Bin
+----Gtk2::ComboBox
INTERFACES
Glib::Object::_Unregistered::AtkImplementorIface
Gtk2::CellEditable
Gtk2::CellLayout
METHODS
widget = Gtk2::ComboBox->new ($model=undef)
· $model (Gtk2::TreeModel)
widget = Gtk2::ComboBox->new_text
widget = Gtk2::ComboBox->new_with_model ($model=undef)
· $model (Gtk2::TreeModel)
integer = $combo_box->get_active
treeiter = $combo_box->get_active_iter
$combo_box->set_active_iter ($iter)
· $iter (Gtk2::TreeIter)
$combo_box->set_active ($index)
· $index (integer)
string = $combo_box->get_active_text
boolean = $combo_box->get_add_tearoffs
$combo_box->set_add_tearoffs ($add_tearoffs)
· $add_tearoffs (boolean)
$combo_box->append_text ($text)
· $text (string)
integer = $combo_box->get_column_span_column
$combo_box->set_column_span_column ($column_span)
· $column_span (integer)
boolean = $combo_box->get_focus_on_click
$combo_box->set_focus_on_click ($focus_on_click)
· $focus_on_click (boolean)
$combo_box->insert_text ($position, $text)
· $position (integer)
· $text (string)
treemodel = $combo_box->get_model
$combo_box->set_model ($model)
· $model (Gtk2::TreeModel)
$combo_box->popdown
$combo_box->popup
$combo_box->prepend_text ($text)
· $text (string)
$combo_box->remove_text ($position)
· $position (integer)
$combo_box->set_row_separator_func ($func, $data=undef)
· $func (scalar)
· $data (scalar)
integer = $combo_box->get_row_span_column
$combo_box->set_row_span_column ($row_span)
· $row_span (integer)
string = $combo_box->get_title
$combo_box->set_title ($title)
· $title (string)
integer = $combo_box->get_wrap_width
$combo_box->set_wrap_width ($width)
· $width (integer)
PROPERTIES
'active' (integer : readable / writable / private)
The item which is currently active
'add-tearoffs' (boolean : readable / writable / private)
Whether dropdowns should have a tearoff menu item
'column-span-column' (integer : readable / writable / private)
TreeModel column containing the column span values
'focus-on-click' (boolean : readable / writable / private)
Whether the combo box grabs focus when it is clicked with the mouse
'has-frame' (boolean : readable / writable / private)
Whether the combo box draws a frame around the child
'model' (Gtk2::TreeModel : readable / writable / private)
The model for the combo box
'popup-shown' (boolean : readable / private)
Whether the combo's dropdown is shown
'row-span-column' (integer : readable / writable / private)
TreeModel column containing the row span values
'tearoff-title' (string : readable / writable / private)
A title that may be displayed by the window manager when the popup
is torn-off
'wrap-width' (integer : readable / writable / private)
Wrap width for laying out the items in a grid
SIGNALS
changed (Gtk2::ComboBox)
SEE ALSO
Gtk2, Glib::Object, Glib::InitiallyUnowned, Gtk2::Object, Gtk2::Widget,
Gtk2::Container, Gtk2::Bin
COPYRIGHT
Copyright (C) 2003-2006 by the gtk2-perl team.
This software is licensed under the LGPL. See Gtk2 for a full notice.
perl v5.10.0 2008-08-29 Gtk2::ComboBox(3)