Commit graph

331 commits

Author SHA1 Message Date
Mike Kestner 5834d8e024 2004-12-06 Mike Kestner <mkestner@novell.com>
* generator/SignalHandler.cs : s/[]/Array in BaseName. [Fixes #69383]

svn path=/trunk/gtk-sharp/; revision=37239
2004-12-06 21:40:44 +00:00
Mike Kestner 6277977ca5 kill a C.WL that snuck in.
svn path=/trunk/gtk-sharp/; revision=37238
2004-12-06 21:38:53 +00:00
Mike Kestner 84d8a42f96 2004-12-06 Mike Kestner <mkestner@novell.com>
* doc/en/*/*.xml : docs for new GValue members and size_t changes.
	* generator/SymbolTable.cs : add ssize_t and make size_t a UIntPtr
	instead of the current broken int mapping on 64 bit platforms.
	* gtkhtml/HTMLStream.custom : fix size_t related overload.
	[fixes #69574]

svn path=/trunk/gtk-sharp/; revision=37223
2004-12-06 19:37:03 +00:00
Todd Berman 6d9785c7f7 2004-12-01 Todd Berman <tberman@off.net>
* generator/StructGen.cs: Check to see if a GType is going to be
        generated. If not, generate a GType.Pointer. This fixes bug
        #70017.
        * glib/TypeConverter.cs: Remove the .IsValueType check, as those
        now have GType properties.
        * gda/Gda.metadata: Change GdaValue.GType to GdaValue.GdaType.
        * doc/en/Gda/Value.xml: Regenerated to reflect new API.

svn path=/trunk/gtk-sharp/; revision=36912
2004-12-01 21:41:10 +00:00
Dan Winship 30cc0b8109 * generator/ClassBase.cs:
* generator/ObjectGen.cs: Move child property handling from
        ClassBase to ObjectGen (as suggested by Mike) since it's only
        used there

svn path=/trunk/gtk-sharp/; revision=36398
2004-11-22 17:52:17 +00:00
Mike Kestner 69eabbd1a3 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/InterfaceGen.cs : beginnings of a real
	implementation for GInterfaces.  Not quite ready yet,
	so it's not active in generation.

svn path=/trunk/gtk-sharp/; revision=36294
2004-11-18 23:04:32 +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 f763364f04 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/ClassBase.cs : remove a "new" string in the
	ChildProp class holder decl to fix build warnings.

svn path=/trunk/gtk-sharp/; revision=36291
2004-11-18 22:35:19 +00:00
Mike Kestner 6072350f1e 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/*Gen.cs : add ToNativeReturnType to deal with
	the g_free string nonsense in the virtual method case.

svn path=/trunk/gtk-sharp/; revision=36289
2004-11-18 22:19:31 +00:00
Mike Kestner 487929df7f 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/AliasGen.cs : make this a SimpleGen.

svn path=/trunk/gtk-sharp/; revision=36288
2004-11-18 21:51:56 +00:00
Dan Winship 9d04b4dd06 Redo child property handling; now we generate classes to hold
the
        child properties for a given widget in a container, and generate
        the child properties as properties on those classes.
        
        * parser/gapi2xml.pl (addPropElem): don't prepend "child_" to
        child prop names any more

        * generator/ClassBase.cs (ClassBase): keep childprops separate
        from properties
        (GenChildProperties): create a subclass of Gtk.ContainerChild
        containing the container type's child properties, and override
the
        Container indexer to return that type.

        * generator/ObjectGen.cs (Generate): call GenChildProperties

        * generator/Property.cs:
        * generator/ChildProperty.cs: Simplify these a bunch, since
        * child
        properties are now represented as C# properties as well. Also
add
        [GLib.Property(cname)] and [Gtk.ChildProperty(cname)]
attributes.

        * glib/Makefile.am (sources): add PropertyAttribute.cs

        * glib/PropertyAttribute.cs: attribute used to label
        GObject properties

        * gtk/Makefile.am (sources): add ChildPropertyAttribute.cs

        * gtk/gtk-api.raw: regenerate for parser changes (remove
        "Child"/"child_" from child property names).

        * gtk/ChildPropertyAttribute.cs: attribute used to label
        GtkContainer child properties

        * gtk/Container.custom: define the ContainerChild class, and an
        indexer to return instances of it.

        * doc/en/Gtk/: update for container child property change

svn path=/trunk/gtk-sharp/; revision=36284
2004-11-18 20:31:22 +00:00
Mike Kestner 343e5274dd oops, miscommit
svn path=/trunk/gtk-sharp/; revision=36221
2004-11-17 16:06:59 +00:00
Mike Kestner 7dbea0aa67 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=36219
2004-11-17 16:00:00 +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 598f8e28e5 * glib/Value.cs: add new constructors for enum and boxed values
that take the name of the type rather than an object/property
        name pair; this way they work for both GObject properties and
        GtkContainer child properties.

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

        * glib/Opaque.cs (GetOpaque): Fix this.

        * generator/Property.cs (Generate): Use the new GLib.Value
        constructors. (Fixes setting of enum-valued child properties.)

svn path=/trunk/gtk-sharp/; revision=36174
2004-11-16 18:03:58 +00:00
Dan Winship bf07e92f42 * generator/DESIGN: Document what the different classes do
svn path=/trunk/gtk-sharp/; revision=36140
2004-11-15 16:00:08 +00:00
Dan Winship 03ca54df2f Fix the handful of LF-only lines in otherwise CRLF files, so that
emacs won't show the ^Ms on the other 99% of lines

svn path=/trunk/gtk-sharp/; revision=36135
2004-11-15 13:56:34 +00:00
Duncan Mak 0469f00a60 2004-11-13 Duncan Mak <duncan@ximian.com>
* generator/SymbolTable.cs: Add support for GDestroyNotify, so
	that `gtk_cell_layout_set_cell_data_func' will be generated in
	Gtk.ComboBox.

svn path=/trunk/gtk-sharp/; revision=36095
2004-11-14 03:13:09 +00:00
Dan Winship e1dc10e4c8 * glib/Object.cs (CreateNativeObject): virtualize
(Object(GType)): Mark this ctor Obsolete

	* gtk/Gtk.metadata: disable the generated GType ctor on Gtk.Widget

	* gtk/Widget.custom (Widget, CreateNativeObject,
	Widget_ParentSet): Connect to our own ParentSet event from
	CreateNativeObject and the GType ctor, and keep a static Hashtable
	of parented widgets, so that adding a managed widget to a
	container keeps both the GObject and the managed object alive.

	* generator/ObjectGen.cs (GenCtors): handle the disable_gtype_ctor
	flag. Also, mark GType ctors [Obsolete]

svn path=/trunk/gtk-sharp/; revision=35885
2004-11-09 14:22:39 +00:00
Dan Winship 9084ce3133 * generator/ChildProperty.cs:
* generator/Property.cs: Fix child property names.

svn path=/trunk/gtk-sharp/; revision=35835
2004-11-08 17:48:27 +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
Tambet Ingo 2a3d6563db 2004-11-05 Tambet Ingo <tambet@ximian.com>
* generator/OpaqueGen.cs: Add optional "parent" attribute to Opaque
	types.

svn path=/trunk/gtk-sharp/; revision=35681
2004-11-05 07:18:14 +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 ed44e2d365 2004-10-21 Mike Kestner <mkestner@ximian.com>
* generator/SymbolTable.cs : map unsigned int to uint.  [Fixes #67732]

svn path=/trunk/gtk-sharp/; revision=35214
2004-10-21 19:11:13 +00:00
Dan Winship 5e9eb345d5 * generator/OpaqueGen.cs: Don't build the (IntPtr raw) constructor
if "disable_raw_ctor" is set on the opaque type.

        * gtk/Gtk.metadata: Make GtkTargetList opaque (fixes a crash in
        Gtk.Drag.Begin), hide the generated constructor and ref/unref
        methods, and fix up the interpretation of AddTable.

        * gtk/TargetList.custom (TargetList, ~TargetList): Implement the
        suppressed constructors and add a finalizer, which handle
        refcounting the underlying struct.
        (Add, Find, Remove): convenience overloads that take string
        instead of Gdk.Atom.

        * gtk/Makefile.am (customs): add TargetList.custom

svn path=/trunk/gtk-sharp/; revision=35135
2004-10-19 14:21:48 +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 7a395905ac 2004-08-25 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : use typeof instead of Type.GetType to
	specify the event args type.
	* glib/ObjectManager.cs : beef up the type lookup code using
	Assembly.LoadWithPartialName to fix a very popular win32 bug.
	[Fixes #61139 and friends]  Thanks to John Luke for expert
	patch testing on win32.

svn path=/trunk/gtk-sharp/; revision=32831
2004-08-25 18:16:17 +00:00
Mike Kestner f96454a364 2004-06-25 Mike Kestner <mkestner@ximian.com>
* generator/*.cs : add gpl license blurb and clean up (c)'s.
	* parser/* : ditto
	* doc/*.cs : ditto
	* doc/gen-handlerargs-docs.cs : add little scripty.

svn path=/trunk/gtk-sharp/; revision=30398
2004-06-25 16:35:15 +00:00
Mike Kestner 0372a77462 2004-06-11 Mike Kestner <mkestner@ximian.com>
* doc/en/*/*.xml : update to remove Override* methods.
	* generator/Signal.cs : make the Override* methods private.  They
	should not ever be called manually and it saves about 800 "do not
	call this method" doc entries.

svn path=/trunk/gtk-sharp/; revision=29388
2004-06-11 22:41:01 +00:00
Mike Kestner 4cc4140ea5 2004-06-02 Mike Kestner <mkestner@ximian.com>
* generator/Field.cs : add field hiding, for manual impl.
	* generator/StructBase.cs : support disable_new, for manual impl.

svn path=/trunk/gtk-sharp/; revision=28715
2004-06-02 20:28:42 +00:00
Mike Kestner 77d1b452f5 2004-06-01 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : generate protected ctor () for all
	GLib.Objects that don't have any ctors.
	* gtk/CellRenderer.custom : remove ctor ().
	* gtkhtml/Gtk.metadata : add a disable_void_ctor rule for HTML.

svn path=/trunk/gtk-sharp/; revision=28645
2004-06-01 18:00:09 +00:00
Mike Kestner 73632b2747 2004-05-28 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : adjust to ObjectManager ns change.
	* glib/ManagedValue.cs : move to GLib and internalize.
	* glib/Object.cs : adjust to ObjectManager ns change.
	* glib/ObjectManager.cs : move to GLib.
	* glib/TypeConverter.cs : move to GLib.  return ManagedValue.GType
	when we can't match a type instead of GType.None.
	* gtk/*.custom: adjust for new TypeConverter ns and behavior.

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

	* en/* : run updater. fix a few *Sharp copy/pastisms.

svn path=/trunk/gtk-sharp/; revision=28362
2004-05-28 16:59:21 +00:00
Mike Kestner ca91d3c85f 2004-05-23 Mike Kestner <mkestner@ximian.com>
* generator/SignalHandler.cs : put back the ObjectGen hack
	for param wrapping.  [Fixes #58876]

svn path=/trunk/gtk-sharp/; revision=27940
2004-05-24 02:25:16 +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
Mike Kestner bfc77b2230 2004-05-17 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : Generate a .cctor that calls the assembly's
	ObjectManager.Initialize method if the class will need to be registered
	with GLib.ObjectManager.  Enhance the Initialize method to allow
	multiple invocations.

svn path=/trunk/gtk-sharp/; revision=27554
2004-05-18 02:46:17 +00:00
Mike Kestner ffe268c415 2004-05-17 Mike Kestner <mkestner@ximian.com>
* generator/SignalHandler.cs : fix some broken/redundant generation in
	the Object/Struct wrapping for sig params.
	* glib/Object.cs : internalize/protect lots of API that shouldn't need
	to be used by non-subclass/non-glib code. Return GType.Object as GType.
	* glib/Value.cs : use internal GLib.Object.NativeType prop.
	* sample/TestDnd.cs : use ToString instead of TypeName.

svn path=/trunk/gtk-sharp/; revision=27530
2004-05-17 17:52:00 +00:00
Mike Kestner 60d2fab857 2004-05-11 Mike Kestner <mkestner@ximian.com>
* *.pc.in : add Requires so that dependent libs are pulled in too.

svn path=/trunk/gtk-sharp/; revision=27132
2004-05-11 20:56:24 +00:00
Mike Kestner c9f1eadc11 2004-05-07 Mike Kestner <mkestner@ximian.com>
[Derived from a patch by Ben Maurer]
	* generator/Ctor.cs : generate code to detect subclassing and handle
	GType registration and native object creation properly.
	* generator/Parameters.cs : add PropertyName accessor for param attr.
	* generator/Property.cs : use a new GLib.Value ctor.
	* glib/ObjectManager.cs : redo hash access.
	* glib/Object.cs : CreateNativeObject method to invoke g_object_newv
	and some refactoring of RegisterGType and LookupGType.
	* glib/Value.cs : make gtype field an IntPtr.
	* glib/glue/object.c : glue for g_object_newv use.
	* glib/glue/value.c : new glue for value creation.
	* gtk/Dialog.custom : fix a ctor declaration for auto-reg.
	* gtk/Gtk.metadata : mark a couple property_name attrs as examples.
	* sample/Subclass.cs : use auto-GType-registration now.

svn path=/trunk/gtk-sharp/; revision=26916
2004-05-07 13:42:59 +00:00
Jeroen Zwartepoorte e07bb75fd6 2004-05-06 Jeroen Zwartepoorte <jeroen@xs4all.nl>
* generator/Method.cs: Don't use the "unsafe" modifier for methods which
	are part of an interface [fixes #58059].

svn path=/trunk/gtk-sharp/; revision=26843
2004-05-06 15:58:00 +00:00
Mike Kestner 31ef54a54a 2004-05-05 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : remove g_value_init DllImport and change
	(g|s)et_boxed to use a glue method to simplify dllmapping.
	* glib/Value.cs : add Init method.
	* glib/glue/value.cs : add get/set_boxed glue methods.
	* */*.config.in : remove libgobject mappings for dlls that no longer
	need them.

svn path=/trunk/gtk-sharp/; revision=26787
2004-05-05 20:14:14 +00:00
Mike Kestner 01acd7f576 2004-05-05 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : rmv Handle param to SignalCallback ctor calls.
	s/GtkSharp.Signal*/GLib.Signal*.
	* generator/SignalHandler.cs : rmv Handle param to ctors as it's
	redundant.  s/GtkSharp.Signal*/GLib.Signal*. Use new Connect/Disconnect
	instead of generating DllImports into libgobject directly.
	* glib/SignalArgs.cs : move the the GLib namespace.
	* glib/SignalCallback.cs : expose Connect and Disconnect methods to
	hide some pinvokes that were previously generated. Also move to the
	GLib namespace.
	gnome/*Handler.cs : update to new SignalHandler API.
	gnome/CanvasProxy.cs : ditto
	gnome/void*Signal.cs : ditto

svn path=/trunk/gtk-sharp/; revision=26778
2004-05-05 18:24:04 +00:00
Owen Fraser-Green ce55d821aa Minor fixed to get gstreamer working.
svn path=/trunk/gtk-sharp/; revision=26341
2004-04-29 21:21:57 +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 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 05e4e0b9d3 2004-04-04 Mike Kestner <mkestner@ximian.com>
* generator/SymbolTable.cs : don't use StringGen for gunichar.
	* glib/glue/unichar.c : glue to fetch a gunichar as a utf8 string.
	* glib/glue/Makefile.am : add unichar.c
	* glib/glue/makefile.win32 : add unichar.c
	* gtk/Gtk.metadata : hide TextIter.GetChar
	* gtk/TextIter.custom : manually impl Char prop. [fixes #53425]

svn path=/trunk/gtk-sharp/; revision=25054
2004-04-05 18:31:34 +00:00
Mike Kestner 7b15abe5fd 2004-04-04 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : DllImport glibsharpglue for value_create.

svn path=/trunk/gtk-sharp/; revision=25045
2004-04-05 16:06:49 +00:00
Mike Kestner ab2f05fa77 2004-03-31 Mike Kestner <mkestner@ximian.com>
* configure.in : remove atk/glue/Makefile
	* atk/Makefile.am : comment out subdirs for now
	* atk/makefile.win32 : don't build glue
	* */glue/Makefile.am : remove generated.c from sources
	* */glue/makefile.win32 : remove generated.c from sources
	* generator/ObjectGen.cs : disable vm glue generation for now.

svn path=/trunk/gtk-sharp/; revision=24850
2004-03-31 16:34:08 +00:00
Mike Kestner 9861569931 2004-03-18 Mike Kestner <mkestner@ximian.com>
* configure.in : expand atk/glue/Makefile
	* atk/Makefile.am : generate glue and build glue dir
	* atk/makefile.win32 : ditto
	* atk/glue/Makefile.am : build new glue
	* atk/glue/makefile.win32 : build new glue
	* atk/glue/vmglueheaders.h : new includes for vm glue
	* atk/glue/win32dll.c : win dll building code
	* generator/CodeGenerator.cs : add --gluelib-name and
	--glue-filename argument parsing.
	* generator/GenerationInfo.cs : add GluelibName, GlueFilename,
	GlueEnabled, GlueWriter, and CloseGlueWriter.
	* generator/ObjectGen.cs : Add VirtualMethod glue generation
	* generator/Statistics.cs : Add warning message for virtual
	method throttling.

svn path=/trunk/gtk-sharp/; revision=24292
2004-03-18 20:56:32 +00:00
Mike Kestner f5289b6c93 2004-03-16 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : streamline the remove code a tad.

svn path=/trunk/gtk-sharp/; revision=24170
2004-03-16 21:21:11 +00:00
Mike Kestner 7cf239155e 2004-03-16 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : remove a C.WL.

svn path=/trunk/gtk-sharp/; revision=24161
2004-03-16 20:10:05 +00:00
Mike Kestner 1a1f5e1702 2004-03-16 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : don't gen a Signals hash per class.
	* generator/Signal.cs : gen checks for [ConnectBefore].
	* generator/SignalHandler.cs : add connect_flags param to ctor.
	* glib/ConnectBeforeAttribute.cs : new attr
	* glib/Makefile.am : add new file
	* glib/Object.cs : add before/after hashes and EventLists
	* gnome/CanvasProxy.cs : use AfterSignals and AfterHandlers.

svn path=/trunk/gtk-sharp/; revision=24157
2004-03-16 19:43:04 +00:00
John Luke 51a6b95ed4 2004-03-14 John Luke <jluke@cfl.rr.com>
* parser/gapi-fixup.in:
        * generator/gapi-codegen.in: s/@MONO@/@RUNTIME@

svn path=/trunk/gtk-sharp/; revision=24026
2004-03-14 21:51:37 +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
Urs C. Muff c8511cd513 Using configurable runtime during build process --> RUNTIME=@MONO@ in Makefile.in files. MONO is defined in configure.in. For Mac OS X == Darwin it is 'mint' for now, for the others it remains 'mono'. Also use the more generic code from mono/autogen.sh to detect libtool.
svn path=/trunk/gtk-sharp/; revision=23880
2004-03-10 15:57:33 +00:00
Mike Kestner 64e69d3832 2004-03-08 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : ignore virtual_method elems for now.
	* parser/gapi2xml.pl : parse the non-signal class methods and add as
	virtual_method elements in the API xml
	* */*-api.xml : regen

svn path=/trunk/gtk-sharp/; revision=23809
2004-03-08 18:08:48 +00:00
Mike Kestner f774796311 2004-02-10 Mike Kestner <mkestner@ximian.com>
* gconf/GConf.PropertyEditors/PropertyEditorColorPicker.cs :
	nuke a GnomeSharp.
	* generator/Signal.cs : move eventhandlers and args into the
	base namespace instead of a *Sharp namespace.
	* sample/*.cs : nuke using *Sharp.

svn path=/trunk/gtk-sharp/; revision=22956
2004-02-10 20:35:40 +00:00
Mike Kestner d41f6593b0 2004-02-10 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : mark a field private
	* art/art-api.xml : regen
	* gda/Gda.metadata : mark a few structs opaque
	* gda/gda-api.xml : regen
	* gdk/*.custom : fix changed field names
	* gdk/gdk-api.xml : regen
	* generator/Field.cs : StudlyCase simple typed field names.
	* gnome/Gnome.metadata : mark FontEntry.weight private to
	avoid collision with Weight field. s|//|/api/namespace|g
	* gnome/gnome-api.xml : regen
	* gtk/Gtk.metadata : rename AccelKey.accel_key to key to
	avoid collision with type name.
	* gtk/*.custom : fix changed field names
	* gtk/gtk-api.xml : regen
	* pango/pango-api.xml : regen
	* parser/gapi_pp.pl : add a private_regex to hide BACKEND
	and ENGINE apis, which are by convention private.
	* sample/* : make compile
	* sample/GtkDemo/* : make compile
	* sample/test/* : make compile
	* sources/gtk-sharp-sources.xml : exclude a bunch of pango
	source files.

svn path=/trunk/gtk-sharp/; revision=22947
2004-02-10 16:04:50 +00:00
Mike Kestner 3d95f23f6f 2004-02-07 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : oops, remove a couple C.WLs.

svn path=/trunk/gtk-sharp/; revision=22866
2004-02-07 23:43:35 +00:00
Mike Kestner f91aeb5425 2004-02-07 Gustavo Giraldez <gustavo.giraldez@gmx.net>
* atk/Makefile.in : fix copy/paste error in --assembly-name.
	* generator/ObjectGen.cs : rework ObjectManager generation code.
	* glade/Makefile.in : fix copy/paste error in --assembly-name.

svn path=/trunk/gtk-sharp/; revision=22865
2004-02-07 23:24:15 +00:00
Mike Kestner dc7145103d 2004-02-06 Mike Kestner <mkestner@ximian.com>
* generator/Method.cs : for Opaque/Object retvals, if raw_ret is
	NULL, return null instead of an object with a NULL handle.

svn path=/trunk/gtk-sharp/; revision=22847
2004-02-06 21:33:14 +00:00
Mike Kestner 4251d47fe9 2004-02-04 Mike Kestner <mkestner@ximian.com>
* generator/CustomMarshalerGen.cs : impl MarshalReturnType.
	* generator/Method.cs : add CustomMarshalerGen return type handling.
	* generator/Property.cs : rework property type selection.
	* generator/SymbolTable.cs : add time_t mapping
	* glib/time_t_CustomMarshaler.cs : impl native to managed methods.
	* glue/time_t.c : remove debugging code.

svn path=/trunk/gtk-sharp/; revision=22772
2004-02-04 19:54:46 +00:00
Mike Kestner d4c8fc78c7 2004-02-02 Mike Kestner <mkestner@ximian.com>
* generator/CustomMarshalerGen.cs : beginnings of a new generatable.
	* generator/SymbolTable.cs : mangle interface keyword to iface.

svn path=/trunk/gtk-sharp/; revision=22712
2004-02-02 21:35:01 +00:00
Martin Willemoes Hansen 058077b7f1 * generator/ClassBase.cs: Converted String uses to the string alias.
* generator/ConstStringGen.cs: Ditto
        * generator/Ctor.cs: Ditto
        * generator/EnumGen.cs: Ditto
        * generator/ManualGen.cs: Ditto
        * generator/SignalHandler.cs: Ditto
        * generator/StringGen.cs: Ditto

svn path=/trunk/gtk-sharp/; revision=22710
2004-02-02 20:19:43 +00:00
Mike Kestner 1742a837c1 2004-01-27 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : gen a Value to Boxed explicit cast op.
	* generator/Property.cs : use new cast in Boxed getters.
	[Fixes #53414]

svn path=/trunk/gtk-sharp/; revision=22553
2004-01-27 22:06:24 +00:00
Mike Kestner 2dc2f1ed0f 2004-01-27 Mike Kestner <mkestner@ximian.com>
* generator/MethodBody.cs : remove unnecessary generation for
	Handle using out parameters.
	* gtk/Gtk.Metadata : make TextIter opaque
	* gtk/TextBuffer.custom : remove redundant dllimport
	* gtk/gtk-api.xml : regen

svn path=/trunk/gtk-sharp/; revision=22551
2004-01-27 19:58:59 +00:00
Mike Kestner 2340cb040e 2004-01-25 Mike Kestner <mkestner@ximian.com>
* art/art-api.xml : regen
	* gdk/gdk-api.xml : regen
	* generator/SymbolTable.cs : add unsigned char mapping
	* gnome/gnome-api.xml : regen
	* parser/gapi2xml.pl : handle unsigned keyword in fields,
	typedefs, and parameter types.
	[Fixes #53055]

svn path=/trunk/gtk-sharp/; revision=22487
2004-01-26 04:53:05 +00:00
Martin Willemoes Hansen 64e7ad9f30 * generator/Ctor.cs: Warnings was output like "ctor" fixed to
output like "in ctor", like the rest of the warnings.

svn path=/trunk/gtk-sharp/; revision=22394
2004-01-22 11:27:29 +00:00
Mike Kestner e4165fbb18 2004-01-21 Mike Kestner <mkestner@ximian.com>
* generator/Field.cs : kill Protection, restructure Generate
	and add FIXMEs for broken parts. Add StudlyName and move array
	fields to use Studly names.

svn path=/trunk/gtk-sharp/; revision=22357
2004-01-21 20:47:41 +00:00
Mike Kestner 13c8647b1e 2004-01-19 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : correct a couple symbolic array_lens
	* art/art-api.xml : regen
	* gdk/Gdk.metadata : correct a symbolic array_len
	* gdk/gdk-api.xml : regen
	* generator/Field.cs : generate array fields with MarshalAs
	attrs for correct marshaling.

svn path=/trunk/gtk-sharp/; revision=22261
2004-01-19 17:05:53 +00:00
Mike Kestner d1367eb515 2004-01-18 Mike Kestner <mkestner@ximian.com>
* generator/Field.cs : refactored code from StructBase
	* generator/StructBase.cs : spin off Field class

svn path=/trunk/gtk-sharp/; revision=22239
2004-01-19 05:30:05 +00:00
Mike Kestner b17f91170f 2004-01-18 Mike Kestner <mkestner@ximian.com>
* generator/SymbolTable.cs : mangle parms named readonly

svn path=/trunk/gtk-sharp/; revision=22238
2004-01-19 05:27:42 +00:00
Martin Willemoes Hansen c2d4c12e67 * generator/Method.cs: Methods which returns void and has a single out parameter
like void Foobar (..., out int baz, ...) are turned into the more .NET like
          signature int Foobar (...), this fixes bug 46392
        * generator/Signature.cs: Ditto
        * generator/MethodBody.cs: Ditto
        * gtk/ListStore.custom: Ditto
        * gtk/TextBuffer.custom: Ditto
        * gtk/TreeStore.custom: Ditto

svn path=/trunk/gtk-sharp/; revision=22126
2004-01-15 21:18:46 +00:00
Mike Kestner 80a630a8a4 2004-01-13 Tambet Ingo <tambet@ximian.com>
* gtk-sharp.pc.in : add libdir var
	* generator/SymbolTable.cs : add GByteArray mapping.

svn path=/trunk/gtk-sharp/; revision=22070
2004-01-14 18:40:00 +00:00
Mike Kestner 6ec923833e 2004-01-13 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : use ValueArray to assemble parms arg for
	g_signal_chain_from_overriden call.  Initialize retval GValue for
	above.
	* glib/Object.cs : g_signal_chain_from_overridden parms are IntPtrs.
	* glib/TypeConverter.cs : handle unboxed ValueTypes.
	* glib/Value.cs : handle unboxed struct types.  add ctor for init'd
	unset Values.
	* glib/ValueArray.cs : new binding for GValueArray used by VMs.
	* glue/valuearray.c : field accessors
	* glue/Makefile.am : add new glue file
	* glue/makefile.win32 : add new glue file
	[Fixes #52680]

svn path=/trunk/gtk-sharp/; revision=22069
2004-01-14 18:05:50 +00:00
Joe Shaw 0925be2387 2003-12-16 Joe Shaw <joe@ximian.com>
* generator/SymbolTable.cs (MangleName): Add "lock" and "callback"
	to the list of names that need to be mangled.  The former is a C#
	reserved keyword and the latter is already used as an argument to
	methods which marshal callbacks.

svn path=/trunk/gtk-sharp/; revision=21276
2003-12-17 15:27:34 +00:00
Mike Kestner ff263164e3 2003-12-15 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : s/uint/GLib.GType
	* generator/ManualGen.cs : add a ctor to pass ToNative handle name
	* generator/ObjectGen.cs : s/uint/GLib.GType
	* generator/Signal.cs : use GLib.GType and call OverrideVirtualMethod
	* generator/SymbolTable.cs : make GType a ManualGen and update a few
	ManualGens to the new signatures.
	* glib/DefaultSignalHandler.cs : s/Type/System.Type
	* glib/ManagedValue.cs : s/uint/GLib.GType
	* glib/Object.cs : s/uint/GLib.GType, add OverrideVirtualMethod.
	* glib/Type.cs : s/uint/IntPtr, add static fields for fundamentals.
	make it a value type and add ==, !=, Equals, and GetHashCode.
	* glib/TypeConverter.cs : use new GType statics, not fundamentals.
	* glib/Value.cs : use new GType statics, not fundamentals.
	* gnome/*.custom : s/uint/GLib.GType
	* gtk/*Store.custom : use GType statics, not fundamentals.
	* sample/Subclass.cs : s/uint/GLib.GType.

svn path=/trunk/gtk-sharp/; revision=21181
2003-12-15 16:59:25 +00:00
Mike Kestner 027410def9 2003-12-12 Mike Kestner <mkestner@ximian.com>
* generator/CallbackGen.cs : kill some redundant generation
	* generator/MethodBody.cs : pass array parameters as arrays of
	the corresponding native type.

svn path=/trunk/gtk-sharp/; revision=21083
2003-12-12 22:56:28 +00:00
Mike Kestner ba1d3996a4 2003-12-10 Mike Kestner <mkestner@ximian.com>
* generator/CallbackGen.cs : kill ref_owned generation
	* generator/ClassBase.cs : use simple GetObject w/o ref_owned
	* generator/ManagedCallString.cs : new class to generate native
	to managed method calls.
	* generator/Method.cs : kill ref_owned generation
	* generator/MethodBody.cs : kill ref_owned generation
	* generator/Property.cs : kill ref_owned generation
	* generator/Signal.cs : generate delegates and vtable connect
	methods for all signals. Mark VMs with new attr.
	* generator/StructBase.cs : kill ref_owned generation
	* glib/DefaultSignalHandlerAttribute.cs : new attr to mark
	virtual methods.
	* glib/Object.cs : add overload for GetObject that defaults
	to ref_owned=false. Add extern for VM override glue.

svn path=/trunk/gtk-sharp/; revision=21005
2003-12-10 22:56:49 +00:00
Mike Kestner bc37b4ff76 2003-12-08 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : add virtual method generation for the
	default signal handlers.
	* glib/Object.cs : add g_signal_chain_from_overridden extern

svn path=/trunk/gtk-sharp/; revision=20920
2003-12-09 05:01:22 +00:00
Mike Kestner 968230bd25 2003-12-08 Mike Kestner <mkestner@ximian.com>
* generator/VMSignature.cs : new class to generate virtual method
	signatures for default signal handlers.

svn path=/trunk/gtk-sharp/; revision=20888
2003-12-08 19:14:12 +00:00
Mike Kestner 9c3f47e5d3 2003-12-08 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : stupid little whitespace change

svn path=/trunk/gtk-sharp/; revision=20887
2003-12-08 19:05:03 +00:00
Mike Kestner f61ac5c89c 2003-12-03 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : use new sig and isig classes.
	* generator/Ctor.cs : use new sig, isig, and body classes.
	* generator/ImportSignature.cs : isig code spun out from Parameters.
	* generator/Method.cs : use new sig, isig, and body classes.
	* generator/MethodBody.cs : spun Initialize, GetCallString,
	Finish, and Exception throwing methods from Parameters.
	* generator/Parameters.cs : Slayed the evilness that was CreateSignature.
	It is now essentially a container for Parameter classes instead of a
	tangled mess of code trying to do everything remotely related to
	parameter lists. Also completely killed the VAType/IsVarArgs stuff,
	as it can be done with the array and params attrs instead.
	* generator/Property.cs : use new sig class.
	* generator/Signature.cs : new method sig generator extracted from
	Parameters class. add "params" keyword support for tagged parameters.
	* gnome/Gnome.metadata : hide IconList.GetSearchPath (to be manual)
	* gnome/gnome-api.xml : regen
	* gtk/ListStore.custom : kill unneeded overload
	* gtk/TreeStore.custom : kill unneeded overload
	* gtk/Gtk.metadata : mark params/args on *store_newv
	* gtk/gtk-api.xml : regenerated

svn path=/trunk/gtk-sharp/; revision=20755
2003-12-03 23:08:14 +00:00
Mike Kestner c1916a0aa0 2003-11-29 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs : handle null_ok for arrays.
	* gtk/Gtk.metadata : mark a null_ok in Drag.DestSet
	* gtk/gtk-api.xml : regen

svn path=/trunk/gtk-sharp/; revision=20619
2003-11-30 03:25:35 +00:00
Mike Kestner c8afbd3ca2 2003-11-29 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs : remove ==/!= operator generation.

svn path=/trunk/gtk-sharp/; revision=20611
2003-11-29 23:12:54 +00:00
Mike Kestner c2d44cbb6a 2003-11-23 Mike Kestner <mkestner@ximian.com>
* generator/SignalHandler.cs : use CONNECT_AFTER.

svn path=/trunk/gtk-sharp/; revision=20360
2003-11-23 21:43:55 +00:00
Mike Kestner 62a858e0cd 2003-11-16 Mike Kestner <mkestner@ximian.com>
* generator/Parameters: handle array+len param pairs.
	* gtk/Gtk.metadata : unhide DestDefaults and mark targets param of
	drag_dest_set as array.
	* gtk/gtk-api.xml : regenerate

svn path=/trunk/gtk-sharp/; revision=20096
2003-11-17 03:44:32 +00:00
Mike Kestner 5dd6cef552 2003-11-13 Mike Kestner <mkestner@ximian.com>
* generator/SignalHandler.cs : guard against destroyed signalhandlers.

svn path=/trunk/gtk-sharp/; revision=19982
2003-11-14 03:05:20 +00:00
Mike Kestner d69268abbf 2003-11-07 Mike Kestner <mkestner@ximian.com>
* configure.in : add mono check.  expand wrapper scripts
	* generator/Makefile.in : use install. install a gapi-codegen wrapper.
	* generator/SymbolTable.cs : add SimpleGen for short
	* generator/gapi-codegen.in : new wrapper script in file.
	* parser/Makefile.in : use install. install a gapi-fixup wrapper.
	* generator/gapi-fixup.in : new wrapper script in file.
	* parser/gapi2xml.pl : deal with non-namespaced enums. ignore
	forward struct declarations.

svn path=/trunk/gtk-sharp/; revision=19712
2003-11-07 18:14:35 +00:00
Mike Kestner 7ade209999 2003-11-02 Mike Kestner <mkestner@ximian.com>
* generator/CallbackGen.cs : use a temporary ret value if there
	is any cleanup to be done after the call.  Thanks to John Luke
	for a patch which identified the problem.

svn path=/trunk/gtk-sharp/; revision=19561
2003-11-03 01:36:55 +00:00
Martin Willemoes Hansen d5a4cdb689 * generator/Method.cs: marked Is and Has methods,
to be generated as properties, fixes bug [47910]

svn path=/trunk/gtk-sharp/; revision=19468
2003-10-29 22:11:59 +00:00
Mike Kestner 0cdee479e2 2003-10-28 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : generate GLib.Value ctors. [fixes #47168]
	* generator/Property.cs : use new Boxed value ctors.
	* generator/StructBase.cs : use existing Writer if available.

svn path=/trunk/gtk-sharp/; revision=19433
2003-10-28 15:45:35 +00:00
Mike Kestner 5eadb9b87c 2003-10-20 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : treat interface out params like objects.
	* gtk/gtk-api.xml : regenerated
	* gtk/Gtk.metadata : mark TreeSelection.GetSelected params out.
	* gtk/TreeSelection.custom : emptied since it's now generated.
	* sources/Gtk.metadata : kill hide of TreeSelection.GetSelected.
	[fixes #49858]

svn path=/trunk/gtk-sharp/; revision=19229
2003-10-20 21:27:38 +00:00
Mike Kestner 0525cb807e 2003-10-20 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : add a cast to the call_string for Length
	params other than int.

svn path=/trunk/gtk-sharp/; revision=19202
2003-10-20 17:33:05 +00:00
Mike Kestner c62e9ab977 2003-10-17 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : mark enum pointer params as out.
	need to audit if any are really arrays.  [Fixes #49779]

svn path=/trunk/gtk-sharp/; revision=19153
2003-10-17 23:06:37 +00:00
Mike Kestner 686688d760 2003-10-15 Mike Kestner <mkestner@ximian.com>
* generator/Property.cs : use new Opaque value ctor and
	rework get/set blocks for Opaque types. [Fixes #47959]
	* glib/Opaque.cs : kill explicit IntPtr operator.
	* glib/Value.cs : rework Opaque value ctor.

svn path=/trunk/gtk-sharp/; revision=19088
2003-10-15 20:13:50 +00:00
Mike Kestner bdc5c7071f 2003-10-13 Mike Kestner <mkestner@ximian.com>
* gdk/Gdk.metadata : mark an array param on PixbufDestroyNotify
	* gdk/gdk-api.xml : regenerated
	* generator/CallbackGen.cs : Handle out params in callback sigs
	and ditch the object[] args handling for typed args.
	* generator/Parameters.cs : more proactive PassAs logic.  We now
	default all simple pointer types (uint*, int*, double*, etc...)
	to out params unless they are marked otherwise in the XML with a
	pass_as tag or an array tag.  [Fixes #32104]

svn path=/trunk/gtk-sharp/; revision=18993
2003-10-13 21:53:40 +00:00
Mike Kestner 03ac3ab7fe 2003-10-11 Mike Kestner <mkestner@ximian.com>
* generator/OpaqueGen.cs (FromNativeReturn): just do a
	new on the type.  GLib.Opaque.GetOpaque was apparently an
	homage to GetObject that just seems wrong.

svn path=/trunk/gtk-sharp/; revision=18893
2003-10-11 21:33:16 +00:00
Mike Kestner 71e9414883 2003-10-11 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : Properly handle out params for
	Object and Opaque types.
	* gtk/ListStore.custom: remove out on GetValue overload
	* gtk/TreeStore.custom: remove out on GetValue overload
	* gtk/gtk-api.xml : regenerated
	* sources/Gtk.metadata : remove some incorrect out tags

svn path=/trunk/gtk-sharp/; revision=18891
2003-10-11 20:53:10 +00:00
Mike Kestner 3f0273bece 2003-10-10 Mike Kestner <mkestner@ximian.com>
* */makefile.win32 : remove api dir from build and fix clean target

svn path=/trunk/gtk-sharp/; revision=18864
2003-10-10 18:58:19 +00:00