2002-11-11  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbgobj_signal.c: BugFix of rbgobj_set/get_signal_func.

2002-11-10  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* extconf.rb: stop appending '-g' to $CFLAGS.

2002-11-10  Masao Mutoh  <mutoh@highway.ne.jp>

	* README: Add file.

2002-11-09  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbglib_message.c: add file(Sorry I forgot it....)

2002-11-08  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbglib_messages.c: add file(methods are moved from Ruby/GTK). 
	* src/rbgobj_signal.c, rbgobj_closure.c, rbgobj_object.c, rbgobject.h: 
	add G_DEF_SIGNAL_FUNC. 
	
2002-11-06  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbglib.c (G_DEF_SETTERS): don't override existent methods.

2002-11-02  KUBO Takehiro  <kubo@jiubao.org>

	* src/rbgutil.c, src/rbgutil.h: re-implement rbgutil_raise_gerror as
	macro and rename to RAISE_GERROR.
	add a new function rbgutil_gerror2exception()

2002-11-01  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbgobject.c, rbgobj_type.c: Remove rbgobj_define_signal_constants().

2002-10-30  KUBO Takehiro  <kubo@jiubao.org>

	* src/rbgutil.c, src/rbgutil.h: add rbgutil_raise_gerror().

2002-10-24  KUBO Takehiro  <kubo@jiubao.org>

	* src/rbgobj_signal.c (GLib::Instantiatable#signal_conect,
	#signal_connect_after): accept detailed signal.

2002-10-20  Masahro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_object.c: use canonical property name as hash key for the
	hash for a special getter and setter of the property.

2002-10-18  Masahro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_closure.c, src/rbgobj_valuetypes.c: use Hash#delete
	instead of assigning nil.

2002-10-17  KUBO Takehiro  <kubo@jiubao.org>

	* rbgobj_object.c (gobj_set_property, gobj_get_property): fix a bug.

2002-10-14  Masahro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_object.c (GLib::Object.property): raise exception if the
	property doesn't exist.
	* src/rbgobj_param.c: rename GLib::ParamSpec to GLib::Param
	* src/rbgobj_signal.c (GLib::Instantiatable#signal_conect): accept
	symbol as signal name.
	* src/rbgobj_signal.c: rename
	GLib::Signal::Query to GLIb::Signal and
	GLib::Object.signal_list to GLIb::Object.signals and
	GLib::Object.signal_lookup to GLIb::Object.signal
	* src/rbgobj_object.c: rename
	GLib::Object.list_properties to GLIb::Object.properties and
	GLib::Object.find_property to GLIb::Object.property

2002-10-13  Masahro Sakai  <sakai@tom.sfc.keio.ac.jp>
	
	* src/rbgobj_valuetypes.c (rbgobj_ptr2cptr): check argument type
	* src/rbgobj_valuetypes.c: don't register some transformation function
	which may raise exception
	* src/rbgobj_object.c: add rbgobj_register_property_getter() and
	rbgobj_register_property_setter() for overwriting VALUE<=>GValue
	converter for property.

2002-10-10  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbgutil.[ch], src/rbglib.c: add G_DEF_SETTERS macro.

2002-10-07  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_value.c (rbgobj_gvalue_to_rvalue): return Qnil when the
	type of GValue is G_TYPE_STRING and the content is NULL.

2002-10-05  KUBO Takehiro  <kubo@jiubao.org>

	* src/rbgutil.h: add G_DEF_SETTER macro.

2002-10-02  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_boxed: implement GLib::Boxed::gtype & GLib::Boxed#gtype

2002-10-02  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbgobj_type.c: Add _register_fundamental_gtype_to_klass()/
	_register_fundamental_klass_to_gtype().

2002-10-02  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbglib.h: define LONG2NUM and ULONG2NUM unless already defined.

2002-09-30  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbgutil.[ch]: File added.
	* src/rbgobject.h, src/rbglib.[ch]: Support rbgutil.c.

2002-09-29  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_param.c (inspect): change format: including value type and
	owner type. excluding nick and blurb.
	* src/rbgobj_param.c (get_nick, get_blurb): return nil if the string
	is NULL.
	* src/rbgobj_signal.c: introduce GLIb::Signal::Query to wrap
	GSignalQuery.
	* src/rbgobj_type.c: define GLib::Interface and include it to each
	interface. This inclusion is intended to represent that interfaces
	are subtypes of GLib::Inteface.
	* src/rbgobj_object.c (gobj_s_find_property, gobj_set_property,
	gobj_get_property): accept Symbol as property name.
	* src/rbgobj_object.c: fix parameter number of GLib::Object.find_property

2002-09-29  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbgobj_closure.c, src/rbgobj_boxed.c, src/rbgobject.h:
	Change RVAL2BOXED(obj) to RVAL2BOXED(obj, gtype).

2002-09-25  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_closure.c (marker_remove): fix a bug which can cause
	segmentation fault on following rb_gc_mark().

2002-09-24  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_object.c: allow GLib::Object#freeze_notify to take block.
	* src/rbgobj_param.c (rbgobj_get_value_from_param_spec): fixed
	* src/rbgobj_param.c: implement GLib::ParamSpec#inspect
	* src/rbgobj_object.c: implement GLib::Object.list_properties and
	GLib::Object.find_property
	* src/rbgobj_signal.c: implement signal_handler_is_connected?
	* src/*.c: untabify
	* src/rbgobj_boxed.c (boxed_free): don't call g_boxed_free() if not
	initilized.
	* src/rbgobj_closure.c: implement GLib::Closure

2002-09-23  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/*.c: introduce GLib::Instantiatable as a common superclass of 
	GLib::Object and GLib::ParamSpec. GLib:Instantiatable corresponds to
	GTypeInstance structure in C.
	* src/*.c: arrange APIs
	* src/rbgobject.c (rbgobj_define_signal_constants): stop calling
	g_class_ref(). Now caller must ensure that the class is initialized.

2002-09-23  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/*.c: introduce macro "RBGLIB_ENABLE_EXPERIMENTAL" to indicate
	experimental API.
	* src/rbgobj_signal.c: define constants
	* src/rbgobj_signal.c (signal_emit, signal_emit_stop): handles detail
	parameter.
	* src/rbgobject.c (rbgobj_gobject_new): check actual parameter size.

2002-09-21  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobject.c (rbgobj_define_property_accessors): when property
	name begins with 'is_', remove 'is_' from getter/setter name.
	* src/rbgobject.c (rbgobj_define_property_accessors): append '?' to
	the name of getter method of gboolean valued property.

2002-09-21  KUBO Takehiro  <kubo@jiubao.org>

	* src/rbgobj_object.c (gobj_set_property, gobj_get_property):
	accept nil as an argument of val. raise more kindly exception when
	property name was not found.

2002-09-18  KUBO Takehiro <kubo@jiubao.org>

	* src/rbgobject.c (rbgobj_gobject_new): fix size parameter of memset()
	* src/rbgobj_value.c (rbgobj_rvalue_to_gvalue): don't use
	g2r_func_table but r2g_func_table

2002-09-17  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobject.c (rbgobj_define_property_accessors): optimize a bit
	  by accumulating source string and call module_eval at once.

2002-09-16  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobject.c (rbgobj_define_property_accessors):
	  - Define not only 'hogehoge=' but alse 'set_hogehoge'
	  - Exclude properties which name is conflict with method of 'Object'
	  - Stop passing second and third argument of module_eval

2002-09-14  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/global.h, src/rbglib.h: Move StringValue, StringValuePtr 
	to src/rbglib.h(Because it'll be used by other Ruby-GNOME libraries).
	Add RVAL2CSTR, CSTR2RVAL macro.

2002-09-14  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* extconf.rb: Append -fnative-struct to $CFLAGS when G_OS_WIN32 is defined

2002-09-13  Masao Mutoh <mutoh@highway.ne.jp>

	* src/rbgobject.h, src/rbgobj_object.c: Rename RBGOBJ_INITIALIZE to G_INITIALIZE.
	* src/rbgobject.h: Add G_RELATIVE, G_RELATIVE2, G_REMOVE_RELATIVE.

2002-09-13  Masao Mutoh <mutoh@highway.ne.jp>

	* src/rbobjmanager.[ch]: remove files.
	* src/rbglib.[ch]: remove Init_objmanager().

2002-09-03  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_signal.c: implement GLib::Object#signal_emit_by_name

2002-09-01  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_signal.c: fix GLib::Object#signal_emit.
	* src/rbgobj_signal.c: implement GLib::Object.signal_lookup and 
	GLib::Object.signal_list
	* src/rbgobj_signal.c: implement GLib::Object.signal_new.
	This is an experimental interface.
	* src/rbgobj_value.c (rbgobj_gvalue_to_rvalue, rbgobj_rvalue_to_gvalue): 
	fix error messsage and use g_warning().
	* src/utils_int64.c: use 0xffffffffL instead of G_MAXUINT
	* src/utils_int64.c, src/global.h, src/rbgobj_paramspecs.c,
	src/rbgobj_value.c: change prefix of int64 functions from 'rbgobj_' to
	'rbglib_'.
	* src/*.[ch]: add 'indent-tabs-mode: nil' to header 

2002-08-29  Masao Mutoh <mutoh@highway.ne.jp>

	* src/rbgobj_boxed.c: Add GLib::Boxed.new, GLib::Boxed#allocate.

2002-08-20  Masao Mutoh <mutoh@highway.ne.jp>

	* src/rbgobj_boxed.c: Add rbgobj_boxed_initialize(), rbgobj_boxed_create().
	Modify rbgobj_boxed_get().

	* src/rbgobject.[ch]: Support Boxed type in rbgobj_create_object(), 
	rbgobj_initialize_object().

2002-08-20  Masahiro Sakai  <s01397ms@sfc.keio.ac.jp>

	* src/utils_int64.c: rb_global_variable(&max_PRUint32)
	* src/rbgobj_param.c: rename rbgobj_get_value_from_paramspec to
	rbgobj_get_value_from_param_spec
	* src/rbgobj_param.c (gobj_get_gtype): use rbgobj_param_spec_get_struct
	instead of RVAL2GOBJ

2002-08-18  Masao Mutoh <mutoh@highway.ne.jp>

   * src/rbobjmanager.[ch]: Add file. Support RB_DEF_CLASS system.

2002-08-14  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* extconf.rb: use $libs instead of $LDFLAGS
	* src/rbglib.c: define GLib::VERSION, GLib::(MAJOR|MINOR|MICRO)_VERSION
	* src/rbgobj_param.c: define GParamFlags constants
	* src/rbgobj_value.c (rbgobj_register_r2g_func): change argument.
	it now take GType as key instead of Ruby class.
	* src/rbgobject.c (rbgobj_add_relative, rbgobj_add_relative_removable,
	rbgobj_remove_relative): call rb_ivar_defined() before calling rb_ivar_get()
	* rbgobj_valuetypes.c, rbgobj_value.c: improve G_TYPE_POINTER handling

2002-08-10  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobject.[ch]: move id_relative_callbacks to gtk
	* src/rbgobj_closure.c, src/rbgobj_object.c, src/rbgobj_signal.c:
	use GVAL2RVAL
	* src/rbgobj_valuetypes.c: add file. implement RBGOBJ_TYPE_RUBY_VALUE
	to box Ruby object into GValue.
	* src/rbgobj_type.c, src/rbgobj_value.c, src/rbgobj_valuetypes.c:
	support G_TYPE_POINTER. This is a tentative implementation.
	* src/global.h: move "extern void Init_hoge();" stuff to where these
	functions are actually called.

2002-08-09  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/utils_int64.c (LL_L2UI): cast argument to guint32
	* src/utils_int64.c (RubyTo64BitInt): oops. convert max_PRUint32 to VALUE.
	* src/utils_int64.c: optimize

2002-08-09  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobject.c: use GQuark
	* src/rbgobj_type.c: fix allocation problem in ruby-1.7
	rb_obj_alloc() was used though GLib::Type#allocate wasn't implemented.
	this problem is pointed out by Masao Mutoh <mutoh@highway.ne.jp>.
	* src/rbgobj_object.c: rename GLib::GObject to GLib::Object
	* src/utils_int64.c: add file. support gint64/guint64.
	code is ripped from rbXPCOM-0.0.3.
	<URL:http://www.ruby-lang.org/en/raa-list.rhtml?name=rbXPCOM>
	Thanks to Kenichi Komiya <kom@mail1.accsnet.ne.jp>
	* src/rbgobj_param.c (value_set_default): initialize GValue with {0,}.
	* src/rbgobj_param.c (ParamSpec#value_type): returns GLib::Type
	* src/rbgobj_param.c (ParamSpec#owner_type): ditto
	* src/rbgobj_paramspecs.c: implement more functions
	* src/rbgobj_boxed.c: use rbgobj_type.c for class managiment
	* src/rbgobj_value.c: hardcode most converters.
	Now table-lookup is used only for G_TYPE_POINTER and G_TYPE_BOXED.
	* src/rbgobj_object.c, src/rbgobj_enum.c, src/rbgobj_param.c: ditto

2002-08-08  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_type.c: more ruby-ish method naming.
	ie: "hoge?" rather than "is_hoge"?
	* src/rbgobj_type.c (rbgobj_lookup_class_by_gtype): enhancement for
	G_TYPE_PARAM
	* src/rbgobj_param.c, src/rbgobj_paramspec.c: rewrite for using above
	enhancement.

2002-08-07  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobject.c (rbgobj_gobject_new): take type argument as GType
	 instead of VALUE.
	* src/rbgobject.c (rbgobj_gobject_new): allow nil for construct parameter
	* src/rbgobj_object.c (is_gtkobject): add function
	* src/rbgobj_object.c (GObject.allocate): check abstract class
	* src/rbgobj_object.c (GObject#initialize): rewrite
	* src/rbgobj_type.c (rbgobj_lookup_class): use independent hash instead
	of instance variable. and abolish id_class_info.
	* src/rbgobj_type.c (rbgobj_lookup_class): search ancestor classes.
	* src/rbgobj_type.c: implement GLib::Type.

2002-08-06  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_type.c: extend rbgobj_lookup_class_by_gtype() to deal
	interfaces
	* src/rbgobject.h: define macros: G_DEF_INTERFACE and G_DEF_INTERFACE2
	* src/rbgobj_typeplugin.c: file added
	* extconf.rb: use --msvc-syntax option for pkg-config if the compiler
	is MSVC++.

2002-08-06  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>
 
	* src/rbgobject.h: remove declaration of id_class_info and id_delete
	* src/rbgobject.h, src/rbgobj_object.c, src/rbgobj_signal.c:
	remove global variable rbgobj_cGObject.

2002-08-03  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbglib.[ch]: fix mGLib declaration and definition

2002-08-02  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_type.c (rbgobj_lookup_class_by_gtype):
	enable calling of rbgobj_define_property_accessors() and
	rbgobj_define_signal_constants().

2002-08-02  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_type.c: abolish rbgobj_register_class()
	* src/rbgobj_type.c (rbgobj_lookup_class_by_gtype):
	now this function create a new class on demand.
	* src/rbgobj_type.c: abolish rbgobj_lookup_rbclass()
	* src/rbgobject.c: fix typo
	* src/rbgobject.c: add rbgobj_define_signal_constants()
	which define constants for signal names.

2002-08-01  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_object.c (_gobject_to_ruby): check NULL before calling
	GOBJ2RVAL().
	* src/rbgobj_signal.c (gobj_sig_connect): remove unused variable 'id'.
	* src/rbgobj_signal.c (gobj_sig_connect_after): ditto
	* src/rbgobj_object.c (gobj_smethod_added): fix bugs
	
2002-07-31  Masao Mutoh  <mutoh@highway.ne.jp>

	* src/rbgobject.c: devide from rbgobj_objectc[ch].
	* src/rbgobj_object.c, src/rbgobject.h: abolish rbgobj_force_get_gobject().
	* src/rbgobject.h: add G_DEF_CLASS(), G_DEF_CLASS2(), GTYPE2CLASS().
	* src/rbgobj_type.c: add rbgobj_define_class()

2002-07-31  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_closure.c: use g_closure_add_invalidate_notifier()
	instead of g_closure_add_finalize_notifier()
	* src/rbgobj_closure.c: fix g_closure_add_invalidate_notifier()'s
	argument order
	* src/rbgobj_signal.c: GObject#signal_connect now accept extra argument
	as Ruby/Gtk 1.
	* src/rbgobj_signal.c: implement GObject#signal_connect_after

2002-07-28  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_object.c (gobj_s_gobject_new): refine GtkObject-specific
	stuff
	* src/rbgobj_object.c: implement GObject#freeze_notify, GObject#notify,
	GObject#thaw_notify
	* src/rbgobj_object.c (gobj_inspect): use g_strdup_printf() instead of
	ALLOCA_N() and sprintf()
	* src/rbgobj_type.c (rbgobj_register_class): add some check
	* src/*.c: replace rbgobj_get_value_from_gobject() with GOBJ2RVAL()
	* src/*.c: replace rbgobj_get_gobject() with RVAL2GOBJ()
	* src/rbgobj_object.c:
	  void rbgobj_define_property_acccessors(VALUE klass);
	is added. This function defines accessor methods for properties.
	* src/rbgobj_signal.c (gobj_sig_emit): call g_value_init()

2002-07-27  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_object.c: abolish rbgobj_make_gobject_auto_type() and
	rbgobj_make_gobject()
	* src/rbgobj_boxed.c, src/rbgobj_enums.c, src/rbgobj_typemodule.c,
	src/rbgobj_signal.c: created
	* src/rbgobj_object.c: move signal stuff to src/rbgobj_signal.c

2002-07-27  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* src/rbgobj_object.c: implement GObject.gobject_new experimentaly.
	  example:
	   w = GLib::GObject.gobject_new("GtkWindow", "title" => "Hello World")

2002-07-26  Masahiro Sakai  <sakai@tom.sfc.keio.ac.jp>

	* extconf.rb: check allocation framework
	* src/rbgobj_object.c: introduce intermediate data structure (gobj_holder)
	for managing not only GObject*, but also class_info and ruby object itself.
	* src/rbgobj_object.c: abolish gobject_object_list_v and 
	gobject_object_list
	* src/rbgobj_object.c: use gobject_weak_ref() to observe an explicit
	disposition. (e.g. by gtk_object_destroy())
	* src/rbgobj_object.c: implement GObject#set_property and
	GObject#get_property
	* src/rbgobj_paramspecs.c: created

2002-06-23  Masahiro Sakai  <s01397ms@sfc.keio.ac.jp>

	* src/rbgobj_type.c (Init_gobject_gtype): call g_type_init().
	* src/rbgobj_object.c, src/gclosure.c: zero-fill GValue before
	using it.

2002-06-23  Masao Mutoh <mutoh@highway.ne.jp>

	* src/rbgobject.h: Fix parameter number of RBGOBJ_INITIALIZE().

2002-06-23  Masao Mutoh <mutoh@highway.ne.jp>

	* src/rbgobject.c: change rbgobj_set_gobject() to rbgobj_initialize_gobject().
	* src/rbgobject.h: create RBGOBJ_INITIALIZE().

2002-06-22  Masahiro Sakai  <s01397ms@sfc.keio.ac.jp>

	* src/rbgobject.h: create two macros; RVAL2GOBJ() and GOBJ2RVAL().
	* src/rbgobject.h, rbgobj_object.c: make rbgobj_make_gobject() and
	rbgobj_make_gobject_auto_type() be private.
	* src/rbgobj_object.c: remove gobj_mark() and clear_gobject().
	* src/rbglib.c: remove gError.

2002-06-20  Masahiro Sakai  <s01397ms@sfc.keio.ac.jp>

	* src/rbgobj_object.c, src/rbgobj_type.c, src/rbgobject.h:
	rename rbgobj_class_info to RGObjClassInfo.

2002-06-18  Masahiro Sakai  <s01397ms@sfc.keio.ac.jp>

	* src/*.c: conform to Ruby/GNOME2 coding-style.

2002-06-18  Masahiro Sakai  <s01397ms@sfc.keio.ac.jp>

	* extconf.rb: check whether package exists or not.
