Commit Graph

56 Commits

Author SHA1 Message Date
Dan Winship
91d96350a7 Add G_DEFINE_INTERFACE
This is a macro similar to G_DEFINE_TYPE but it lets you define
interfaces rather than classes.

For discussion, see bug #320482
2009-12-01 10:44:42 +01:00
Alexander Larsson
7d51c96e5e Add G_IMPLEMENT_INTERFACE_DYNAMIC
Convenience macro to easy interface addition for dynamic types.

https://bugzilla.gnome.org/show_bug.cgi?id=508157
2009-11-26 11:20:18 +01:00
Matthias Clasen
008ae16d75 Add new functions 2009-05-03 17:00:37 -04:00
Matthias Clasen
7a9c75a099 Add g_object_get_type
svn path=/trunk/; revision=7429
2008-09-02 17:39:32 +00:00
Matthias Clasen
cb3b591aaa Add new api
svn path=/trunk/; revision=7207
2008-07-19 02:15:31 +00:00
Stefan Kost
e7bc23623e Remove duplicated entries. They are documented and should be shown.
* docs/reference/gobject/gobject-sections.txt:
	  Remove duplicated entries. They are documented and should be shown.


svn path=/trunk/; revision=7067
2008-06-21 11:33:53 +00:00
Cody Russell
49f802b83e Added GRegex boxed type. (#445065, Carlos Garnacho)
2007-06-15  Cody Russell  <bratsche@gnome.org>

	* docs/reference/gobject/tmpl/gboxed.sgml:
	* docs/reference/gobject/gobject-sections.txt:
	* glib/gregex.c:
	* gobject/gboxed.[ch]:
	* gobject/gobject.symbols: Added GRegex boxed type.
	(#445065, Carlos Garnacho)


svn path=/trunk/; revision=5566
2007-06-15 16:31:21 +00:00
Matthias Clasen
1cb4af3e96 2.13.0
svn path=/trunk/; revision=5419
2007-03-16 22:11:15 +00:00
Matthias Clasen
d7b7c44e40 Define G_DEFINE_DYNAMIC_TYPE and and _EXTENDED variant. (#334437)
2006-12-29 Matthias Clasen  <mclasen@redhat.com>

        * gtypemodule.h: Define G_DEFINE_DYNAMIC_TYPE and
        and _EXTENDED variant.  (#334437)
2006-12-29 06:12:11 +00:00
Matthias Clasen
5dd378d2bd Updates 2006-04-24 21:12:52 +00:00
Matthias Clasen
8506d70257 forgotten file 2006-04-24 20:50:12 +00:00
Matthias Clasen
9d69eab963 additions 2005-12-24 07:49:51 +00:00
Matthias Clasen
d9d75c48de Document GObject api additions 2005-11-27 20:08:59 +00:00
Matthias Clasen
c0cffcf51b Document g_value_set_instance(), (#319885, Milosz Derezynski)
2005-10-26  Matthias Clasen  <mclasen@redhat.com>

	* gobject/gobject-sections.txt:
	* gobject/tmpl/generic_values.sgml: Document g_value_set_instance(),
	(#319885, Milosz Derezynski)
2005-10-27 02:54:30 +00:00
Owen Taylor
2ae1a46b4c Add g_object_add/remove_toggle_ref() functions to get notification when a
2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * gobject.[ch] gobject.symbols: Add
        g_object_add/remove_toggle_ref() functions to get notification
        when a reference count is the last remaining reference; this
        enables better memory management for language bindings.
        (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/gdataset.[ch] glib/gdatasetprivate.h: Add
        g_datalist_set/unset_flags(), g_datalist_get_flags() functions
        to squeeze some bits into a GDataSet... this is needed for
        efficient implementation of toggle references in GObject.

        * tests/gobject/references.c tests/gobject/Makefile.am:
        Add a test case for weak and toggle references.

        * glib/gfileutils.[ch]: Rename g_file_replace() back
        to g_file_set_contents().

        * glib/glib.symbols: Update.

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
        Update

        * gobject/tmpl/objects.sgml: Document toggle-references.
2005-05-05 14:57:29 +00:00
Matthias Clasen
5374882914 Additions 2005-05-01 22:02:16 +00:00
Matthias Clasen
a82bcb3107 Add a boxed type for GDate. (#301787, Tim-Philipp Müller)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gobject.symbols:
	* gboxed.h (G_TYPE_DATE):
	* gboxed.c: Add a boxed type for GDate. (#301787, Tim-Philipp
	Müller)
2005-04-29 18:33:41 +00:00
Matthias Clasen
5a6df6dd65 Documentation fixes. 2004-10-26 16:10:52 +00:00
Matthias Clasen
8414d97c5b Add g_type_module_register_enum() and g_type_module_register_flags().
Tue Jul  6 00:54:38 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/gobject-sections.txt:
	* gobject/tmpl/gtypemodule.sgml: Add g_type_module_register_enum()
	and g_type_module_register_flags().
2004-07-06 04:56:36 +00:00
Matthias Clasen
af81f44e66 Improve docs for G_DEFINE_TYPE_* macros.
Sun Jan 11 01:25:44 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/gtype.sgml: Improve docs for G_DEFINE_TYPE_* macros.

Sun Jan 11 01:25:29 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/gobject-sections.txt: Add G_DEFINE_TYPE_EXTENDED.
2004-01-11 00:23:57 +00:00
Matthias Clasen
f05c39ab42 Document g_type_class_peek_static.
Sat Jan 10 01:36:01 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/gtype.sgml: Document g_type_class_peek_static.

Sat Jan 10 01:23:58 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/gobject-sections.txt: Add g_type_class_peek_static,
	G_DEFINE_TYPE, G_DEFINE_TYPE_WITH_CODE, G_DEFINE_ABSTRACT_TYPE,
	G_DEFINE_ABSTRACT_TYPE_WITH_CODE, G_IMPLEMENT_INTERFACE.


Sat Jan 10 01:23:01 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/objects.sgml: Update docs of g_object_connect.

Fri Jan  9 23:40:23 2004  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/gboxed.sgml:
	* gobject/gobject-sections.txt: Add G_TYPE_STRV and GStrv.
2004-01-10 00:34:26 +00:00
Matthias Clasen
b4f769efaf Add a boxed type for nul-terminated string arrays. (#110528)
Fri Jan  9 23:41:00 2004  Matthias Clasen  <maclas@gmx.de>

	* gboxed.h:
	* gboxed.c (g_strv_get_type): Add a boxed type for nul-terminated
	string arrays.  (#110528)
2004-01-09 22:39:55 +00:00
Owen Taylor
4d3e3f0bd9 Document interface properties and GParamSpecOverride.
Tue Oct 14 17:45:33 2003  Owen Taylor  <otaylor@redhat.com>

        * gobject/gobject-sections.txt gobject/tmpl/objects.sgml
        gobject/tmpl/param_value_types.sgml gobject/tmpl/gparamspec.sgml:
        Document interface properties and GParamSpecOverride.
2003-10-21 19:14:04 +00:00
Matthias Clasen
4a29291187 Documentation additions. 2003-10-20 20:07:45 +00:00
Matthias Clasen
ad23d7bb7f Additions.
Mon Oct 20 01:12:46 2003  Matthias Clasen  <maclas@gmx.de>

	* gobject/tmpl/gtype.sgml:
	* gobject/tmpl/param_value_types.sgml:
	* gobject/tmpl/value_arrays.sgml: Additions.

	* gobject/tmpl/gboxed.sgml:
	* gobject/gobject-sections.txt: Remove prematurely added
	GStrv documentation.
2003-10-19 23:17:30 +00:00
Matthias Clasen
9d641fd17a Document closures. 2003-10-14 00:37:18 +00:00
Matthias Clasen
1a197c35c3 Fix includes.
Sun Oct  5 23:23:53 2003  Matthias Clasen  <maclas@gmx.de>

	* gobject/glib-sections.txt:
	* gobject/gobject-sections.txt: Fix includes.

	* gobject/tmpl/value_collection.sgml: Add docs found in the
	header.
2003-10-05 21:32:09 +00:00
Owen Taylor
3963846335 Add g_type_add/remove_interface_check()
Thu Oct  2 01:22:46 2003  Owen Taylor  <otaylor@redhat.com>

        * gobject/gobject-sections.txt gobject/tmpl/gtype.sgml:
        Add g_type_add/remove_interface_check()
2003-10-02 05:25:32 +00:00
Owen Taylor
4cfce6290b Docs for g_type_default_interface_ref(), etc. :
Mon Sep 29 10:55:23 2003  Owen Taylor  <otaylor@redhat.com>

        *  gobject/gobject-sections.txt gobject/tmpl/gtype.sgml:
        Docs for g_type_default_interface_ref(), etc.
: ----------------------------------------------------------------------
2003-09-29 14:56:23 +00:00
Owen Taylor
89e16ea9c7 Add docs for g_signal_accumulator_true_handled.
Fri Sep 12 16:29:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gobject/tmpl/signals.sgml: Add docs for
        g_signal_accumulator_true_handled.
2003-09-12 20:37:29 +00:00
Matthias Clasen
c3acb9da0c Make the g_value_set_x_take_ownership() functions "official" part of the
2003-09-12  Matthias Clasen  <maclas@gmx.de>

	Make the g_value_set_x_take_ownership() functions "official"
	part of the API (#100948):

	* gvaluetypes.[hc]: Add g_value_take_string() (synonym to the
	now deprecated g_value_set_string_take_ownership()).

	* gparam.[hc]: Add g_value_take_param() (synonym to the
	now deprecated g_value_set_param_take_ownership()).

	* gobject.[hc]: Add g_value_take_object() (synonym to the
	now deprecated g_value_set_object_take_ownership()).

	* gboxed.[hc]: Add g_value_take_boxed() (synonym to the
	now deprecated g_value_set_boxed_take_ownership()).

	* gobject/gobject-sections.txt: Add new g_value_take_x() functions.

	* gobject/tmpl/param_value_types.sgml: Document new g_value_take_x()
	functions.  (#100948)
2003-09-12 20:11:38 +00:00
Matthias Clasen
dfa521fdf7 Additions. 2003-03-24 23:28:35 +00:00
Owen Taylor
e6d15f6eaf Document private instance data.
Mon Mar 10 11:33:10 2003  Owen Taylor  <otaylor@redhat.com>

        * gobject/tmpl/gtype.sgml gobject/gobject-sections.txt:
        Document private instance data.
2003-03-10 16:38:58 +00:00
Matthias Clasen
bec0034918 Add GTypeClass, GTypePluginClass and GTypeModuleClass.
* gobject/tmpl/gtype.sgml:
	* gobject/tmpl/gtypeplugin.sgml:
	* gobject/tmpl/gtypemodule.sgml:
	* gobject/gobject-sections.txt: Add GTypeClass, GTypePluginClass
	and GTypeModuleClass.

	* gobject/tmpl/gboxed.sgml: Add docs.
2002-12-09 19:06:42 +00:00
Matthias Clasen
90d5b0fced More docs.
* gsignal.c: More docs.

	* gobject/gobject-sections.txt: Mark g_signal_handlers_destroy as
	private.

	* gobject/tmpl/signals.sgml: Move some docs inline.
2002-12-01 01:32:11 +00:00
Matthias Clasen
1565a2027e Add g_type_interface_prerequisites. 2002-10-15 21:16:20 +00:00
Matthias Clasen
61f76fa4e5 Updates.
* gobject/gobject-sections.txt:
	* gobject/tmpl/gtype.sgml: Updates.
2002-04-23 23:18:37 +00:00
Sven Neumann
5eced196ba gobject/gobject-sections.txt gobject/tmpl/generic_values.sgml updated for
2002-02-20  Sven Neumann  <sven@gimp.org>

	* gobject/gobject-sections.txt
	* gobject/tmpl/generic_values.sgml
	* gobject/tmpl/param_value_types.sgml: updated for GValue changes.
2002-02-20 09:51:10 +00:00
Owen Taylor
5a7cf7fa60 1.3.13
Tue Jan 29 11:18:44 2002  Owen Taylor  <otaylor@redhat.com>

        * 1.3.13

        * NEWS: Updated.

        * configure.in: Micro == 13, binary age, interface age 0.
        [ binary breakage was return type of g_signal_connect_object(),
        probably could have used binary age == 0, but a little safer not to.]

        * configure.in: Remove configure warning.
2002-01-29 17:10:34 +00:00
Owen Taylor
3de06553d4 SGML fixes. Small updates.
Wed Dec 19 23:07:53 2001  Owen Taylor  <otaylor@redhat.com>
        * glib/tmpl/messages.sgml glib/tmpl/string_utils.sgml:
        SGML fixes.
        * gobject/gobject-sections.txt glib/glib-sectoins.txt: Small updates.
2001-12-20 04:48:36 +00:00
Owen Taylor
b9f59f0f9d Update.
Thu Nov 22 12:56:57 2001  Owen Taylor  <otaylor@redhat.com>

        * gobject/gobject-sections.txt: Update.

        * glib/tmpl/{spawn.sgml,patterns.sgml}: SGML fixes.

        * glib/glib-sections.txt: Updated.

        * glib/Makefile.am (IGNORE_HFILES): Don't scan
        headers in build/
2001-11-22 18:54:47 +00:00
Tim Janik
0d14682569 provide G_TYPE_FUNDAMENTAL_SHIFT and g_type_fundamental_next() to return
Thu Nov 22 00:26:26 2001  Tim Janik  <timj@gtk.org>

        * gtype.[hc]: provide G_TYPE_FUNDAMENTAL_SHIFT and
        g_type_fundamental_next() to return next usable fundamental
        type. use TypeNode pointers as type IDs.
2001-11-21 23:48:19 +00:00
Tim Janik
4abd166025 list parameter and value types.
Tue Nov 13 21:31:58 2001  Tim Janik  <timj@gtk.org>

        * gobject/tmp/param_value_types.sgml: list parameter and
        value types.

        * gobject/tmpl/gparamspec.sgml: more docs for g_param_spec*()
        functions.

        * gobject/*: section cleanups.
2001-11-14 01:08:19 +00:00
Tim Janik
930d11d2af param spec updates.
Tue Nov 13 19:49:16 2001  Tim Janik  <timj@gtk.org>

        * gobject/tmpl/gparamspec.sgml: param spec updates.
2001-11-13 18:49:56 +00:00
Tim Janik
dc0b74d416 got rid of g_set_error_handler(), g_set_warning_handler(),
Mon Sep 10 17:13:36 2001  Tim Janik  <timj@gtk.org>

        * glib/gmessages.h: got rid of g_set_error_handler(),
        g_set_warning_handler(), g_set_message_handler().

Wed Sep  5 05:24:07 2001  Tim Janik  <timj@gtk.org>

        * gobject/tmpl/gboxed.sgml: documented some functions.

        * gobject/tmpl/objects.sgml: some fixups.

Mon Sep 10 19:27:47 2001  Tim Janik  <timj@gtk.org>

        * gtype.[hc]:
        g_type_add_interface*(): implement the ability to add an interface to
        a type whose parents already conform to this interface.
        such "overriding" interfaces, when initialized, are not just initialized
        with 0, but with a copy of the interface they override.
        g_type_interface_peek_parent(): new function, return the interface
        that this interface "overrides", if any.

        * testgruntime.c: test new interface stuff.
2001-09-10 18:03:31 +00:00
Tim Janik
535f773bd3 document value arrays.
Sun Aug 12 02:24:36 2001  Tim Janik  <timj@gtk.org>

        * gobject/tmpl/value_arrays.sgml: document value arrays.
2001-08-12 00:56:22 +00:00
Sven Neumann
d1d623b072 added new function g_nullify_pointer().
2001-08-06  Sven Neumann  <sven@gimp.org>

	* glib/gutils.[ch]: added new function g_nullify_pointer().

	* gobject/gobject.[ch]:
	added new functions g_object_[add|remove]_weak_pointer().
2001-08-06 20:55:11 +00:00
Owen Taylor
4463418e64 Revert Tim's last commit to get rid of 7+ unnecessary / broken changes.
Wed Mar  7 15:02:17 2001  Owen Taylor  <otaylor@redhat.com>

	* gobject/Makefile.am: Revert Tim's last commit to
	get rid of 7+ unnecessary / broken changes. Add
	back the useful part. Also fix problem with grep,
	add dependency on template files.

	* gobject/gobject-sections.txt: Remove double
	value_types names which was screwing up builds.

	* glib/Makefile.am: Propagate changes from
	gobject/Makefile.am
2001-03-07 20:11:09 +00:00
Tim Janik
37e4b8c87e changed prototype of g_boxed_type_register_static() to contain an optional
Wed Mar  7 09:36:33 2001  Tim Janik  <timj@gtk.org>

	* gboxed.[hc]: changed prototype of g_boxed_type_register_static()
	to contain an optional init function and a hint at whether the
	boxed structure uses ref counting internally.
	added g_value_set_boxed_take_ownership().
	made G_TYPE_BOXED an abstract value type.

	* genums.[hc]: made G_TYPE_ENUM and G_TYPE_FLAGS abstract value
	types.

	* glib-genmarshal.c: argument type changes, preparation for third-party
	arg specification.

	* gobject.[hc]: cleaned up get/set property code.
	added g_strdup_value_contents() to improve warnings.

	* gparam.[hc]: added g_param_value_convert(), taking over responsibility
	of the old g_value_convert(). added G_PARAM_LAX_VALIDATION flag so
	validation alterations may be valid a part of the property setting
	process.

	* gparamspecs.[hc]: made value comparisons stable (for sort applications).
	added GParamSpecValueArray, a param spec for value arrays and
	GParamSpecClosure. nuked the value exchange functions and
	GParamSpecCCallback.

	* gtype.[hc]: catch unintialized usages of the type system with
	g_return_val_if_uninitialized(). introduced G_TYPE_FLAG_VALUE_ABSTRACT
	to flag types that introduce a value table, but can't be used for
	g_value_init(). cleaned up reserved type ids.

	* gvalue.[hc]: code cleanups and saner checking.
	nuked the value exchange API. implemented value transformations, we
	can't really "convert" values, rather transforms are an anylogy to
	C casts, real conversions need a param spec for validation, which is
	why g_param_value_convert() does real conversions now.

	* gvaluearray.[hc]: new files that implement a GValueArray, a struct
	that can hold inhomogeneous arrays of value (to that extend that it
	also allowes undefined values, i.e. G_VALUE_TYPE(value)==0).
	this is exposed to the type system as a boxed type.

	* gvaluetransform.c: new file implementing most of the former value
	exchange functions as single-sided transformations.

	* gvaluetypes.[hc]: nuked G_TYPE_CCALLBACK, added
	g_value_set_string_take_ownership().

	* *.h: s/G_IS_VALUE_/G_VALUE_HOLDS_/.

	* *.[hc]: many fixes and cleanups.

	* many warning improvements.

Tue Feb 27 18:35:15 2001  Tim Janik  <timj@gtk.org>

	* gobject.c (g_object_get_valist): urg, pass G_VALUE_NOCOPY_CONTENTS
	into G_VALUE_LCOPY(), this needs proper documenting.

	* gparam.c: fixed G_PARAM_USER_MASK.

	* gtype.c (type_data_make_W):
	(type_data_last_unref_Wm): fixed invalid memory freeing.

	* gobject.c (g_object_last_unref): destroy signal handlers associated
	with object, right before finalization.

	* gsignal.c (g_signal_parse_name): catch destroyed nodes or signals
	that don't actually support details.

	* gobject.[hc]: got rid of property trailers. nuked GObject
	properties "data" and the "signal" variants.
	(g_object_connect): new convenience function to do multiple
	signal connections at once.
	(g_object_disconnect): likewise, for disconnections.

	* gparam.[hc] (g_param_spec_pool_lookup): took out trailer support.

	* gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
	as private (the latter got renamed from g_value_get_as_pointer()).

Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>

        * glib-object.h: add gvaluearray.h.

        * gstring.[hc]: fixup naming of g_string_sprint*.

        * gtypes.h: fixed GCompareDataFunc naming.

Wed Mar  7 09:33:27 2001  Tim Janik  <timj@gtk.org>

        * gobject/Makefile.am: shuffled rules to avoid excessive
        rebuilds.

        * gobject/gobject-sections.txt: updates.

        * gobject/tmpl/*: bunch of updates, added another patch
        from Eric Lemings <eric.b.lemings@lmco.com>.
2001-03-07 14:46:45 +00:00
Tim Janik
f0b9abe801 adapt to work with new CVS gtk-doc, leaving the old rules in place caused
Wed Jan 31 07:14:22 2001  Tim Janik  <timj@gtk.org>

        * gobject/Makefile.am: adapt to work with new CVS gtk-doc, leaving the old
        rules in place caused bogus recursions. main changes:
        - add to conditionalized section:
          all-local:
                $(MAKE) scan
                $(MAKE) templates
                $(MAKE) sgml
                $(MAKE) html.stamp
          html.stamp: sgml.stamp $(EXTRA_SGML_FILES)
                $(MAKE) html
          DOC_STAMPS= html.stamp sgml.stamp
        - change:
          maintainer-clean-local: clean
          -     cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
          +     cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt $(DOC_STAMPS)

        * glib/Makefile.am (maintainer-clean-local): dito.

Wed Jan 31 06:21:32 2001  Tim Janik  <timj@gtk.org>

        * gobject/tmpl/types.sgml: applied docu patch from Eric Lemings
        <eric.b.lemings@lmco.com>, did some more editing.

Wed Jan 31 06:19:49 2001  Tim Janik  <timj@gtk.org>

        * gparam.h: gtk-doc sucks for not dealing with #define inside enums.

        * gtype.[hc]: added G_TYPE_FLAG_RESERVED_ID_BIT, a bit in the type
        number that's supposed to be left untouched (preserved mainly
        for the signal code).

        * *.c: added thread safety code, based on an old patch from sebastian.
        the remaining thread safety issues are now datalists on pspecs (to be
        solved im gdataset.c) and gvalue.c where locking concerns value exchange
        functionality only, and that's soon to be revised.
2001-01-31 06:27:41 +00:00