com gtk/php-gtk: - Implement GtkEntry() constructor that allows setting initial text and max length - Fix potential bugs where free_text was not initialized for optional text parameters: ext/gtk+/gtk.overrides

[email protected] (David Soria Parra) Sat, 14 Jan 2006 04:17:01 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    a681d374e3ef8d92024b09612bdefe3ad1cfa99b
Author:    Andrei Zmievski <[email protected]>         Sat, 14 Jan 2006 04:17:01 +0000
Parents:   808f7cc88fb8b2a9d45ee5603b06cb879b75998f
Branches:  master

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

Log:
- Implement GtkEntry() constructor that allows setting initial text and
  max length
- Fix potential bugs where free_text was not initialized for optional
  text parameters

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


Diff:
a681d374e3ef8d92024b09612bdefe3ad1cfa99b
diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides
index af4f3da..5f39a43 100644
--- a/ext/gtk+/gtk.overrides
+++ b/ext/gtk+/gtk.overrides
@@ -39,6 +39,7 @@ ignore
     gtk_color_button_new
     gtk_dialog_new
     gtk_exit
+    gtk_entry_new_with_max_length
     gtk_false
     gtk_icon_view_new_with_model
     gtk_image_menu_item_new_from_stock
@@ -679,7 +680,7 @@ PHP_METHOD
 {
     GObject *wrapped_obj;
     gchar *text = NULL;
-    zend_bool free_text, use_underline = 1;
+    zend_bool free_text = FALSE, use_underline = 1;
 
     if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) {
         PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton);
@@ -787,7 +788,7 @@ PHP_METHOD
 {
     GObject *wrapped_obj;
     gchar *text = NULL;
-    zend_bool free_text, use_underline = 1;
+    zend_bool free_text = FALSE, use_underline = 1;
 
     if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) {
         PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton);
@@ -825,7 +826,7 @@ PHP_METHOD
 {
     GObject *wrapped_obj;
     gchar *text = NULL;
-    zend_bool free_text, use_underline = 1;
+    zend_bool free_text = FALSE, use_underline = 1;
 
     if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) {
         PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem);
@@ -1081,6 +1082,34 @@ PHP_METHOD
 }
 %% }}}
 
+%% {{{ GtkEntry
+
+%%
+override gtk_entry_new
+PHP_METHOD
+{
+    gchararray text = "";
+    int max = 0;
+    zend_bool free_text = FALSE;
+	GObject *wrapped_obj;
+
+    if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ui", &text, &free_text, &max)) {
+        return;
+    }
+
+    wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr),
+                                          "max-length", max, "text", text);
+
+    if (free_text) g_free(text);
+
+	if (!wrapped_obj) {
+        PHPG_THROW_CONSTRUCT_EXCEPTION(GtkEntry);
+	}
+    phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC);
+}
+    
+%% }}}
+
 %% {{{ GtkIconSet
 %%
 override gtk_icon_set_get_sizes
@@ -1263,7 +1292,7 @@ PHP_METHOD
 {
     GObject *wrapped_obj;
     gchar *text = NULL;
-    zend_bool free_text, use_underline = 0;
+    zend_bool free_text = FALSE, use_underline = 0;
 
     if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) {
         PHPG_THROW_CONSTRUCT_EXCEPTION(GtkLabel);
@@ -1507,7 +1536,7 @@ PHP_METHOD
 {
     GObject *wrapped_obj;
     gchar *text = NULL;
-    zend_bool free_text, use_underline = 1;
+    zend_bool free_text = FALSE, use_underline = 1;
 
     if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) {
         PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem);
@@ -1898,7 +1927,7 @@ PHP_METHOD
 {
     GObject *wrapped_obj;
     gchar *text = NULL;
-    zend_bool free_text, use_underline = 1;
+    zend_bool free_text = FALSE, use_underline = 1;
 
     if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) {
         PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton);