Re: Overrides

From: Date: Wed, 24 Jan 2007 16:48:01 +0000
Subject: Re: Overrides
References: 1  Groups: php.gtk.dev 
Request: Send a blank email to php-gtk-dev+get-3575@lists.php.net to get a copy of this message
Thanks Elizabeth! I'll review tonight. -Andrei On Jan 24, 2007, at 6:46 AM, Elizabeth Smith wrote:
Morning, I've been working on helping the php-gtk2 completion this week - at least the gtk part - I haven't started on atk/gdk/pango et al. but they're on my todo list. I've also been working on implementing all of 2.8 and 2.10 as well but I won't send it until they're completely finished and tested. I'm aware that Andrei doesn't want to add the additional stuff until all the 2.6 stuff is done but I needed to start somewhere to see how the def files + overrides + interacting with gtk and php worked before I tackled harder stuff. These two patches ignore the idle methods that I assume Andrei was trying to ignore with his earlier commit, and the second patch implements the remaining gtktreeview methods for the high level dnd api. You're not alone Andrei :) Thanks, Elizabeth Smith Index: gtk.overrides =================================================================== RCS file: /repository/php-gtk/ext/gtk+/gtk.overrides,v retrieving revision 1.235 diff -u -r1.235 gtk.overrides --- gtk.overrides 23 Jan 2007 18:26:08 -0000 1.235 +++ gtk.overrides 24 Jan 2007 14:28:18 -0000 @@ -126,6 +126,9 @@
     gtk_get_event_widget
     gtk_icon_theme_error_quark
     gtk_icon_view_new_with_model
+    gtk_idle_add_full
+    gtk_idle_add_priority
+    gtk_idle_remove_by_data
     gtk_im_context_simple_add_table
     gtk_image_menu_item_new_from_stock
     gtk_image_menu_item_new_with_label
Index: gtktreeview.overrides =================================================================== RCS file: /repository/php-gtk/ext/gtk+/gtktreeview.overrides,v retrieving revision 1.78 diff -u -r1.78 gtktreeview.overrides --- gtktreeview.overrides 17 Dec 2006 21:32:18 -0000 1.78 +++ gtktreeview.overrides 24 Jan 2007 03:24:58 -0000 @@ -2143,6 +2143,76 @@ %% {{{ GtkTreeView %% +add-arginfo GtkTreeView enable_model_drag_source +static +ZEND_BEGIN_ARG_INFO(ARGINFO_NAME, 0)
+    ZEND_ARG_INFO(0, sbmask)
+    ZEND_ARG_INFO(0, targets)
+    ZEND_ARG_INFO(0, actions)
+ZEND_END_ARG_INFO(); + +%% +override gtk_tree_view_enable_model_drag_source +PHP_METHOD +{ + zval *php_sbmask, *php_targets, *php_actions; + GdkModifierType sbmask; + GdkDragAction actions; + GtkTargetEntry *entries; + int n; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "VaV", &php_sbmask, &php_targets, &php_actions)) { + return;
+    }
+ + if (phpg_gvalue_get_flags(GDK_TYPE_MODIFIER_TYPE, php_sbmask, (gint *)&sbmask) == FAILURE) { + return;
+    }
+ + if (phpg_gvalue_get_flags(GDK_TYPE_DRAG_ACTION, php_actions, (gint *)&actions) == FAILURE) {
+        return;
+    }
+ + entries = phpg_parse_target_entries(php_targets, &n TSRMLS_CC); + gtk_tree_view_enable_model_drag_source(GTK_TREE_VIEW(PHPG_GOBJECT(this_ptr)), sbmask, entries, n, actions); + efree(entries); +} + +%% +add-arginfo GtkTreeView enable_model_drag_dest +static +ZEND_BEGIN_ARG_INFO(ARGINFO_NAME, 0)
+    ZEND_ARG_INFO(0, targets)
+    ZEND_ARG_INFO(0, actions)
+ZEND_END_ARG_INFO(); + +%% +override gtk_tree_view_enable_model_drag_dest +PHP_METHOD +{ + zval *php_targets, *php_actions; + GdkDragAction actions; + GtkTargetEntry *entries; + int n; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "aV", &php_targets, &php_actions)) { + return; + } + + if (phpg_gvalue_get_flags(GDK_TYPE_DRAG_ACTION, php_actions, (gint *)&actions) == FAILURE) { + return; + } + + entries = phpg_parse_target_entries(php_targets, &n TSRMLS_CC); + gtk_tree_view_enable_model_drag_dest(GTK_TREE_VIEW(PHPG_GOBJECT(this_ptr)), entries, n, actions); + efree(entries); +} + +%% override gtk_tree_view_get_columns PHP_METHOD { @@ -2558,7 +2628,75 @@
     add_next_index_long(return_value, cell_x);
     add_next_index_long(return_value, cell_y);
} +%% +add-arginfo GtkTreeView get_dest_row_at_pos +static +ZEND_BEGIN_ARG_INFO(ARGINFO_NAME, 0)
+    ZEND_ARG_INFO(0, x)
+    ZEND_ARG_INFO(0, y)
+ZEND_END_ARG_INFO(); + +%% +override gtk_tree_view_get_dest_row_at_pos +PHP_METHOD +{
+    gint x, y;
+    GtkTreePath *path;
+    GtkTreeViewDropPosition pos;
+    zval *php_path = NULL, *php_pos = NULL;
+
+    NOT_STATIC_METHOD();
+
+    if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "ii", &x, &y)) {
+        return;
+    }
+
+    if (!gtk_tree_view_get_dest_row_at_pos(GTK_TREE_VIEW(PHPG_GOBJECT(this_ptr)), x, y, &path,
+                                       &pos)) {
+        return;
+    }
+
+    array_init(return_value);
+
+    if (path) {
+        phpg_tree_path_to_zval(path, &php_path TSRMLS_CC);
+    } else {
+        MAKE_STD_ZVAL(php_path);
+    }
+    add_next_index_zval(return_value, php_path);
+
+    phpg_gvalue_get_enum(GTK_TYPE_TREE_VIEW_DROP_POSITION, php_pos, (gint *)&pos);
+    add_next_index_zval(return_value, php_pos);
+} +%% +override gtk_tree_view_get_drag_dest_row +PHP_METHOD +{
+    GtkTreePath *path;
+    GtkTreeViewDropPosition pos;
+ zval *php_path = NULL, *php_pos = NULL; +
+    NOT_STATIC_METHOD();
+
+    if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "")) {
+        return;
+    }
+
+    gtk_tree_view_get_drag_dest_row(GTK_TREE_VIEW(PHPG_GOBJECT(this_ptr)), &path, &pos);
+ + array_init(return_value); +
+    if (path) {
+        phpg_tree_path_to_zval(path, &php_path TSRMLS_CC);
+    } else {
+        MAKE_STD_ZVAL(php_path);
+    }
+    add_next_index_zval(return_value, php_path);
+
+    phpg_gvalue_get_enum(GTK_TYPE_TREE_VIEW_DROP_POSITION, php_pos, (gint *)&pos);
+    add_next_index_zval(return_value, php_pos);
+} %% override gtk_tree_view_get_visible_rect --PHP-GTK Development Mailing List (http://gtk.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.gtk.dev (#3575) next »