com gtk/php-gtk: I meant to move GtkI*, not GtkFrame. Fscking clipboard: ext/gtk+/gtk.overrides

[email protected] (David Soria Parra) Thu, 09 Mar 2006 07:14:30 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    8e3b16f63021c5249939d80f7622b3f50860894c
Author:    Christian Weiske <[email protected]>         Thu, 9 Mar 2006 07:14:30 +0000
Parents:   546346edb93191c4bd6b14e41f501be14ea8e43f
Branches:  master

Link:       http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=8e3b16f63021c5249939d80f7622b3f50860894c

Log:
I meant to move GtkI*, not GtkFrame. Fscking clipboard

Changed paths:
  M  ext/gtk+/gtk.overrides


Diff:
8e3b16f63021c5249939d80f7622b3f50860894c
diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides
index cf9027d..47c6b9a 100644
--- a/ext/gtk+/gtk.overrides
+++ b/ext/gtk+/gtk.overrides
@@ -1355,26 +1355,6 @@ PHP_METHOD
 
 %% }}}
 
-%% {{{ GtkFrame
-
-%%
-override gtk_frame_get_label_align
-PHP_METHOD
-{
-    gfloat xalign, yalign;
-
-    NOT_STATIC_METHOD();
-
-    if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
-        return;
-
-    gtk_frame_get_label_align(GTK_FRAME(PHPG_GOBJECT(this_ptr)), &xalign, &yalign);
-
-    php_gtk_build_value(&return_value, "(ff)", xalign, yalign);
-}
-
-%% }}}
-
 %% {{{ GtkFileSelection
 
 %%
@@ -1502,6 +1482,96 @@ PHP_METHOD
 }
 %% }}}
 
+%% {{{ GtkFrame
+
+%%
+override gtk_frame_get_label_align
+PHP_METHOD
+{
+    gfloat xalign, yalign;
+
+    NOT_STATIC_METHOD();
+
+    if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
+        return;
+
+    gtk_frame_get_label_align(GTK_FRAME(PHPG_GOBJECT(this_ptr)), &xalign, &yalign);
+
+    php_gtk_build_value(&return_value, "(ff)", xalign, yalign);
+}
+
+%% }}}
+
+%% {{{ GtkIconSet
+%%
+override gtk_icon_set_get_sizes
+PHP_METHOD
+{
+    GtkIconSize *sizes;
+    gint n_sizes, i;
+
+    NOT_STATIC_METHOD();
+
+    if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
+        return;
+
+    gtk_icon_set_get_sizes((GtkIconSet *)PHPG_GBOXED(this_ptr), &sizes, &n_sizes);
+    array_init(return_value);
+
+    for (i = 0; i < n_sizes; i++) {
+        add_next_index_long(return_value, sizes[i]);
+    }
+
+    g_free(sizes);
+}
+%% }}}
+
+%% {{{ GtkImageMenuItem
+%%
+add-arginfo GtkImageMenuItem __construct
+static
+ZEND_BEGIN_ARG_INFO_EX(ARGINFO_NAME, 0, 0, 0)
+    ZEND_ARG_INFO(0, stock_id)
+    ZEND_ARG_OBJ_INFO(0, accel_group, GtkAccelGroup, 1)
+ZEND_END_ARG_INFO();
+
+%%
+override gtk_image_menu_item_new
+PHP_METHOD
+{
+	char *stock_id = NULL;
+	zend_bool free_stock_id;
+	zval *php_accel_group = NULL;
+    GtkAccelGroup *accel_group = NULL;
+	GObject *wrapped_obj;
+
+    if (phpg_gtype_from_zval(this_ptr) != GTK_TYPE_IMAGE_MENU_ITEM) {
+        PHPG_THROW_EXCEPTION(phpg_construct_exception, "Subclassing GtkImageMenuItem requires more than you know");
+        return;
+    }
+
+	if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|uO", &stock_id, &free_stock_id, &php_accel_group, gtkaccelgroup_ce)) {
+        PHPG_THROW_CONSTRUCT_EXCEPTION(GtkImageMenuItem);
+	}
+    
+    if (php_accel_group) {
+        accel_group = GTK_ACCEL_GROUP(PHPG_GOBJECT(php_accel_group));
+    }
+
+    if (stock_id) {
+        wrapped_obj = (GObject *) gtk_image_menu_item_new_from_stock(stock_id, accel_group);
+    } else {
+        wrapped_obj = (GObject *) gtk_image_menu_item_new();
+    }
+	if (free_stock_id) g_free(stock_id);
+
+	if (!wrapped_obj) {
+        PHPG_THROW_CONSTRUCT_EXCEPTION(GtkImageMenuItem);
+	}
+    phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC);
+}
+%% }}}
+
 %% {{{ GtkLabel
 %%
 add-arginfo GtkLabel __construct