Commit Graph

19 Commits

Author SHA1 Message Date
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
0b0700bae6 2005-03-04 Mike Kestner <mkestner@novell.com>
* generator/ImportSignature.cs : out param handling fix.
	* generator/Makefile.am : kill StringGen.cs.
	* generator/MethodBody.cs : simplify out param handling.
	* generator/StringGen.cs : kill it, now using MarshalGen.
	* generator/SymbolTable.cs : make non-const strings use an appropriate
	MarshalGen.  Non-const strings are now correctly marshaled as Utf8.
	* glib/Marshaller.cs : add some utf8-fu for strdup/free marshaling.
	Add a method to alloc/copy structs to native memory, unused yet.
	* gtk/Gtk.metadata : partially fix a broken delegate.

svn path=/trunk/gtk-sharp/; revision=41459
2005-03-04 18:59:09 +00:00
Mike Kestner
6590388024 2005-02-02 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : remove source file.
	* generator/Signal.cs : generate marshaling callbacks and use new
	GLib.Signal marshaling class for events.
	* generator/SignalHandler.cs : kill. byebye SignalCallback subclasses.
	* glib/Makefile.am : update source files.
	* glib/GLibSharp.voidObjectIntPtrSignal.cs : kill.
	* glib/Object.cs : mark the old Before/After props Obsolete. Use
	GLib.Signal for the notify prop methods.
	* glib/Signal.cs : new signal marshaling class.  It manages all the 
	ConnectBefore/After stuff internally and connects itself to the native
	object using GCHandles and DestroyNotify lifecycle management.
	* glib/SignalCallback.cs : mark Obsolete.
	[Fixes #72018 and #69847]

svn path=/trunk/gtk-sharp/; revision=40007
2005-02-02 21:57:15 +00:00
Mike Kestner
ea489c2353 2005-01-24 Mike Kestner <mkestner@novell.com>
* gda/Makefile.am : add new custom.
	* gda/XmlConnection.custom : add backcompat static ctor.
	* generator/ClassBase.cs : refactor lookup logic to here from Ctor
	and improve the collision resolution.
	* generator/Ctor.cs : refactor to use MethodBase.
	* generator/Makefile.am : add new file.
	* generator/MethodBase.cs : new base class for ctors and methods.
	* generator/Method.cs : refactor to use MethodBase.
	* generator/StructBase.cs : move some logic from here to Ctor.
	* gnome/CanvasPathDef.custom : add backcompat static ctor.
	* gnome/GPPath.custom : add backcompat static ctor.
	* gnome/Makefile.am : add new custom.
	* gtk/Gtk.metadata : mark a colliding Button ctor shared.

svn path=/trunk/gtk-sharp/; revision=39431
2005-01-24 18:25:02 +00:00
Mike Kestner
8d53021079 2004-12-27 Mike Kestner <mkestner@novell.com>
* generator/AliasGen.cs : derive from SimpleBase.
	* generator/ConstStringGen.cs : derive from SimpleBase.
	* generator/GObjectGen.cs : kill. now uses ManualGen.
	* generator/GStringGen.cs : kill. now uses MarshalGen.
	* generator/GUnicharGen.cs : kill. now uses MarshalGen.
	* generator/LPGen.cs : derive from SimpleGen.
	* generator/Makefile.am : update source files.
	* generator/ManualGen : make this general for handle types.
	* generator/MarshalGen : new CallByName/FromNative formatter class.
	* generator/SymbolTable.cs : needed some reorganizing and some
	restructuring of types to use MarshalGen.
	* generator/TimeTGen.cs : kill. now uses MarshalGen.

svn path=/trunk/gtk-sharp/; revision=38109
2004-12-27 17:38:52 +00:00
Mike Kestner
1d72136dd8 2004-12-26 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : add new file.
	* generator/SimpleBase.cs : new class for non-generated type mappers.
	* generator/*Gen.cs : first refactoring of "Simple" generatable types.
	Derive them all from SimpleBase. More to come.

svn path=/trunk/gtk-sharp/; revision=38097
2004-12-26 21:22:50 +00:00
Mike Kestner
1c4b5f81ba 2004-12-26 Mike Kestner <mkestner@novell.com>
* generator/CustomMarshalerGen.cs : kill bad idea unused class.
	* generator/Makefile.am : remove CustomMarshalerGen.cs.
	* generator/Method.cs : remove CustomMarshalerGen reference.

svn path=/trunk/gtk-sharp/; revision=38092
2004-12-26 19:40:24 +00:00
Mike Kestner
b6b89a0633 2004-12-20 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata : mark a couple array params.
	* generator/Field.cs : remove the MarshalAs hack. We have to
	do something much more evil since MarshalAs can't hang.
	* generator/ImportSignature.cs : deal with out LP(U)Gen params.
	* generator/LPGen.cs : moved from SSizeTGen and generalized.
	* generator/LPUGen.cs : moved from SizeTGen and generalized.
	* generator/Makefile.am : update sources.
	* generator/MethodBody.cs : deal with out LP(U)Gen params.
	* generator/Parameters.cs : deal with out LP(U)Gen params.
	* generator/SymbolTable.cs : make all longs and size_t types LP(U)Gens.

svn path=/trunk/gtk-sharp/; revision=37999
2004-12-20 22:08:43 +00:00
Dan Winship
a610fb9a79 * generator/GUnicharGen.cs: generatable for gunichar, using
GLib.Marshaller.CharToGUnichar and .GUnicharToChar [#70704]

        * generator/SymbolTable.cs (SymbolTable): add a GUnicharGen.

        * generator/Makefile.am (sources): add GUnicharGen.cs

        * parser/gapi2xml.pl (addPropElem): g_param_spec_unichar() has
        type "gunichar" not "unichar".

        * gtk/gtk-api.raw: Regen

        * glib/Marshaller.cs: Import CharToGUnichar's glue method by the
        right name

svn path=/trunk/gtk-sharp/; revision=37998
2004-12-20 22:05:21 +00:00
Mike Kestner
62977484e6 2004-12-09 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : new files.
	* generator/MethodBody.cs : fix for length param code.
	* generator/SizeTGen.cs : smarter size_t marshaling.
	* generator/SSizeTGen.cs : smarter ssize_t marshaling.
	* generator/SymbolTable.cs : use the new generatables.

svn path=/trunk/gtk-sharp/; revision=37509
2004-12-09 18:40:09 +00:00
Mike Kestner
0881ba5489 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : add new file.
	* generator/Method.cs : add Declaration property.
	* generator/VirtualMethod.cs : new class to generate virtual
	methods for Interfaces and objects. Unfinished.

svn path=/trunk/gtk-sharp/; revision=36292
2004-11-18 22:47:05 +00:00
Mike Kestner
520eb22a96 2004-11-17 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : add new file.
	* generator/Method.cs : refactoring to use ReturnValue.
	* generator/MethodBody.cs : remove unnecessary code.
	* generator/ReturnValue.cs : class for redundant retval handling.
	* generator/Signal.cs : refactoring for ReturnValue.
	* generator/SignalHandler.cs : refactoring for ReturnValue.

svn path=/trunk/gtk-sharp/; revision=36218
2004-11-17 15:57:17 +00:00
Dan Winship
df41dcc177 * parser/gapi2xml.pl (parseInitFunc, addPropElem): handle
GtkContainer child properties

	* generator/Property.cs:
	* generator/ChildProperty.cs: make Property subclassable and add a
	"ChildProperty" subclass.

	* generator/Makefile.am (sources): add ChildProperty.cs

	* generator/ClassBase.cs: handle "childprop" nodes by creating
	ChildProperty objects.

	* glib/Value.cs (explicit operator EnumWrapper): use
	g_value_get_flags() rather than g_value_get_enum() when
	appropriate.

	* glib/glue/value.c (glibsharp_value_holds_flags): glue for that

	* gtk/gtk-api.raw: regen to pick up child properties

	* gtk/Gtk.metadata:
	* gtk/Container.custom: hide the auto-generated
	Gtk.Container.ChildGetProperty and implement a nicer one by hand.

	* gtk/glue/container.c (gtksharp_container_child_get_property):
	utility function to set up an appropriate GValue for us

svn path=/trunk/gtk-sharp/; revision=35702
2004-11-05 16:47:15 +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
Mike Kestner
f923d44d7a 2004-09-29 Mike Kestner <mkestner@ximian.com>
* generator/GStringGen.cs : new generatable impl for GStrings.
	* generator/InterfaceGen.cs : better error reporting.
	* generator/Makefile.am : add new source file.
	* generator/Method.cs : better error reporting.
	* generator/SymbolTable.cs : add new GString igen.

svn path=/trunk/gtk-sharp/; revision=34525
2004-09-29 18:00:38 +00:00
Mike Kestner
9f54a63375 2004-05-19 Mike Kestner <mkestner@ximian.com>
* gtk/Container.custom : add CallbackInvoke and use it in OnForall.

2004-05-19  Mike Kestner  <mkestner@ximian.com>

	* generator/Makefile.am : add TimeTGen.cs
	* generator/SymbolTable.cs : use new TimeTGen.
	* generator/StringGen.cs : s/GLibSharp/GLib
	* generator/TimeTGen.cs : generatable to marshal time_t.
	* glib/time_t_CustomMarshaler.cs : kill
	* glib/Makefile.am : remove time_t_CustomMarshaler.cs
	* glib/Markup.cs : s/GLibSharp/GLib
	* glib/Marshaller.cs : move to GLib namespace. Add methods to
	marshal time_t to and from DateTime.
	* glib/glue/time_t.c : kill
	* glib/glue/Makefile.am : remove time_t.c
	* glib/glue/makefile.win32 : remove time_t.o
	* gnome/*.custom : use GLib.Marshaller instead of the time_t custom
	marshaler.
	* gtk/*.custom : s/GLibSharp/GLib

svn path=/trunk/gtk-sharp/; revision=27704
2004-05-19 18:57:28 +00:00
Rachel Hestilow
aee0a1f894 2004-04-16 Rachel Hestilow <rachel@nullenvoid.com>
* generator/GObjectGen.cs: Added new generatable to handle
	plain GObjects the same way we do subclasses.
	* generator/ManualGen.cs: Make FromNative/FromNativeReturn virtual
	to allow overriding.
	* generator/SymbolTable.cs: Use GObjectGen instead of
	ManualGen for GObject.
	* generator/Makefile.am: Add GObjectGen.cs.

svn path=/trunk/gtk-sharp/; revision=25651
2004-04-18 03:19:15 +00:00
Mike Kestner
1ac00ff205 2004-04-12 Mike Kestner <mkestner@ximian.com>
[Rework of a patch from Ben Maurer to turn GLib.Value
	into a valuetype.]
	* generator/BoxedGen.cs : fix operators for new valuetype GValues.
	* generator/ByRefGen.cs : new generatable for byref value types.
	* generator/Makefile.am : add ByRefGen.cs.
	* generator/MethodBody.cs : remove GValue special casing.
	* generator/Property.cs : rework value handling.
	* generator/Signal.cs : fix base virtual method value passing.
	* generator/SymbolTable.cs : map GValue to ByRefGen.
	* glib/Object.cs : rework GetProperty and SetProperty.
	* glib/Value.cs : make it a value type.
	* glib/ValueArray.cs : fix GValue passing.
	* glib/glue/value.c : rework for valuetype GValues.
	* gnome/Program.custom : fix GValue passing
	* gtk/Gtk.metadata : make TreeModel.GetValue value param pass_as=ref.
	* gtk/ListStore.custom : fix GValue passing
	* gtk/NodeStore.cs : fix GValue passing
	* gtk/TextTag.custom : fix GValue passing
	* gtk/TreeModelSort.custom : fix GValue passing
	* gtk/TreeStore.custom : fix GValue passing

svn path=/trunk/gtk-sharp/; revision=25368
2004-04-12 15:54:57 +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