com gtk/php-gtk: overrides for GtkTreeStore insert()/insert _before()/insert_after(). (Christian, And rei): ext/gtk+/gtk.overrides ext/gtk+/gtktreeview.o verrides
[email protected] (David Soria Parra) Thu, 19 Jan 2006 19:41:05 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: 3548d673e6583b942b46d9f8301d02d4eb5620d4 Author: Andrei Zmievski <[email protected]> Thu, 19 Jan 2006 19:41:05 +0000 Parents: 037115ea2299d1dafc07b3499d2c00177ee61847 Branches: master Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=3548d673e6583b942b46d9f8301d02d4eb5620d4 Log: overrides for GtkTreeStore insert()/insert_before()/insert_after(). (Christian, Andrei) Changed paths: M ext/gtk+/gtk.overrides M ext/gtk+/gtktreeview.overrides Diff: 3548d673e6583b942b46d9f8301d02d4eb5620d4 diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides index 45cb2f9..799a1f5 100644 --- a/ext/gtk+/gtk.overrides +++ b/ext/gtk+/gtk.overrides @@ -574,7 +574,6 @@ PHP_METHOD gint width, height; zval *php_settings; zval *php_size = NULL; - GtkSettings settings; GtkIconSize size; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "OV", &php_settings, gtksettings_ce, &php_size)) diff --git a/ext/gtk+/gtktreeview.overrides b/ext/gtk+/gtktreeview.overrides index c8c755c..8baa78d 100644 --- a/ext/gtk+/gtktreeview.overrides +++ b/ext/gtk+/gtktreeview.overrides @@ -459,6 +459,91 @@ PHP_METHOD } %% +override gtk_tree_store_insert +PHP_METHOD +{ + GtkTreeIter iter; + gint position; + zval *items = NULL; + zval *php_parent_iter = NULL; + GtkTreeIter *parent_iter = NULL; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "i|Na", &position, &php_parent_iter, gtktreeiter_ce, &items)) + return; + + if (php_parent_iter && IS_OBJECT == Z_TYPE_P(php_parent_iter)) { + parent_iter = (GtkTreeIter *) PHPG_GBOXED(php_parent_iter); + } + + gtk_tree_store_insert(GTK_TREE_STORE(PHPG_GOBJECT(this_ptr)), &iter, parent_iter, position); + + if (items && phpg_model_set_row(GTK_TREE_MODEL(PHPG_GOBJECT(this_ptr)), &iter, items) == FAILURE) + return; + + phpg_gboxed_new(&return_value, GTK_TYPE_TREE_ITER, &iter, TRUE, TRUE TSRMLS_CC); +} + +%% +override gtk_tree_store_insert_before +PHP_METHOD +{ + GtkTreeIter iter; + zval *items = NULL; + zval *php_parent_iter = NULL, *php_sibling_iter = NULL; + GtkTreeIter *parent_iter = NULL, *sibling_iter = NULL; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|NNa", &php_sibling_iter, gtktreeiter_ce, &php_parent_iter, gtktreeiter_ce, &items)) + return; + + if (php_parent_iter && IS_OBJECT == Z_TYPE_P(php_parent_iter)) { + parent_iter = (GtkTreeIter *) PHPG_GBOXED(php_parent_iter); + } + if (php_sibling_iter && IS_OBJECT == Z_TYPE_P(php_sibling_iter)) { + sibling_iter = (GtkTreeIter *) PHPG_GBOXED(php_sibling_iter); + } + + gtk_tree_store_insert_before(GTK_TREE_STORE(PHPG_GOBJECT(this_ptr)), &iter, parent_iter, sibling_iter); + + if (items && phpg_model_set_row(GTK_TREE_MODEL(PHPG_GOBJECT(this_ptr)), &iter, items) == FAILURE) + return; + + phpg_gboxed_new(&return_value, GTK_TYPE_TREE_ITER, &iter, TRUE, TRUE TSRMLS_CC); +} + +%% +override gtk_tree_store_insert_after +PHP_METHOD +{ + GtkTreeIter iter; + zval *items = NULL; + zval *php_parent_iter = NULL, *php_sibling_iter = NULL; + GtkTreeIter *parent_iter = NULL, *sibling_iter = NULL; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|NNa", &php_sibling_iter, gtktreeiter_ce, &php_parent_iter, gtktreeiter_ce, &items)) + return; + + if (php_parent_iter && IS_OBJECT == Z_TYPE_P(php_parent_iter)) { + parent_iter = (GtkTreeIter *) PHPG_GBOXED(php_parent_iter); + } + if (php_sibling_iter && IS_OBJECT == Z_TYPE_P(php_sibling_iter)) { + sibling_iter = (GtkTreeIter *) PHPG_GBOXED(php_sibling_iter); + } + + gtk_tree_store_insert_after(GTK_TREE_STORE(PHPG_GOBJECT(this_ptr)), &iter, parent_iter, sibling_iter); + + if (items && phpg_model_set_row(GTK_TREE_MODEL(PHPG_GOBJECT(this_ptr)), &iter, items) == FAILURE) + return; + + phpg_gboxed_new(&return_value, GTK_TYPE_TREE_ITER, &iter, TRUE, TRUE TSRMLS_CC); +} + +%% add-arginfo GtkTreeStore set static ZEND_BEGIN_ARG_INFO_EX(ARGINFO_NAME, 0, 0, 3)