Commit graph

441 commits

Author SHA1 Message Date
Mike Kestner
a979e2211b 2009-05-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* 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
2009-05-13 18:57:31 +00:00
Mike Kestner
bccd244a70 2009-05-12 Mike Kestner <mkestner@novell.com>
* glib/Value.cs: explicit exception for unknown props.
	[Fixes #502043] Patch by Sebastian Dröge.

svn path=/trunk/gtk-sharp/; revision=134021
2009-05-12 23:53:50 +00:00
Mike Kestner
bb08d67c7a 2009-05-12 Mike Kestner <mkestner@novell.com>
* glib/ValueArray.cs: make ctor(IntPtr) public for binding usage. 
	[Fixes #503189] Patch by Sebastian Dröge.

svn path=/trunk/gtk-sharp/; revision=134011
2009-05-12 23:10:27 +00:00
Mike Kestner
e91a71949a 2009-05-06 Mike Kestner <mkestner@novell.com>
* 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
2009-05-07 01:22:41 +00:00
Mike Kestner
26362ced64 2009-05-05 Mike Kestner <mkestner@novell.com>
* glib/GType.cs: ensure threading is initialized in cctor.
	* gtk/Application.cs: ditto.

svn path=/trunk/gtk-sharp/; revision=133585
2009-05-05 15:15:46 +00:00
Mike Kestner
f11bd79000 2009-05-03 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: revert to old LookupType behavior when Handle is
	not set.  [Fixes #500417]

svn path=/trunk/gtk-sharp/; revision=133451
2009-05-03 22:49:12 +00:00
Stephane Delcroix
983fb81a96 2009-05-03 Stephane Delcroix <sdelcroix@novell.com>
* 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
2009-05-03 19:34:22 +00:00
Mike Kestner
a3bb0c1e31 2009-05-01 Mike Kestner <mkestner@novell.com>
* 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
2009-05-01 18:40:44 +00:00
Christian Hoff
643a910cd6 2009-04-21 Christian Hoff <christian_hoff@gmx.net>
* glib/Value.cs: Fixes for fundamental GType support. Patch
	provided by Sebastian Dröge.

svn path=/trunk/gtk-sharp/; revision=132225
2009-04-21 08:16:57 +00:00
Christian Hoff
37c1f46d17 2009-04-21 Christian Hoff <christian_hoff@gmx.net>
* gtk/Widget.custom: Deglued implementation of StyleGetProperty.

svn path=/trunk/gtk-sharp/; revision=132224
2009-04-21 08:11:35 +00:00
Andrés G. Aragoneses
a63841988e * atk/Makefile.am:
* glib/Makefile.am:
* Makefile.include: (Revert revision 131780) Track r131942.

svn path=/trunk/gtk-sharp/; revision=131943
2009-04-16 22:00:07 +00:00
Christian Hoff
8fda284c32 2009-04-16 Christian Hoff <christian_hoff@gmx.net>
* 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
2009-04-16 20:03:35 +00:00
Andrés G. Aragoneses
005731b75c 2009-04-15 Andrés G. Aragoneses <aaragoneses@novell.com>
* 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
2009-04-15 22:33:26 +00:00
Andrés G. Aragoneses
722954e799 2009-04-15 Andrés G. Aragoneses <aaragoneses@novell.com>
* atk/Makefile.am
        * glib/Makefile.am
        * Makefile.include: Added new 'moonlight' target, to build with
        smcs.


svn path=/trunk/gtk-sharp/; revision=131780
2009-04-15 15:32:41 +00:00
Christian Hoff
291ee61b2d 2009-04-13 Christian Hoff <christian_hoff@gmx.net>
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
2009-04-13 17:44:48 +00:00
Mike Kestner
edf5b066e1 2009-04-09 Mike Kestner <mkestner@novell.com>
* glib/ListBase.cs: fix g_object_unref dllimport lib.
	[Fixes #493128]

svn path=/trunk/gtk-sharp/; revision=131388
2009-04-09 14:38:16 +00:00
Christian Hoff
b2a4c7ee7c 2009-02-24 Christian Hoff <christian_hoff@gmx.net>
* 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
2009-02-24 20:06:07 +00:00
Christian Hoff
e91ff2bdad 2009-02-17 Christian Hoff <christian_hoff@gmx.net>
* sample/gtk-gio/MountOperation.cs:
	* gtk/Builder.custom:
	* glib/Value.cs: Resurrect build for MS .NET Framework

svn path=/trunk/gtk-sharp/; revision=127183
2009-02-17 17:38:05 +00:00
Mike Kestner
bc188c9358 2009-01-29 Mike Kestner <mkestner@novell.com>
* 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
2009-01-29 16:26:09 +00:00
Mike Kestner
d7f231117d 2009-01-27 Mike Kestner <mkestner@novell.com>
* 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
2009-01-27 17:45:15 +00:00
Mike Kestner
1d9f50edb7 2009-01-26 Mike Kestner <mkestner@novell.com>
* 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
2009-01-26 20:42:50 +00:00
Mike Kestner
27c413091c 2009-01-23 Mike Kestner <mkestner@novell.com>
* Makefile.include:
	* doc/Makefile.am:
	* glib/Makefile.am:
	* gtkdotnet/Makefile.am: parallel make patches from Diego Pettenò  
	and Bertrand Lorentz. [Fixes #421063]

svn path=/trunk/gtk-sharp/; revision=124400
2009-01-24 04:47:54 +00:00
Mike Kestner
33849fd085 2009-01-09 Mike Kestner <mkestner@novell.com>
* glib/Opaque.cs (GetOpaque): return null for IntPtr.Zero.

svn path=/trunk/gtk-sharp/; revision=123140
2009-01-12 22:15:47 +00:00
Mike Kestner
1a16f66803 2009-01-08 Mike Kestner <mkestner@novell.com>
* 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
2009-01-08 18:43:00 +00:00
Andrés G. Aragoneses
8ffc1097fb revert r122505
svn path=/trunk/gtk-sharp/; revision=122553
2009-01-06 15:27:12 +00:00
Andrés G. Aragoneses
1f40330573 2009-01-05 Andrés G. Aragoneses <aaragoneses@novell.com>
* 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
2009-01-06 03:36:56 +00:00
Mike Kestner
65f96d21dc 2009-01-04 Mike Kestner <mkestner@novell.com>
* glib/GType.cs: fix incorrect null check noticed by Christian Hoff.
	[Fixes #463445]

svn path=/trunk/gtk-sharp/; revision=122390
2009-01-04 16:52:22 +00:00
Andrés G. Aragoneses
a8b28619be 2008-12-22 Andrés G. Aragoneses <aaragoneses@novell.com>
* glib/GType.cs: simplify, avoiding a static method.  
        * generator/InterfaceGen.cs: track API.
        * glib/Value.cs: reuse g_type_is_a.
        [Improves fix for #448009 in r121990]


svn path=/trunk/gtk-sharp/; revision=121991
2008-12-22 17:16:03 +00:00
Andrés G. Aragoneses
8191911b26 2008-12-22 Andrés G. Aragoneses <aaragoneses@novell.com>
* 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
2008-12-22 17:02:09 +00:00
Stephane Delcroix
3a87d8d650 2008-12-11 Stephane Delcroix <sdelcroix@novell.con>
* glib/Timeout.cs: map AddSeconds ().

svn path=/trunk/gtk-sharp/; revision=121925
2008-12-20 13:03:07 +00:00
Mike Kestner
89afb3f49f 2008-12-19 Mike Kestner <mkestner@novell.com>
* generator/BoxedGen.cs: don't generate glue dependencies.
	* glib/*.cs: remove glibsharpglue usage except thread.c.
	* glib/glue/*.c: kill all but thread.c. need glib 2.20 to kill
	it eventually.
	* pango/Attr*.cs: kill glue usage.
	* pango/glue/*.c: kill all but generated.c. it's next.
	* gtk/TreeIter.custom: kill a dumb glibsharpglue usage.

svn path=/trunk/gtk-sharp/; revision=121880
2008-12-19 18:57:42 +00:00
Andrés G. Aragoneses
470776ccea * glib/Signal.cs: Improve protection against invalid signals.
svn path=/trunk/gtk-sharp/; revision=121045
2008-12-08 21:54:20 +00:00
Mike Kestner
7a52b14c1c 2008-11-25 Mike Kestner <mkestner@novell.com>
* glib/Value.cs: fix for 'IntPtr as object' value construction.

svn path=/trunk/gtk-sharp/; revision=120041
2008-11-26 01:56:46 +00:00
Mike Kestner
84a63992fd remove a C.WL, oops
svn path=/trunk/gtk-sharp/; revision=119652
2008-11-21 17:47:37 +00:00
Mike Kestner
8d6e58e175 2008-11-21 Mike Kestner <mkestner@novell.com>
* 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
2008-11-21 17:42:16 +00:00
Stephane Delcroix
1d63a0e3e7 Global.ApplicationName property
2008-11-21  Stephane Delcroix  <sdelcroix@novell.com>

	* glib/Global.cs: implement Global.ApplicationName for localized
	application name.

svn path=/trunk/gtk-sharp/; revision=119633
2008-11-21 16:54:10 +00:00
Stephane Delcroix
68ec7f1ebd map g_format_size_for_display in Format.cs
2008-11-21  Stephane Delcroix  <sdelcroix@novell.com>

	* Makefile.am:
	* glib/Format.cs: new class to map the g_format methods

svn path=/trunk/gtk-sharp/; revision=119630
2008-11-21 16:42:46 +00:00
Brad Taylor
45622e1d33 2008-11-14 Brad Taylor <brad@getcoded.net>
* glib/Object.cs: Bind g_object_notify.

	* doc/en/GLib/Object.xml: Document new API.


svn path=/trunk/gtk-sharp/; revision=118864
2008-11-14 16:21:16 +00:00
Mike Gorse
c9d658f381 2008-11-04 Mike Gorse <mgorse@novell.com>
* glib/PtrArray.cs, glib/glue/ptrarray.c, glib/Makefile.am,
	  glib/glue/Makefile.am, glib/gtype.cs, generator/SymbolTable.cs,
	  generator/ReturnValue.cs: Add PtrArray.
	* glib/Marshaller.cs: Add PtrArrayToArray.

	* atk/Atk.metadata: Specify GetTarget return type.

	* atk/Object.custom, atk/glue/object.c: Support overriding
	  RefRelationSet.

svn path=/trunk/gtk-sharp/; revision=117919
2008-11-04 20:17:00 +00:00
Mike Kestner
4de7ad4914 2008-10-29 Mike Kestner <mkestner@novell.com>
* glib/Signal.cs : custom marshaling hooks
	* glib/SignalClosure.cs : support for custom marshalers.

svn path=/trunk/gtk-sharp/; revision=117424
2008-10-29 21:41:57 +00:00
Stephane Delcroix
e7a4cbea59 2008-10-27 Stephane Delcroix <sdelcroix@novell.com>
* glib/ListBase.cs: DataMarshal: create the right object for *Adapter
	list items.

svn path=/trunk/gtk-sharp/; revision=117169
2008-10-27 15:08:02 +00:00
Mike Kestner
d059903d1c 2008-10-24 Mike Kestner <mkestner@novell.com>
* glib/GType.cs: register IntPtr.

svn path=/trunk/gtk-sharp/; revision=116997
2008-10-24 22:03:49 +00:00
Mike Kestner
51299b17bb 2008-09-24 Mike Kestner <mkestner@novell.com>
* glib/GType.cs: kill the FindTypeInReferences recursive loading
	algorithm and instead do a name-based search through the references
	of loaded assemblies only.  Fixes the original bug #400595 and it
	hopefully will have fewer sideeffects that the recursive loading
	approach.

svn path=/trunk/gtk-sharp/; revision=114008
2008-09-24 20:06:47 +00:00
Mike Kestner
ead904c8a3 2008-09-24 Mike Kestner <mkestner@novell.com>
* glib/GType.cs: just fail on location null or empty instead of
	checking the assembly type.  Avoids failures on the ms runtime.

svn path=/trunk/gtk-sharp/; revision=113989
2008-09-24 18:53:05 +00:00
Andrés G. Aragoneses
76c808b7cb Cosmetic: spaces to tabs and coding guidelines
svn path=/trunk/gtk-sharp/; revision=113403
2008-09-18 11:34:15 +00:00
Zoltan Varga
fc871aacca 2008-09-12 Zoltan Varga <vargaz@gmail.com>
* glib/GType.cs (FindTypeInReferences): Put a try-catch around the assembly
	loading as failure to load a referenced assembly is not really an error.

svn path=/trunk/gtk-sharp/; revision=112905
2008-09-12 20:07:13 +00:00
Zoltan Varga
b1a12cf3ec 2008-09-09 Zoltan Varga <vargaz@gmail.com>
* glib/GType.cs (FindTypeInReferences): Skip dynamic assemblies.

svn path=/trunk/gtk-sharp/; revision=112605
2008-09-09 16:50:16 +00:00
Mike Kestner
fdfff5bb60 2008-09-08 Mike Kestner <mkestner@novell.com>
* glib/GType.cs: beef up the referenced assembly loading code to
	handle assemblies located in the same directory as the referring
	assembly.  Fixes #423450.

svn path=/trunk/gtk-sharp/; revision=112545
2008-09-08 20:52:27 +00:00
Andrés G. Aragoneses
a4bc03d66d 2008-09-05 Andrés G. Aragoneses <aaragoneses@novell.com>
Fixes BNC#387220.
        * glib/glue/signal.c: New glue file to call g_signal_query().
        * glib/glue/Makefile.am: Add signal.c.
        * glib/Signal.cs: check return type prior to emitting.


svn path=/trunk/gtk-sharp/; revision=112360
2008-09-05 07:38:11 +00:00
Mike Kestner
dee1e4f321 2008-08-27 Mike Kestner <mkestner@novell.com>
* glib/Signal.cs: multiple dispose guarding for closures.

svn path=/trunk/gtk-sharp/; revision=111710
2008-08-27 14:54:34 +00:00
Mike Kestner
47e002a7d4 2008-08-20 Mike Kestner <mkestner@novell.com>
* glib/Object.cs:
	* glib/Signal.cs: fix a couple 2.0-isms.  Patch from Christian Hoff.

svn path=/trunk/gtk-sharp/; revision=111574
2008-08-25 20:43:09 +00:00
Mike Kestner
cab2f46db5 2008-08-20 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: use new ListPtrToArray marshaler for
	lists with known element types.
	* glib/Marshaller.cs: new ListPtrToArray marshaller with more
	aggressive list disposal.
	* gtk/Container.custom: remove manual Children impl.  Use Children
	in GetEnumerator instead of pinvoking directly.
	* gtk/Gtk.metadata: remove hidden attr and add element type and owned 
	for Container.GetChildren to generate it properly.

svn path=/trunk/gtk-sharp/; revision=111173
2008-08-20 19:48:26 +00:00
Mike Kestner
b2e51e9989 2008-08-20 Mike Kestner <mkestner@novell.com>
Patch from Christian Hoff fixing bug #396195.
	* generator/Property.cs: handle interface adapter values.
	* generator/InterfaceGen.cs: register the gtype so mapping occurs
	automatically for interface adapters.  New GetObject overload to
	handle already wrapped objects more efficiently.
	* glib/Value.cs: handle set_Val for interface adapter objects.

svn path=/trunk/gtk-sharp/; revision=111154
2008-08-20 15:53:03 +00:00
Brad Taylor
70b8817f12 2008-08-19 Brad Taylor <brad@getcoded.net>
* atk/Object.custom: Add method to allow emission of
	  visible-data-changed signal.

	* atk/TextChangedDetail.cs: 
	* atk/TextAdapter.custom: Add method to allow emission of text-changed
	  signal.


svn path=/trunk/gtk-sharp/; revision=111015
2008-08-19 22:00:33 +00:00
Mike Kestner
51454acbb7 2008-06-28 Mike Kestner <mkestner@novell.com>
* glib/Marshaller.cs: some 64 bit fixes for time_t marshaling
	issue found by Federico.

svn path=/trunk/gtk-sharp/; revision=106828
2008-06-28 17:15:31 +00:00
Mike Kestner
04d1d00b15 2008-06-20 Mike Kestner <mkestner@novell.com>
* glib/Value.cs: Patch from Christian Hoff.  Support for byte and
	sbyte values.

svn path=/trunk/gtk-sharp/; revision=106309
2008-06-20 15:51:03 +00:00
Mike Kestner
793802f7be 2008-06-17 Mike Kestner <mkestner@novell.com>
* glib/SignalClosure.cs: post back the gvalues after the closure is
	invoked using a new Update method on GLib.Value.  This only impacts
	boxed types, since they are the only "value types" passed by ref in
	the signal marshaling environment.  We can't call set_boxed on the
	value to update it, since that allocs new memory, we need to marshal
	the updated struct out to the existing native memory address using
	g_value_get_boxed.
	* glib/Value.cs (Update): new update method for writing values to
	an existing boxed type instance instead of allocating a new native
	struct.  Fixes #398929.

svn path=/trunk/gtk-sharp/; revision=106058
2008-06-17 20:18:23 +00:00
Mike Kestner
179d4b214f 2008-06-17 Mike Kestner <mkestner@novell.com>
* glib/GType.cs (LookupType): traversed referenced assemblies to
	find types in currently unloaded assemblies.  Fixes #400595.

svn path=/trunk/gtk-sharp/; revision=106027
2008-06-17 16:36:06 +00:00
Mike Kestner
d46963e86b 2008-06-16 Mike Kestner <mkestner@novell.com>
* glib/glue/object.c: fixes for object, boxed, and gtype
	property paramspec creation. Patch provided by Christian Hoff.

svn path=/trunk/gtk-sharp/; revision=105905
2008-06-16 14:35:32 +00:00
Andrés G. Aragoneses
f006f28918 * glib/glue/thread.c: Fix a warning.
svn path=/trunk/gtk-sharp/; revision=105185
2008-06-06 17:31:34 +00:00
Mike Kestner
9864a0960d 2008-06-06 Mike Kestner <mkestner@novell.com>
Initial Patch submitted by Christian Hoff with some small
	style alterations and a round trip sample by me.  Supports the 
	registration of managed properties with the GType system, so 
	that things like custom cell renderers can be accessed via the
	native property system from treeview.

	* glib/glue/object.c : property registration related glue.
	* glib/Object.cs: implement managed property registration.
	* glib/PropertyAttribute.cs: add new props and ctor for managed
	property registration.
	* sample/PropertyRegistration.cs: little test app to test round-
	tripping of registered properties.
	* sample/Makefile.am: add new sample.

svn path=/trunk/gtk-sharp/; revision=105177
2008-06-06 16:55:00 +00:00
Mike Kestner
621b39b531 2008-05-15 Mike Kestner <mkestner@novell.com>
* kill the makefile.win32 build system.  it has been unmaintained
	for quite some time, replaced by the auto* build in cygwin.

svn path=/trunk/gtk-sharp/; revision=103308
2008-05-15 17:36:46 +00:00
Andrés G. Aragoneses
52e68fbeb6 * atk/Object.custom: Track API changes in GLib.Signal.
* glib/Signal.cs: AddEmissionHook binding (for closing #386950), and
  change API of Emit to mimic the detailed_signal pattern.
* glib/GType.cs: GType.FromName: new wrapper for native call.
* glib/ObjectManager.cs: Use the new FromName managed method.

svn path=/trunk/gtk-sharp/; revision=103198
2008-05-14 16:03:13 +00:00
Mike Kestner
22add1100a 2008-05-06 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: revert the connection optimization from r102349.
	It breaks under the current CellRenderer implementation which probably
	can't be reworked compatibly to take advantage of this code.
	* glib/SignalClosure.cs: use IntPtr.ToInt64 instead of (long) since
	the cast apparently has issues on bleeding edge mono.

svn path=/trunk/gtk-sharp/; revision=102693
2008-05-07 02:13:16 +00:00
Mike Kestner
b9d94385a6 2008-05-02 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: Don't bother hooking VM into the class field
	if another managed ancestor has already done so.  Add a LogFunc
	printing a stack trace for the GObject log domain if GTK_SHARP_DEBUG
	is set in the environment.  It's a bit noisy to do unconditionally.

svn path=/trunk/gtk-sharp/; revision=102349
2008-05-02 16:58:46 +00:00
Mike Kestner
0780ed3c0d 2008-04-30 Mike Kestner <mkestner@novell.com>
* generator/InterfaceGen.cs:
	* generator/Signal.cs: use generic signal marshaling instead of
	generating signature specific marshaling callbacks.
	* glib/glue/closure.c: glue for new closure impl.
	* glib/Object.cs: open up a couple hashes internally. 
	* glib/Signal.cs: hook in closure based connection and expose
	EmissionHook functionality for atk usage.
	* glib/SignalClosure.cs: new generic signal marshaling mechanism.
	* glib/ToggleRef.cs: null guarding in Target and let Signal remove
	itself from hash when it disposes itself.

svn path=/trunk/gtk-sharp/; revision=102241
2008-04-30 20:15:45 +00:00
Mike Kestner
4afdaf6602 2008-04-28 Mike Kestner <mkestner@novell.com>
* glib/Value.cs : Add GParam support and beef up the Boxed
	type marshaling to support types with New methods via reflection.

svn path=/trunk/gtk-sharp/; revision=102064
2008-04-28 19:00:48 +00:00
Mike Kestner
d5e5c13a1f 2008-04-28 Mike Kestner <mkestner@novell.com>
* glib/GType.cs : Add a few missing static fields.

svn path=/trunk/gtk-sharp/; revision=102063
2008-04-28 18:52:49 +00:00
Andrés G. Aragoneses
a0d608fcd2 * glib/Signal.cs: Remove unneeded cast.
svn path=/trunk/gtk-sharp/; revision=101704
2008-04-24 17:18:59 +00:00
Andrés G. Aragoneses
d0b8f4c279 * atk/Object.custom: custom protected method for firing
the ChildrenChanged signal.
* glib/Signal.cs: first implementation of a managed
method for emitting signals.

svn path=/trunk/gtk-sharp/; revision=101700
2008-04-24 17:11:11 +00:00
Mike Kestner
35bc523511 2008-04-17 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: add Harden method to reduce the reflection 
	overhead in Gnome.Program.

svn path=/trunk/gtk-sharp/; revision=101024
2008-04-17 16:32:44 +00:00
Mike Kestner
d2a74c9a37 2008-04-17 Mike Kestner <mkestner@novell.com>
* glib/ToggleRef.cs: Add a Harden method to switch to a standard
	ref and just leak it.
	* gtk/Application.cs: revert the QuitPrepare stuff since it didn't
	always work.

svn path=/trunk/gtk-sharp/; revision=101021
2008-04-17 16:17:37 +00:00
Mike Kestner
11286d19c6 2008-04-15 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: use new GLib.Opaque.OwnedCopy for owned
	opaque return values.
	* glib/Opaque.cs: introduce OwnedCopy property to support returning
	owned opaque instances from native to managed callbacks. 
	[Fixes #374641]

svn path=/trunk/gtk-sharp/; revision=100762
2008-04-15 19:43:16 +00:00
Mike Kestner
772790dcb0 2008-04-15 Mike Kestner <mkestner@novell.com>
* glib/Marshaller.cs: marshal null string arrays as a null IntPtr[].
	[Fixes #378514]

svn path=/trunk/gtk-sharp/; revision=100744
2008-04-15 17:43:55 +00:00
Mike Kestner
213a3b99e3 2008-04-04 Mike Kestner <mkestner@novell.com>
* glib/Global.cs: renamed from Program.cs.  Program.Name is now 
	Global.ProgramName to try to avoid clashes with existing Gnome.Program
	usage.
	* gtk/Application.cs: s/GLib.Program.Name/GLib.Global.ProgramName.

svn path=/trunk/gtk-sharp/; revision=99875
2008-04-04 18:45:13 +00:00
Mike Kestner
bdeb30bbad 2008-04-04 Mike Kestner <mkestner@novell.com>
* atk/Atk.metadata: markup all the Ref* methods to indicate owned refs.
	* generator/ReturnValue.cs: Add owned object ToNative handling.
	* generator/VirtualMethod.cs: Split ToNative call from managed method
	invocation to avoid duplicate calls in null checking scenarios.
	* glib/Object.cs: add OwnedHandle property for use by language binding
	code which needs to pass owned refs to native methods.

svn path=/trunk/gtk-sharp/; revision=99849
2008-04-04 16:10:08 +00:00
Andrés G. Aragoneses
5fabaace5e * glib/Program.cs: Add new static class for utility property, moving
the code to call g_set_prgname() from gtk/Application.cs to here,
and changing return value of g_set_program_name from bool to void.
* gtk/Application.cs: Use Program.Name as a replacement of
calling the native function g_set_prgname().
* glib/Makefile.am: add Program.cs.
(Patch reviewed by mkestner)

svn path=/trunk/gtk-sharp/; revision=99134
2008-03-27 15:59:26 +00:00
Mike Kestner
2a1bb876bf kill a debug cwl
svn path=/trunk/gtk-sharp/; revision=98393
2008-03-15 18:09:32 +00:00
Mike Kestner
51292d20b3 2008-03-12 Mike Kestner <mkestner@novell.com>
* glib/GType.cs: add an Init method for explicit initialization.

svn path=/trunk/gtk-sharp/; revision=98056
2008-03-12 16:15:06 +00:00
Mike Kestner
be28ed3597 2008-02-29 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: null-term array handling.
	* glib/Marshaller.cs: marshaling methods for null-term arrays.

svn path=/trunk/gtk-sharp/; revision=97032
2008-02-29 23:42:27 +00:00
Mike Kestner
c949e6e8de 2008-02-21 Mike Kestner <mkestner@novell.com>
* glib/Source.cs: rework proxy removal to avoid boxing profile.
	* glib/Idle.cs: save src_id in proxy to facilitate removal.
	* glib/Timeout.cs: save src_id in proxy to facilitate removal.
	[Fixes #359561]

svn path=/trunk/gtk-sharp/; revision=96363
2008-02-21 16:32:03 +00:00
Mike Kestner
776aeccdbb 2008-01-22 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: expose an internal ToggleRef prop.
	* glib/Signal.cs: use ToggleRef for lookups instead of Object. Add
	a Free method and release connections and gchandles.
	* glib/ToggleRef.cs: add signal hash and release signals on free.

svn path=/trunk/gtk-sharp/; revision=93548
2008-01-22 16:54:44 +00:00
Mike Kestner
5ccb3ccd2f 2008-01-17 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: remove ref from Objects hash prior to releasing it.

2008-01-17  Mike Kestner  <mkestner@novell.com>

	* glib/ToggleRef.cs: check for null reference in IsAlive.

svn path=/trunk/gtk-sharp/; revision=93204
2008-01-17 21:10:25 +00:00
Mike Kestner
04a642f070 2008-01-11 Mike Kestner <mkestner@novell.com>
* bootstrap-2.12: update version to 2.11.90.
	* configure.in.in: incorporate build service patch.
	* glib/glib-sharp-2.0.pc.in: add cflags for new api.xml.
	* glib/Makefile.am: install api.xml to correct dir.

svn path=/trunk/gtk-sharp/; revision=92686
2008-01-11 19:41:51 +00:00
Mike Kestner
209f353fc8 2007-12-06 Mike Kestner <mkestner@novell.com>
* * : update to 2.12 API.

svn path=/trunk/gtk-sharp/; revision=90823
2007-12-06 17:23:28 +00:00
Mike Kestner
3839abb463 2007-11-29 Mike Kestner <mkestner@novell.com>
* glib/Signal.cs: ignore GCHandles with null targets since
	their object has been collected.  [Fixes #344250 again]

svn path=/trunk/gtk-sharp/; revision=90428
2007-11-29 14:36:26 +00:00
Mike Kestner
f5e6d14520 2007-11-28 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: take ref using method param to avoid
	NREs. [Fixes #344250]

svn path=/trunk/gtk-sharp/; revision=90412
2007-11-29 02:02:24 +00:00
Mike Kestner
70018d857d 2007-11-16 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: use toggle refs for all objects.
	de-obsolete Data hash.  Add internal Signals hash.
	* glib/Signal.cs: switch to weak gchandles.
	* glib/WeakObject.cs: kill.

svn path=/trunk/gtk-sharp/; revision=89776
2007-11-16 18:35:38 +00:00
Mike Kestner
86d29321c3 2007-11-12 Mike Kestner <mkestner@novell.com>
* generator/SymbolTable.cs: remove GCallback mapping.
	* glib/GCallback.cs: kill, bad idea.

svn path=/trunk/gtk-sharp/; revision=89519
2007-11-13 03:04:32 +00:00
Mike Kestner
097537310e 2007-11-12 Mike Kestner <mkestner@novell.com>
* glib/IOChannel.cs: IOChannel wrapper implementation.
	* glib/Makefile.am: build new files.
	* glib/Marshaller.cs: new string array marshaling methods.
	* glib/Spawn.cs: g_spawn* wrapper implementation.
	* sample/SpawnTests.cs: tests for the new GLib.Process class
	and a cursory exercise of IOChannel for SpawnAsyncWithPipes.

svn path=/trunk/gtk-sharp/; revision=89477
2007-11-12 17:27:35 +00:00
Mike Kestner
de78d57176 2007-11-08 Mike Kestner <mkestner@novell.com>
* glib/Marshaller.cs: new null-terminated string[] marshaler from
	Mono.Unix with adaptations by Michael Hutchinson.

svn path=/trunk/gtk-sharp/; revision=89218
2007-11-08 17:27:13 +00:00
Mike Kestner
4a9070a2e1 2007-11-02 Mike Kestner <mkestner@novell.com>
* glib/SList.cs:
	* glib/List.cs: add Array dup of object[] ctor since we
	are passing typed arrays from generated code.

svn path=/trunk/gtk-sharp/; revision=88730
2007-11-02 16:36:26 +00:00
Mike Kestner
1fa0231217 2007-10-24 Mike Kestner <mkestner@novell.com>
* generator/SymbolTable.cs: mappings for GCallback and GSourceFunc.
	* glib/GCallback.cs: GCallback declaration.
	* glib/Source.cs: GSourceFunc declaration.

svn path=/trunk/gtk-sharp/; revision=88126
2007-10-24 20:13:08 +00:00
Mike Kestner
3341e20c13 2007-10-15 Mike Kestner <mkestner@novell.com>
* generator/InterfaceGen.cs : gen Handle props as overrides.
	* glib/GInterfaceAdapter.cs : add abstract Handle prop.
	* glib/Value.cs: add ctor (GInterfaceAdapter).

svn path=/trunk/gtk-sharp/; revision=87532
2007-10-15 20:25:05 +00:00
Mike Kestner
925a2b63c3 2007-10-04 Mike Kestner <mkestner@novell.com>
* glib/DestroyNotify.cs: add CDeclCallback to the delegate.
	* glib/Signal.cs: use DestroyHelper.
	* gdk/Input.custom: use DestroyHelper.
	* gtk/Quit.custom: remove new on DestroyHelper handler.
	* gtk/TreeModelFilter.custom: remove new on DestroyHelper handler.
	* gtk/TreeViewColumn.custom: remove new on DestroyHelper handler.

svn path=/trunk/gtk-sharp/; revision=86897
2007-10-04 17:52:35 +00:00
Mike Kestner
70bd5d56e9 2007-09-21 Mike Kestner <mkestner@novell.com>
* glib/Object.cs: add ctor (), which invokes CreateNativeObject
	to allow direct subclasses that do all the registration automatically.

svn path=/trunk/gtk-sharp/; revision=86730
2007-10-02 03:02:43 +00:00
Mike Kestner
c93ecb7f88 2007-09-11 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: virtual_method rules for GInterface generation.
	* generator/ReturnValue.cs (ToNative): new method for the virtual
	method generation.
	* generator/Parameters.cs (FromNative): null guarding.
	* generator/ManagedCallString.cs: rework for interface method
	generation including callback and error param support.
	* generator/CallbackGen.cs: Invoker support. new class that deals
	with persistence of native and wrapper delegates in native to managed
	callback method signatures.
	* generator/VirtualMethod.cs: support for generation of interface
	methods, and all the funky parameters that come with that.
	* generator/InterfaceGen.cs: Fill out the adapter implementation.
	* generator/MethodBody.cs: Initialize overload. Extend ThrowsException
	to support GError outside the last parameter slot.
	* glib/GInterfaceAttribute.cs: New attribute to mark interfaces and
	obtain adapter type.
	* glib/Object.cs (AddInterfaces): interface registration method.
	* glib/GInterfaceAdapter.cs: New abstract class for interface
	adapter generation.
	* glib/Makefile.am: add new files.

svn path=/trunk/gtk-sharp/; revision=85658
2007-09-11 20:34:24 +00:00
Mike Kestner
c2230278b3 2007-09-06 Mike Kestner <mkestner@novell.com>
* AssemblyInfo.cs.in : add IgnoreClassInitializers attr to all.
 	* generator/ObjectGen.cs : add custom-attr generation for objects.
 	* glib/ClassInitializerAttribute.cs : obsolete
 	* glib/IgnoreClassInitializersAttribute.cs : new assembly attr
 	to avoid a blind GetMethods reflection.
 	* glib/Makefile.am : add files
 	* glib/TypeInitializerAttribute.cs : new attr to specify init
 	method to be run at type registration.
 	* gtk/Widget.custom : remove the ClassInitializerAttr.
 	* gtk/Gtk.metadata : add a custom-attr node to GtkWidget.
 	* sample/Subclass.cs : use the IgnoreClassInitializers attr.

svn path=/trunk/gtk-sharp/; revision=85480
2007-09-07 14:40:46 +00:00
Mike Kestner
f956b09858 2007-08-14 Mike Kestner <mkestner@novell.com>
* glib/ListBase.cs : add AllocNativeElement method and an
	Append (object) method that uses it.
	* glib/List.cs : add object[] ctor using new append method.
	* glib/SList.cs : add object[] ctor using new append method.
	These are needed to return G(S)List* values as virtual method
	return values.

svn path=/trunk/gtk-sharp/; revision=84112
2007-08-14 18:53:53 +00:00
Mike Kestner
a06235f02f 2007-07-19 Mike Kestner <mkestner@novell.com>
* generator/OpaqueGen.cs : override the new Copy vm if a Copy method
	exists for the type.
	* glib/Opaque.cs : add a virtual method to allow subclasses with
	Copy methods to override.  Use the method in GetOpaque for unowned
	instantiations to try to obtain an owned instance. [Fixes #82037]

svn path=/trunk/gtk-sharp/; revision=82293
2007-07-19 15:35:28 +00:00