diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-01-29 08:58:06 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-01-29 08:58:06 +0000 |
commit | 3bc618e841594c584c915e6986f15ae5456e5914 (patch) | |
tree | ae5dcc20f3d9cb590e2a37198100a9b6197d5966 /ext/gtk | |
parent | 34882084ebc9acd444f458ebbfa2feda89f9046a (diff) |
gtk 0.99.3_2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@59 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/gtk')
-rw-r--r-- | ext/gtk/gtk.c | 105 |
1 files changed, 88 insertions, 17 deletions
diff --git a/ext/gtk/gtk.c b/ext/gtk/gtk.c index 27191573c6..6c68cca20c 100644 --- a/ext/gtk/gtk.c +++ b/ext/gtk/gtk.c @@ -1915,17 +1915,26 @@ static VALUE clist_initialize(self, titles) VALUE self, titles; { - char **buf; - int i, len; + GtkWidget *widget; - Check_Type(titles, T_ARRAY); - len = RARRAY(titles)->len; - buf = ALLOCA_N(char*, len); - for (i=0; i<len; i++) { - Check_Type(RARRAY(titles)->ptr[i], T_STRING); - buf[i] = RSTRING(RARRAY(titles)->ptr[i])->ptr; + if (TYPE(titles) == T_ARRAY) { + char **buf; + int i, len; + + Check_Type(titles, T_ARRAY); + len = RARRAY(titles)->len; + buf = ALLOCA_N(char*, len); + for (i=0; i<len; i++) { + Check_Type(RARRAY(titles)->ptr[i], T_STRING); + buf[i] = RSTRING(RARRAY(titles)->ptr[i])->ptr; + } + widget = gtk_clist_new_with_titles(len, buf); } - set_widget(self, gtk_clist_new(len)); + else { + widget = gtk_clist_new(NUM2INT(titles)); + } + set_widget(self, widget); + return Qnil; } @@ -1983,6 +1992,66 @@ clist_thaw(self) } static VALUE +clist_col_titles_show(self) + VALUE self; +{ + GtkWidget *widget = get_widget(self); + + gtk_clist_column_titles_show(GTK_CLIST(widget)); + return self; +} + +static VALUE +clist_col_titles_hide(self) + VALUE self; +{ + GtkWidget *widget = get_widget(self); + + gtk_clist_column_titles_hide(GTK_CLIST(widget)); + return self; +} + +static VALUE +clist_col_title_active(self, column) + VALUE self, column; +{ + GtkWidget *widget = get_widget(self); + + gtk_clist_column_title_active(GTK_CLIST(widget), NUM2INT(column)); + return self; +} + +static VALUE +clist_col_title_passive(self, column) + VALUE self, column; +{ + GtkWidget *widget = get_widget(self); + + gtk_clist_column_title_passive(GTK_CLIST(widget), NUM2INT(column)); + return self; +} + +static VALUE +clist_col_titles_active(self) + VALUE self; +{ + GtkWidget *widget = get_widget(self); + + gtk_clist_column_titles_active(GTK_CLIST(widget)); + return self; +} + +static VALUE +clist_col_titles_passive(self) + VALUE self; +{ + GtkWidget *widget = get_widget(self); + + gtk_clist_column_titles_passive(GTK_CLIST(widget)); + return self; +} + +static VALUE clist_set_col_title(self, col, title) VALUE self, col, title; { @@ -3637,7 +3706,6 @@ tbar_append_item(self, text, ttext, icon, func) VALUE self, text, ttext, icon, func; { GtkWidget *widget = get_widget(self); - GtkObject *pixmap = get_gobject(icon); if (NIL_P(func)) { func = f_lambda(); @@ -3645,7 +3713,7 @@ tbar_append_item(self, text, ttext, icon, func) gtk_toolbar_append_item(GTK_TOOLBAR(widget), STR2CSTR(text), STR2CSTR(ttext), - GTK_PIXMAP(pixmap), + get_widget(icon), exec_callback, (gpointer)ary_new3(1, func)); return self; @@ -3656,7 +3724,6 @@ tbar_prepend_item(self, text, ttext, icon, func) VALUE self, text, ttext, icon, func; { GtkWidget *widget = get_widget(self); - GtkObject *pixmap = get_gobject(icon); if (NIL_P(func)) { func = f_lambda(); @@ -3664,7 +3731,7 @@ tbar_prepend_item(self, text, ttext, icon, func) gtk_toolbar_prepend_item(GTK_TOOLBAR(widget), STR2CSTR(text), STR2CSTR(ttext), - GTK_PIXMAP(pixmap), + get_widget(icon), exec_callback, (gpointer)ary_new3(1, func)); return self; @@ -3675,7 +3742,6 @@ tbar_insert_item(self, text, ttext, icon, func, pos) VALUE self, text, ttext, icon, func, pos; { GtkWidget *widget = get_widget(self); - GtkObject *pixmap = get_gobject(icon); if (NIL_P(func)) { func = f_lambda(); @@ -3683,7 +3749,7 @@ tbar_insert_item(self, text, ttext, icon, func, pos) gtk_toolbar_insert_item(GTK_TOOLBAR(widget), STR2CSTR(text), STR2CSTR(ttext), - GTK_PIXMAP(pixmap), + get_widget(icon), exec_callback, (gpointer)ary_new3(1, func), NUM2INT(pos)); @@ -5417,12 +5483,18 @@ Init_gtk() rb_define_method(gBBox, "set_child_ipadding", bbox_set_child_ipadding, 2); /* CList */ - rb_define_method(gCList, "initialize", clist_initialize, 1); + rb_define_method(gCList, "initialize", clist_initialize, -1); rb_define_method(gCList, "set_border", clist_set_border, 1); rb_define_method(gCList, "set_selection_mode", clist_set_sel_mode, 1); rb_define_method(gCList, "set_policy", clist_set_policy, 2); rb_define_method(gCList, "freeze", clist_freeze, 0); rb_define_method(gCList, "thaw", clist_thaw, 0); + rb_define_method(gCList, "column_titles_show", clist_col_titles_show, 0); + rb_define_method(gCList, "column_titles_hide", clist_col_titles_hide, 0); + rb_define_method(gCList, "column_title_active", clist_col_title_active, 1); + rb_define_method(gCList, "column_title_passive", clist_col_title_passive, 1); + rb_define_method(gCList, "column_titles_active", clist_col_title_active, 0); + rb_define_method(gCList, "column_titles_passive", clist_col_title_passive, 0); rb_define_method(gCList, "set_column_title", clist_set_col_title, 2); rb_define_method(gCList, "set_column_widget", clist_set_col_wigdet, 2); rb_define_method(gCList, "set_column_justification", clist_set_col_just, 2); @@ -5850,7 +5922,6 @@ Init_gtk() rb_define_const(mGtk, "ANCHORED", INT2FIX(GTK_ANCHORED)); rb_define_const(mGtk, "BASIC", INT2FIX(GTK_BASIC)); rb_define_const(mGtk, "USER_STYLE", INT2FIX(GTK_USER_STYLE)); -/* rb_define_const(mGtk, "GRAB_ALL", INT2FIX(GTK_GRAB_ALL)); */ rb_define_const(mGtk, "REDRAW_PENDING", INT2FIX(GTK_REDRAW_PENDING)); rb_define_const(mGtk, "RESIZE_PENDING", INT2FIX(GTK_RESIZE_PENDING)); rb_define_const(mGtk, "RESIZE_NEEDED", INT2FIX(GTK_RESIZE_NEEDED)); |