Commit graph

2503 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
Ben Maurer
057220e162 2005-05-15 Ben Maurer <bmaurer@ximian.com>
* bootstrap (GTK_SHARP_VERSION): Bump so that Todd's md tarballs
	work. Not yet tagged...


svn path=/trunk/gtk-sharp/; revision=44546
2005-05-15 22:26:30 +00:00
Miguel de Icaza
77dfe030c1 Some docs
svn path=/trunk/gtk-sharp/; revision=44542
2005-05-15 17:23:20 +00:00
Miguel de Icaza
aa87b5bc36 Patch from tavi_duma2002@yahoo.co.uk
svn path=/trunk/gtk-sharp/; revision=44515
2005-05-14 04:37:51 +00:00
Mike Kestner
afa17eacee 2005-05-13 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom : hold refs for all managed subclasses. Release on
	Destroy. Dispose plain wrappers on Destroy also.
	* gtk/Widget.custom : remove the parent set hack since it's "handled"
	on Gtk.Object now.  All this will get fixed properly when we have
	access to owen's toggle_refs.

svn path=/trunk/gtk-sharp/; revision=44506
2005-05-13 17:38:51 +00:00
Mike Kestner
9ac721885b 2005-05-13 Mike Kestner <mkestner@novell.com>
* generator/MethodBody.cs : don't create a new destroy notify
	delegate, just use GLib.DestroyHelper.NotifyHandler directly.

svn path=/trunk/gtk-sharp/; revision=44504
2005-05-13 17:34:37 +00:00
Mike Kestner
3f2252ad82 fix a typo in a warning message
svn path=/trunk/gtk-sharp/; revision=44457
2005-05-12 19:06:36 +00:00
Mike Kestner
7c3ae396d0 reverting to a less broken state for now
svn path=/trunk/gtk-sharp/; revision=44421
2005-05-12 02:49:26 +00:00
Mike Kestner
551b1d3fd7 2005-05-11 Mike Kestner <mkestner@novell.com>
* glib/Object.cs : mark Dispose virtual.
	* gtk/Object.cs : release the Destroy handler in Dispose.

svn path=/trunk/gtk-sharp/; revision=44420
2005-05-12 00:42:21 +00:00
Mike Kestner
d988c7ebe8 2005-05-11 Mike Kestner <mkestner@novell.com>
* configure.in.in : s/-g/-debug

