cvs: php-gtk / TODO /generator arg_types.php gdk.overrides gtk.defs gtk.overrides /src php_gtk.h php_gtk_types.c /test gtk.php

From: Date: Sat, 31 Mar 2001 22:23:13 +0000
Subject: cvs: php-gtk / TODO /generator arg_types.php gdk.overrides gtk.defs gtk.overrides /src php_gtk.h php_gtk_types.c /test gtk.php
Groups: php.gtk 
Request: Send a blank email to php-gtk+get-1241@lists.php.net to get a copy of this message
andrei Sat Mar 31 14:23:13 2001 EDT Modified files: /php-gtk TODO /php-gtk/generator arg_types.php gdk.overrides gtk.defs gtk.overrides /php-gtk/src php_gtk.h php_gtk_types.c /php-gtk/test gtk.php Log: * Implemented better separation of GdkWindow, GdkPixmap, and GdkBitmap. * Added GtkCList 'row_list' property and GtkCListRow helper class. * Finally fixed GtkCTree::insert_row() for good. No wonder it wasn't working. * Added GtkCTree::node_set_row_data(), GtkCTree::node_get_row_data(). * More work on GtkCTree example in gtk.php.

Index: php-gtk/TODO diff -u php-gtk/TODO:1.26 php-gtk/TODO:1.27 --- php-gtk/TODO:1.26 Sat Mar 24 15:49:43 2001 +++ php-gtk/TODO Sat Mar 31 14:23:11 2001 @@ -8,6 +8,10 @@ * See if it's possible or needed to set GtkAdjustment properties (and similar ones). * Add missing field defs to gtk.defs. +* Move GtkBoxChild, GtkFixedChild, and GtkCListRow to php_gtk_types.c. Introduce + generic le_wrapper instead of le_gtk_ctree_node and all - they are just + structures and do not not need to be released. Write constructor and prop + getter functions for them, use constructors in overrides. In PHP ------ Index: php-gtk/generator/arg_types.php diff -u php-gtk/generator/arg_types.php:1.18 php-gtk/generator/arg_types.php:1.19 --- php-gtk/generator/arg_types.php:1.18 Mon Mar 12 21:29:50 2001 +++ php-gtk/generator/arg_types.php Sat Mar 31 14:23:11 2001 @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: arg_types.php,v 1.18 2001/03/13 05:29:50 andrei Exp $ */ +/* $Id: arg_types.php,v 1.19 2001/03/31 22:23:11 andrei Exp $ */ /*======================================================================*\ Function: convert_typename @@ -578,9 +578,9 @@ $matcher->register_boxed('GdkEvent', 'gdk_event'); $matcher->register_boxed('GdkWindow', 'gdk_window'); -$matcher->register('GdkPixmap*', $matcher->get('GdkWindow*')); -$matcher->register('GdkBitmap*', $matcher->get('GdkWindow*')); -$matcher->register('GdkDrawable*', $matcher->get('GdkWindow*')); +$matcher->register_boxed('GdkPixmap', 'gdk_pixmap'); +$matcher->register_boxed('GdkBitmap', 'gdk_bitmap'); +$matcher->register('GdkDrawable', $matcher->get('GdkWindow*')); $matcher->register_boxed('GdkColor', 'gdk_color'); $matcher->register_boxed('GdkColormap', 'gdk_colormap'); $matcher->register_boxed('GdkCursor', 'gdk_cursor'); Index: php-gtk/generator/gdk.overrides diff -u php-gtk/generator/gdk.overrides:1.2 php-gtk/generator/gdk.overrides:1.3 --- php-gtk/generator/gdk.overrides:1.2 Tue Mar 20 12:32:15 2001 +++ php-gtk/generator/gdk.overrides Sat Mar 31 14:23:11 2001 @@ -42,7 +42,7 @@ return; } - *return_value = *php_gtk_build_value("(NN)", php_gdk_window_new(pixmap), php_gdk_window_new(mask)); + *return_value = *php_gtk_build_value("(NN)", php_gdk_pixmap_new(pixmap), php_gdk_bitmap_new(mask)); gdk_pixmap_unref(pixmap); gdk_bitmap_unref(mask); } @@ -78,7 +78,7 @@ return; } - *return_value = *php_gtk_build_value("(NN)", php_gdk_window_new(pixmap), php_gdk_window_new(mask)); + *return_value = *php_gtk_build_value("(NN)", php_gdk_pixmap_new(pixmap), php_gdk_bitmap_new(mask)); gdk_pixmap_unref(pixmap); gdk_bitmap_unref(mask); } Index: php-gtk/generator/gtk.defs diff -u php-gtk/generator/gtk.defs:1.13 php-gtk/generator/gtk.defs:1.14 --- php-gtk/generator/gtk.defs:1.13 Tue Mar 27 20:29:25 2001 +++ php-gtk/generator/gtk.defs Sat Mar 31 14:23:11 2001 @@ -536,6 +536,7 @@ (field (type-and-name GtkSortType sort_type)) (field (type-and-name GList* selection)) (field (type-and-name GtkSelectionMode selection_mode)) + (field (type-and-name GList* row_list)) ) (object CTree Index: php-gtk/generator/gtk.overrides diff -u php-gtk/generator/gtk.overrides:1.40 php-gtk/generator/gtk.overrides:1.41 --- php-gtk/generator/gtk.overrides:1.40 Tue Mar 27 20:29:25 2001 +++ php-gtk/generator/gtk.overrides Sat Mar 31 14:23:11 2001 @@ -1001,6 +1001,19 @@ return; } + if (Z_TYPE_P(php_parent) != IS_NULL) + parent = PHP_GTK_CTREE_NODE_GET(php_parent); + if (Z_TYPE_P(php_sibling) != IS_NULL) + sibling = PHP_GTK_CTREE_NODE_GET(php_sibling); + if (Z_TYPE_P(php_pixmap_closed) != IS_NULL) + pixmap_closed = PHP_GDK_PIXMAP_GET(php_pixmap_closed); + if (Z_TYPE_P(php_mask_closed) != IS_NULL) + mask_closed = PHP_GDK_BITMAP_GET(php_mask_closed); + if (Z_TYPE_P(php_pixmap_opened) != IS_NULL) + pixmap_opened = PHP_GDK_PIXMAP_GET(php_pixmap_opened); + if (Z_TYPE_P(php_mask_opened) != IS_NULL) + mask_opened = PHP_GDK_BITMAP_GET(php_mask_opened); + text = emalloc(sizeof(gchar *) * columns); i = 0; zend_hash_internal_pointer_reset(target_hash); @@ -1450,3 +1463,97 @@ SEPARATE_ZVAL(&ret); *return_value = *ret; +%% +register_class gtk_clistrow_ce + INIT_CLASS_ENTRY(ce, "gtkclistrow", NULL); + gtk_clistrow_ce = zend_register_internal_class_ex(&ce, NULL, NULL); +%% +getprop GtkCList row_list + GtkCListRow *clist_row; + zval *php_clist_row; + GList *tmp; + GList *row_list = GTK_CLIST(PHP_GTK_GET(object))->row_list; + zend_overloaded_element *property; + zend_llist_element *next = (*element)->next; + int prop_index; + + if (next) { + int i = 0; + property = (zend_overloaded_element *)next->data; + if (Z_TYPE_P(property) == OE_IS_ARRAY && Z_TYPE(property->element) == IS_LONG) { + *element = next; + prop_index = Z_LVAL(property->element); + for (tmp = row_list, i = 0; tmp; tmp = tmp->next, i++) { + if (i == prop_index) { + clist_row = (GtkCListRow *)tmp->data; + object_init_ex(return_value, gtk_clistrow_ce); + + /* TODO add 'data' and 'cell' here */ + add_property_long(return_value, "state", clist_row->state); + add_property_zval(return_value, "foreground", php_gdk_color_new(&clist_row->foreground)); + add_property_zval(return_value, "background", php_gdk_color_new(&clist_row->background)); + add_property_zval(return_value, "style", php_gtk_style_new(clist_row->style)); + add_property_bool(return_value, "fg_set", clist_row->fg_set); + add_property_bool(return_value, "bg_set", clist_row->bg_set); + add_property_bool(return_value, "selectable", clist_row->selectable); + return; + } + } + } + } else { + array_init(return_value); + for (tmp = row_list; tmp; tmp = tmp->next) { + clist_row = (GtkCListRow *)tmp->data; + MAKE_STD_ZVAL(php_clist_row); + object_init_ex(php_clist_row, gtk_clistrow_ce); + + /* TODO add 'data' and 'cell' here */ + add_property_long(php_clist_row, "state", clist_row->state); + add_property_zval(php_clist_row, "foreground", php_gdk_color_new(&clist_row->foreground)); + add_property_zval(php_clist_row, "background", php_gdk_color_new(&clist_row->background)); + add_property_zval(php_clist_row, "style", php_gtk_style_new(clist_row->style)); + add_property_bool(php_clist_row, "fg_set", clist_row->fg_set); + add_property_bool(php_clist_row, "bg_set", clist_row->bg_set); + add_property_bool(php_clist_row, "selectable", clist_row->selectable); + + add_next_index_zval(return_value, php_clist_row); + } + } +%% +ignore gtk_ctree_node_set_row_data_full +%% +override gtk_ctree_node_set_row_data kwargs +PHP_FUNCTION(wrap_gtk_ctree_node_set_row_data) +{ + zval *node, *data; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "OV", &node, gtk_ctree_node_ce, &data)) + return; + + zval_add_ref(&data); + gtk_ctree_node_set_row_data_full(GTK_CTREE(PHP_GTK_GET(this_ptr)), + PHP_GTK_CTREE_NODE_GET(node), data, + php_gtk_destroy_notify); +} +%% +override gtk_ctree_node_get_row_data +PHP_FUNCTION(wrap_gtk_ctree_node_get_row_data) +{ + zval *node, *data; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "O", &node, gtk_ctree_node_ce)) + return; + + data = gtk_ctree_node_get_row_data(GTK_CTREE(PHP_GTK_GET(this_ptr)), + PHP_GTK_CTREE_NODE_GET(node)); + if (data) { + *return_value = *data; + zval_copy_ctor(return_value); + } else { + RETURN_NULL(); + } +} Index: php-gtk/src/php_gtk.h diff -u php-gtk/src/php_gtk.h:1.28 php-gtk/src/php_gtk.h:1.29 --- php-gtk/src/php_gtk.h:1.28 Tue Mar 13 09:07:48 2001 +++ php-gtk/src/php_gtk.h Sat Mar 31 14:23:12 2001 @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: php_gtk.h,v 1.28 2001/03/13 17:07:48 andrei Exp $: */ +/* $Id: php_gtk.h,v 1.29 2001/03/31 22:23:12 andrei Exp $: */ #ifndef _PHP_GTK_H #define _PHP_GTK_H @@ -33,6 +33,7 @@ extern int le_gtk; extern int le_gdk_event; extern int le_gdk_window; +extern int le_gdk_bitmap; extern int le_gdk_color; extern int le_gdk_colormap; extern int le_gdk_cursor; @@ -75,6 +76,8 @@ #define PHP_GTK_GET(w) ((GtkObject *)php_gtk_get_object(w, le_gtk)) #define PHP_GDK_EVENT_GET(w) ((GdkEvent *)php_gtk_get_object(w, le_gdk_event)) #define PHP_GDK_WINDOW_GET(w) ((GdkWindow *)php_gtk_get_object(w, le_gdk_window)) +#define PHP_GDK_PIXMAP_GET(w) ((GdkPixmap *)php_gtk_get_object(w, le_gdk_window)) +#define PHP_GDK_BITMAP_GET(w) ((GdkBitmap *)php_gtk_get_object(w, le_gdk_bitmap)) #define PHP_GDK_COLOR_GET(w) ((GdkColor *)php_gtk_get_object(w, le_gdk_color)) #define PHP_GDK_COLORMAP_GET(w) ((GdkColormap *)php_gtk_get_object(w, le_gdk_colormap)) #define PHP_GDK_ATOM_GET(w) (php_gdk_atom_get(w)) @@ -128,6 +131,8 @@ zval *php_gtk_new(GtkObject *obj); zval *php_gdk_event_new(GdkEvent *event); zval *php_gdk_window_new(GdkWindow *window); +zval *php_gdk_pixmap_new(GdkPixmap *pixmap); +zval *php_gdk_bitmap_new(GdkBitmap *bitmap); zval *php_gdk_color_new(GdkColor *color); zval *php_gdk_colormap_new(GdkColormap *cmap); zval *php_gdk_atom_new(GdkAtom atom); Index: php-gtk/src/php_gtk_types.c diff -u php-gtk/src/php_gtk_types.c:1.24 php-gtk/src/php_gtk_types.c:1.25 --- php-gtk/src/php_gtk_types.c:1.24 Tue Mar 20 12:32:15 2001 +++ php-gtk/src/php_gtk_types.c Sat Mar 31 14:23:12 2001 @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: php_gtk_types.c,v 1.24 2001/03/20 20:32:15 andrei Exp $ */ +/* $Id: php_gtk_types.c,v 1.25 2001/03/31 22:23:12 andrei Exp $ */ #include "php_gtk.h" @@ -29,6 +29,7 @@ int le_gdk_event; int le_gdk_window; +int le_gdk_bitmap; int le_gdk_color; int le_gdk_colormap; int le_gdk_cursor; @@ -585,6 +586,44 @@ return result; } +zval *php_gdk_pixmap_new(GdkPixmap *pixmap) +{ + zval *result; + + MAKE_STD_ZVAL(result); + + if (!pixmap) { + ZVAL_NULL(result); + return result; + } + + object_init_ex(result, gdk_pixmap_ce); + + gdk_pixmap_ref(pixmap); + php_gtk_set_object(result, pixmap, le_gdk_window); + + return result; +} + +zval *php_gdk_bitmap_new(GdkWindow *bitmap) +{ + zval *result; + + MAKE_STD_ZVAL(result); + + if (!bitmap) { + ZVAL_NULL(result); + return result; + } + + object_init_ex(result, gdk_bitmap_ce); + + gdk_bitmap_ref(bitmap); + php_gtk_set_object(result, bitmap, le_gdk_bitmap); + + return result; +} + static void gdk_window_get_property(zval *return_value, zval *object, zend_llist_element **element, int *found) { zval *value; @@ -659,6 +698,11 @@ gdk_window_unref(obj); } +static void release_gdk_bitmap_rsrc(zend_rsrc_list_entry *rsrc) +{ + GdkBitmap *obj = (GdkBitmap *)rsrc->ptr; + gdk_bitmap_unref(obj); +} /* GdkColor */ PHP_FUNCTION(gdkcolor) @@ -1268,13 +1312,13 @@ ZVAL_LONG(return_value, gcv.fill); } else if (!strcmp(prop_name, "tile")) { if (gcv.tile) - *return_value = *php_gdk_window_new(gcv.tile); + *return_value = *php_gdk_pixmap_new(gcv.tile); } else if (!strcmp(prop_name, "stipple")) { if (gcv.stipple) - *return_value = *php_gdk_window_new(gcv.stipple); + *return_value = *php_gdk_pixmap_new(gcv.stipple); } else if (!strcmp(prop_name, "clip_mask")) { if (gcv.clip_mask) - *return_value = *php_gdk_window_new(gcv.clip_mask); + *return_value = *php_gdk_pixmap_new(gcv.clip_mask); } else if (!strcmp(prop_name, "subwindow_mode")) { ZVAL_LONG(return_value, gcv.subwindow_mode); } else if (!strcmp(prop_name, "ts_x_origin")) { @@ -1743,7 +1787,7 @@ { GdkWindow **pixmap_array = (GdkPixmap **)array; if (pixmap_array[prop_index]) - *result = *php_gdk_window_new(pixmap_array[prop_index]); + *result = *php_gdk_pixmap_new(pixmap_array[prop_index]); } return; @@ -1777,7 +1821,7 @@ { GdkWindow **pixmap_array = (GdkWindow **)array; for (i = 0; i < 5; i++) - add_next_index_zval(result, php_gdk_window_new(pixmap_array[i])); + add_next_index_zval(result, php_gdk_pixmap_new(pixmap_array[i])); } break; @@ -2014,6 +2058,7 @@ le_gdk_event = zend_register_list_destructors_ex(NULL, NULL, "GdkEvent", module_number); le_gdk_window = zend_register_list_destructors_ex(release_gdk_window_rsrc, NULL, "GdkWindow", module_number); + le_gdk_bitmap = zend_register_list_destructors_ex(release_gdk_bitmap_rsrc, NULL, "GdkBitmap", module_number); le_gdk_color = zend_register_list_destructors_ex(release_gdk_color_rsrc, NULL, "GdkColor", module_number); le_gdk_colormap = zend_register_list_destructors_ex(release_gdk_colormap_rsrc, NULL, "GdkColormap", module_number); le_gdk_cursor = zend_register_list_destructors_ex(release_gdk_cursor_rsrc, NULL, "GdkCursor", module_number); Index: php-gtk/test/gtk.php diff -u php-gtk/test/gtk.php:1.18 php-gtk/test/gtk.php:1.19 --- php-gtk/test/gtk.php:1.18 Tue Mar 27 20:29:26 2001 +++ php-gtk/test/gtk.php Sat Mar 31 14:23:12 2001 @@ -1,5 +1,5 @@ <?php -/* $Id: gtk.php,v 1.18 2001/03/28 04:29:26 andrei Exp $ */ +/* $Id: gtk.php,v 1.19 2001/03/31 22:23:12 andrei Exp $ */ if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') dl('php_gtk.dll'); @@ -34,7 +34,7 @@ } $omenu->set_menu($menu); - if ($history) + if ($history !== null) $omenu->set_history($history); return $omenu; @@ -47,17 +47,97 @@ } -$books = 1; -$pages = 0; +$ctree_data['books'] = 1; +$ctree_data['pages'] = 0; + function create_ctree() { global $windows, - $books, - $pages; + $ctree_data; if (!isset($windows['ctree'])) { function rebuild_tree($button, $ctree) { + global $ctree_data; + + $d = $ctree_data['spin1']->get_value_as_int(); + $b = $ctree_data['spin2']->get_value_as_int(); + $p = $ctree_data['spin3']->get_value_as_int(); + + $n = intval((pow($b, $d) - 1) / ($b - 1)) * ($p + 1); + + if ($n > 100000) { + print "$n total items? Try less\n"; + return; + } + + $ctree_data['books'] = 1; + $ctree_data['pages'] = 0; + + $clist = $ctree->clist; + $clist->freeze(); + $clist->clear(); + + $text = array('Root', ''); + + $parent = $ctree->insert_node(null, null, $text, 5, + $ctree_data['pixmap1'], + $ctree_data['mask1'], + $ctree_data['pixmap2'], + $ctree_data['mask2'], false, true); + + $style = &new GtkStyle(); + $style->base[GTK_STATE_NORMAL]->red = 0; + $style->base[GTK_STATE_NORMAL]->green = 45000; + $style->base[GTK_STATE_NORMAL]->blue = 55000; + $ctree->node_set_row_data($parent, $style); + + if ($ctree->line_style == GTK_CTREE_LINES_TABBED) + $ctree->node_set_row_style($parent, $style); + + build_recursive($ctree, 1, $d, $b, $p, $parent); + $clist->thaw(); + //after_press($ctree, null); + } + + function build_recursive($ctree, $cur_depth, $depth, $num_books, + $num_pages, $parent) + { + global $ctree_data; + + for ($i = $num_pages + $num_books; $i > $num_books; $i--) { + $ctree_data['pages']++; + $text[0] = sprintf('Page %02d', rand() % 100); + $text[1] = sprintf('Item %d-%d', $cur_depth, $i); + $sibling = $ctree->insert_node($parent, $sibling, $text, 5, + $ctree_data['pixmap3'], + $ctree_data['mask3'], null, null, + true, false); + /* + if (parent && ctree->line_style == GTK_CTREE_LINES_TABBED) + gtk_ctree_node_set_row_style (ctree, sibling, + GTK_CTREE_ROW (parent)->row.style); + */ + } + + if ($cur_depth == $depth) + return; + + for ($i = $num_books; $i > 0; $i--) { + $ctree_data['books']++; + + $text[0] = sprintf('Book %02d', rand() % 100); + $text[1] = sprintf('Item %d-%d', $cur_depth, $i); + $sibling = $ctree->insert_node($parent, $sibling, $text, 5, + $ctree_data['pixmap1'], + $ctree_data['mask1'], + $ctree_data['pixmap2'], + $ctree_data['mask2'], + false, false); + + build_recursive($ctree, $cur_depth + 1, $depth, $num_books, + $num_pages, $sibling); + } } $window = &new GtkWindow; @@ -82,27 +162,27 @@ $label->show(); $adj = &new GtkAdjustment(4.0, 1.0, 10.0, 1.0, 5.0, 0.0); - $spin1 = &new GtkSpinButton($adj, 0.0, 0); - $hbox->pack_start($spin1, false, true, 5); - $spin1->show(); + $ctree_data['spin1'] = &new GtkSpinButton($adj, 0.0, 0); + $hbox->pack_start($ctree_data['spin1'], false, true, 5); + $ctree_data['spin1']->show(); $label = &new GtkLabel('Books :'); $hbox->pack_start($label, false); $label->show(); $adj = &new GtkAdjustment(3.0, 1.0, 20.0, 1.0, 5.0, 0.0); - $spin2 = &new GtkSpinButton($adj, 0.0, 0); - $hbox->pack_start($spin2, false, true, 5); - $spin2->show(); + $ctree_data['spin2'] = &new GtkSpinButton($adj, 0.0, 0); + $hbox->pack_start($ctree_data['spin2'], false, true, 5); + $ctree_data['spin2']->show(); $label = &new GtkLabel('Pages :'); $hbox->pack_start($label, false); $label->show(); $adj = &new GtkAdjustment(5.0, 1.0, 20.0, 1.0, 5.0, 0.0); - $spin3 = &new GtkSpinButton($adj, 0.0, 0); - $hbox->pack_start($spin3, false, true, 5); - $spin3->show(); + $ctree_data['spin3'] = &new GtkSpinButton($adj, 0.0, 0); + $hbox->pack_start($ctree_data['spin3'], false, true, 5); + $ctree_data['spin3']->show(); $button = &new GtkButton('Close'); $button->connect('clicked', 'close_window'); @@ -256,11 +336,11 @@ $hbox->pack_start($omenu1, false); $omenu1->show(); - $items2 = array('None' => array('clist_toggle_expander_style', $ctree, GTK_CTREE_LINES_NONE), - 'Square' => array('clist_toggle_expander_style', $ctree, GTK_CTREE_LINES_SQUARE), - 'Triangle' => array('clist_toggle_expander_style', $ctree, GTK_CTREE_LINES_TRIANGLE), - 'Circular' => array('clist_toggle_expander_style', $ctree, GTK_CTREE_LINES_CIRCULAR)); - $omenu2 = build_option_menu($items2, 1); + $items2 = array('None' => array('clist_toggle_expander_style', $ctree, GTK_CTREE_EXPANDER_NONE), + 'Square' => array('clist_toggle_expander_style', $ctree, GTK_CTREE_EXPANDER_SQUARE), + 'Triangle' => array('clist_toggle_expander_style', $ctree, GTK_CTREE_EXPANDER_TRIANGLE), + 'Circular' => array('clist_toggle_expander_style', $ctree, GTK_CTREE_EXPANDER_CIRCULAR)); + $omenu2 = build_option_menu($items2, 2); $tooltips->set_tip($omenu1, "The tree's expander style.", ''); $hbox->pack_start($omenu2, false); $omenu2->show(); @@ -350,9 +430,9 @@ " "); $transparent = &new GdkColor(0, 0, 0); - list($pixmap1, $mask1) = Gdk::pixmap_create_from_xpm_d($window->window, $transparent, $book_closed_xpm); - list($pixmap2, $mask2) = Gdk::pixmap_create_from_xpm_d($window->window, $transparent, $book_open_xpm); - list($pixmap3, $mask3) = Gdk::pixmap_create_from_xpm_d($window->window, $transparent, $mini_page_xpm); + list($ctree_data['pixmap1'], $ctree_data['mask1']) = Gdk::pixmap_create_from_xpm_d($window->window, $transparent, $book_closed_xpm); + list($ctree_data['pixmap2'], $ctree_data['mask2']) = Gdk::pixmap_create_from_xpm_d($window->window, $transparent, $book_open_xpm); + list($ctree_data['pixmap3'], $ctree_data['mask3']) = Gdk::pixmap_create_from_xpm_d($window->window, $transparent, $mini_page_xpm); $ctree->set_usize(0, 300); @@ -381,7 +461,7 @@ $hbox2->pack_start($label, false); $label->show(); - $book_label = &new GtkLabel((string)$books); + $book_label = &new GtkLabel((string)$ctree_data['books']); $hbox2->pack_start($book_label, false, true, 5); $book_label->show(); @@ -399,7 +479,7 @@ $hbox2->pack_start($label, false); $label->show(); - $page_label = &new GtkLabel((string)$pages); + $page_label = &new GtkLabel((string)$ctree_data['pages']); $hbox2->pack_start($page_label, false, true, 5); $page_label->show(); @@ -435,7 +515,6 @@ $hbox2->pack_start($label, false); $label->show(); - /* TODO implement GtkCListRow and its properties */ $vis_label = &new GtkLabel((string)count($clist->row_list)); $hbox2->pack_start($vis_label, false, true, 5); $vis_label->show();
« previous php.gtk (#1241) next »