Commit graph

32 commits

Author SHA1 Message Date
Dan Winship 6bf7376094 * parser/gapi2xml.pl (addParamsElem): change the handling of
anonymous function pointer types in method signatures. Before, we
	added a <callback> child to the <parameters> node, but the
	generator just ignored it. Now we add the callback (with a made-up
	name) to the toplevel node, and add an ordinary <param> node
	referencing it to the <parameters> node. Also, if the last param
	of the callback is a gpointer, rename it from "arg#" to "data" so
	it will be treated correctly (as the user data passed from the
	calling method). [Fixes #66241]

	* art/art-api.raw: 
	* gdk/gdk-api-2.4.raw: 
	* gdk/gdk-api-2.6.raw: Regen

	* generator/Parameters.cs (IsHidden): loosen the definition of
	hideable user_data; it doesn't have to occur at the end of the
	parameter list, as long as there's a callback arg before it.

	* generator/MethodBody.cs (GetCallString): Use Parameters.IsHidden
	to decide whether or not to squash user_data params, rather than
	trying to duplicate its logic. As a side effect, this also causes
	a handful of methods that take non-hidden IntPtr arguments to
	start actually passing those arguments to C rather than always
	passing IntPtr.Zero.

	* generator/Method.cs (Equals, GetHashCode): Remove unnecessary
	and possibly erroneous hashing overrides.

	* gtk/Gtk.metadata: Hide Gtk.Container.ForeachFull, since it's
	useless and wasn't in gtk# 1.0

	* gtk/Menu.custom (Popup):
	* gtk/TextIter.custom (ForwardFindChar, BackwardFindChar):
	* gnome/App.custom (CreateMenusInterp, InsertMenusInterp,
	CreateToolbarInterp):
	* gnome/Client.custom (RequestInteractionInterp):
	* gnome/Popup.custom (MenuDoPopupModal, MenuDoPopup): Add
	[Obsolete] compat overloads for methods that have now lost a
	useless IntPtr.

svn path=/trunk/gtk-sharp/; revision=47566
2005-07-22 19:10:04 +00:00
Dan Winship fbcb47f5e6 * parser/gapi2xml.pl: Change a few instances of
"last if ($line =~ /^}/);" to
	"last if ($line =~ /^(deprecated)?}/);" to prevent runaway
	parsing (in particular in libgnomeui).

	* sources/gtk-sharp-2.4-sources.xml: 
	* sources/gtk-sharp-2.6-sources.xml: exclude a handful of
	libgnomeui files that were omitted in gtk# 1.0 due to the parser
	bug, but which are entirely deprecated anyway. (Some of them
	showed up in earlier 1.9/2.4/2.6 releases but are going away again
	now.)

	* gnome/gnome-api.raw: Regen

	* gnome/Gnome.metadata: Hide a few more things that should be
	hidden, remove a few rules that aren't needed any more. Keeping
	hiding GnomeIconTheme though and using the old by-hand IconTheme
	for the moment, since the by-hand one isn't compatible with the
	autogenerated one.

	* gnome/IconData.cs: kill this, use the autogenerated version

svn path=/trunk/gtk-sharp/; revision=47398
2005-07-18 21:27:00 +00:00
Mike Kestner 144a0f9d20 2005-07-02 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : implement new IAccessor iface so that
	callback fields on structs can now be accessed.
	* generator/ClassBase.cs : remove/abstract some methods incorrectly
	located here.
	* generator/ClassGen.cs : implement methods previously inherited from
	ClassBase incorrectly.
	* generator/HandleBase.cs : new base class for native ptr wrappers.
	Implements new IAccessor interface and code moved from ClassBase.
	* generator/IAccessor.cs : new iface to generate field/prop accessors.
	* generator/InterfaceGen.cs : derive from new ObjectBase.
	* generator/LPGen.cs : implement IAccessor.
	* generator/LPUGen.cs : implement IAccessor.
	* generator/ObjectBase.cs : new base class for Object/Iface types.
	* generator/ObjectGen.cs : derive from new ObjectBase.
	* generator/OpaqueGen.cs : derive from HandleBase.
	* generator/StructField.cs : refactor Generate method using new
	IAccessor interface.
	* */*.custom : add obsolete impls for some existing c_cased struct
	field accessors that are now StudlyNamed.

svn path=/trunk/gtk-sharp/; revision=46878
2005-07-02 15:23:27 +00:00
Mike Kestner 463618c958 2005-06-08 Mike Kestner <mkestner@novell.com>
* generator/SimpleBase.cs : off-by-one in namespace join.
	* glib/ListBase.cs : support IntPtr element_type.
	* gnomevfs/FileInfo.cs : make it ManualGen friendly.
	* gnomevfs/*.cs : rework for FileInfo api changes.
	* gnomevfs/Gnomevfs.metadata : make FileInfo a manual symbol.
	* gnomevfs/Uri.custom : rework for FileInfo api changes.
	* gnome/Makefile.am : add gnomevfs dependency to pick up some more api
	symbols.
	* gnome/gnome-sharp-2.0.pc.in : advertise the vfs dep.
	[Fixes #71060]

svn path=/trunk/gtk-sharp/; revision=45702
2005-06-09 14:27:48 +00:00
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 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 a790f01a54 2005-02-17 Mike Kestner <mkestner@novell.com>
* */Makefile.am : define SYMBOLS if it isn't already to fix breakage
	with older automakes. 

svn path=/trunk/gtk-sharp/; revision=40810
2005-02-17 16:11:30 +00:00
Mike Kestner a9ecebce8f 2005-01-25 Mike Kestner <mkestner@novell.com>
* gnome/About.custom : implement a subclassable ctor.
	* gnome/Gnome.metadata : hide About ctor, fix About.Construct parms.
	* gnome/Makefile.am : add the new custom.
	[Fixes #71271]

svn path=/trunk/gtk-sharp/; revision=39521
2005-01-25 18:09:20 +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 8fd87b2e0a 2005-01-08 Mike Kestner <mkestner@novell.com>
* configure.in : kill a ton of redundant stuff.
	* AssemblyInfo.cs.in : moved here, only need one.
	* Makefile.include : rules for building generated assemblies.
	* Makefile.am : removed gtk-sharp-2.0.pc handling.
	* */AssemblyInfo.cs.in : killed
	* */Makefile.am : refactored out a ton of rules to an include.
	* */*-pc.in : added Cflags entries pointing to the gapi files.
	* generator/CodeGenerator.cs : add -I: synonym --include.
	* gnomevfs/gnome-vfs-api.raw : remamed from gnomevfs-api.raw.
	* gtk/gtk-sharp-2.0.pc.in : moved here from top.
	* parser/gapi-fixup.cs : add --symbol arg to merge sym files.
	* sources/gtk-sharp-sources.xml : remamed gnome-vfs-api.raw.

svn path=/trunk/gtk-sharp/; revision=38551
2005-01-09 00:26:45 +00:00
Mike Kestner 574aa2ee06 2005-01-07 Mike Kestner <mkestner@novell.com>
* configure.in : check for panelapplet in enable_gnome and remove
	all the stuff for a separate panelapplet-sharp assembly.
	* Makefile.am : remove panelapplet dir from build.
	* gnome/BonoboUIVerb.cs : moved from panelapplet.
	* gnome/Gnome.metadata : add rules from panelapplet.
	* gnome/Makefile.am : add new files.
	* gnome/PanelApplet.custom : moved from panelapplet.
	* gnome/PanelAppletFactory.cs : moved from panelapplet.
	* gnome/glue/panelapplet.c : moved from panelapplet.
	* gnome/glue/Makefile.am : add new file.
	* gnomedb/GnomeDb.metadata : hide a newly parsed "obsolete" type.
	* gtk/Gtk.metadata : hide a newly parsed "obsolete" callback type.
	* panelapplet : kill dir.
	* parser/gapi2xml.pl : update callback name sanity check.
	* sources/gtk-sharp-sources.xml : move panelapplet parse into gnome.
	* */*-api.raw : regen.

svn path=/trunk/gtk-sharp/; revision=38509
2005-01-07 21:29:38 +00:00
Mike Kestner 6e6ccc4516 2004-11-17 Mike Kestner <mkestner@novell.com>
* gnome/Makefile.am : kill unused file.
	* gnome/voidObjectAffineSVPintSignal.cs : kill old file.

svn path=/trunk/gtk-sharp/; revision=36228
2004-11-17 19:15:42 +00:00
Mike Kestner cd10436742 2004-11-09 Mike Kestner <mkestner@novell.com>
* */Makefile.am : make the Obsolete warnings shaddup.

svn path=/trunk/gtk-sharp/; revision=35999
2004-11-11 03:58: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 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
Mike Kestner c1440d52d1 2004-06-10 Mike Kestner <mkestner@ximian.com>
* configure.in : AC_SUBST GACUTIL_FLAGS. require mono-0.95 (though
	it's really cvs bleeding edge.)
	* * AssemblyInfo.cs.in : s/pub/snk.  delaysign=no.
	* * Makefile.am : s/pub/snk.  portability fixes to csc from John
	Luke.  Switch to GACUTIL_FLAGS.
	* doc/Makefile.am : don't build docs, install raw xml to the prefix.

svn path=/trunk/gtk-sharp/; revision=29227
2004-06-10 19:45:20 +00:00
Mike Kestner 8520053aa8 2004-06-07 Mike Kestner <mkestner@ximian.com>
* */Makefile.am : s|--unsafe|/unsafe to remove a mcs-ism that jluke
	exposed in his cygwin build patch.

svn path=/trunk/gtk-sharp/; revision=28991
2004-06-07 21:54:31 +00:00
Todd Berman 12bc3b0550 2004-06-04 Todd Berman <tberman@sevenl.net>
* gnome/CanvasItem.custom: Changed from OnXXX vmethods to XXX vmethods
        * gnome/CanvasProxy.cs: removed, unused code
        * gnome/GtkSharp.BoundsHandler.cs: removed
        * gnome/GtkSharp.DrawHandler.cs: removed
        * gnome/GtkSharp.PointHandler.cs: removed
        * gnome/GtkSharp.RenderHandler.cs: removed
        * gnome/GtkSharp.UpdateHandler.cs: removed
        * gnome/Makefile.am: updated to reflect removing of old files.
        * gtk/CellRenderer.custom: Changed from OnXXX vmethods to XXX vmethods,
        and added StartEditing vmethod
        * gtk/Container.custom: Changed from OnForall to ForAll
        * gtk/Gtk.metadata: hide CellRenderer.GetSize and StartEditing
        * gtk/glue/cellrenderer.c: new glue for CellRenderer.StartEditing
        override.
        * sample/CustomCellRenderer.cs: updated signatures to reflect new
        code.

svn path=/trunk/gtk-sharp/; revision=28815
2004-06-04 04:55:48 +00:00
Mike Kestner 6c25e8c608 2004-05-25 Mike Kestner <mkestner@ximian.com>
* gtkhtml/Gtk.metadata : hide Gtk.HTML the ctors.
	* gtkhtml/HTML.custom : new manual impl for ctors.
	* gtkhtml/Makefile.am : add new custom
	[Fixes #59148]

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

	* */Makefile.am : rm -f generated/* in case it doesn't exist yet.

svn path=/trunk/gtk-sharp/; revision=28214
2004-05-27 02:06:05 +00:00
Mike Kestner 7ab2b0d6b9 2004-05-25 Mike Kestner <mkestner@ximian.com>
* */Makefile.am : rm generated/* in generated-stamp target.

svn path=/trunk/gtk-sharp/; revision=28191
2004-05-26 19:44:25 +00:00
Todd Berman d04d7d6fa4 2004-05-07 Todd Berman <tberman@sevenl.net>
* gnome/Makefile.am: add DruidPageEdge.custom
        * gnome/Gnome.metadata: hide DruidPageEdge ctors
        * gnome/DruidPageEdge.custom: subclassable ctors.

svn path=/trunk/gtk-sharp/; revision=26964
2004-05-08 02:50:28 +00:00
Todd Berman fe63913e7e 2004-05-07 Todd Berman <tberman@sevenl.net>
* gnome/Gnome.metadata: map properties for with_flags DateEdit ctor,
        and hide the DateTime, bool, bool ctor
        * gnome/Makefile.am: Add DateEdit.custom.
        * gnome/DateEdit.custom: Add subclassable ctor for DateEdit and
        add enough overloads that accept variable parameter lists to make
        Mike Kestner sick.

svn path=/trunk/gtk-sharp/; revision=26961
2004-05-08 02:10:00 +00:00
Todd Berman b138697051 2004-05-07 Todd Berman <tberman@sevenl.net>
* gnome/Gnome.metadat: Hide App ctor.
        * gnome/Makefile.am: add App.custom.
        * gnome/App.custom: New custom for subclassing.

svn path=/trunk/gtk-sharp/; revision=26960
2004-05-08 01:44:21 +00:00
Todd Berman 864884b4f0 2004-05-07 Todd Berman <tberman@sevenl.net>
* gnome/Gnome.metadata: Hide Scores ctor.
        * gnome/Makefile.am: add Scores.custom.
        * gnome/Scores.custom: New custom for overridable ctor.

svn path=/trunk/gtk-sharp/; revision=26958
2004-05-08 01:27:28 +00:00
Todd Berman be2f2257c8 2004-05-07 Todd Berman <tberman@sevenl.net>
* gnome/Gnome.metadata: Hide Druid with_window ctor, map About property.        add some null_ok from bug #57948.
        * gnome/Druid.custom: implement with_window ctor for subclassing, and
        a 3 paramatered version for when you dont care about the returned
        window. another 3 parametered version for when you have want null
        parent, and a 2 parametered version for the null parent and the
        discarding of the window (THANKS MIKE!)
        * gnome/Makefile.am: add new custom.

svn path=/trunk/gtk-sharp/; revision=26948
2004-05-07 21:29:11 +00:00
Mike Kestner 57f06abbfe 2004-05-03 Mike Kestner <mkestner@ximian.com>
* */Makefile.am : fix gacutil for new package switch
	* */*.pc.in : fix -libs var for new dll path

svn path=/trunk/gtk-sharp/; revision=26644
2004-05-03 21:05:51 +00:00
Mike Kestner 01ef68965d 2004-04-30 Mike Kestner <mkestner@ximian.com>
* configure.in : lookup gacutil and error out if not found.
	* */Makefile.am : add install-data-local and uninstall-local targets
	for GAC installation.  Add gtk-sharp.pub target to cp the key in for
	distcheck.
	* */AssemblyInfo.cs.in : remove ../ from key path for VPATH build.

svn path=/trunk/gtk-sharp/; revision=26485
2004-05-01 03:38:54 +00:00
Mike Kestner e4c7f28e66 2004-04-29 Mike Kestner <mkestner@ximian.com>
* configure.in : expand the AssemblyInfo.cs files.
	* */AssemblyInfo.cs.in : new assembly info files.
	* */Makefile.am : dist, make, and clean assmbly info files.

svn path=/trunk/gtk-sharp/; revision=26356
2004-04-29 22:19:30 +00:00
Mike Kestner 9bc8928f88 2004-04-29 Mike Kestner <mkestner@ximian.com>
* configure.in : expand the new config files.
	* */*config.in : the per-assembly config files.
	* */Makefile.am : dist, clean, and install the configs.
	* gnome/*.c* : fix some errant DllImports.

svn path=/trunk/gtk-sharp/; revision=26301
2004-04-29 15:00:24 +00:00
Larry Ewing bcb63e0e1d 2004-04-05 Larry Ewing <lewing@ximian.com>
* gnome/Gnome.metadata: Make data an array type so that the image
	functions can be used.
	* gnome/Print.custom: add a custom handler to print Pixbufs.
	* gnome/Makefile.am: add Print.custom.

svn path=/trunk/gtk-sharp/; revision=25252
2004-04-09 16:58:07 +00:00
Todd Berman 2190751eba 2004-04-02 Todd Berman <tberman@sevenl.net>
* configure.in: added new .pc files
        * gtk-sharp.pc.in: modified to include Libs: line
        * art/.cvsignore: added art-sharp.pc
        * art/Makefile.am: added rules for installing .pc
        * art/art-sharp.pc.in: new .pc file
        * gconf/GConf/.cvsignore: added gconf-sharp.pc
        * gconf/GConf/Makefile.am: added rules for installing .pc
        * gconf/GConf/gconf-sharp.pc.in: new .pc file
        * gda/.cvsignore: added gda-sharp.pc
        * gda/Makefile.am: added rules for installing .pc
        * gda/gda-sharp.pc.in: new .pc file
        * glade/.cvsignore: added glade-sharp.pc
        * glade/Makefile.am: added rules for installing .pc
        * glade/glade-sharp.pc.in: new .pc file
        * gnome/.cvsignore: added gnome-sharp.pc
        * gnome/Makefile.am: added rules for installing .pc
        * gnome/gnome-sharp.pc.in: new .pc file
        * gnomedb/.cvsignore: added gnomedb-sharp.pc
        * gnomedb/Makefile.am: added rules for installing .pc
        * gnomedb/gnomedb-sharp.pc.in: new .pc file
        * gtkhtml/.cvsignore: added gtkhtml-sharp.pc
        * gtkhtml/Makefile.am: added rules for installing .pc
        * gtkhtml/gtkhtml-sharp.pc.in: new .pc file
        * rsvg/.cvsignore: added rsvg-sharp.pc
        * rsvg/Makefile.am: added rules for installing .pc
        * rsvg/rsvg-sharp.pc.in: new .pc file
        * vte/.cvsignore: added vte-sharp.pc
        * vte/Makefile.am: added rules for installing .pc
        * vte/vte-sharp.pc.in: new .pc file

svn path=/trunk/gtk-sharp/; revision=24992
2004-04-03 05:12:17 +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