Commit graph

240 commits

Author SHA1 Message Date
Mike Kestner
78d0ebd07b 2008-02-29 Mike Kestner <mkestner@novell.com>
* gdk/Event.cs: add New method for consistency with generated
	boxed types.  Will be used by GLib.Value in the future.

svn path=/trunk/gtk-sharp/; revision=97052
2008-03-01 02:50:08 +00:00
Mike Kestner
00e8af10cc 2008-02-22 Mike Kestner <mkestner@novell.com>
* gdk/Pixbuf.custom: add destroy notification and pin byte[] to
	avoid GC complications.  Add a couple new convenience ctors as
	well.

svn path=/trunk/gtk-sharp/; revision=96460
2008-02-23 04:20:02 +00:00
Mike Kestner
eff44f31b1 2008-02-06 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata: mark ApplyEmbeddedOrientation return as owned.

svn path=/trunk/gtk-sharp/; revision=95089
2008-02-06 22:44:38 +00:00
Mike Kestner
209f353fc8 2007-12-06 Mike Kestner <mkestner@novell.com>
* * : update to 2.12 API.

svn path=/trunk/gtk-sharp/; revision=90823
2007-12-06 17:23:28 +00:00
Mike Kestner
ff2836315e kill unused api versions
svn path=/trunk/gtk-sharp/; revision=90552
2007-12-03 16:15:13 +00:00
Mike Kestner
925a2b63c3 2007-10-04 Mike Kestner <mkestner@novell.com>
* glib/DestroyNotify.cs: add CDeclCallback to the delegate.
	* glib/Signal.cs: use DestroyHelper.
	* gdk/Input.custom: use DestroyHelper.
	* gtk/Quit.custom: remove new on DestroyHelper handler.
	* gtk/TreeModelFilter.custom: remove new on DestroyHelper handler.
	* gtk/TreeViewColumn.custom: remove new on DestroyHelper handler.

