gtkaboutdialog overrides

From: Date: Mon, 31 Oct 2005 13:20:42 +0000
Subject: gtkaboutdialog overrides
Groups: php.gtk.dev 
Request: Send a blank email to php-gtk-dev+get-2022@lists.php.net to get a copy of this message
Hi , amateur hour begins ;) These overrides work (*nix) but not sure if they are safe (especially get_... on win32) can someone check & if ok apply ? GtkAboutDialog::set_documenters/artists/authors && get_documenters/artists/authors are all same-same documenters example below Gonna start my docc'ing efforts with these so I hope they work ~. ..................................................................... %% {{{ GtkAboutDialog %% override gtk_about_dialog_get_documenters PHP_METHOD {
    gchar **list;
    int i =0;
    NOT_STATIC_METHOD();
if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "")){
        return;
    }
   list = gtk_about_dialog_get_documenters(GTK_ABOUT_DIALOG(PHPG_GOBJECT(this_ptr)));
array_init(return_value); while ( list[i] ) {
        add_next_index_string(return_value, (char *)list[i], 1);	
        i++ ;
    }
} %% add-arginfo GtkAboutDialog set_documenters static ZEND_BEGIN_ARG_INFO(ARGINFO_NAME, 0)
    ZEND_ARG_INFO(0, documenters)
ZEND_END_ARG_INFO(); %% override gtk_about_dialog_set_documenters PHP_METHOD { int i=0; zval *documenters, **item = NULL; const gchar **list; zend_bool free_list; HashTable *args_hash; TSRMLS_FETCH(); NOT_STATIC_METHOD(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &documenters) == FAILURE ) {
       return;
} args_hash = HASH_OF(documenters); list = g_new( const gchar *, ((int *)zend_hash_num_elements(args_hash)) + 1); zend_hash_internal_pointer_reset(Z_ARRVAL_P(documenters)); while (zend_hash_get_current_data(Z_ARRVAL_P(documenters), (void **)&item) == SUCCESS) {
       convert_to_string_ex(item);
       list[i++] = Z_STRVAL_PP(item);
       zend_hash_move_forward(Z_ARRVAL_P(documenters));
} list[i++] = NULL; gtk_about_dialog_set_documenters( GTK_ABOUT_DIALOG(PHPG_GOBJECT(this_ptr)), list ); if(free_list) g_free(list); } %% }}}

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