svn path=/trunk/gtk-sharp/; revision=44419
2005-05-12 00:02:21 +00:00
Mike Kestner
ef52ff2b33 2005-05-11 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : hide IconTheme.GetIconSizes.
	* gtk/IconTheme.custom : implement GetIconSizes because of its zero
	terminated array return value. 2.6 only.  [Fixes #74844]

svn path=/trunk/gtk-sharp/; revision=44414
2005-05-11 22:43:04 +00:00
Mike Kestner
07df433712 2005-05-11 Mike Kestner <mkestner@novell.com>
* pango/Makefile.am : add file.
	* pango/Units.cs : new class to wrap PANGO_SCALE and PANGO_PIXELS.
	* pango/glue/units.c : accessors for the macros.
	* pango/glue/Makefile.am : build it.
	* pango/glue/makefile.win32 : build it on win.
	[Fixes #74837]

svn path=/trunk/gtk-sharp/; revision=44410
2005-05-11 20:27:00 +00:00
Mike Kestner
caec90e311 2005-05-11 Eric Butler <eric@extremeboredom.net>
* gtk/Gtk.metadata : add IEnumerable iface to ListStore.
	* gtk/ListStore.cs : add GetEnumerator.
	* gtk/Makefile.am : add file.
	* gtk/TreeEnumerator.cs : root node enumerator for a TreeModel.

svn path=/trunk/gtk-sharp/; revision=44409
2005-05-11 19:41:45 +00:00
Mike Kestner
a900916eab remove a cwl
svn path=/trunk/gtk-sharp/; revision=44407
2005-05-11 18:24:31 +00:00
Mike Kestner
8ccfd329dc 2005-05-11 Mike Kestner <mkestner@novell.com>
* gtk/Widget.custom : manual ListMnemonicLabels implementation to
	return a Widget[].  [Fixes #74786]

svn path=/trunk/gtk-sharp/; revision=44404
2005-05-11 18:04:52 +00:00
Mike Kestner
8c8f6b1448 2005-05-11 Mike Kestner <mkestner@novell.com>
* generator/ObjectGen.cs : default empty assembly names for the
	mapper.  [Fixes #74769]

svn path=/trunk/gtk-sharp/; revision=44395
2005-05-11 17:37:50 +00:00
Mike Kestner
c1564a1288 2005-05-10 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom : Dispose on a Destroyed event.
	* gtk/Widget.custom : rework the parent_set hack to go direct to
	the native signal instead of using the event so we avoid rewrapping of
	already destroyed parents.

svn path=/trunk/gtk-sharp/; revision=44388
2005-05-11 13:12:09 +00:00
Mike Kestner
a51e811f17 2005-05-10 Mike Kestner <mkestner@novell.com>
* gdk/Pixbuf.custom : use non-obsolete PixbufLoader.Write overload.
	* gdk/PixbufLoader.custom : add obsolete PixbufLoader.Write overload
	for the uint case for backcompat. Update other uses to the new ulong
	overload.
	* sample/GtkDemo/DemoImage.cs : use PixbufLoader.Write (byte[])
	overload.

svn path=/trunk/gtk-sharp/; revision=44332
2005-05-10 16:11:18 +00:00
Mike Kestner
3a004064f7 2005-05-09 Mike Kestner <mkestner@novell.com>
* glib/Object.cs : add a try/catch block to g_object_unref calls to
	help identify "extra unref" bugs when exceptions occur.

svn path=/trunk/gtk-sharp/; revision=44325
2005-05-10 11:30:12 +00:00
John Luke
df953a08f7 doc some of the new pango bits
svn path=/trunk/gtk-sharp/; revision=44209
2005-05-07 21:38:08 +00:00
John Luke
6a62db1f0d use 48 for the icon size like gtk-demo
svn path=/trunk/gtk-sharp/; revision=44202
2005-05-07 17:49:05 +00:00
John Luke
ab20101e76 2005-05-06 John Luke <john.luke@gmail.com>
* pango/Makefile.am: add Matrix.custom
        * pango/Matrix.custom: add Pango.Matrix.Identity field
        which is the equivalent of PANGO_MATRIX_INIT
        * sample/GtkDemo/DemoRotatedText.cs: use Pango.Matrix.Identity
        * doc/en/Pango/Matrix.xml: add docs for Pango.Matrix.Identity


svn path=/trunk/gtk-sharp/; revision=44181
2005-05-07 00:16:47 +00:00
Mike Kestner
dcae7c2869 2005-05-06 Mike Kestner <mkestner@novell.com>
* configure.in.in : always enable debug build in maintainer_mode.

svn path=/trunk/gtk-sharp/; revision=44170
2005-05-06 20:36:21 +00:00
Mike Kestner
0a695bb305 2005-05-06 Mike Kestner <mkestner@novell.com>
* gdk/Pixbuf.custom : move the GetCallingAssembly invocations back out
	the the public methods.
	* gdk/PixbufLoader.custom : ditto.

svn path=/trunk/gtk-sharp/; revision=44165
2005-05-06 20:14:56 +00:00
Mike Kestner
217d0a5d55 forgot a dist change
svn path=/trunk/gtk-sharp/; revision=44151
2005-05-06 17:15:37 +00:00
Mike Kestner
9e8e450e35 2005-05-06 Mike Kestner <mkestner@novell.com>
* bootstrap :
	* bootstrap-2.4 : use ln instead of cp for api files so reparsing
	causes rebuilds.
	* sources/gtk-sharp-2.6-sources.xml : moved from gtk-sharp-sources.xml
	plus fixed the pango, atk, and gdk raw filenames.
	* sources/gtk-sharp-2.4-sources.xml : sources file for 2.4 api.
	* sources/Makefile.am : added 2.4/2.6 targets for api and get-source
	with make api/get-source-code getting/parsing both versions.
	* */*.raw : regenerate

svn path=/trunk/gtk-sharp/; revision=44150
2005-05-06 17:10:48 +00:00
Mike Kestner
080c68ac6a 2005-05-04 Jose Faria <spigaz@gmail.com>
* gdk/Pixbuf.custom : new width/height ctor overloads.
	* gdk/PixbufLoader.custom : new width/height ctor overloads.

svn path=/trunk/gtk-sharp/; revision=44131
2005-05-06 14:24:44 +00:00
John Luke
642980e0bb manually set it to the PANGO_MATRIX_INIT values
svn path=/trunk/gtk-sharp/; revision=44102
2005-05-06 03:05:50 +00:00
John Luke
91f00222df doc IconView, CellRendererCombo, CellRendererProgress
svn path=/trunk/gtk-sharp/; revision=44057
2005-05-05 00:34:29 +00:00
John Luke
60f6c0d3e5 doc AboutDialog
svn path=/trunk/gtk-sharp/; revision=44056
2005-05-04 23:46:32 +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
b957224b9f 2005-05-04 Mike Kestner <mkestner@novell.com>
* glib/Signal.cs : s/DestroyNotify/SignalDestroyNotify to fix mcs 1.0
	compilation.
	* gdk/Input.custom : ditto.

svn path=/trunk/gtk-sharp/; revision=44046
2005-05-04 20:36:55 +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
900b14290c * parser/gapi2xml.pl: make note of _get_type methods for enums
* */*-api.xml: Regen, adding gtype="..." to many enum types

	* generator/EnumGen.cs (Generate): if the enum has the
	"gtype" property, add a GTypeAttribute pointing to an internal
	FooGType class whose GType property can be used to get the enum's
	GType.

	* generator/ObjectGen.cs:
	s/ObjectManager.RegisterType/GType.Register/

	* glib/GTypeAttribute.cs: attribute for indicating a property that
	will return the GType of a type (particularly for enums, which
	can't have GType properties added to them).

	* glib/GType.cs: renamed from Type.cs to match the type name
	(public static readonly GType ...): add a few missing types.
	(Register): moved from ObjectManager.RegisterType
	(LookupGType): moved from TypeConverter.LookupType and extended to
	handle GTypeAttribute. Also, fix mappings for sbyte/byte/char, and
	return specific GTypes for Object subclasses rather than always
	returning GType.Object.	[Fixes #74699]
	(LookupType): moved from ObjectWrapper.LookupType
	(ToString): return the type name
	
	* glib/Object.cs (RegisterGType):
	s/ObjectManager.Register/GType.Register/
	(LookupGType): Make this protected internal so GType can access
	it.

	* glib/ObjectManager.cs (RegisterType): deprecate in favor of
	GType.Register.
	(LookupType): moved to GType
	
	* glib/TypeConverter.cs (LookupType): now a deprecated wrapper
	around GType.LookupGType.

	* glib/Value.cs: Use GType casts rather than TypeConverter

	* gtk/NodeStore.cs (ScanType):
	* gtk/ListStore.custom (ListStore): 
	* gtk/TreeStore.custom (TreeStore): Use (GType) cast rather than
	TypeConverter. Remove the error check and exception, since the
	cast never returns GType.Invalid. (The check probably predates
	GLib.ManagedValue.)

	* gnome/PanelAppletFactory.cs (Register): Use a GType cast rather
	than GLib.Object.LookupGType (which is no longer accessible after
	an mcs bugfix)

	* sample/GtkDemo/DemoIconView.cs (CreateStore): use the Type[]
	constructor rather than the GType[] constructor, since it
	translates typeof(Gdk.Pixbuf) correctly now.

svn path=/trunk/gtk-sharp/; revision=44038
2005-05-04 16:54:24 +00:00
Dan Winship
4562b31c41 * updater/updater.cs (GetFieldVisibility, GetMethodVisibility):
return "protected" for "protected internal" members (rather than
	returning null and causing them to be ignored).

	* en/Gtk/BoxChild.xml:
	* en/Gtk/ButtonBoxChild.xml:
	* en/Gtk/FixedChild.xml:
	* en/Gtk/LayoutChild.xml:
	* en/Gtk/MenuChild.xml:
	* en/Gtk/NotebookChild.xml:
	* en/Gtk/PanedChild.xml:
	* en/Gtk/TableChild.xml:
	* en/Gtk/ToolbarChild.xml: document constructors

svn path=/trunk/gtk-sharp/; revision=44037
2005-05-04 16:28:23 +00:00
Dan Winship
9367bf618d remove one more method that should have gone away with yesterday's commit
svn path=/trunk/gtk-sharp/; revision=44033
2005-05-04 15:51:23 +00:00
Dan Winship
a7d8b64f7a * generator/Parameters.cs (Parameters.Validate): If the parameters
end with "callback, gpointer, GDestroyNotify", then mark the
	callback as having "notified" Scope.
	(Parameters.IsHidden): Hide user_data and GDestroyNotify after a
	callback.
	(Parameter.Scope): make this settable
	(Parameter.IsDestroyNotify): new test

	* generator/MethodBody.cs (Initialize): Handle "notified" callback
	scope (using a GCHandle and GLib.DestroyHelper.NotifyHandler)

	* generator/CallbackGen.cs (GenWrapper): Add a static
	"GetManagedDelegate" method to the wrapper type, to translate a
	native delegate back to its corresponding managed delegate.
	(FromNative): use GetManagedDelegate.

	* generator/ReturnValue.cs (Validate): We handle callback return
	values now

	* generator/SymbolTable.cs: marshal GDestroyNotify as
	GLib.DestroyNotify

	* glib/DestroyNotify.cs: Moved from gtk

	* gtk/Gtk.metadata: globally change GtkDestroyNotify to
	GDestroyNotify, but then change back the ones that are exposed in
	the API. Un-hide lots of methods we can correctly autogenerate
	now.

	* gtk/DestroyHelper.cs: moved to glib

	* gtk/*.custom: remove methods that are autogenerated now, add
	Obsolete wrappers where needed, replace Gtk.DestroyHelper usage
	with GLib.DestroyHelper.

	* gdk/Gdk.metadata: 
	* gnome/Gnome.metadata: Turn Gdk.Drawable.SetData and
	Gnome.IconList.SetIconDataFull's GDestroyNotify args into
	gpointers so the generated API stays the same as it used to be.

	* rsvg/Handle.custom: implement deprecated SetSizeCallback

	* sample/GtkDemo/DemoIconView.cs (CreateSort): update for API
	changes

svn path=/trunk/gtk-sharp/; revision=44020
2005-05-04 11:47:25 +00:00
Dan Winship
d06abde608 document GetColumnType, which inexplicably has just appeared in the docs
svn path=/trunk/gtk-sharp/; revision=43926
2005-05-03 14:01:12 +00:00
Mike Kestner
f0f47bf078 2005-05-03 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : parse const * const * Foo () properly.
	[Fixes #74710]

svn path=/trunk/gtk-sharp/; revision=43925
2005-05-03 13:59:25 +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
Dan Winship
5825f7f4fe Apply the parts of the generator reorganization from #69514 that
don't actually affect the generated output
	
	* generator/PropertyBase.cs: new base class for fields and
	properties (mostly containing code formerly in Property.cs).

	* generator/Property.cs: derive from PropertyBase

	* generator/FieldBase.cs: base class for fields (containing some
	code formerly in Field.cs)

	* generator/StructField.cs: class for struct fields (the rest of
	what used to be Field.cs)

	* generator/StructBase.cs: s/Field/StructField/

	* gnome/Gnome.metadata: hide a few funky _get_ methods that the
	generator is just now noticing, to preserve the old output.

svn path=/trunk/gtk-sharp/; revision=43896
2005-05-02 18:40:30 +00:00
Mike Kestner
6da18b5d4a 2005-05-02 Mike Kestner <mkestner@novell.com>
* generator/Property.cs : fix interface setter generation.
	[Fixes #74766]

svn path=/trunk/gtk-sharp/; revision=43893
2005-05-02 17:23:05 +00:00
Miguel de Icaza
cc54bbe5ed My sunday morning documentation contribution
svn path=/trunk/gtk-sharp/; revision=43854
2005-05-01 17:32:57 +00:00
Ben Maurer
9f5eb0a70d * */Makefile.am: more build fixes
svn path=/trunk/gtk-sharp/; revision=43697
2005-04-27 23:21:55 +00:00
Ben Maurer
541d6f37a7 2005-04-27 Ben Maurer <bmaurer@ximian.com>
* configure.in: amd64 build fix


svn path=/trunk/gtk-sharp/; revision=43690
2005-04-27 22:05:12 +00:00
Miguel de Icaza
c9e9fd56d8 Contributions from odrigo.benenson@gmail.com
svn path=/trunk/gtk-sharp/; revision=43628
2005-04-26 21:46:01 +00:00
Miguel de Icaza
a49ba2d3a1 Update
svn path=/trunk/gtk-sharp/; revision=43627
2005-04-26 21:45:19 +00:00
Miguel de Icaza
01b62e8572 2005-04-26 Miguel de Icaza <miguel@novell.com>
* gtkdotnet/Graphics.cs: Contribution from Sebastian Faltoni
	<sebastian.faltoni@gmail.com> that implements support for using
	System.Drawing on Windows.


svn path=/trunk/gtk-sharp/; revision=43619
2005-04-26 19:54:31 +00:00
Miguel de Icaza
f88799c77e Remove unnecessary config file
svn path=/trunk/gtk-sharp/; revision=43602
2005-04-26 17:10:10 +00:00
Mike Kestner
bb023fe221 2005-04-26 Mike Kestner <mkestner@novell.com>
* gtk/NodeStore.cs : implement IEnumerable.

svn path=/trunk/gtk-sharp/; revision=43594
2005-04-26 13:45:27 +00:00