Commit graph

38 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
Christian Hoff 1e97a1046f 2009-08-30 Christian Hoff <christian_hoff@gmx.net>
Complete the major version jump. Gtk# 3 and 2 are now both
	installable within the same prefix.

	* */glue/Makefile.am: Produce *sharpglue-3 gluelibs.
	* *.custom, *.cs: pinvoke the new glue library.
	* *-2.0.pc.in: Rename to *-3.0.pc.in.

svn path=/trunk/gtk-sharp/; revision=140941
2009-08-30 20:06:33 +00:00
Christian Hoff 940cf88750 2009-07-02 Christian Hoff <christian_hoff@gmx.net>
* 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
2009-07-02 20:18:10 +00:00
Lluis Sanchez b40365eafb 2008-01-24 Lluis Sanchez Gual <lluis@novell.com>
* glade/XML.custom: due to a recent Mono fix (bug #322762),
	  Type.GetFields does not return private fields from base classes
	  anymore, so the BindFields now has to go through the class
	  hierarchy to get all fields.


svn path=/trunk/gtk-sharp/; revision=93742
2008-01-23 23:54:02 +00:00
Gonzalo Paniagua Javier 1843575303 2006-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* glade/HandlerNotFoundExeception.cs:
	* glade/XML.custom: provide a better error when the signature of a
	handler does not match the one of the event.


svn path=/trunk/gtk-sharp/; revision=61911
2006-06-21 15:57:26 +00:00
Ben Maurer 1be96c843d 2005-10-08 Ben Maurer <bmaurer@ximian.com>
* glade/XML.custom: Do not look at inherited custom
	attrs. Increases performance.

	* glib/SignalAttribute.cs: Add AttributeUsage attr to increase
	perf and compiler checking


svn path=/trunk/gtk-sharp/; revision=51481
2005-10-08 21:08:04 +00:00
Mike Kestner 4203d5df43 2005-06-10 Mike Kestner <mkestner@novell.com>
* glade/XML.custom : add a try block on field autoconnect to make it
	easier to catch type mismatches and such.  Suggestion from Gonzalito.

svn path=/trunk/gtk-sharp/; revision=45766
2005-06-10 15:42:00 +00:00
Todd Berman fdbb151684 2005-05-04 Todd Berman <tberman@off.net>
* glade/XML.custom: Store the callback wrapper so it doesn't get GC'd.


svn path=/trunk/gtk-sharp/; revision=44040
2005-05-04 19:12:21 +00:00
Dan Winship b7e4cc507e * generator/Parameters.cs (IsHidden): method to check if a
parameter should be hidden in the managed sig (eg, because it's
	user_data, or it's the length of the preceding array/string, etc).
	(VisibleCount): the number of parameters that will actually be
	exposed in the managed signature.
	(IsAccessor): test VisibleCount, not Count
	(AccessorReturnType, AccessorName): deal with the fact that the
	accessor parameter might not be the first one.

	* generator/CallbackGen.cs:
	* generator/Signature.cs: use Parameters.IsHidden.

	* generator/Method.cs (Initialize): set is_set based on
	VisibleCount, not Count.
	(Validate): call base.Validate() before Initialize() so that
	VisibleCount will be correct in Initialize.

	* generator/MethodBody.cs (GetCallString, CallArrayLength,
	Initialize): update to deal with accessors with multiple args.

	* gtk/Clipboard.custom (SetText): implement as an Obsolete variant
	of the Text property

	* gtk/IconTheme.custom (SearchPath, SetSearchPath): obsolete
	SetSearchPath, implement a setter on SearchPath instead.

	* gtk/ListStore.custom (SetColumnTypes):
	* gtk/TreeStore.custom (SetColumnTypes): implement as an Obsolete
	variant of the ColumnTypes property.

	* glade/XML.custom (CustomHandler): implement as a property
	(SetCustomHandler): Mark this obsolete

	* glade/Global.custom (SetCustomHandler): deprecate in favor of
	XML.CustomHandler.

	* gnomedb/Editor.custom (SetText): implement as an Obsolete
	variant of the Text property

svn path=/trunk/gtk-sharp/; revision=43898
2005-05-02 20:10:03 +00:00
Mike Kestner ac4cc59206 2005-03-23 Mike Kestner <mkestner@novell.com>
* gapi-cdecl-insert : a little perl script to insert modopts
	* Makefile.am : dist the new script.
	for cdecl callback delegates on win32.
	* glade/makefile.win32 : use gapi-cdecl-insert
	* glade/XML.custom : add [GLib.CDeclCallback] to RawXMLConnectFunc.
	* glib/makefile.win32 : use gapi-cdecl-insert
	* glib/CDeclCallbackAttribute.cs : new attr to tag delegates with
	that will be invoked from native code. We have to mangle the il
	with a modopt otherwise they are stdcall'd.
	* glib/ManagedValue.cs : add [GLib.CDeclCallback] to Copy/Free.
	switch to using GCHandles instead of the current IntPtr hack.

svn path=/trunk/gtk-sharp/; revision=42168
2005-03-23 20:35:15 +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 d8ecc52b5e 2005-03-09 Mike Kestner <mkestner@novell.com>
* */*.custom : scrub for string usage in DllImports.
	* gnome/Makefile.am : remove IconTheme.custom, it's not generated.

svn path=/trunk/gtk-sharp/; revision=41615
2005-03-09 20:32:24 +00:00
Mike Kestner 90a870e2de 2005-03-08 Mike Kestner <mkestner@novell.com>
* */*.cs : scrub for StringToPtrAnsi and string usage in DllImports.
	* */*.custom : begin the scrub here too.
	* generator/ConstStringGen.cs : implement IManualMarshaler and move to
	100% IntPtr marshaling.
	* generator/Ctor.cs : call Body.Finish too.
	* generator/IManualMarshaler.cs : new interface for generatables that
	marshal manually and need cleanup.
	* generator/Makefile.am : new file.
	* generator/MethodBody.cs : use IManualMarshaler if applicable.

svn path=/trunk/gtk-sharp/; revision=41579
2005-03-08 21:28:08 +00:00
Mike Kestner 348c8035e3 2004-12-17 Mike Kestner <mkestner@novell.com>
* glade/XML.custom (BindFields) : support multiple autoconnects
	in different roots by not writing null widgets to the tagged
	fields. [Fixes #68455]

svn path=/trunk/gtk-sharp/; revision=37917
2004-12-18 05:11:37 +00:00
Mike Kestner 993d91fa31 2004-12-07 Mike Kestner <mkestner@novell.com>
* */*.cs : s/glue-2.0/glue-2 so that dllimport works on win32.
	* */*.custom : s/glue-2.0/glue-2
	* */glue/makefile.win32 : s/glue-2.0/glue-2
	* */glue/Makefile.am : s/glue-2.0/glue-2

svn path=/trunk/gtk-sharp/; revision=37324
2004-12-07 19:03:55 +00:00
Mike Kestner 7f3171c814 merge to HEAD of jeroen and friends' work on the 2-4 branch. HEAD
is now tracking Gnome 2.6.

svn path=/trunk/gtk-sharp/; revision=35479
2004-10-29 20:33:07 +00:00
John Luke 8566d2376a 2004-08-18 John Luke <john.luke@gmail.com>
* AUTHORS: fix my name
        * glade/XML.custom: remove doc comments (in monodoc)
        add overload ctor for the most common case so far
        [Fixes #62238]

svn path=/trunk/gtk-sharp/; revision=32503
2004-08-18 22:47:17 +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 e83c55a242 2004-03-12 Mike Kestner <mkestner@ximian.com>
* */Makefile.am : automakify the build
	* */Makefile.in : kill
	* *.custom : remove System.Drawing dependencies
	* *.cs : remove System.Drawing dependencies
	* *-api.xml : mv to *-api.raw
	* glue/* : mv to lib specific gluelibs for glib, gdk, gtk, and glade.
	* gtk/gtk-symbols : alias GtkType to GType
	* sources/gtk-sharp-sources.xml : create .raw files. They are now
	transformed to .xml files by the metadata compilation step.

svn path=/trunk/gtk-sharp/; revision=23967
2004-03-12 21:18:11 +00:00
Mike Kestner bba2334f84 2004-02-12 Mike Kestner <mkestner@ximian.com>
* glade/Glade.metadata : hide a GList method.
	* glade/Makefile.in : run gapi-fixup
	* glade/XML.custom : return Widget[] from GetWidgetPrefix.
	* glade/glade-api.xml : regen
	* pango/Pango.metadata : hide a dubious GList method.
	* pango/pango-api.xml : regen

svn path=/trunk/gtk-sharp/; revision=23043
2004-02-12 21:40:01 +00:00
Mike Kestner 9a6216e07e 2004-01-28 John Luke <jluke@cfl.rr.com>
* glade/XML.custom : some null checking for crash prevention.
	[Fixes #47017]

svn path=/trunk/gtk-sharp/; revision=22585
2004-01-28 22:28:38 +00:00
Duncan Mak 5482d6b526 Added new convenience factory methods, FromStream and FromAssembly.
svn path=/trunk/gtk-sharp/; revision=16809
2003-07-29 00:24:08 +00:00
Mike Kestner 23464e6514 2003-07-23 Mike Kestner <mkestner@ximian.com>
[Equal credit to Ettore Perazzoli <ettore@ximian.com> for fixing
	all the bugs in the initial patch]
	* */*.custom : fix incorrect usage of new Object (IntPtr) where
	Glib.Object.GetObject should've been used.  add ref_owned param
	to GetObject calls.
	* generator/CallbackGen.cs : setup ref_owned in bodies
	* generator/ClassBase.cs : add ref_owned to GetObject FromNative call
	* generator/Method.cs : setup ref_owned in bodies
	* generator/Property.cs : setup ref_owned in bodies
	* generator/SignalHandler.cs : pass ref_owned to GetObject
	* generator/StructBase.cs : setup ref_owned in bodies
	* glib/Object.cs : kill Ref/Unref methods.  Don't want it to be
	easy for users to screw with ref counts, or make it look like they
	should need to.
	(GetObject): add ref_owned param and ref/unref to remain at 1
	* glib/Value.cs : pass ref_owned to GetObject

svn path=/trunk/gtk-sharp/; revision=16581
2003-07-23 17:19:21 +00:00
Rachel Hestilow fe699e9fbb 2003-05-29 Rachel Hestilow <rachel@nullenvoid.com>
* gconf/Value.cs: Update to use new string marshalling.

	* generator/StringGen.cs, ConstStringGen.cs: Added.
	* generator/IGeneratable.cs: Add new method ToNativeReturn.
	* generator/CallbackGen.cs: Implement ToNativeReturn. Call
	ToNativeReturn for the return statement. Fix a couple of
	places where s_ret was being used incorrectly for m_ret.
	* generator/ClassGen.cs, EnumGen.cs, ManualGen.cs,
	SimpleGen.cs, StructBase.cs: Implement ToNativeReturn.
	* generator/SignalHandler.cs: Call ToNativeReturn for the
	return statement, instead of CallByName.
	* generator/SymbolTable.cs: Use StringGen for gchar, char,
	and gunichar, and ConstStringGen for their const variants.
	Add a new method wrapper for ToNativeReturn.
	(Trim): Add a special-case for const strings so that the
	const is not stripped. Otherwise there is no way of
	resolving the const case.

	* glade/XML.custom: Update to use new string marshalling.

	* glib/Marshaller.cs: Added.
	* glib/GException.cs, Markup.cs, ObjectManager.cs,
	Value.cs: Update to use new string marshalling.
	* glib/Object.cs: Remove old g_type_name DllImport
	as it is no longer used.

	* glue/fileselection.c (gtksharp_file_selection_get_fileop_entry):
	Mark this as const return.

	* gtk/ColorSelection.custom, FileSelection.custom,
	SelectionData.custom: Update to use new string marshalling.

svn path=/trunk/gtk-sharp/; revision=15286
2003-06-10 18:09:47 +00:00
Alp Toker 96fa7da5a8 2003-05-02 Alp Toker <alp@atoker.com>
* sources/gtk-sharp.sources:
        * api/glade-api.xml:
        * glade/XML.custom: Use libglade-2.0-0.dll not glade-2.0 (for win32)

svn path=/trunk/gtk-sharp/; revision=14228
2003-05-02 23:06:21 +00:00
Gonzalo Paniagua Javier 3821938764 2003-04-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* generator/CallbackGen.cs: the new generated wrappers have:
		-(optional) Field of the same type returned by the callback.
		-A call to RemoveIfNotAlive at the beginning. It returns true,
		return the dummy field.
		-Added an object to the ctor signature and pass it to the base
		class.

	* generator/Ctor.cs: added a Params property.

	* generator/Method.cs: set Static property in Parameters if the method
	is static.

	* generator/Parameters.cs: added Static property. The call creation of
	the delegate wrapper (if applicable) uses the new signature. Pass a null
	as object is the method is static.

	* generator/StructBase.cs: set Static for the parameters of the ctors.

	* glib/DelegateWrapper.cs: the ctor takes an object (the one creating
	the wrapper or null) and creates a weak reference to it. Store it in
	a static Hashtable (this way the wrapper itself is not garbage
	collected).
	(RemoveIfNotAlive): called from the native delegate callbacks. If the
	target of the weak reference has been garbage collected, removes itself
	from the hashtable to let the GC dispose this instance and returns true.

	* gdk/Pixbuf.custom:
	* gtk/Clipboard.custom:
	* gtk/GtkSharp.GtkClipboardClearFuncNative.cs:
	* gtk/GtkSharp.GtkClipboardGetFuncNative.cs:
	* glade/XML.custom: changed delegate wrappers to match the new
	signature.

svn path=/trunk/gtk-sharp/; revision=13237
2003-04-06 09:21:15 +00:00
Miguel de Icaza 215133d780 2003-03-15 Miguel de Icaza <miguel@ximian.com>
* sample: Update samples to new Glade.Widget.

	* glade/WidgetAttribute.cs: Moved the old GladeWidgetattribute
	here.   Now its called `Glade.WidgetAttribute'.

	* glade/GladeWidgetAttribute.cs: Removed

	* glib/Idle.cs: Do not allow Idle class to be instantiated.

svn path=/trunk/gtk-sharp/; revision=12554
2003-03-15 21:02:25 +00:00
Gonzalo Paniagua Javier 3c2f83a107 2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* glade/XML.custom: added a couple of checks for null.

svn path=/trunk/gtk-sharp/; revision=11435
2003-02-10 08:30:59 +00:00
Alp Toker 9f6872634a 2003-01-01 Alp Toker <alp@atoker.com>
* glade/XML.custom: Determine name of GladeWidget if none specified
        * glade/GladeWidgetAttribute.cs: ditto

svn path=/trunk/gtk-sharp/; revision=10049
2003-01-01 23:53:21 +00:00
Rachel Hestilow 3841924432 2003-01-01 Rachel Hestilow <hestilow@ximian.com>
* glade/XML.custom: New method BindFields.
	(Autoconnect): Call BindFields.
	* glade/GladeWidgetAttribute.cs: Added.

	* sample/GladeTest.cs: Test GladeWidgetAttribute.

svn path=/trunk/gtk-sharp/; revision=10048
2003-01-01 21:37:45 +00:00
Gonzalo Paniagua Javier 359331d865 2002-11-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* glade/XML.custom: converted from Latin1 to UTF8 to make the generator
	go on.

svn path=/trunk/gtk-sharp/; revision=8914
2002-11-10 13:36:19 +00:00
Mike Kestner 6c02b6f431 2002-10-26 Mike Kestner <mkestner@speakeasy.net>
* gconf/GConf.PropertyEditors/PropertyEditorColorPicker.cs : ns stuff
	* glade/XML.custom : more GnomeSharp namespace stuff
	* gnome/CanvasProxy.cs : ditto
	* sample/CanvasExample.cs : ditto
	* sample/Fifteen.cs : ditto
	* sample/GnomeHelloWorld.cs : ditto

svn path=/trunk/gtk-sharp/; revision=8592
2002-10-27 04:16:45 +00:00
Vladimir Vukicevic d6d4267bc5 * glade/XML.custom: add SetCustomHandler() wrapper
svn path=/trunk/gtk-sharp/; revision=8453
2002-10-21 19:42:23 +00:00
Ricardo Fernández Pascual 0998fd871a 2002-09-15 Ricardo Fernndez Pascual <ric@users.sourceforge.net>
* glade/XML.custom: Added a constructor to read the glade file
	from a stream and to read it from a resource in an assembly.
	* sample/Makefile.in
	* sample/GladeTest.cs: Embed the glade file as a resource and use
	the new constructor.

svn path=/trunk/gtk-sharp/; revision=7482
2002-09-15 19:40:46 +00:00
Ricardo Fernández Pascual f1011f687e 2002-09-13 Ricardo Fernndez Pascual <ric@users.sourceforge.net>
* glade/HandlerNotFoundExeception.cs: Added.
	* glade/Makefile.in
	* glade/XML.custom: Support for autoconnecting signals using
	reflection.
	* glib/SignalAttribute.cs: Added.
	* generator/Signal.cs: Mark events generated from glib signals
	with the "Signal" attribute.
	* sample/GladeTest.cs
	* sample/Makefile.in
	* sample/test.glade: Test of signal autoconnection.

svn path=/trunk/gtk-sharp/; revision=7430
2002-09-13 11:38:36 +00:00
Rachel Hestilow e6ea0015b5 2002-08-12 Rachel Hestilow <hestilow@ximian.com>
[ Patch from Ricardo Fernandez Pascual <rfp1@ono.com> for
	  libglade support (slightly modified) ]

	* configure.in: Conditionally compile glade support.
	* makefile: Add glade directory.
	* glade/: Added.
	* sample/makefile.in: Add (conditional) glade example.
	* sample/GladeViewer.cs: Added.
	* glue/gladexml.c: Added.
	* glue/Makefile.am: Updated.

	* parser/build.pl: Parse libglade-2.0.0.
	* parser/README: Update requirements.

2002-08-12  Rachel Hestilow  <hestilow@ximian.com>

   * parser/gapi_pp.pl: Handle "typedef struct {...}" construct.

	* glue/canvaspoints.c: Added.
	* glue/Makefile.am: Updated.

 	* gnome/CanvasPoints.custom: Added. (Doesn't seem to work right yet,
	looking into this.)

svn path=/trunk/gtk-sharp/; revision=6601
2002-08-12 19:14:44 +00:00