Commit graph

12 commits

Author SHA1 Message Date
Dan Winship b6d7f14268 * generator/StructBase.cs: update field-generation logic a bit
* generator/CodeGenerator.cs: add a --glue-includes flag

	* generator/GenerationInfo.cs: Accept glue_includes value from
	Main and output it to the glue_filename.

	* generator/FieldBase.cs (Ignored): handle more ignorable cases.
	(CheckGlue): New method to figure out what kind of glue we'll need
	for a field.
	(GenerateImports): generate appropriate imports per CheckGlue.
	(GenerateGlue): Generate C glue for accessing a struct field;
	either a fully-C-based accessor, or a method to just return the
	field's offset in the struct.
	(Generate): Use the generated glue to read the field.

	* generator/PropertyBase.cs (CType): if the field is a single bit,
	set its type to gboolean.

	* generator/ObjectGen.cs (Generate):
	* generator/OpaqueGen.cs (Generate): Call GenFields.

	* generator/StructField.cs: Use FieldBase's glue-generation code
	to handle bitfields. [#54489]

	* generator/ObjectField.cs: Generates accessors for public fields
	of objects and opaque structs. [#69514]

	* generator/ClassBase.cs (ClassBase): Parse <fields> nodes and
	create ObjectField objects.
	(GenFields): Output field properties
	(IgnoreMethod): Ignore Get/Set methods that duplicate fields

	* generator/Makefile.am (sources): update

	* {gdk,gnome,gtk,pango}/*.metadata: Mark some additional fields as
	public. Rename/retype some fields for consistency with earlier
	hand-coded bindings.

	* {gdk,gnome,gtk,pango}/*.custom: Remove custom methods that can
	now be autogenerated.

	* {gdk,gnome,gtk,pango}/glue/*.c: Remove glue methods that can now
	be autogenerated
	
	* {gdk,glade,gnome,gtk,pango,vte}/Makefile.am
	* {gdk,glade,gnome,gtk,pango,vte}/glue/Makefile.am
	* {gdk,gnome,gtk,pango}/glue/makefile.win32: Update

svn path=/trunk/gtk-sharp/; revision=44563
2005-05-16 14:28:55 +00:00
Mike Kestner 09c61ee026 2005-05-04 Mike Kestner <mkestner@novell.com>
* autogen.sh : error out with bootstrap help message.
	* bootstrap : replaces autogen.sh for the 2.5.x release line.
	* bootstrap-2.4 : replaces autogen.sh for the 1.9.x release line.
	* configure.in.in : renamed from configure.in and added substitution
	for version, dependencies, CFLAGS and CSFLAGS.
	* README : bootstrap docs
	* */*-api.raw : moved to api-2.6.raw for bootstrapping.
	* */*-api-2.4.raw : added 2.4 api files for bootstrapping.
	* */glue/Makefile.am : add GTK_SHARP_VERSION_CFLAGS.
	* pango/Attribute.cs : add a #if GTK_SHARP_2_6 block.
	* pango/glue/attribute.c : add a couple #ifdef GTK_SHARP_2_6 blocks.
	* sample/GtkDemo/* : make the 2.6 demos conditional.

svn path=/trunk/gtk-sharp/; revision=44047
2005-05-04 20:53:02 +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
Mike Kestner e5dde2ff7e 2004-08-26 Manuel V. Santos <mvsl@telefonica.net>
* gdk/Device.custom : glue to expose object fields.
	* gdk/DeviceAxis.custom : expand the ToString to incl use:
	* gdk/EventButton.custom : fix for Axes prop.
	* gdk/EventMotion.custom : fix for Axes prop.
	* gdk/Gdk.metadata : hide some accessors on Device.
	* gdk/Makefile.am : add new custom.
	* gdk/glue/Makefile.am : add new .c
	* gdk/glue/makefile.win32 : add new .o
	* gdk/glue/device.c : ditto.
	* gtk/InputDialog.custom : glue to expose button fields.
	* gtk/Makefile.am : add new custom.
	* gtk/glue/Makefile.am : add new .c
	* gtk/glue/makefile.win32 : add new .o
	* gtk/glue/inputdialog.c : ditto.
	* sample/ScribbleXInput.cs : new sample using extension events.

svn path=/trunk/gtk-sharp/; revision=32899
2004-08-26 19:10:48 +00:00
Mike Kestner 112f066abf 2004-06-11 Mike Kestner <mkestner@ximian.com>
* configure.in : deal with a csc-ism in source paths.
	* */Makefile.am : use the GENERATED_SOURCES var.
	* */glue/Makefile.am : add -no-undefined for win32 dll builds.

svn path=/trunk/gtk-sharp/; revision=29367
2004-06-11 18:19:41 +00:00
Todd Berman e474eaca89 2004-05-14 Todd Berman <tberman@sevenl.net>
* glib/Object.cs: make static GLib.Object.LookupGType protected for now.        * gtk/CellRenderer.custom: code to allow for subclassing and
        implementing a custom cell renderer.
        * gtk/Makefile.am: add custom to build.
        * gtk/glue/Makefile.am: add glue to build.
        * gtk/glue/cellrenderer.c: glue code to override get_size and render
        from cellrenderer.
        * sample/CustomCellRenderer.cs: new sample to show how to implement a
        custom cell renderer.
        * sample/Makefile.am: add CustomCellRenderer sample.

svn path=/trunk/gtk-sharp/; revision=27426
2004-05-14 20:25:57 +00:00
Mike Kestner b9cee94a37 2004-05-07 Mike Kestner <mkestner@ximian.com>
* gnome/Canvas.custom : PixelsPerUnit prop.
	* gnome/Gnome.metadata : hide Canvas.SetPixelsPerUnit.
	* gnome/glue/Makefile.am : get_pixels_per_unit.
	* gnome/glue/canvas.c : get_pixels_per_unit.
	* gtk/Container.custom : OnForall virtual method impl.
	* gtk/glue/Makefile.am : add container.c
	* gtk/glue/container.c : virtual method glue for forall.
	* gtk/glue/makefile.win32 : add container.o

svn path=/trunk/gtk-sharp/; revision=26962
2004-05-08 02:14:19 +00:00
Mike Kestner 14e3877005 2004-04-30 Mike Kestner <mkestner@ximian.com>
* configure.in : remove BASE_DEPENDENCIES LIBS and CFLAGS and
	expose more specific versions for glue building.
	* */glue/Makefile.am : use more specific versions of LIBS and CFLAGS
	to reduce the ldd footprint.

svn path=/trunk/gtk-sharp/; revision=26438
2004-04-30 19:08:16 +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 4b7744cb67 2004-03-18 Mike Kestner <mkestner@ximian.com>
* gdk/Makefile.am : generate glue
	* gdk/glue/Makefile.am : build generated glue
	* gdk/glue/makefile.win32 : build generated glue
	* gdk/glue/vmglueheaders.h : includes for vm glue
	* gtk/Makefile.am : generate glue
	* gtk/glue/Makefile.am : build generated glue
	* gtk/glue/makefile.win32 : build generated glue
	* gtk/glue/vmglueheaders.h : includes for vm glue

svn path=/trunk/gtk-sharp/; revision=24297
2004-03-18 22:03:49 +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