PHP-GTK
Friday, October 31, 2014 
download | documentation | applications | faq | changelog | resources 


search for in the  


previousGtkCellRendererToggle
GtkCellRendererToggle::get_activenext

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

GtkCellRendererToggle Constructor

Creates a new GtkCellRendererToggle. The toggle button rendering parameters are adjusted using the object properties. The object properties can be set globally (with set_property() ). Also, with GtkTreeViewColumn, you can bind a property to a value in a gtk.TreeModel. For example, you can bind the "active" property on the cell renderer to a boolean value in the model, thus causing the check button to reflect the state of the model.

Example 46. Creating an editable toggle renderer

<?php
//Create a check list with things to buy
// You can toggle the check item.
 
$store = new GtkListStore(
    Gtk::TYPE_STRING, //item
    Gtk::TYPE_BOOLEAN //bought?
);
 
//View is needed to display them
$view = new GtkTreeView($store);
 
//Item column
$rendererText = new GtkCellRendererText();
$columnItem   = new GtkTreeViewColumn(
    'Item', new GtkCellRendererText(), 'text', 0
);
$view->append_column($columnItem);
 
 
//GtkCellRendererToggle: bought? column
$rendererBought = new GtkCellRendererToggle();
$rendererBought->set_property('activatable', true);
$rendererBought->connect('toggled', 'bought_toggled', $store);
 
$columnBought = new GtkTreeViewColumn(
    'Bought?',        //title
    $rendererBought,  //the renderer
    'active',        //use that property
    1                //data is in that model column
);
$view->append_column($columnBought);
 
//When the user toggles the state, this
// method will be called.
function bought_toggled($renderer, $row, $store)
{
    $iter = $store->get_iter($row);
    //The value has been toggled -> we need
    // to invert the current value
    $store->set(
        $iter,
        1,
        !$store->get_value($iter, 1)
    );
}
 
//Add some data
$store->append(array('Milk'  , false));
$store->append(array('Butter', false));
$store->append(array('Juice' , true));
$store->append(array('Bread' , false));
 
 
$wnd = new GtkWindow();
$wnd->add($view);
$wnd->set_title('Check list');
$wnd->connect_simple('destroy', array('Gtk', 'main_quit'));
$wnd->show_all();
Gtk::main();
?>

User Contributed Notes
gtk.gtkcellrenderertoggle.constructor.php
add a note about notes
There are no user contributed notes for this page.


previousGtkCellRendererToggle
GtkCellRendererToggle::get_activenext

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:50:56 2013 CEST