PHP-GTK
Wednesday, July 30, 2014 
download | documentation | applications | faq | changelog | resources 


search for in the  


previousGtkTreeSelection::get_selected
GtkTreeSelection::get_tree_viewnext

Last updated: Sun, 12 May 2013
view this page in English

GtkTreeSelection::get_selected_rows

Returns an array containing the model and an array of tree paths of the selected rows. The tree path array can be walked by an foreach or for loop, and the single paths can be converted to an iterator via the get_iter() method of GtkTreeModel.

Unlike the get_selected() method, this here works with all selection modes.

Example 129. Using get_selected_rows

<?php
//create a model
$model = new GtkListStore(Gtk::TYPE_STRING);
//create the view to display the model data
$view = new GtkTreeView($model);
 
//now, get the selection object of that view
$selection = $view->get_selection();
 
//we want to be able to select multiple rows
$selection->set_mode(Gtk::SELECTION_MULTIPLE);
 
//capture the "changed" signal
$selection->connect('changed', 'selection_changed');
 
/**
*   This is the callback function for the changed
*   signal and display the value of the first column
*   of all selected rows
*/
function selection_changed($selection)
{
    list($model, $arPaths) = $selection->get_selected_rows();
    echo "Selection is now:\r\n";
    foreach ($arPaths as $path) {
        $iter = $model->get_iter($path);
        echo '  ' . $model->get_value($iter, 0) . "\r\n";
    }
}//function selection_changed($selection)
 
 
//add a column to display the data
$col = new GtkTreeViewColumn('Number', new GtkCellRendererText(), 'text', 0);
$view->append_column($col);
 
//add some data to the model/store
$model->append(array('Zero'));
$model->append(array('One'));
$model->append(array('Two'));
$model->append(array('Three'));
$model->append(array('Four'));
$model->append(array('Five'));
 
$selection->select_range(1, -1);
 
//add the view to the window
$wnd = new GtkWindow();
$wnd->set_title('GtkTreeView selection example');
$wnd->connect_simple('destroy', array('Gtk', 'main_quit'));
$wnd->add($view);
$wnd->show_all();
Gtk::main();
?>

See also: get_selected() count_selected_rows()


User Contributed Notes
gtk.gtktreeselection.method.get_selected_rows.php
add a note about notes
There are no user contributed notes for this page.


previousGtkTreeSelection::get_selected
GtkTreeSelection::get_tree_viewnext

Last updated: Sun, 12 May 2013
view this page in English


credits 

PHP  Copyright © 2001-2014 The PHP Group
 All rights reserved.
Last updated: Sun May 12 20:51:01 2013 CEST