/*
- * $Id: rb_window.c 93 2004-08-23 08:57:10Z tilman $
+ * $Id: rb_window.c 97 2004-08-23 18:30:28Z tilman $
*
* Copyright (C) 2004 ruby-ecore team (see AUTHORS)
*
{
GET_OBJ (self, RbWindow, win);
- if (win->real) {
- ecore_x_window_del (win->real);
- win->real = 0;
- }
+ ecore_x_window_del (win->real);
+
+ return Qnil;
+}
+
+static VALUE c_send_delete_request (VALUE self)
+{
+ GET_OBJ (self, RbWindow, win);
+
+ ecore_x_window_delete_request_send (win->real);
return Qnil;
}
static VALUE c_title_get (VALUE self)
{
+ char *s;
+
GET_OBJ (self, RbWindow, win);
- return rb_str_new2 (ecore_x_window_prop_title_get (win->real));
+ s = ecore_x_window_prop_title_get (win->real);
+
+ return s ? rb_str_new2 (s) : Qnil;
}
static VALUE c_title_set (VALUE self, VALUE val)
rb_define_method (cWindow, "hide", c_hide, 0);
rb_define_method (cWindow, "visible?", c_visible_get, 0);
rb_define_method (cWindow, "delete", c_delete, 0);
+ rb_define_method (cWindow, "send_delete_request",
+ c_send_delete_request, 0);
rb_define_method (cWindow, "raise", c_raise, 0);
rb_define_method (cWindow, "lower", c_lower, 0);
rb_define_method (cWindow, "reparent", c_reparent, 3);