doc: Remove empty namespaces from en/index.xml
doc: Remove reference to Dbus class, it was renamed to DBus
build: Fix Makefile of valtest and opaquetest samples

Some parts were not taking into account the fact that the generated code
is now in a subfolder.
gtk: Add ListStore.SetValue overload for long type

Without that change, using ListStore.SetValue with a long would use the
float overload, which might not be expected and cause some issues.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
gapi.xsd: Fix type of array_len attribute in fieldType
generator: Add support for fixed length arrays as method parameters

Fixed length arrays are available in gobject introspection and are
already converted by the bindinator tool. The array_len attribute was
only used in structs.

This adds support for them as method parameters, generating the correct
code for them. Fixes issue #98.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
generator: Fix handle being passed when type is a struct

A static getter method would always generate a Handle parameter even
though some types do not have a Handle, for example structs.

Closes issue #99.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
generator: Add new keyword to GType property if it hides parent

If the parent already has a GType property, add a "new" keywords to hide
it.

This eliminates a lot of warnings when using classes derived from
Opaque. Closes issue #100.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
build: Add a pkg-config file for gdk-sharp-3.0

This allows consumers to specifically require gdk-sharp-3.0 without
having to pull in the full gtk-sharp-3.0.

Closes issue #101.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
generator: Fix generation of SetGValue method

Some types need special methods to convert an object to a GLib.Value.
The type system will look for a SetGValue method with a "ref GLib.Value"
parameter and invoke it.

A special case in the generation is needed because this is a non-static
method with the Handle being passed as the second parameter and the
GLib.Value as the first. Without this fix, the generator would generate
the Handle for the first parameter and then the GLib.Value.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
gdk: Fix dll name and use a const for all DllImports in custom code

In Windows builds of GTK+ 3.x, the dll filename for GDK is
libgdk-3-0.dll.

We use this opportunity to use a common const in the DllImport for all
custom code.
build: Tell libtoolize to put its m4 files in the m4 directory

Also have git ignore that m4 directory, as its content is generated by
autogen.sh.
build: Make libtoolize quiet, it's not that interesting
configure: use canonical paths when comparing prefixes

A user reported in the mailing list [1] to be advised to use
`/usr/lib64/pkgconfig/../..` as a prefix. This path is too
convoluted, could give problems, and also shouldn't be the
one to be compared against the prefix flag used, so use
readlink -m to follow '..' subfolders to transform it, in
this example, to simply `/usr`

[1] http://lists.ximian.com/pipermail/gtk-sharp-list/2014-May/011436.html
build: Fix opaquetest build on Windows

Create 2 makefile variable to facilitate build on Windows:
GENERATED_SOURCES_FILES to match files created by the code generator,
and GENERATED_SOURCES_OPTION for the corresponding option to be passed
to the compiler.

Also adapt the makefile for the valtest sample to use these variables.
sample: Fix GtkDemo/DemoImages.cs on Windows

Calling .PeekChar on a binary stream can cause an ArgumentException
because it tries to decode the byte.
Update the Windows installer infrastructure for GTK+ 3

Port the current installer infrastructure from the gtk-sharp-2-12
branch, adapting it as needed. Credits go to Duncan Mak for
maintaining the 2.12 installer in the past few years.

When building on Windows, if the WiX toolset is available, the msi is
generated automatically at the end of the build.
sample: Fix GtkDemo/DemoImages progressive update with recent gtk+
glib: Add GVariant to fundamental types

GVariant is a fundamental type since 2.26, this commit adds it to the
fundamental type list and adds operators to construct and convert from
and to a GValue.

https://developer.gnome.org/gobject/stable/gobject-Type-Information.html#G-TYPE-VARIANT:CAPS

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
.gitignore: add autotools' `compile`

Since automake 1.14, autotools now generate a symbolic link named
`compile` in the root of the repository when running, so let's include
it in .gitignore to achieve a clean `git status` after compiling (or
avoid breaking the build via `git clean -fd`).

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>