cvs: php-gtk /ext/gtk+ gtk.overrides
| From: | Andrei Zmievski | Date: | Mon, 24 Apr 2006 02:10:10 +0000 |
| Subject: | cvs: php-gtk /ext/gtk+ gtk.overrides | ||
| Groups: | php.gtk.cvs | ||
| Request: | Send a blank email to php-gtk-cvs+get-2255@lists.php.net to get a copy of this message | ||
andrei Mon Apr 24 02:10:10 2006 UTC
Modified files:
/php-gtk/ext/gtk+ gtk.overrides
Log:
Implement a bunch of get_group() and set_group() methods.
http://cvs.php.net/viewcvs.cgi/php-gtk/ext/gtk+/gtk.overrides?r1=1.168&r2=1.169&diff_format=u
Index: php-gtk/ext/gtk+/gtk.overrides
diff -u php-gtk/ext/gtk+/gtk.overrides:1.168 php-gtk/ext/gtk+/gtk.overrides:1.169
--- php-gtk/ext/gtk+/gtk.overrides:1.168 Thu Apr 6 06:20:11 2006
+++ php-gtk/ext/gtk+/gtk.overrides Mon Apr 24 02:10:10 2006
@@ -2440,6 +2440,156 @@
%% }}}
+%% {{{ GtkRadioAction
+
+%%
+override gtk_radio_action_get_group
+PHP_METHOD
+{
+ GSList *group, *current;
+ zval *item;
+
+ NOT_STATIC_METHOD();
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
+ return;
+
+ group = gtk_radio_action_get_group(GTK_RADIO_ACTION(PHPG_GOBJECT(this_ptr)));
+
+ array_init(return_value);
+ for (current = group; current; current = current->next) {
+ MAKE_STD_ZVAL(item);
+ phpg_gobject_new(&item, G_OBJECT(current->data) TSRMLS_CC);
+ add_next_index_zval(return_value, item);
+ }
+}
+
+%%
+override gtk_radio_action_set_group
+PHP_METHOD
+{
+ zval *php_action = NULL;
+ GSList *list;
+
+ NOT_STATIC_METHOD();
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "O", &php_action, gtkradioaction_ce))
+ return;
+
+ list = gtk_radio_action_get_group(GTK_RADIO_ACTION(PHPG_GOBJECT(php_action)));
+ if (list == gtk_radio_action_get_group(GTK_RADIO_ACTION(PHPG_GOBJECT(this_ptr)))) {
+ return;
+ }
+ gtk_radio_action_set_group(GTK_RADIO_ACTION(PHPG_GOBJECT(this_ptr)), list);
+}
+
+%% }}}
+
+%% {{{ GtkRadioButton
+
+%%
+add-arginfo GtkRadioButton __construct
+static
+ZEND_BEGIN_ARG_INFO_EX(ARGINFO_NAME, 0, 0, 0)
+ ZEND_ARG_OBJ_INFO(0, group, GtkRadioButton, 1)
+ ZEND_ARG_INFO(0, text)
+ ZEND_ARG_INFO(0, use_underline)
+ZEND_END_ARG_INFO();
+
+%%
+override gtk_radio_button_new
+PHP_METHOD
+{
+ zval *php_group = NULL;
+ char *label = NULL;
+ zend_bool free_label, use_underline = 1;
+ GtkRadioButton *group = NULL;
+ GObject *wrapped_obj;
+ GType gtype = phpg_gtype_from_zval(this_ptr);
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|Nub", &php_group, gtkradiobutton_ce,
&label, &free_label, &use_underline)) {
+ PHPG_THROW_CONSTRUCT_EXCEPTION(GtkRadioButton);
+ }
+
+ if (php_group && Z_TYPE_P(php_group) != IS_NULL) {
+ group = GTK_RADIO_BUTTON(PHPG_GOBJECT(php_group));
+ }
+
+ if (group) {
+ if (label) {
+ wrapped_obj = (GObject *) g_object_new(gtype, "group", group,
"label", label,
+ "use-underline", use_underline, NULL);
+ } else {
+ wrapped_obj = (GObject *) g_object_new(gtype, "group", group, NULL);
+ }
+ } else {
+ if (label) {
+ wrapped_obj = (GObject *) g_object_new(gtype, "label", label,
"use-underline",
+ use_underline, NULL);
+ } else {
+ wrapped_obj = (GObject *) g_object_new(gtype, NULL);
+ }
+ }
+
+ if (free_label) g_free(label);
+
+ if (!wrapped_obj) {
+ PHPG_THROW_CONSTRUCT_EXCEPTION(GtkRadioButton);
+ }
+ phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC);
+}
+
+%%
+override gtk_radio_button_get_group
+PHP_METHOD
+{
+ GSList *group, *current;
+ zval *item;
+
+ NOT_STATIC_METHOD();
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
+ return;
+
+ group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(PHPG_GOBJECT(this_ptr)));
+
+ array_init(return_value);
+ for (current = group; current; current = current->next) {
+ MAKE_STD_ZVAL(item);
+ phpg_gobject_new(&item, G_OBJECT(current->data) TSRMLS_CC);
+ add_next_index_zval(return_value, item);
+ }
+}
+
+%%
+override gtk_radio_button_set_group
+PHP_METHOD
+{
+ zval *php_button = NULL;
+ GSList *list;
+
+ NOT_STATIC_METHOD();
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "O", &php_button, gtkradiobutton_ce))
+ return;
+
+ list = gtk_radio_button_get_group(GTK_RADIO_BUTTON(PHPG_GOBJECT(php_button)));
+ if (list == gtk_radio_button_get_group(GTK_RADIO_BUTTON(PHPG_GOBJECT(this_ptr)))) {
+ return;
+ }
+ gtk_radio_button_set_group(GTK_RADIO_BUTTON(PHPG_GOBJECT(this_ptr)), list);
+}
+
+%%
+override gtk_radio_button_group
+PHP_METHOD
+{
+ phpg_warn_deprecated("use GtkRadioButton::get_group()" TSRMLS_CC);
+ PHP_FN(GtkRadioButton_get_group)(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+}
+
+%% }}}
+
%% {{{ GtkRadioMenuItem
%%
add-arginfo GtkRadioMenuItem __construct
@@ -2513,7 +2663,7 @@
NOT_STATIC_METHOD();
- if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "V", &php_group, gtkradiomenuitem_ce)) {
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "O", &php_group, gtkradiomenuitem_ce)) {
return;
}
@@ -2546,60 +2696,6 @@
add_next_index_zval(return_value, item);
}
}
-/* }}} */
-
-%% {{{ GtkRadioButton
-%%
-add-arginfo GtkRadioButton __construct
-static
-ZEND_BEGIN_ARG_INFO_EX(ARGINFO_NAME, 0, 0, 0)
- ZEND_ARG_OBJ_INFO(0, group, GtkRadioButton, 1)
- ZEND_ARG_INFO(0, text)
- ZEND_ARG_INFO(0, use_underline)
-ZEND_END_ARG_INFO();
-
-%%
-override gtk_radio_button_new
-PHP_METHOD
-{
- zval *php_group = NULL;
- char *label = NULL;
- zend_bool free_label, use_underline = 1;
- GtkRadioButton *group = NULL;
- GObject *wrapped_obj;
- GType gtype = phpg_gtype_from_zval(this_ptr);
-
- if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|Nub", &php_group, gtkradiobutton_ce,
&label, &free_label, &use_underline)) {
- PHPG_THROW_CONSTRUCT_EXCEPTION(GtkRadioButton);
- }
-
- if (php_group && Z_TYPE_P(php_group) != IS_NULL) {
- group = GTK_RADIO_BUTTON(PHPG_GOBJECT(php_group));
- }
-
- if (group) {
- if (label) {
- wrapped_obj = (GObject *) g_object_new(gtype, "group", group,
"label", label,
- "use-underline", use_underline, NULL);
- } else {
- wrapped_obj = (GObject *) g_object_new(gtype, "group", group, NULL);
- }
- } else {
- if (label) {
- wrapped_obj = (GObject *) g_object_new(gtype, "label", label,
"use-underline",
- use_underline, NULL);
- } else {
- wrapped_obj = (GObject *) g_object_new(gtype, NULL);
- }
- }
-
- if (free_label) g_free(label);
-
- if (!wrapped_obj) {
- PHPG_THROW_CONSTRUCT_EXCEPTION(GtkRadioButton);
- }
- phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC);
-}
%% }}}
@@ -2653,6 +2749,48 @@
}
phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC);
}
+
+%%
+override gtk_radio_tool_button_get_group
+PHP_METHOD
+{
+ GSList *group, *current;
+ zval *item;
+
+ NOT_STATIC_METHOD();
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), ""))
+ return;
+
+ group = gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON(PHPG_GOBJECT(this_ptr)));
+
+ array_init(return_value);
+ for (current = group; current; current = current->next) {
+ MAKE_STD_ZVAL(item);
+ phpg_gobject_new(&item, G_OBJECT(current->data) TSRMLS_CC);
+ add_next_index_zval(return_value, item);
+ }
+}
+
+%%
+override gtk_radio_tool_button_set_group
+PHP_METHOD
+{
+ zval *php_button = NULL;
+ GSList *list;
+
+ NOT_STATIC_METHOD();
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "O", &php_button,
gtkradiotoolbutton_ce))
+ return;
+
+ list = gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON(PHPG_GOBJECT(php_button)));
+ if (list == gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON(PHPG_GOBJECT(this_ptr)))) {
+ return;
+ }
+ gtk_radio_tool_button_set_group(GTK_RADIO_TOOL_BUTTON(PHPG_GOBJECT(this_ptr)), list);
+}
+
%% }}}
%% {{{ GtkRuler