Пример #1
0
 function __construct()
 {
     $this->builder = $builder = new GtkBuilder();
     $builder->add_from_file('hello.ui');
     $builder->connect_signals_instance($this);
     /*
     $objects = $builder->get_objects();
     echo count($objects), " objects were created by GtkBuilder\n";
     
     $builder->set_translation_domain('myapp');
     echo $builder->get_translation_domain(), "\n";
     
     var_dump($builder->get_type_from_name('GtkButton'));
     */
     foreach (array('window1', 'entry1', 'button1') as $widget) {
         $this->widgets[$widget] = $builder->get_object($widget);
     }
     $this->widgets['window1']->show_all();
 }
Пример #2
0
      </object>
    </child>
    <signal name="destroy" handler="Gtk::main_quit" />
  </object>
</interface>';
function foo()
{
    echo "button was clicked\n";
}
class handler
{
    function doBar()
    {
        echo "another button was clicked\n";
    }
}
$builder = new GtkBuilder();
$builder->add_from_string($xml);
$builder->add_from_file(dirname(__FILE__) . '/notebook.xml');
$class = new handler();
$builder->connect_signals(array('handler' => array($class, 'doBar')));
// could also use $builder->connect_signals_instance if they were all in a single class
$builder->get_object('vbox')->add($builder->get_object('mynotebook'));
$objects = $builder->get_objects();
echo count($objects), " objects were created by GtkBuilder\n";
$builder->set_translation_domain('myapp');
echo $builder->get_translation_domain(), "\n";
var_dump($builder->get_type_from_name('GtkButton'));
$window = $builder->get_object('window1');
$window->show_all();
Gtk::main();