--- rbgtkwindow.c.orig Thu Jun 15 23:39:00 2000 +++ rbgtkwindow.c Mon Jul 24 00:23:56 2000 @@ -329,6 +329,36 @@ } static VALUE +fsel_dir_list(self) + VALUE self; +{ + VALUE dir_list = rb_iv_get(self, "dir_list"); + + if (NIL_P(dir_list)) { + GtkWidget *w = GTK_FILE_SELECTION(get_widget(self))->dir_list; + dir_list = make_widget(gCList, w); + rb_iv_set(self, "dir_list", dir_list); + } + + return dir_list; +} + +static VALUE +fsel_file_list(self) + VALUE self; +{ + VALUE file_list = rb_iv_get(self, "file_list"); + + if (NIL_P(file_list)) { + GtkWidget *w = GTK_FILE_SELECTION(get_widget(self))->file_list; + file_list = make_widget(gCList, w); + rb_iv_set(self, "file_list", file_list); + } + + return file_list; +} + +static VALUE fsel_show_fileop_buttons(self) VALUE self; { @@ -355,6 +385,8 @@ rb_define_method(gFileSel, "cancel_button", fsel_cancel_button, 0); rb_define_method(gFileSel, "help_button", fsel_help_button, 0); rb_define_method(gFileSel, "action_area", fsel_action_area, 0); + rb_define_method(gFileSel, "dir_list", fsel_dir_list, 0); + rb_define_method(gFileSel, "file_list", fsel_file_list, 0); rb_define_method(gFileSel, "show_fileop_buttons", fsel_show_fileop_buttons, 0); rb_define_method(gFileSel, "hide_fileop_buttons", fsel_hide_fileop_buttons, 0); }