* generator/ObjectBase.cs: add CallByName overload with ownership.
* generator/Parameters.cs: support owned by callee parameters.
Adapted from a patch by Maarten Bosmans. [Fixes#513680]
svn path=/trunk/gtk-sharp/; revision=137754
* pango/Pango.metadata: Mark "ink_rect" and "logical_rect" parameters of Get*Extends
methods as "out". [Fixes#510105]
svn path=/trunk/gtk-sharp/; revision=137712
* configure.in.in: Target .net 2.0 profile
* gapi-cdecl-insert: Kill. We are now using the UnmanagedFunctionPointerAttribute
for callbacks.
* glib/CdeclCallback: Mark obsolete.
* generator/*.cs:
* *.custom: Use [UnmanagedFunctionPointer (CallingConvention.Cdecl)] instead of
[GLib.CDeclCallback].
svn path=/trunk/gtk-sharp/; revision=137323
* gtk/Widget.custom: Don't use [MarshalAs] for struct fields since
that is not supported in the .net framework
svn path=/trunk/gtk-sharp/; revision=136157
* generator/Signal.cs: Fix indexing of the signal arguments array for
"out" and "ref" parameters. [Fixes#508572]
svn path=/trunk/gtk-sharp/; revision=135661
* generator/EnumGen.cs: Fix enum generator to properly parse integer
values with type modifier suffixes (UL, L, U), and not accidentally
munge named values that happen to end in one of these suffixes
svn path=/trunk/gtk-sharp/; revision=134980
* configure.in.in:
* bootstrap-generic:
* bootstrap-2.14: check for mono >= 2.2. not that it requires it to
build, but the generated bindings need it to run.
svn path=/trunk/gtk-sharp/; revision=134336
* glib/Value.cs: return int object value for GType.Enum values if
the explicit gtype is not found. [Fixes#503060]
svn path=/trunk/gtk-sharp/; revision=134075
* glib/ValueArray.cs: use type specific PtrToStructure marshaling to
avoid ArgumentExceptions. [Fixes#503467]
svn path=/trunk/gtk-sharp/; revision=134074
* glib/Value.cs: Add support for ValueArrays inside GLib.Values.
* glib/ValueArray.cs: Add GType property to get the ValueArray GType.
[Fixes#503048]
svn path=/trunk/gtk-sharp/; revision=134073
* gtk/Application.cs: add the theme initialization workaround for
windows. Hopefully we can find a better solution that doesn't
involve loading SWF. [Fixes#471682]
svn path=/trunk/gtk-sharp/; revision=134008
* glib/Idle.cs: add a Remove overload for consistency.
* glib/Timeout.cs: add a Remove overload for consistency.
[Fixes#356138]
svn path=/trunk/gtk-sharp/; revision=133702
* generator/ReturnValue.cs: null-term array marshaling for vms.
* generator/VirtualMethod.cs: use ToNative return type in native
callbacks.
[Fixes#501294] Patch by Sebastian Dröge.
svn path=/trunk/gtk-sharp/; revision=133670
* generator/ClassField.cs: Derive from StructField.
* generator/ObjectBase.cs: Implement validation mechanism for
class structures. If the structure contains bitfields or fields
of unknown types, we cannot generate it in managed code.
* generator/GObjectVM.cs: Fall back to glue if the class structure
cannot be generated. [Fixes#498051]
svn path=/trunk/gtk-sharp/; revision=133514
* glib/Idle.cs:
* glib/Timeout.cs: add Add() overloads taking a priority
* glib/Makefile.am:
* glib/Property.cs: Property enum, used as argument for the new Add
overloads
svn path=/trunk/gtk-sharp/; revision=133444
* glib/Object.cs: get gtype from instance data.
* glib/Value.cs: use instance NativeType when initing for props.
[Fixes#500157] Patch by Sebastian Dröge.
svn path=/trunk/gtk-sharp/; revision=133282
* gtk/Widget.custom: Implement signal registration for the
Activate, SettScrollAdjustments and key binding signals
in managed code.
svn path=/trunk/gtk-sharp/; revision=132771
* generator/OpaqueGen.cs: support abstract opaque classes,
though I have no idea why anyone would want one.
[Fixes#494212] Revised patch from Sebastian Dröge.
svn path=/trunk/gtk-sharp/; revision=132678
* generator/OpaqueGen.cs: support declaring managed ifaces.
[Fixes#494193] Revised patch from Sebastian Dröge.
svn path=/trunk/gtk-sharp/; revision=132675
* glib/Value.cs: Support for additional fundamental GTypes. Invoke
constructor of corresponding managed type to convert a GValue into
its managed representation and a SetGValue method to do that vice
versa. Patch contributed by Sebastian Dröge.
svn path=/trunk/gtk-sharp/; revision=131931
* atk/Makefile.am
* glib/Makefile.am: take advantage of the same InternalsVisibleTo
because the moon assemblies will be monomerged.
svn path=/trunk/gtk-sharp/; revision=131835
Add support for virtual methods(vm) to the generator.
* parser/gapi2xml.pl: Generate a class_struct element with
all members of the class structure. Dump the first (instance)
parameter for signal and vm elements. Bump up parser version.
* generator/GObjectVM.cs: Added. Support for GObject virtual methods.
* generator/DefaultSignalHandler.cs: Signal specific part of vm
generation.
* generator/InterfaceVM.cs: New class for interface vms.
* generator/ObjectBase.cs: Parse the class struct.
svn path=/trunk/gtk-sharp/; revision=131604
* gtk/Target.custom: custom implementation of TableNewFromList.
* gtk/TargetList.custom: use Target.TableNewFromList method
to convert the TargetList to a TargetEntry array.
* gtk/glue/targetlist.c: deleted.
svn path=/trunk/gtk-sharp/; revision=131066
* parser/gapi2xml.pl: Introduce a "parser_version" attribute.
* generator/GenBase.cs: Implement a property to access the
attribute's value.
svn path=/trunk/gtk-sharp/; revision=129807
* bootstrap-generic: expose LIBTOOLIZE env variable to support
building on mac osx with glibtoolize. [Fixes#480559]
svn path=/trunk/gtk-sharp/; revision=129640
* gdk/Property.custom: add new overloads to the Get method
for the most common property types
* gdk/Global.custom: Use the new overloads of Property.Get instead of glue
svn path=/trunk/gtk-sharp/; revision=129618
* gtk/NodeSelection.cs: use new Adapter prop on NodeStore.
* gtk/NodeStore.cs: some encapsulation rework.
* gtk/NodeView.cs: use new Adapter prop on NodeStore. new methods
to support manipulation of the view by TreeNode, like scrolling
and cell bounds lookups.
* gtk/TreeView.cs: use new Adapter prop on NodeStore.
* doc/en/Gtk/NodeView.xml: new doc updates.
Patch provided by Vladimir Giszpenc. [Fixes#480067]
svn path=/trunk/gtk-sharp/; revision=129498
* glib/Value.cs: Change the pad fields handling again as the
previous approach didn't work on Win32. [Fixes#478578]
svn path=/trunk/gtk-sharp/; revision=127892
* generator/OpaqueGen.cs: generate a finalizer for classes which
have free or unref methods and ensure it runs on the gui thread.
* glib/Opaque.cs: remove finalize handling.
Fixes a 'resurrection' issue with the previous 419777 fix.
svn path=/trunk/gtk-sharp/; revision=124940
* glib/Opaque.cs: ensure we are running on the gui thread when we
dispose from the finalizer. [Fixes#419777]
svn path=/trunk/gtk-sharp/; revision=124683
* glib/Value.cs: make the pad fields a blink explicitly sized struct
instead to avoid alignment issues on x86. [Fixes#469135]
svn path=/trunk/gtk-sharp/; revision=124561
* gdk/glue/event.c: kill
* gdk/glue/selection.c: kill
* gdk/Selection.cs: hardcode the primary, secondary, and clipboard
atom definitions instead of using glue to access their macros.
* gdk/Event*.cs: rewrite to use layout structures instead of glue
for field accessors. Also enable writing for all fields.
[Fixes#323373]
svn path=/trunk/gtk-sharp/; revision=123197
* configure.in.in: don't hardcode CC when cross-compiling.
* gapi-cdecl-insert: monodis support on mono.
* Makefile.am: add a cross-compile bundling target. The goal is to
build a .zip which can be extracted on win32 to run candle and light,
avoiding cygwin to produce installers. Hopefully some day wix will
run on linux.
svn path=/trunk/gtk-sharp/; revision=123139
* cairo/Makefile.am: use mono.snk to sign the Mono.Cairo assembly
so that it's compatible with mono built versions. Initial patch
from Christian Hoff with a few tweaks.
svn path=/trunk/gtk-sharp/; revision=122821
* generator/InterfaceGen.cs: generate Adapters for consume_only ifaces
too. This seems unusual, but is primarily to produce at least one
'generic' implementation of every interface and a GetObject method
so that the marshaling code can always return an object which
implements the interface, even if no public object wrapper exists for
the underlying c GObject type.
svn path=/trunk/gtk-sharp/; revision=122814
* generator/ReturnValue.cs: map gfilename* list elements to type
ListBase.FilenameString so they are marshaled correctly.
* glib/Marshaller.cs: handle FilenameStrings in ListPtrToArray.
* gtk/Gtk.metadata: FileChooser.GetFilenames and ListShortcutFolders
return type mangling to avoid custom implementations.
* gtk/FileChooser*.custom: kill manual Filenames and ShortcutFolders.
svn path=/trunk/gtk-sharp/; revision=122802
* configure.in.in: update to use mdoc.
* doc/Makefile.am: update to use mdoc.
* doc/gtk-sharp-docs.source: add node element to conform to new
monodoc layout model.
svn path=/trunk/gtk-sharp/; revision=122568
* GType.cs: convert GType.Is to a non-static function.
* Value.cs: track API.
[Last cosmetic bit from #448009]
svn path=/trunk/gtk-sharp/; revision=122505
* generator/InterfaceGen.cs: use the new GLib API to detect
instances that don't implement GInterfaces.
* glib/GType.cs: add new API for checking if an IntPtr instance
implements a certain GType.
[Fixes#448009]
svn path=/trunk/gtk-sharp/; revision=121990
* generator/Ctor.cs:
* generator/Method.cs:
* generator/MethodBase.cs: refactor the Protection from Method to
MethodBase, generate ctors with the correct proteciton too.
svn path=/trunk/gtk-sharp/; revision=120487
* generator/Signal.cs: remove ref int workaround now that we fallback
to signal-specific marshalers for G_TYPE_POINTER using signals.
Fixes#450119.
svn path=/trunk/gtk-sharp/; revision=120254
* glib/ManagedValue.cs: rework to ref count a ManagedValue instance
and pass a GCHandle to it around, instead of taking out multiple
gchandles on the managed target itself.
svn path=/trunk/gtk-sharp/; revision=119648