Commit graph

17 commits

Author SHA1 Message Date
Christian Hoff 7b752d233c 2009-09-03 Christian Hoff <christian_hoff@gmx.net>
* glib/Global.cs: Kill the calling convention field again.
	It breaks GLib 2.x compatibility in the generator and there is
	probably no need to make the calling convention configurable.
	* .cs, *.custom: Hardcode Cdecl calling convention instead of
	using GLib's field.

svn path=/trunk/gtk-sharp/; revision=141283
2009-09-03 19:50:53 +00:00
Christian Hoff 58e97c087a 2009-09-02 Christian Hoff <christian_hoff@gmx.net>
* glib/Global.cs: Add a public constant field specifying the
	calling convention used by GLib and depending libraries.
	By now it's hardcoded to Cdecl as every non-Win32 runtime
	should ignore this attribute.
	* *.cs, *.custom: Use GLib.Global.CallingConvention for both
	pinvokes and callbacks. Plugs a stack leak on Win32. All
	pinvokes defaulted to StdCall and thus the stack was never
	cleaned up.

svn path=/trunk/gtk-sharp/; revision=141175
2009-09-02 20:17:37 +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
Dan Winship a7d8b64f7a * generator/Parameters.cs (Parameters.Validate): If the parameters
end with "callback, gpointer, GDestroyNotify", then mark the
	callback as having "notified" Scope.
	(Parameters.IsHidden): Hide user_data and GDestroyNotify after a
	callback.
	(Parameter.Scope): make this settable
	(Parameter.IsDestroyNotify): new test

	* generator/MethodBody.cs (Initialize): Handle "notified" callback
	scope (using a GCHandle and GLib.DestroyHelper.NotifyHandler)

	* generator/CallbackGen.cs (GenWrapper): Add a static
	"GetManagedDelegate" method to the wrapper type, to translate a
	native delegate back to its corresponding managed delegate.
	(FromNative): use GetManagedDelegate.

	* generator/ReturnValue.cs (Validate): We handle callback return
	values now

	* generator/SymbolTable.cs: marshal GDestroyNotify as
	GLib.DestroyNotify

	* glib/DestroyNotify.cs: Moved from gtk

	* gtk/Gtk.metadata: globally change GtkDestroyNotify to
	GDestroyNotify, but then change back the ones that are exposed in
	the API. Un-hide lots of methods we can correctly autogenerate
	now.

	* gtk/DestroyHelper.cs: moved to glib

	* gtk/*.custom: remove methods that are autogenerated now, add
	Obsolete wrappers where needed, replace Gtk.DestroyHelper usage
	with GLib.DestroyHelper.

	* gdk/Gdk.metadata: 
	* gnome/Gnome.metadata: Turn Gdk.Drawable.SetData and
	Gnome.IconList.SetIconDataFull's GDestroyNotify args into
	gpointers so the generated API stays the same as it used to be.

	* rsvg/Handle.custom: implement deprecated SetSizeCallback

	* sample/GtkDemo/DemoIconView.cs (CreateSort): update for API
	changes

svn path=/trunk/gtk-sharp/; revision=44020
2005-05-04 11:47:25 +00:00
Mike Kestner 23ec73d6f9 2005-04-05 Mike Kestner <mkestner@novell.com>
* gtk/DestroyHelper.cs : implement an internal DestroyNotify handler 
	to release GCHandles.
	* gtk/*.custom : rework existing persistent delegate implementations
	to use destroy notify or PersistentData.

svn path=/trunk/gtk-sharp/; revision=42571
2005-04-05 14:48:49 +00:00
Mike Kestner 49f8fb470d 2005-03-12 Mike Kestner <mkestner@novell.com>
* gtk/TreeViewColumn.custom : use PersistentData to hold the 
	CellDataFuncs.

svn path=/trunk/gtk-sharp/; revision=41744
2005-03-13 02:43:27 +00:00
Mike Kestner bd50999b1b 2005-03-12 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : don't derive Wrappers from DelegateWrapper
	any more.  It leaks delegates like crazy. We effectively now use call
	scope as the default for delegate parameters.
	* generator/MethodBody.cs : use new simpler Wrapper ctor.
	* glib/DelegateWrapper.cs : mark the ctor obsolete so people know to
	update any manually coded wrappers out there.
	* */*.custom : use new simpler Callback Wrapper ctors.

svn path=/trunk/gtk-sharp/; revision=41738
2005-03-12 18:54:53 +00:00
Mike Kestner 2eb246518a 2005-01-05 Mike Kestner <mkestner@novell.com>
* gtk/TreeView.custom : add back the TreeCellDataFunc overloads for
	backward compat.
	* gtk/TreeViewColumn.custom : add back the TreeCellDataFunc overloads for
	backward compat.

