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)