Commit Graph

504 Commits

Author SHA1 Message Date
Philip Withnall
cd0d605b23 docs: Mention g_clear_object() in the GObject tutorial
As an alternative to g_object_unref().

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:53 +01:00
Philip Withnall
f9410b1647 docs: Remove pointless copy of GObject headers from tutorial
Remove a copy of the refcounting functions from gobject.h from the
GObject tutorial. It suffices to link to the functions in the API
reference.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:53 +01:00
Philip Withnall
92f6325509 docs: Miscellaneous formatting and wording fixes to GObject tutorial
Convert a few sections to use the passive voice, and add some more
<function> elements.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:53 +01:00
Philip Withnall
2aade94fcc docs: Update code examples in GObject tutorial
Use G_DECLARE_FINAL_TYPE, simplify property handling, and remove some
unnecessary braces.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:53 +01:00
Philip Withnall
42baaa88cd docs: Use generic marshallers in GObject how-to examples
They’re the new vogue for handling signals.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:53 +01:00
Philip Withnall
01962b4dd1 docs: Rename a parameter in a GObject how-to example
Make it obvious the parameter is not related to AClass.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:52 +01:00
Philip Withnall
a76242b35a docs: Add vfunc NULL checks to GObject how-to examples
Not setting a pure vfunc is a programmer error, so can be handled with a
g_return_if_fail() rather than needing a g_warning().

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:52 +01:00
Philip Withnall
82abb80553 docs: Update interfaces in GObject how-to examples
Use G_DECLARE_INTERFACE and G_DEFINE_INTERFACE. Fix a couple of typos.
Add some comments to empty functions to make it obvious they’re
intentionally empty.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:52 +01:00
Philip Withnall
ffc248919b docs: Update instance private data in GObject how-to examples
Use get_instance_private().

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:52 +01:00
Philip Withnall
b88ac15e65 docs: Update property handling in GObject how-to examples
Be a bit more consistent about property enum numbering.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:19 +01:00
Philip Withnall
2e4700d52b docs: Various wording changes in the GObject how-to
• Consistently make all titles sentence case
 • Fix various typos
 • Remove an unnecessary footnote
 • Remove first person phrasing

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:19 +01:00
Philip Withnall
f1287a9b2f docs: Remove commented out sections from GObject how-to
Unused, outdated, and unsalvagable.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:19 +01:00
Philip Withnall
0344e6cb83 docs: Add missing <function> elements to GObject how-to
Break the text up a little with some formatting.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:19 +01:00
Philip Withnall
b6b0f5f305 docs: Update GObject how-to for G_DECLARE_*_TYPE macros
Restructure the section of the how-to which covers the header and source
code boilerplate for declaring and defining GObjects to use the new
G_DECLARE_*_TYPE macros. Present both final and derivable types.

Trim various supporting paragraphs.

Rename ‘class functions’ to ‘virtual functions’ to use consistent,
modern terminology.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-08-21 15:15:19 +01:00
Philip Withnall
9874fe3c40 gobject: Cross-link from GType reference docs to GType conventions page
Make it a little easier to find the GType conventions page, which I
guess should be the canonical guide to how to name things.

This adds a brief mention of the valid characters in a type name to the
conventions page.

https://bugzilla.gnome.org/show_bug.cgi?id=743018
2015-08-19 12:54:50 +01:00
Xavier Claessens
497b294510 Doc: Fix missing API from GOptionGroup boxing 2015-03-12 16:09:14 -04:00
Philip Withnall
32956587f3 docs: Remove redundant header examples from GObject tutorial
These are in the header boilerplate section, but are actually source
boilerplate which is covered in later sections.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-03-03 17:25:43 +00:00
Philip Withnall
88e011a7cf docs: Change tutorial encodings from ISO-8859-1 to UTF-8
ISO-8859-1 — that’s a blast from the past.