svn path=/trunk/gtk-sharp/; revision=86897
2007-10-04 17:52:35 +00:00
Mike Kestner
9f780a56b2 2007-09-21 Mike Kestner <mkestner@novell.com>
* generator/*.cs: add DefaultValue prop for obtaining a
	sane value when we need to return a value but something bad has 
	happened such that we can't get a real value.  Needed for iface
	signal marshaling, among other places we're partially working 
	around it now.

svn path=/trunk/gtk-sharp/; revision=86157
2007-09-21 16:37:04 +00:00
Mike Kestner
0951a97f5a 2007-07-18 Mike Kestner <mkestner@novell.com>
* gdk/EventExpose.cs : return a pointer from the get_area glue
	pinvoke to avoid VS crashes on win32.
	* gdk/glue/event.c : return a GdkRectangle* to avoid stack imbalance
	on VS debugger.  [Fixes #82098]

svn path=/trunk/gtk-sharp/; revision=82208
2007-07-18 14:41:32 +00:00
Mike Kestner
0c857a906c 2007-06-25 Ankit Jain <jankit@novell.com>
* gdk/Gdk.metadata : hide Property.Get for manual impl.
	* gdk/Property.custom : manually marshal the data param in Get.

svn path=/trunk/gtk-sharp/; revision=80684
2007-06-25 14:34:35 +00:00
Mike Kestner
9dc9b1d79e 2007-06-19 Mike Kestner <mkestner@novell.com>
* gdk/Property.custom : obsolete compat overload for Change().
	* gdk/Gdk.metadata : array attr for Property.Change ().
	* gdk/Makefile.am : add custom file.

svn path=/trunk/gtk-sharp/; revision=80245
2007-06-19 19:27:31 +00:00
Mike Kestner
fd01afc12b 2007-03-08 Mike Kestner <mkestner@novell.com>
* glib/Signal.cs : guard against NULL gchandles.
	* gdk/Input.custom : add try/catch blocks to native callbacks.
	* gtk/*.custom : ditto
	* gtk/NodeStore.cs : ditto

svn path=/trunk/gtk-sharp/; revision=74004
2007-03-09 14:22:43 +00:00
Brad Taylor
6cfb64e1ca 2007-02-02 Brad Taylor <brad@getcoded.net>
* gdk/Gdk.metadata: fix incorrect ref_count with Pixbuf's
	  RotateSimple method.


svn path=/trunk/gtk-sharp/; revision=72185
2007-02-02 17:52:43 +00:00
Brad Taylor
8ac2a30048 2006-01-09 Brad Taylor <brad@getcoded.net>
* gdk/Pixbuf.custom: Properly dispose of PixbufLoaders when we're done
	  with them.


svn path=/trunk/gtk-sharp/; revision=70728
2007-01-09 17:00:52 +00:00
Mike Kestner
1fbcce1452 2006-08-04 Mike Kestner <mkestner@novell.com>
* gdk/Screen.custom : manually implement FontOptions property so
	we can use reflection to access the internal Mono.Cairo ctor.
	* gdk/Gdk.metadata : list marshaling, method-to-property renames,
	and some hides form manual implementation.  Hide 
	gdk_atom_intern_static_string wrapper since it is pointless outside
	the context of C code.

svn path=/trunk/gtk-sharp/; revision=63366
2006-08-04 17:55:35 +00:00
Mike Kestner
d09ebd1d3b indentation whitespace changes from eno's nice XmlWriter patch
svn path=/trunk/gtk-sharp/; revision=63080
2006-07-28 15:58:03 +00:00
Mike Kestner
b912bb6afb 2006-07-14 Mike Kestner <mkestner@novell.com>
* sources/gtk-sharp-2.10-sources.xml : update to gtk+-2.10.0 
	and pango-1.13.3
	* sources/Makefile.am : ditto.
	* gtk/Gtk.metadata : some hides and renames to fix build.
	* gdk/gdk-api-2.10.raw : refresh.
	* gtk/gtk-api-2.10.raw : refresh.
	* pango/pango-api-2.10.raw : refresh.

svn path=/trunk/gtk-sharp/; revision=62598
2006-07-14 13:45:17 +00:00
Mike Kestner
2ac6bb5457 2006-05-10 Mike Kestner <mkestner@novell.com>
* bootstrap-2.10 : strap for the new 2.9.0 API.
	* generator/SymbolTable.cs : add GLib.InitiallyUnowned mapping.
	* glib/InitiallyUnowned.cs : new floating class "stub".
	* glib/Makefile.am : build new class.
	* gdk/gdk-api-2.10.raw: parse from 2.9.0
	* gtk/Gtk.metadata: cleanup conflicts in 2.10 API.
	* gtk/gtk-api-2.10.raw: parse from 2.9.0
	* pango/pango-api-2.10.raw: parse from 1.11.99
	* sources/Makefile.am : 2.10 parse setup and api-2.10 
	* sources/gtk_tree_model_signal_fix-2.10.patch : 2.10 patch.
	* sources/gtk-sharp-2.10-sources.xml : parse rules for 2.10

svn path=/trunk/gtk-sharp/; revision=60521
2006-05-10 17:13:30 +00:00
Mike Kestner
1db4b20549 copy 2.8 file to 2.10
svn path=/trunk/gtk-sharp/; revision=60511
2006-05-10 14:21:46 +00:00
Mike Kestner
091b836e70 2006-05-03 Mike Kestner <mkestner@novell.com>
* gdk/Drawable.custom : remove manual DrawPoints impl.
	* gdk/Gdk.metadata : properly mark array and count params for
	Drawable.DrawPoints.

svn path=/trunk/gtk-sharp/; revision=60222
2006-05-03 15:00:25 +00:00
Zac Bowling
7b4b41c596 2006-05-02 Zac Bowling <zac@zacbowling.com>
* docs/en/Gdk/Drawable.xml
        * gdk/Drawable.custom
        * gdk/Gdk.metadata : Fix Drawable.DrawPoints's points param 
signature by making points an array type. 


svn path=/trunk/gtk-sharp/; revision=60196
2006-05-02 22:36:43 +00:00
Mike Kestner
b2e4fc3fa8 2005-02-28 Mike Kestner <mkestner@novell.com>
* gdk/Region.custom : 64 bit fix for ptr arithmetic. [Fixes #77658]

svn path=/trunk/gtk-sharp/; revision=57397
2006-02-28 16:09:36 +00:00
Paolo Molaro
3e6a941186 Tue Feb 28 09:44:23 CET 2006 Paolo Molaro <lupus@ximian.com>
* gdk/Pixbuf.custom: use correct type for buffer_size in
	gdk_pixbuf_save_to_bufferv() (fixes bug# 77662).


svn path=/trunk/gtk-sharp/; revision=57385
2006-02-28 08:45:31 +00:00
Mike Kestner
11fed02148 2005-12-16 Mike Kestner <mkestner@novell.com>
* gdk/PixbufLoader.custom (InitFromAssemblyResource): move stream
	access code outside the try block so only the Load is cleaned up with 
	the finally block. Add some other arg checking. [Fixes #76997]

svn path=/trunk/gtk-sharp/; revision=54532
2005-12-16 16:04:31 +00:00
Mike Kestner
6f612e3fff 2005-12-13 Mike Kestner <mkestner@novell.com>
* sources/Makefile.am : move to stable gtk 2.8 versions.
	* sources/gtk-sharp-2.8-sources.xml : move to stable gtk 2.8 versions.
	* */*.raw : regenerate.
	* gdk/Gdk.metadata : hide a few gtk+ internal methods.
	* gtk/Gtk.metadata : hide a win32 internal enum.

