You should rarely need to construct a GtkViewport directly, as its main use is where a GtkScrolledWindow needs a scrollable widget as its child - which situation is catered for with the method add_with_viewport() , saving three or four coding lines.
Ejemplo 56. Creating a GtkViewport the hard way
<?php dl('php_gtk.'.(strstr(PHP_OS, 'WIN') ? 'dll' : 'so')); /* set up a window */ $window = &new GtkWindow(); $window->set_position(GTK_WIN_POS_CENTER); $window->connect_object('destroy', array('gtk', 'main_quit')); /* set up the scrolled window and add it to the main window, sizing it if necessary. */ $scrolledwindow = &new GtkScrolledWindow(); $scrolledwindow->set_usize(150, 150); $window->add($scrolledwindow); /* create the viewport */ $viewport = &new GtkViewport(); $viewport->set_shadow_type(GTK_SHADOW_ETCHED_OUT); /* create a box container and add child widget or widgets to it - because as with most widgets, a GtkCalendar has no adjustment-friendly focus internals, whereas a box container does */ $box = &new GtkVBox(); $calendar = &new GtkCalendar(); $box->pack_start($calendar, false); /* add the box to the viewport, and the viewport to the scrolled window */ $viewport->add($box); $scrolledwindow->add($viewport); $box->show_all(); $window->show_all(); gtk::main(); ?> |