https://bugzilla.gnome.org/show_bug.cgi?id=744060
2015-03-03 17:25:43 +00:00
Xavier Claessens
3d39b8eb01 Add G_DECLARE_INTERFACE
https://bugzilla.gnome.org/show_bug.cgi?id=743939
2015-02-06 12:18:37 +01:00
Xavier Claessens
6a97275c45 docs: fix many documentation issues in gobject/ 2015-02-05 16:01:17 +01:00
Ryan Lortie
3b4cb28e17 gtype: add type declaration macros for headers
Add G_DECLARE_DERIVABLE_TYPE() and G_DECLARE_FINAL_TYPE() to allow
skipping almost all of the typical GObject boilerplate code.

These macros make some assumptions about GObject best practice that mean
that they may not be usable with older classes that have to preserve
API/ABI compatibility with a time before these practices existed.

https://bugzilla.gnome.org/show_bug.cgi?id=389585
2015-01-27 11:07:52 +00:00
Philip Withnall
d951db4236 gobject: Add g_set_object() convenience function to set GObject pointers
Along the same lines as g_clear_object(), g_set_object() is a
convenience function to update a GObject pointer, handling reference
counting transparently and correctly.

Specifically, it handles the case where a pointer is set to its current
value. If handled naïvely, that could result in the object instance
being finalised. In the following code, that happens when
(my_obj == new_value) and the object has a single reference:
    g_clear_object (&my_obj);
    my_obj = g_object_ref (new_value);

It also simplifies boilerplate code such as set_property()
implementations, which are otherwise long and boring.

Test cases included.

https://bugzilla.gnome.org/show_bug.cgi?id=741589
2014-12-18 11:32:56 +00:00
Philip Withnall
e98a5828d3 docs: Remove a mention of g_clear_object() being atomic
It is no longer atomic.

https://bugzilla.gnome.org/show_bug.cgi?id=741589
2014-12-16 17:11:11 +00:00
Matthias Clasen
0f21ee4c89 gobject: Add missing symbols to the docs 2014-12-15 13:17:15 -05:00
Rico Tzschichholz
d0d5ea71bb docs: Add index for 2.44 api 2014-12-01 14:17:26 +01:00
Sébastien Wilmet
66ef10eec9 docs: syntax highlighting for the code examples
In the sections Concepts, Tools and Tutorial.

https://bugzilla.gnome.org/show_bug.cgi?id=736914
2014-09-26 23:36:26 +02:00
Sébastien Wilmet
dfaaf37338 Update URLs library.gnome.org -> developer.gnome.org 2014-09-18 20:32:43 +02:00
Rico Tzschichholz
4c8480e6fa docs: Add index for 2.42 api 2014-08-17 22:54:22 +02:00
Michael Catanzaro
c3842d1969 Fix old wiki links 2014-07-01 23:52:19 -05:00
Edward Hervey
c5c3c320a2 gvalue: New g_value_init_from_instance
Used for the commonly used case (in signal emission) where we
initialize and set a GValue for an instance

Includes a fast-path for GObject

Overall makes it 6 times faster than the previous combination
of g_value_init + g_value_set_instance

Makes signal emission around 10% faster

https://bugzilla.gnome.org/show_bug.cgi?id=731950
2014-06-24 14:21:10 -04:00
Michael Catanzaro
753e6ef7d7 docs: fix typos 2014-06-24 10:49:21 -05:00
Zeeshan Ali (Khattak)
eb6da409fa docs: Correct param to interface's default_init()
https://bugzilla.gnome.org/show_bug.cgi?id=731979
2014-06-21 12:18:58 +01:00
Michael Catanzaro
d552a1f125 docs: fix a broken sentence 2014-06-20 16:44:59 -05:00
Michael Catanzaro
39d70301c5 trivial: docs: add some missing commas 2014-06-06 22:58:48 -05:00
Matthias Clasen
903a5d711e docs: Add an index for 2.40 api 2014-05-31 11:32:55 -04:00
Edward Hervey
6072e3650f gtype: Add check for fundamental instance type
When checking whether an instance is of a given fundamental type (such
as G_TYPE_OBJECT), we can avoid over 60%+ of the cost of checking types.