svn path=/trunk/gtk-sharp/; revision=54308
2005-12-13 17:11:31 +00:00
Mike Kestner
08c2de8041 2005-12-13 Mike Kestner <mkestner@novell.com>
* configure.in.in : check for mono-cairo.pc.
	* Makefile.include : use AC_SUBST for cairo ref.
	* gdk/Gdk.metadata : s/Cairo.Graphics/Cairo.Context.

svn path=/trunk/gtk-sharp/; revision=54298
2005-12-13 15:33:28 +00:00
Mike Kestner
9dfa8627c9 oops, byte offset
svn path=/trunk/gtk-sharp/; revision=54246
2005-12-12 16:18:27 +00:00
Mike Kestner
38f2b2a114 2005-12-12 Mike Kestner <mkestner@novell.com>
* gdk/EventClient.cs : fix native long marshaling issue. Thanks to 
	 ed@catmur.co.uk for the bug report and investigation.
	[Fixes #76740]

svn path=/trunk/gtk-sharp/; revision=54244
2005-12-12 16:08:26 +00:00
Mike Kestner
9c82ac0620 2005-12-10 Mike Kestner <mkestner@novell.com>
* gdk/gdk-symbols.xml : add GrabBroken mapping.
	* gdk/Event.cs : add GrabBroken to GetEvent.
	* gdk/EventGrabBroken.cs : manual Event subclass.
	* gdk/Gdk.metadata : hide new GrabBroken event.
	* gdk/Makefile.am : add new source file.

svn path=/trunk/gtk-sharp/; revision=54186
2005-12-10 06:00:03 +00:00
Mike Kestner
6dc561853a 2005-12-09 Mike Kestner <mkestner@novell.com>
* pango/Pango.metadata : 2.8 API tweaks
	* gdk/Gdk.metadata : 2.8 API tweaks
	* gtk/Gtk.metadata : 2.8 API tweaks
	* gtk/IconView.custom : overloads for the weird ScrollToPath.
	* gtk/Makefile.am : add custom

svn path=/trunk/gtk-sharp/; revision=54176
2005-12-09 23:16:42 +00:00
Ben Maurer
75af9256fb 2005-11-15 Ben Maurer <bmaurer@ximian.com>
* gdk/Rectangle.custom: Fix up Intersect using p/invoke, per
	miguel's request.


svn path=/trunk/gtk-sharp/; revision=53095
2005-11-15 23:42:05 +00:00
Mike Kestner
e1d05acf79 2005-10-09 Mike Kestner <mkestner@novell.com>
* Makefile.include : reference Mono.Cairo.dll.
	* gdk/Gdk.metadata : add cairo_t symbol element.

svn path=/trunk/gtk-sharp/; revision=51499
2005-10-10 01:53:10 +00:00
Mike Kestner
06c4a3811f 2005-08-30 Mike Kestner <mkestner@novell.com>
* gdk/Event.cs : add some null guarding to GetEvent.
	[Fixes #75642]

svn path=/trunk/gtk-sharp/; revision=49152
2005-08-30 20:51:48 +00:00
Mike Kestner
349de99a82 2005-08-22 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : handle "type const *" parameters.
	* gdk/gdk-api-2.8.raw : regened probably from one of danw's parser
	fixes.  [Fixes #75844]

svn path=/trunk/gtk-sharp/; revision=48681
2005-08-22 16:59:04 +00:00
Dan Winship
622c360576 * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has
a constructor or a ref, unref, or destroy method, then it must be
	a reference type, so mark it "opaque" but then also mark all of
	its fields public and writable.

	* */*-api*.raw: Regen

	* generator/Parser.cs (ParseNamespace): make the opaque attribute
	check actually look at the value of the attribute rather than just
	checking if it's there, so that you can change a struct's opaque
	attribute from "true" to "false" via metadata and have that work.

	* generator/BoxedGen.cs (Generate): do not generate the boxed's
	"Free" method (since it's guaranteed to crash when we pass it a
	stack pointer). If "Copy" is marked deprecated, create a
	deprecated no-op for it, otherwise just skip it (since otherwise
	it will just leak memory when we copy its result onto the stack).

	* pango/Pango.metadata: deprecate Pango.Color.Copy and
	Pango.Matrix.Copy. Hide some array fields in Pango.GlyphString
	that we've never generated correctly. Tweak Pango.LayoutLine
	fields to be the same as they used to be.

	* pango/GlyphItem.custom (glyphs, item):
	* pango/GlyphString.custom (Zero, New):
	* pango/Item.custom (Zero, New):
	* pango/LayoutRun.custom (glyphs, item): add deprecated API compat

	* gdk/Gdk.metadata: undo the parser's new opaquification of
	Gdk.Font; it's been deprecated since pre-gtk# times, and no one
	should be using it, so there's no point in fixing it now. Fix up a
	few other things to match how they used to be. Fix RgbCmap's
	constructor args.

	* gdk/RgbCmap.custom (Zero, New): deprecated API compat

	* gdk/PangoAttrEmbossed.custom:
	* gdk/PangoAttrStipple.custom (Zero, New, Attr): deprecated API
	compat
	(explicit operator ...): allow casting back and forth between
	Pango.Attribute. (We can't usefully make them real subclasses of
	Pango.Attribute, because there's no way for
	Pango.Attribute.GetAttribute() to be able to dtrt with them.)

	* gtk/Gtk.metadata: deprecate Gtk.Requisition.Copy,
	Gtk.TextIter.Copy, and Gtk.TreeIter.Copy. Mark the return value of
	TextView.DefaultAttributes as "owned". Mark TargetList's fields
	private so it stays how it used to be.

	* gtk/TextAttributes.custom (Zero, New): deprecated API compat

	* gnomevfs/Gnomevfs.metadata: remove a bunch of opaque
	declarations that the parser figures out on its own now.

	* art/Art.metadata:
	* glade/Glade.metadata:
	* rsvg/Rsvg.metadata: un-mark everything the parser marked opaque
	in these libraries, because all of the structs in question would
	still be unusably broken, so the API churn would be pointless.

svn path=/trunk/gtk-sharp/; revision=48387
2005-08-15 15:15:57 +00:00
Dan Winship
155f8352a0 oops, regenerate these after the parser changes to marked the return-type
of "Copy" methods as "owned"

svn path=/trunk/gtk-sharp/; revision=47930
2005-08-02 19:22:23 +00:00
Dan Winship
eb4fdee774 Automatic memory management for opaque types [#49565]
* glib/Opaque.cs (Owned): new property saying whether or not gtk#
	owns the memory.
	(Opaque): Set Owned to true in the void ctor and false in the
	IntPtr one.
	(GetOpaque): add a new overload that can also create opaques, a la
	GLib.Object.GetObject.
	(Ref, Unref, Free): empty virtual methods to be overridden by
	subclasses.
	(set_Raw): Unref() and possibly Free() the old value, Ref() the
	new one.
	(~Opaque, Dispose): set Raw to IntPtr.Zero (triggering Free/Unref
	if needed)

	* parser/gapi2xml.pl (addReturnElem): if the method is named Copy
	and returns a pointer, set the "owned" attribute on the
	return-type.

	* */*-api.raw: Regen
	
	* generator/HandleBase.cs (FromNative): Add new
	FromNative/FromNativeReturn overloads that takes a "bool owned"
	param. Implement the 1-arg FromNative and FromNativeReturn in
	terms of that.

	* generator/ObjectBase.cs (FromNative): Implement HandleBase's new
	overload. Use the two-arg version of GLib.Object.GetObject when
	"owned" is true.

	* generator/OpaqueGen.cs (Generate): Pull out Ref, Unref, and
	Free/Destroy/Dispose methods and handle them specially by
	overriding Opaque.Ref, .Unref, and .Free appropriately. (If any
	of the methods are marked deprecated, output a deprecated
	do-nothing method as well, to save us from having to write all
	those deprecated methods by hand.)
	(FromNative): use GetOpaque, passing "owned".

	* generator/ReturnValue.cs (FromNative): if the value is a
	HandleBase, pass Owned to its FromNative().

	* generator/Parameters.cs (Owned): new property (for use on out
	params)
	(FromNative): Call FromNative() on the generatable, handling Owned
	in the case of HandleBase.

	* generator/ManagedCallString.cs:
	* generator/MethodBody.cs:
	* generator/Signal.cs: use param.FromNative() rather than
	param.Generatable.FromNative(), to get ownership right.

	* */*.metadata: Mark opaque ref/unref/free methods deprecated
	(except where we were hiding them before). Add "owned" attributes
	to return values and out params as needed.

	* pango/AttrIterator.custom (GetFont): work around a
	memory-management oddity of the underlying method.

	* pango/AttrFontDesc.cs (AttrFontDesc): copy the passed-in
	FontDescriptor, since the attribute will assume ownership of it.

	* gtk/TreeView.custom (GetPathAtPos): set the "owned" flag on the
	returned TreePaths.

	* gtk/TargetList.custom: Remove refcounting stuff, which is
	now handled automatically

	* gtk/NodeStore.cs (GetPath): clear the Owned flag on the created
	TreePath so that the underlying structure doesn't get freed when
	the function returns

	* gtkhtml/HTMLStream.custom (Destroy): hide this and then
	reimplement it by hand to keep OpaqueGen from using it in
	Dispose(), since calling it after an HTMLStream.Close() will
	result in a crash.

svn path=/trunk/gtk-sharp/; revision=47928
2005-08-02 18:45:21 +00:00
Mike Kestner
6c67e4ffb6 2005-07-28 Mike Kestner <mkestner@novell.com>
* bootstrap-for-the-insane : beginnings of 2.8 binding.
	* */*-api-2.8.raw : 2.8 api files.
	* gdk/Gdk.metadata : work around #define used in Pixbuf props in 2.7.
	* parser/gapi2xml.pl : collision guarding for privatestruct defs.
	* sources/gtk-sharp-2.8-sources.xml : parse for 2.8.
	* sources/Makefile.am : api-2.8, get-2.8-sources, etc...

svn path=/trunk/gtk-sharp/; revision=47820
2005-07-28 21:24:55 +00:00
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
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
Dan Winship
25e70f2a38 * sample/GtkDemo/DemoRotatedText.cs (RotatedTextExposeEvent): Use
Gdk.PangoRenderer.GetDefault() like the C gtk-demo rather than
	creating a new Gdk.PangoRenderer. [Fixes #74865]

	* gdk/Gdk.metadata: fix return type of Gdk.PangoRenderer.GetDefault

svn path=/trunk/gtk-sharp/; revision=45494
2005-06-06 14:40:46 +00:00
Dan Winship
40c4db88a4 * parser/gapi2xml.pl: Make the enum value parser do the right
thing with parenthesized values ("FOO = (1 << 2)") and within-type
	aliases ("GTK_ANCHOR_N = GTK_ANCHOR_NORTH"). Make it intentionally
	do the wrong thing with unparsable values (outputting them as-is
	into the api file) so that we are forced to fix them with metadata
	rather than silently getting incorrect values.

	* gdk/gdk-api-2.4.raw: 
	* gdk/gdk-api-2.6.raw (PixdataType): Now recognized as flags,
	not enum

	* gtk/Gtk.metadata: hide the enums ArgFlags and RcTokenType (which
	are not used by any wrapped API, and which formerly contained
	entirely wrong values).

	* gtk/gtk-api-2.4.raw: 
	* gtk/gtk-api-2.6.raw (AnchorType, SelectionMode): update with
	values for aliases

	* gnome/Gnome.metadata: fix value of Gnome.PrintButtons.Cancel

	* gnome/gnome-api.raw (PrintUnitBase, PaperSelectorFlags,
	PrintDialogFlags, PrintDialogRangeFlags): Now recognized as flags,
	with values.

svn path=/trunk/gtk-sharp/; revision=44937
2005-05-24 18:11:33 +00:00
Mike Kestner
bd5af2ca78 2005-05-16 Mike Kestner <mkestner@novell.com>
* makefile.win32 : remove 1.0 csc, default to 1.1.
	* gtk/TreeEnumerator.cs : remove C# 2.0 usage.
	* gtk/glue/makefile.win32 : remove duplicated cellrenderer.o.
	* vte/glue/Makefile.am : use VTE_DEPENDENCIES_CFLAGS.
	* */makefile.win32 : add glue args to generation target.

svn path=/trunk/gtk-sharp/; revision=44580
2005-05-16 19:07:27 +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
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
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
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
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
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