svn path=/trunk/gtk-sharp/; revision=38396
2005-01-05 21:59:06 +00:00
Mike Kestner 15acf14aef 2005-01-04 Mike Kestner <mkestner@novell.com>
* gtk/CellLayout.custom : declare SetAttributes and SetCellDataFunc.
	* gtk/CellView.custom : impl SetAttributes and SetCellDataFunc.
	* gtk/ComboBox.custom : impl SetAttributes and SetCellDataFunc.
	* gtk/EntryCompletion.custom : impl SetAttributes and SetCellDataFunc.
	* gtk/Gtk.metadata : hide some methods to be manually implemented.
	* gtk/Makefile.am : add new customs.
	* gtk/NodeCellDataFunc : use CellLayoutDataFuncNative.
	* gtk/TreeView.custom : use CellLayoutDataFunc not TreeCellDataFunc.
	* gtk/TreeViewColumn.custom : impl SetAttributes and SetCellDataFunc.
	[Fixes #70941]

svn path=/trunk/gtk-sharp/; revision=38321
2005-01-04 18:54:02 +00:00
Mike Kestner 59faab866e 2004-12-17 Mike Kestner <mkestner@novell.com>
* gtk/Makefile.am : add new file.
	* gtk/glue/makefile.win32 : add missing file.
	* gtk/NodeCellDataFunc.cs : new callback delegate type and marshaler
	for NodeStore tree views using GtkTreeCellDataFuncs.
	* gtk/NodeStore.cs : add internal GetNode overload by TreeIter.
	* gtk/NodeView.cs : add AppendColumn overload that uses data funcs.
	* gtk/TreeViewColumn.custom : manual implementation for SetCellDataFunc
	to support both TreeIter and ITreeNode models.  We need to hold a ref
	to a delegate for each cell renderer on a column. [Fixes #63062]
	* sample/NodeViewDemo.cs : use a NodeCellDataFunc for one of the 
	cell renderers in the tree.

svn path=/trunk/gtk-sharp/; revision=37904
2004-12-17 20:32:33 +00:00
Mike Kestner 7a6d6b2128 2004-06-25 Mike Kestner <mkestner@ximian.com>
* */*.cs : add lgpl license blurb and clean up (c)'s.
	* */*.custom : add lgpl license blurb and clean up (c)'s.
	* */glue/*.c : add lgpl license blurb and clean up (c)'s.
	file adds without license from now on are punishable by wedgie.

svn path=/trunk/gtk-sharp/; revision=30401
2004-06-25 18:42:19 +00:00
Mike Kestner e7bf3a279f 2004-04-07 Mike Kestner <mkestner@ximian.com>
* generator/ClassBase.cs : remove default ctor generation and
	hasDefaultConstructor field.
	* generator/Ctor.cs : chain to base (IntPtr.Zero).
	* generator/StructBase.cs : remove hasDefaultConstructor usage.
	* glib/Object.cs : remove Object () ctor.  Add Ben's GetGType
	method, although nothing uses it yet.  Still working on integrating
	the remainder of Ben's patch.
	* gtk/Gtk.metadata : remove all the disabledefaultctor rules.
	* */*.custom : add base (IntPtr.Zero) or this (...) chaining for
	all ctors.

svn path=/trunk/gtk-sharp/; revision=25184
2004-04-07 19:15:01 +00:00
Mike Kestner 835866aab8 2004-02-11 Mike Kestner <mkestner@ximian.com>
* gtk/*.custom : don't use element_type ctor for GObject lists.

svn path=/trunk/gtk-sharp/; revision=22996
2004-02-11 22:23:11 +00:00
Mike Kestner 2419dff1d9 2004-02-11 Mike Kestner <mkestner@ximian.com>
* gtk/*.custom : return 0 length arrays, not null.

svn path=/trunk/gtk-sharp/; revision=22992
2004-02-11 21:58:47 +00:00
Mike Kestner 1e15749553 2004-02-11 Mike Kestner <mkestner@ximian.com>
* gtk/Gtk.metadata : hide the GList API
	* gtk/*.custom : manually wrap GList api using typed arrays
	* gtk/gtk-api.xml : regen.

svn path=/trunk/gtk-sharp/; revision=22990
2004-02-11 21:34:32 +00:00
Mike Kestner 08a8f34594 2003-06-14 Mike Kestner <mkestner@speakeasy.net>
* gtk/TreeViewColumn.custom : cast Array param to
	object[] before indexing into it.

svn path=/trunk/gtk-sharp/; revision=15387
2003-06-14 17:56:16 +00:00
Rachel Hestilow f1a77c0e62 2003-05-19 Rachel Hestilow <rachel@nullenvoid.com>
* glib/ManagedValue.cs, TypeConverter.cs: Added.
	* glib/Value.cs: Make Value inherit from IDisposable, and
	move dtor to Dispose. Add generic object constructor
	with support for ManagedValue. Add a new Val property
	which will call the appropriate explicit cast.

	* glue/value.c: Add new glue function
	gtksharp_value_get_value_type.

	* gtk/TreeViewColumn.custom: Added.
	* gtk/ListStore.custom, TreeStore.custom: Add a number
	of SetValue overloads. Add convenience functtion
	AppendValues. Add new ctor that takes System.Type instead
	of GLib.TypeFundamentals. Add a GetValue convenience wrapper.
	* gtk/TreeView.custom: Add AppendColumn convenience
	functions.

	* sample/ManagedTreeViewDemo.cs: Added.
	* sample/Makefile.in: Update.
	* sample/TreeViewDemo.cs: Update to use new convenience
	APIs.

svn path=/trunk/gtk-sharp/; revision=14691
2003-05-19 07:18:52 +00:00