https://bugzilla.gnome.org/show_bug.cgi?id=730984
2014-05-31 15:45:29 +02:00
Philip Withnall
704852ff09 gobject: Document that classes/objects/interfaces are zero-filled
On initialisation, GObject guarantees to zero-fill
class/object/interface structures. Document this so people don’t spend
forever writing:
    my_object->priv->some_member = NULL;
    my_object->priv->some_other_member = NULL;

https://bugzilla.gnome.org/show_bug.cgi?id=729167
2014-04-29 10:40:20 +01:00
Xavier Claessens
0ffa1ea8dd Add G_ÂTYPE_VARIANT_DCT into the doc 2014-02-19 15:51:27 -05:00
Matthias Clasen
35066ed6c6 Docs: Drop entities, switch away from sgml mode
Since all element markup is now gone from the doc comments,
we can turn off the gtk-doc sgml mode, which means that from
now on, docbook markup is no longer allowed in doc comments.

To make this possible, we have to replace all remaining
entities in doc comments by their replacement text, &amp; -> &
and so on.
2014-02-09 02:07:26 -05:00
Ryan Lortie
78ec35f7ab gobject: box GVariantDict
We will want to use this in GApplication for a signal and a property.

https://bugzilla.gnome.org/show_bug.cgi?id=625408
2014-02-04 12:24:19 +00:00
Michael Catanzaro
6448f87552 docs: fix two typos 2014-01-02 19:40:47 -06:00
Matthias Clasen
28c2706da7 Drop g_trap_object_ref debugging mechanism
This is really just a very crude and limited conditional breakpoint.
Update the documentation to explain conditional breakpoints in
gdb instead. Also, remove the link to refdbg, which appears dead.

https://bugzilla.gnome.org/show_bug.cgi?id=719687
2013-12-02 21:48:03 -05:00
Matthias Clasen
89f9f227d6 Add G_TYPE_CHECKSUM to the docs 2013-07-09 13:31:04 -04:00
Ryan Lortie
a61f718e5e small docs xml fixup 2013-06-24 11:19:25 -04:00
Emmanuele Bassi
54cc43630d Rename the generated private data getter function
As it turns out, we have examples of internal functions called
type_name_get_private() in the wild (especially among older libraries),
so we need to use a name for the per-instance private data getter
function that hopefully won't conflict with anything.
2013-06-24 15:43:04 +01:00
Emmanuele Bassi
1f6f7e1c4d docs: Clean up the GObject tutorial a bit
Started off by using the new instance private data macro, ended up
cleaning up the obscure, out of date, or simply broken concepts and
paragraphs.

https://bugzilla.gnome.org/show_bug.cgi?id=700035
2013-06-24 14:18:01 +01:00
Emmanuele Bassi
f870d5abdb docs: Include newly added functions and macros
The functions are private, and an implementation detail of the macros.

https://bugzilla.gnome.org/show_bug.cgi?id=700035
2013-06-24 14:18:01 +01:00
Emmanuele Bassi
270d73a1e0 docs: Fix g_binding_unbind() in the API reference 2013-06-12 11:24:55 +01:00
William Jon McCann
a681e11f92 Fix property example in gobject tutorial
https://bugzilla.gnome.org/show_bug.cgi?id=692848
2013-05-30 10:25:29 -04:00
Ryan Lortie
c7e965f4ee docs/: ignore gtester Makefile targets
Mark 'test', 'test-report', 'perf-report' and 'full-report' as PHONY in
docs/Makefile.am to prevent recursion of gtester into the documentation
subdirectories.  Stop including Makefile.decl from these directories
since it is no longer necessary.

This will clear up the warnings about EXTRA_DIST being defined once in
gtk-doc.make and again in Makefile.decl.
2013-05-29 21:36:50 -04:00