Commit graph

773 commits

Author SHA1 Message Date
Mike Kestner e50ee63f0d 2009-09-16 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: hide StatusIcon.GetGeometry for custom impl.
	* gtk/StatusIcon.custom: custom GetGeometry implementation to avoid
	marshaling exceptions on win32.  [Fixes #518169]

svn path=/trunk/gtk-sharp/; revision=142087
2009-09-17 00:54:38 +00:00
Christian Hoff 5f51d09626 2009-09-11 Christian Hoff <christian_hoff@gmx.net>
* gtk/Application.cs: Port the theming-relevant part of the
	SWF.Application.DoEvents code to avoid loading the assembly 
	at runtime on the Windows platform.

svn path=/trunk/gtk-sharp/; revision=141783
2009-09-11 17:19:46 +00:00
Christian Hoff 7b752d233c 2009-09-03 Christian Hoff <christian_hoff@gmx.net>
* glib/Global.cs: Kill the calling convention field again.
	It breaks GLib 2.x compatibility in the generator and there is
	probably no need to make the calling convention configurable.
	* .cs, *.custom: Hardcode Cdecl calling convention instead of
	using GLib's field.

svn path=/trunk/gtk-sharp/; revision=141283
2009-09-03 19:50:53 +00:00
Christian Hoff 58e97c087a 2009-09-02 Christian Hoff <christian_hoff@gmx.net>
* glib/Global.cs: Add a public constant field specifying the
	calling convention used by GLib and depending libraries.
	By now it's hardcoded to Cdecl as every non-Win32 runtime
	should ignore this attribute.
	* *.cs, *.custom: Use GLib.Global.CallingConvention for both
	pinvokes and callbacks. Plugs a stack leak on Win32. All
	pinvokes defaulted to StdCall and thus the stack was never
	cleaned up.

svn path=/trunk/gtk-sharp/; revision=141175
2009-09-02 20:17:37 +00:00
Christian Hoff 1e97a1046f 2009-08-30 Christian Hoff <christian_hoff@gmx.net>
Complete the major version jump. Gtk# 3 and 2 are now both
	installable within the same prefix.

	* */glue/Makefile.am: Produce *sharpglue-3 gluelibs.
	* *.custom, *.cs: pinvoke the new glue library.
	* *-2.0.pc.in: Rename to *-3.0.pc.in.

svn path=/trunk/gtk-sharp/; revision=140941
2009-08-30 20:06:33 +00:00
Christian Hoff 33fd1cbece 2009-08-30 Christian Hoff <christian_hoff@gmx.net>
* gtk/Object.custom: Deglue the floating reference API.
	We should consider moving all that stuff to GInitiallyUnowned
	as Gtk+ did several releases ago.

svn path=/trunk/gtk-sharp/; revision=140940
2009-08-30 19:22:43 +00:00
Christian Hoff 7552545b46 2009-08-30 Christian Hoff <christian_hoff@gmx.net>
* gtk/StatusIcon.custom: Use managed code to pass the address of
	gtk_status_icon_position_menu to gtk_menu_popup.

svn path=/trunk/gtk-sharp/; revision=140939
2009-08-30 19:14:00 +00:00
Christian Hoff 4aa3d2510a 2009-08-13 Christian Hoff <christian_hoff@gmx.net>
* gtk/Widget.custom: Set the activate/set_scroll_adjustments signal IDs
	from managed code. Use the gtk_widget_get_window accessor.
	* gtk/glue/widget.c: Remove the corresponding glue functions.

svn path=/trunk/gtk-sharp/; revision=139851
2009-08-13 14:56:18 +00:00
Christian Hoff b244c750d3 2009-08-12 Christian Hoff <christian_hoff@gmx.net>
* configure.in.in: Detect GDK backend.
	* */*.dll.config.in: Link against the libs of the correct GDK backend
	instead of using x11 on Linux/win32 on Windows.
	Patch by Christian Hergert.	[Fixes 527840]

svn path=/trunk/gtk-sharp/; revision=139750
2009-08-12 08:24:32 +00:00
Mike Kestner 7db633218f 2009-08-07 Mike Kestner <mkestner@novell.com>
* configure.in.in: add new dir and autofu for it.
	* Makefile.am: add new dir
	* gapi/*: a small extension method library to add generation-related
	api to GType in 2.0. Access it with -pkg:gapi-2.0-compat to pick up
	the needed refs.
	* generator/GObjectVM.cs: generate new GType getter methods.
	* generator/ObjectGen.cs: generate new GType getter methods.
	* glib/GType.cs: change a few props to methods to make them extension
	method friendly for 2.0 compat.
	* glib/Object.cs: use new GType getter methods.
	* glib/Value.cs: use new GType getter methods.
	* gtk/Widget.custom: use new GetClassPtr method.

svn path=/trunk/gtk-sharp/; revision=139609
2009-08-08 23:42:15 +00:00
Mike Kestner 10cae1b1cb 2009-08-07 Mike Kestner <mkestner@novell.com>
* generator/ObjectGen.cs: kill GType ctor generation.
	* glib/InitiallyUnowned.cs: kill obsolete GType ctor.
	* glib/Object.cs: kill obsolete GType ctor.
	* gtk/Gtk.metadata: kill disable_gtype_ctor rules.
	* gtk/Widget.cs: kill obsolete GType ctor.

svn path=/trunk/gtk-sharp/; revision=139600
2009-08-08 03:06:53 +00:00
Christian Hoff 55fca06701 2009-08-07 Christian Hoff <christian_hoff@gmx.net>
* gtk/glue/clipboard.c: Kill as it is not used any more.

svn path=/trunk/gtk-sharp/; revision=139572
2009-08-07 14:08:50 +00:00
Christian Hoff 05cb275ccf 2009-08-07 Christian Hoff <christian_hoff@gmx.net>
* gtk/SelectionData.custom: Use gtk_selection_data_get_data instead
	of glue.

svn path=/trunk/gtk-sharp/; revision=139571
2009-08-07 14:02:51 +00:00
Christian Hoff 940cf88750 2009-07-02 Christian Hoff <christian_hoff@gmx.net>
* configure.in.in: Target .net 2.0 profile
	* gapi-cdecl-insert: Kill. We are now using the UnmanagedFunctionPointerAttribute
	for callbacks.
	* glib/CdeclCallback: Mark obsolete.
	* generator/*.cs:
	* *.custom: Use [UnmanagedFunctionPointer (CallingConvention.Cdecl)] instead of
	[GLib.CDeclCallback].

svn path=/trunk/gtk-sharp/; revision=137323
2009-07-02 20:18:10 +00:00
Christian Hoff 3d6b4f7281 2009-06-15 Christian Hoff <christian_hoff@gmx.net>
* gtk/Widget.custom: Don't use [MarshalAs] for struct fields since
	that is not supported in the .net framework

svn path=/trunk/gtk-sharp/; revision=136157
2009-06-15 19:48:08 +00:00
Mike Kestner bf6b4299e5 2009-05-12 Mike Kestner <mkestner@novell.com>
* gtk/Application.cs: add the theme initialization workaround for 
	windows.  Hopefully we can find a better solution that doesn't
	involve loading SWF.  [Fixes #471682]

svn path=/trunk/gtk-sharp/; revision=134008
2009-05-12 23:05:37 +00:00
Mike Kestner 64d2064d48 2009-05-06 Mike Kestner <mkestner@novell.com>
* gtk/RadioMenuItem.custom: implement subclassing for group/label 
	ctor.  [Fixes #320971]

svn path=/trunk/gtk-sharp/; revision=133706
2009-05-07 03:43:45 +00:00
Mike Kestner 71656c5839 2009-05-06 Mike Kestner <mkestner@novell.com>
* gtk/PaperSize.custom: add static props for Letter and the other
	named papers.  [Fixes #324687]

svn path=/trunk/gtk-sharp/; revision=133704
2009-05-07 01:50:02 +00:00
Mike Kestner 26362ced64 2009-05-05 Mike Kestner <mkestner@novell.com>
* glib/GType.cs: ensure threading is initialized in cctor.
	* gtk/Application.cs: ditto.

svn path=/trunk/gtk-sharp/; revision=133585
2009-05-05 15:15:46 +00:00
Mike Kestner 2e86916282 2009-05-02 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: updates for new RecentItems prop.
	* gtk/Makefile.am: add new custom.
	* gtk/RecentManager.custom: obsolete Items prop impl.

svn path=/trunk/gtk-sharp/; revision=133393
2009-05-02 16:51:34 +00:00
Christian Hoff e886e07a1f 2009-04-27 Christian Hoff <christian_hoff@gmx.net>
* gtk/Widget.custom: Implement signal registration for the
	Activate, SettScrollAdjustments and key binding signals
 	in managed code.

svn path=/trunk/gtk-sharp/; revision=132771
2009-04-27 17:55:30 +00:00
Christian Hoff 37c1f46d17 2009-04-21 Christian Hoff <christian_hoff@gmx.net>
* gtk/Widget.custom: Deglued implementation of StyleGetProperty.

svn path=/trunk/gtk-sharp/; revision=132224
2009-04-21 08:11:35 +00:00
Christian Hoff da7be52173 2009-04-14 Christian Hoff <christian_hoff@gmx.net>
* gtk/Adjustment.custom: Deglued implementation of SetBounds.
	* gtk/glue/Adjustment.c: Kill.

svn path=/trunk/gtk-sharp/; revision=131691
2009-04-14 19:30:05 +00:00
Christian Hoff 291ee61b2d 2009-04-13 Christian Hoff <christian_hoff@gmx.net>
Add support for virtual methods(vm) to the generator.

	* parser/gapi2xml.pl: Generate a class_struct element with
	all members of the class structure. Dump the first (instance)
	parameter for signal and vm elements. Bump up parser version.
	* generator/GObjectVM.cs: Added. Support for GObject virtual methods.
	* generator/DefaultSignalHandler.cs: Signal specific part of vm
	generation.
	* generator/InterfaceVM.cs: New class for interface vms.
	* generator/ObjectBase.cs: Parse the class struct.

svn path=/trunk/gtk-sharp/; revision=131604
2009-04-13 17:44:48 +00:00
Christian Hoff 80632de9e5 2009-04-05 Christian Hoff <christian_hoff@gmx.net>
* gtk/Target.custom: custom implementation of TableNewFromList.
	* gtk/TargetList.custom: use Target.TableNewFromList method
	to convert the TargetList to a TargetEntry array.
	* gtk/glue/targetlist.c: deleted.

svn path=/trunk/gtk-sharp/; revision=131066
2009-04-05 08:36:46 +00:00
Christian Hoff 30b112fb2a 2009-03-28 Christian Hoff <christian_hoff@gmx.net>
* gtk/TextBuffer.custom: Use the right overload of Marshal.Copy
	[Fixes #480010]

svn path=/trunk/gtk-sharp/; revision=130461
2009-03-28 11:46:10 +00:00
Christian Hoff 01ed1a5e3e 2009-03-19 Christian Hoff <christian_hoff@gmx.net>
* parser/gapi2xml.pl: Introduce a "parser_version" attribute.
	* generator/GenBase.cs: Implement a property to access the
	attribute's value.

svn path=/trunk/gtk-sharp/; revision=129807
2009-03-19 18:13:01 +00:00
Mike Kestner 80d16bd3a2 2009-03-16 Mike Kestner <mkestner@novell.com>
* gtk/NodeSelection.cs: use new Adapter prop on NodeStore.
	* gtk/NodeStore.cs: some encapsulation rework.
	* gtk/NodeView.cs: use new Adapter prop on NodeStore. new methods
	to support manipulation of the view by TreeNode, like scrolling
	and cell bounds lookups.  
	* gtk/TreeView.cs: use new Adapter prop on NodeStore.
	* doc/en/Gtk/NodeView.xml: new doc updates. 
	Patch provided by Vladimir Giszpenc.  [Fixes #480067]

svn path=/trunk/gtk-sharp/; revision=129498
2009-03-16 21:05:08 +00:00
Christian Hoff 6cd676ed5b 2009-03-04 Christian Hoff <christian_hoff@gmx.net>
* gtk/NodeStore.cs: reimplement NodeStore as a managed TreeModel using GInterface implementation
	* gtk/glue/nodestore.c: kill

svn path=/trunk/gtk-sharp/; revision=128620
2009-03-04 20:33:12 +00:00
Christian Hoff e91ff2bdad 2009-02-17 Christian Hoff <christian_hoff@gmx.net>
* sample/gtk-gio/MountOperation.cs:
	* gtk/Builder.custom:
	* glib/Value.cs: Resurrect build for MS .NET Framework

svn path=/trunk/gtk-sharp/; revision=127183
2009-02-17 17:38:05 +00:00
Christian Hoff b456cc4f0b 2009-02-06 Christian Hoff <christian_hoff@gmx.net>
* gtk/Gtk.metadata: Fix TreeModel.EmitRowsReordered signature


svn path=/trunk/gtk-sharp/; revision=126098
2009-02-06 19:58:00 +00:00
Mike Kestner 1a16f66803 2009-01-08 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: map gfilename* list elements to type
	ListBase.FilenameString so they are marshaled correctly.
	* glib/Marshaller.cs: handle FilenameStrings in ListPtrToArray.
	* gtk/Gtk.metadata: FileChooser.GetFilenames and ListShortcutFolders
	return type mangling to avoid custom implementations.
	* gtk/FileChooser*.custom: kill manual Filenames and ShortcutFolders.

svn path=/trunk/gtk-sharp/; revision=122802
2009-01-08 18:43:00 +00:00
Stephane Delcroix 24512d951a 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: fix gtk_icon_theme_lookup_by_gicon return-type
	and name.

svn path=/trunk/gtk-sharp/; revision=122530
2009-01-06 09:40:54 +00:00
Stephane Delcroix c003c94a2a 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: fix gicon property name for CellRendererPixbuf

svn path=/trunk/gtk-sharp/; revision=122529
2009-01-06 09:40:23 +00:00
Stephane Delcroix 5658b0feb7 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: fix gicon property, getter and setter for StatusIcon

svn path=/trunk/gtk-sharp/; revision=122528
2009-01-06 09:40:00 +00:00
Stephane Delcroix af3707e207 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: rename SetFromGicon to SetFromIcon and GetGicon to
	GetIcon.

svn path=/trunk/gtk-sharp/; revision=122527
2009-01-06 09:39:21 +00:00
Stephane Delcroix 866ba3561a 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: fix the gtk_image_get_gicon signature (pass as out)

svn path=/trunk/gtk-sharp/; revision=122526
2009-01-06 09:39:08 +00:00
Stephane Delcroix 438788f2a9 2009-01-06 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata: rename the Gicon property of GtkImage to Icon.

svn path=/trunk/gtk-sharp/; revision=122525
2009-01-06 09:38:45 +00:00
Mike Kestner 146deaa38c 2009-01-04 Mike Kestner <mkestner@novell.com>
* *: update to 2.14.  parser support for GSEALed fields. svn build
	now uses bootstrap-2.14.  integrate gio-sharp module.  

svn path=/trunk/gtk-sharp/; revision=122402
2009-01-04 22:29:56 +00:00
Mike Kestner 89afb3f49f 2008-12-19 Mike Kestner <mkestner@novell.com>
* generator/BoxedGen.cs: don't generate glue dependencies.
	* glib/*.cs: remove glibsharpglue usage except thread.c.
	* glib/glue/*.c: kill all but thread.c. need glib 2.20 to kill
	it eventually.
	* pango/Attr*.cs: kill glue usage.
	* pango/glue/*.c: kill all but generated.c. it's next.
	* gtk/TreeIter.custom: kill a dumb glibsharpglue usage.

svn path=/trunk/gtk-sharp/; revision=121880
2008-12-19 18:57:42 +00:00
Mike Kestner b519876db7 2008-12-01 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: automarshal TreeSelection.GetSelectedRows.
	* gtk/TreeSelection.custom: kill GetSelectedRows customization.
	[Fixes #450689]

svn path=/trunk/gtk-sharp/; revision=120458
2008-12-02 04:26:50 +00:00
Mike Kestner d6b581ba94 2008-12-01 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: automarshal TreeView.Columns.
	* gtk/TreeView.custom: kill Columns customization.
	[Fixes #450685]

svn path=/trunk/gtk-sharp/; revision=120455
2008-12-02 03:59:48 +00:00
Stephane Delcroix 6a9baad400 2008-11-26 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Image.custom:
	* gtk/Gtk.metadata: obsolete Image.FromPixbuf, FromAnimation,
	FromFile setters in favor of already existing Pixbuf, Animation and
	File.

svn path=/trunk/gtk-sharp/; revision=120096
2008-11-26 20:34:27 +00:00
Mike Kestner 16a8111ff4 2008-11-15 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark the SpinButton::Output signal as manually
	marshaled to avoid a compat break.  The old manual marshaler expected
	and int RetVal and the new signal closure more accurately expects a
	bool.  Since returning 1 previously worked, we need to revert to the
	int expectation, even though bool is technically more correct.

svn path=/trunk/gtk-sharp/; revision=118944
2008-11-15 22:38:07 +00:00
Mike Kestner 74105a1c80 2008-11-05 Mike Kestner <mkestner@novell.com>
* atk/atk-api-2.12.raw: regen
	* gtk/gtk-api-2.12.raw: regen
	* generator/Signal.cs: reinstate old custom marshaler generation and
	generate custom marshaling when 'manual' attr is set.
	* parser/gapi2xml.pl: set manual attr on sigs that have G_TYPE_POINTER
	parameters since the generic closure can't cope with them.

svn path=/trunk/gtk-sharp/; revision=118068
2008-11-06 02:23:21 +00:00
Mike Kestner 6aac9f149f 2008-11-05 Mike Kestner <mkestner@novell.com>
* gtk/Builder.custom: #if the new API for 2.14 for now so it
	doesn't get confused as stable API yet.

svn path=/trunk/gtk-sharp/; revision=118066
2008-11-06 02:16:23 +00:00
Stephane Delcroix 8b431b91f3 2008-11-03 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.metadata:
	* gtk/StatusIcon.custom: Obsolete the duplicated properties.

svn path=/trunk/gtk-sharp/; revision=117797
2008-11-03 19:08:12 +00:00
Stephane Delcroix 3f81d52735 2008-10-28 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Gtk.Metadata: hide ConnectSignals.

	* gtk/Builder.Custom: connect the signals, and the objects.
	GetObjectRaw method: allows very neat object inheritance.

svn path=/trunk/gtk-sharp/; revision=117257
2008-10-28 11:16:32 +00:00
Pete Johanson 98b7f5f2e7 2008-10-22 Peter Johanson <peter@peterjohanson.com>
* gtk/TreeModelAdapter.custom:
        * gtk/TreeModelFilter.custom:
        * gtk/TreeModelSort.custom:
        * gtk/TreeStore.custom: Don't trigger any gtk+ critical
        warnings when the 'rows-reodered' signal is fired.

svn path=/trunk/gtk-sharp/; revision=116800
2008-10-22 20:43:12 +00:00
Mike Kestner 81e6815080 2008-10-09 Mike Kestner <mkestner@novell.com>
* configure.in.in: magic for local Mono.Cairo build.
	* cairo/*: a local build of Mono.Cairo for .Net-only builds on win32.
	* */Makefile.am: use local Mono.Cairo where necessary.

svn path=/trunk/gtk-sharp/; revision=115399
2008-10-09 22:35:02 +00:00
Mike Kestner 324929ee4b 2008-09-09 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: warning cleanup.
	* gtk/Gtk.metadata: warning cleanup.

svn path=/trunk/gtk-sharp/; revision=112616
2008-09-09 20:32:53 +00:00
Mike Kestner 2d0fc94e2f 2008-08-27 Mike Kestner <mkestner@novell.com>
* generator/ManagedCallString.cs: revert last change.  There are a
	lot of "broken" callback sigs out there which expose user data because
	it's not in the last parameter in the list.  I don't think we can 
	reasonably make a change to hide all those at this point.  This change
	at least hides all the user_data which comes right before a GError 
	param at the end of the list.  I need to follow up with a change which
	handles data parameters in any parameter position, but allows the user
	to mark "exposed" data params for compatibility reasons.
	* generator/Parameters.cs: hide data params which are at the end of a
	list behind an error param.
	* gtk/Gtk.metadata: mark an array parameter on 
	TextBufferDeserializeFunc.

svn path=/trunk/gtk-sharp/; revision=111716
2008-08-27 16:23:32 +00:00
Mike Kestner cab2f46db5 2008-08-20 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs: use new ListPtrToArray marshaler for
	lists with known element types.
	* glib/Marshaller.cs: new ListPtrToArray marshaller with more
	aggressive list disposal.
	* gtk/Container.custom: remove manual Children impl.  Use Children
	in GetEnumerator instead of pinvoking directly.
	* gtk/Gtk.metadata: remove hidden attr and add element type and owned 
	for Container.GetChildren to generate it properly.

svn path=/trunk/gtk-sharp/; revision=111173
2008-08-20 19:48:26 +00:00
Mike Kestner 7460e71a96 2008-08-04 Mike Kestner <mkestner@novell.com>
* gtk/IconTheme.custom: elements and the list returned by
	ListIcons are owned.

svn path=/trunk/gtk-sharp/; revision=109619
2008-08-04 21:08:40 +00:00
Mike Kestner ae0831faf8 2008-08-04 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark IconTheme.LoadIcon return as owned.

svn path=/trunk/gtk-sharp/; revision=109594
2008-08-04 17:06:13 +00:00
Mike Kestner 7d611f77e4 2008-07-08 Mike Kestner <mkestner@novell.com>
Patch from Christian Hoff with a few minor tweaks.
	* generator/CallbackGen.cs: refactor to use ManagedCallString
	and drop a ton of redundant, half-baked code.
	* generator/ManagedCallString.cs: add Unconditional setup
	method for stuff that has to happen before the try block.
	Add "drop_first" concept so it can be reused by CallbackGen
	which doesn't drop first params.
	* generator/Signal.cs: use Unconditional method for prep.
	* generator/VirtualMethod.cs: use Unconditional method for prep.
	* gtk/Gtk.metadata: mark a ref param. [Fixes #394352]

svn path=/trunk/gtk-sharp/; revision=107494
2008-07-08 21:12:22 +00:00
Mike Kestner d47afc7f66 2008-06-28 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark ListStore.Reorder array param.
	* gtk/ListStore.cs: compat obsolete method, though the old one 
	was useless.

svn path=/trunk/gtk-sharp/; revision=106853
2008-06-29 04:18:26 +00:00
Mike Kestner ff1db7980c 2008-06-28 Mike Kestner <mkestner@novell.com>
* gtk/TreeSelection.custom: use list marshaler to avoid O(n^2)
	copy from old custom code.  [Fixes #404669]

svn path=/trunk/gtk-sharp/; revision=106824
2008-06-28 17:06:06 +00:00
Mike Kestner a43acaf970 2008-06-28 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark a const string. [Fixes #404630]

svn path=/trunk/gtk-sharp/; revision=106823
2008-06-28 16:53:54 +00:00
Mike Kestner 42591ddc1b 2008-06-27 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: fix a couple out params.

svn path=/trunk/gtk-sharp/; revision=106756
2008-06-27 18:19:34 +00:00
Mike Kestner b651056f6c 2008-05-30 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom:
	* gtk/glue/object.c: remove the destroy override.  it doesn't work.

svn path=/trunk/gtk-sharp/; revision=104558
2008-05-30 17:17:16 +00:00
Mike Kestner f3f0a62918 2008-05-28 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom: move Dispose call to a vm override so that
	it runs after all signals and native overrides have run.
	* gtk/glue/object.c: destroy override implementation.

svn path=/trunk/gtk-sharp/; revision=104315
2008-05-28 18:59:53 +00:00
Lluis Sanchez d6be561887 2008-05-28 Lluis Sanchez Gual <lluis@novell.com>
* gtk/Object.custom: If all destroy handlers have been
	unregistered, remove the hashtable entry since it is
	not needed anymore.


svn path=/trunk/gtk-sharp/; revision=104287
2008-05-28 16:34:50 +00:00
Mike Kestner d9721b63dc 2008-05-22 Mike Kestner <mkestner@novell.com>
* gtk/Widget.custom: guard against MissingIntPtrCtorException in
	the Activate and SetScrollAdjustments funky signal VM impl. Can't
	use SignalClosure easily.  Could be reworked more cleanly at some
	point.  Or not.

svn path=/trunk/gtk-sharp/; revision=103827
2008-05-22 18:55:22 +00:00
Mike Kestner a1473c0b58 2008-05-21 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom (OnDestroyed): ensure Dispose runs even if
	no Destroyed handlers are connected.

svn path=/trunk/gtk-sharp/; revision=103708
2008-05-21 15:54:30 +00:00
Mike Kestner ca3b6b9067 2008-05-21 Mike Kestner <mkestner@novell.com>
* gtk/Application.cs (CurrentEvent): use Event.GetEvent to retrieve
	an explicit event subclass.

svn path=/trunk/gtk-sharp/; revision=103705
2008-05-21 15:52:04 +00:00
Mike Kestner 621b39b531 2008-05-15 Mike Kestner <mkestner@novell.com>
* kill the makefile.win32 build system.  it has been unmaintained
	for quite some time, replaced by the auto* build in cygwin.

svn path=/trunk/gtk-sharp/; revision=103308
2008-05-15 17:36:46 +00:00
Mike Kestner d1dbdf0316 2008-05-08 Mike Kestner <mkestner@novell.com>
* atk/atk-api-2.12.raw: reparsed.
	* gdk/gdk-api-2.12.raw: reparsed.
	* gtk/gtk-api-2.12.raw: reparsed.
	* parser/gapi2xml.pl: fixes for signal and vm order needed for 
	proper interface struct layout. [Fixes #386802]

svn path=/trunk/gtk-sharp/; revision=102848
2008-05-08 23:23:49 +00:00
Stephane Delcroix d7586a9e15 2008-05-07 Stephane Delcroix <sdelcroix@novell.com>
* gtk/Object.custom: swap the event removing and destroy calls.

svn path=/trunk/gtk-sharp/; revision=102731
2008-05-07 15:05:38 +00:00
Mike Kestner 9b08db1fae 2008-05-06 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: mark Rc.DefaultFiles accessors as null_term_array.

svn path=/trunk/gtk-sharp/; revision=102626
2008-05-06 15:23:29 +00:00
Mike Kestner 39ac15b6b6 2008-05-02 Mike Kestner <mkestner@novell.com>
* generator/GenerationInfo.cs:  refactor glue writer implementation
	so that GlueEnabled means there is a valid glue writer available.
	Avoids crashes in scenarios where an unwriteable glue path is provided
	to the generator.  Generate a glue function which scans the type
	hierarchy of an object for the most-derived unmanaged ancestor so
	that we can invoke class methods on it, avoiding infinite recursions.
	* generator/Signal.cs: revamp the default handler vm overriding 
	mechanism.  When class fields exist which can be directly hooked into,
	we now generate glue to override and chain up to unmanaged base funcs.
	This avoids some strangeness in the g_signal_override_class_closure
	and g_signal_chain_from_overridden reported in #332300 and also lays
	the groundwork for automated generation of non-signal VMs.
	* gtk/Gtk.metadata: block signal glue generation for a few types which 
	don't seem to install headers.

svn path=/trunk/gtk-sharp/; revision=102350
2008-05-02 17:10:05 +00:00
Mike Kestner 9bc789f2e6 2008-05-02 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom: some NULL guarding in Dispose and 
	Destroy handling.

svn path=/trunk/gtk-sharp/; revision=102347
2008-05-02 16:51:37 +00:00
Mike Kestner 50358ea1b0 2008-05-01 Mike Kestner <mkestner@novell.com>
* gtk/gtk-api-2.12.raw: regen, removes some private printing API.
	* source/gtk-sharp-2.12-sources.xml: hide some private printing API.

svn path=/trunk/gtk-sharp/; revision=102287
2008-05-01 17:49:26 +00:00
Mike Kestner a3f799ceb0 2008-04-30 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl: put class struct field in the signal elems.
	* atk/atk-api-2.12.raw:
	* gdk/gdk-api-2.12.raw:
	* gtk/gtk-api-2.12.raw:

svn path=/trunk/gtk-sharp/; revision=102238
2008-04-30 19:42:11 +00:00
Mike Kestner 6b6692211f 2008-04-19 Mike Kestner <mkestner@novell.com>
* gtk/glue/statusicon.c: fix time parameter usage.  Not even sure
	how that compiled.  I <3 C.

svn path=/trunk/gtk-sharp/; revision=101222
2008-04-19 22:40:57 +00:00
Mike Kestner d2a74c9a37 2008-04-17 Mike Kestner <mkestner@novell.com>
* glib/ToggleRef.cs: Add a Harden method to switch to a standard
	ref and just leak it.
	* gtk/Application.cs: revert the QuitPrepare stuff since it didn't
	always work.

svn path=/trunk/gtk-sharp/; revision=101021
2008-04-17 16:17:37 +00:00
Mike Kestner cff6726824 2008-04-17 Mike Kestner <mkestner@novell.com>
* gtk/TreeModelAdapter.custom:
	* gtk/TreeModelFilter.custom:
	* gtk/TreeModelSort.custom: reworked patch from Christian Hoff to
	throw NotImplementedException for SetValue methods.  Those should 
	never have been added to the interface, and it's better to throw
	an exception than have infinite recursion kill the program.
	[Fixes #379542]

svn path=/trunk/gtk-sharp/; revision=100996
2008-04-17 14:32:37 +00:00
Mike Kestner 8a29f46b8f 2008-04-16 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: hide PrintContext.get_CairoContext.
	* gtk/PrintContext.custom: manual get_cairo_context implementation.
	Mono.Cairo assumes it is wrapping owned references, so we need to 
	take a ref out on the returned cairo_t pointer.
	* sample/GtkDemo/DemoPrinting.cs: dispose the CairoContext in
	to be a good citizen and avoid warnings.

svn path=/trunk/gtk-sharp/; revision=100942
2008-04-16 20:23:39 +00:00
Mike Kestner a1c4fb0689 2008-04-15 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: hide GtkKey_ for manual impl.
	* gtk/Key.cs: manual implementation to manage delegate wrapper
	persistence.  [Fixes #378989]

svn path=/trunk/gtk-sharp/; revision=100753
2008-04-15 18:44:53 +00:00
Mike Kestner 4ef0131109 2008-04-15 Mike Kestner <mkestner@novell.com>
* gtk/FileSystemModel.custom: remove dead file. 

svn path=/trunk/gtk-sharp/; revision=100749
2008-04-15 18:18:09 +00:00
Mike Kestner def947943a 2008-04-14 Mike Kestner <mkestner@novell.com>
* gtk/Application.cs: add QuitPrepare event for Gnome.Program usage.

svn path=/trunk/gtk-sharp/; revision=100650
2008-04-14 16:22:26 +00:00
Mike Kestner 213a3b99e3 2008-04-04 Mike Kestner <mkestner@novell.com>
* glib/Global.cs: renamed from Program.cs.  Program.Name is now 
	Global.ProgramName to try to avoid clashes with existing Gnome.Program
	usage.
	* gtk/Application.cs: s/GLib.Program.Name/GLib.Global.ProgramName.

svn path=/trunk/gtk-sharp/; revision=99875
2008-04-04 18:45:13 +00:00
Andrés G. Aragoneses 5fabaace5e * glib/Program.cs: Add new static class for utility property, moving
the code to call g_set_prgname() from gtk/Application.cs to here,
and changing return value of g_set_program_name from bool to void.
* gtk/Application.cs: Use Program.Name as a replacement of
calling the native function g_set_prgname().
* glib/Makefile.am: add Program.cs.
(Patch reviewed by mkestner)

svn path=/trunk/gtk-sharp/; revision=99134
2008-03-27 15:59:26 +00:00
Mike Kestner c030d70107 2008-03-21 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: s/GtkDestroyNotify/GDestroyNotify in vms too.

svn path=/trunk/gtk-sharp/; revision=98772
2008-03-21 21:01:01 +00:00
Mike Kestner e07e7d5ecb 2008-01-02 Mike Kestner <mkestner@novell.com>
* gtk/MoveFocusHandler.cs: obsolete event types.
	* gtk/TextView.custom: obsolete move-focus signal. 
	* gtk/Window.custom: obsolete move-focus signal. 
	Compat fixes for removal of signals from gtk+ API. [Fixes #350770]

svn path=/trunk/gtk-sharp/; revision=92127
2008-01-02 20:57:28 +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 9897c07f21 2007-11-16 Eskil Bylund <eskil@letterboxes.org>
* gtk/ListStore.custom:
	* gtk/TreeStore.custom: Implement InsertWithValues.
	* gtk/Gtk.metadata: Deprecate the old generated method.
	[Fixes #325040]

svn path=/trunk/gtk-sharp/; revision=89770
2007-11-16 16:32:44 +00:00
Mike Kestner ed158bd493 2007-10-16 Mike Kestner <mkestner@novell.com>
* gtk/CellRenderer.custom : marshal GTypes as IntPtr like the
	generator does.
	* gtk/Container.custom : ditto.  [Fixes comment #8 on 327058]

svn path=/trunk/gtk-sharp/; revision=87601
2007-10-16 16:52:11 +00:00
Pete Johanson d094d64360 2007-10-04 Peter Johanson <peter@peterjohanson.com>
* gtk/Gtk.metadata: Make the public fields on Gtk.Rcstyle writeable.

svn path=/trunk/gtk-sharp/; revision=86911
2007-10-04 20:26:54 +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 b2db2cda9e 2007-10-02 Mike Kestner <mkestner@novell.com>
* generator/*.cs: implement the interfaces on the adapters too.
	Generate an Implementor interface for users which exposes the 
	methods to implement.  Register based on the Implementor sub-iface.
	* gtk/*Adapter.custom: custom implementations for the custom
	interface members.
	* gtk/TreeIter.custom: make UserData public.
	* sample/TreeModelDemo.cs: sample for implementing a TreeModel
	interface.

svn path=/trunk/gtk-sharp/; revision=86753
2007-10-02 15:57:45 +00:00
Mike Kestner 2b3aaeb652 2007-10-01 Mike Kestner <mkestner@novell.com>
* gtk/TreePath.custom: use Marshal.Copy to copy indices array.

svn path=/trunk/gtk-sharp/; revision=86731
2007-10-02 03:06:40 +00:00
Mike Kestner c93ecb7f88 2007-09-11 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata: virtual_method rules for GInterface generation.
	* generator/ReturnValue.cs (ToNative): new method for the virtual
	method generation.
	* generator/Parameters.cs (FromNative): null guarding.
	* generator/ManagedCallString.cs: rework for interface method
	generation including callback and error param support.
	* generator/CallbackGen.cs: Invoker support. new class that deals
	with persistence of native and wrapper delegates in native to managed
	callback method signatures.
	* generator/VirtualMethod.cs: support for generation of interface
	methods, and all the funky parameters that come with that.
	* generator/InterfaceGen.cs: Fill out the adapter implementation.
	* generator/MethodBody.cs: Initialize overload. Extend ThrowsException
	to support GError outside the last parameter slot.
	* glib/GInterfaceAttribute.cs: New attribute to mark interfaces and
	obtain adapter type.
	* glib/Object.cs (AddInterfaces): interface registration method.
	* glib/GInterfaceAdapter.cs: New abstract class for interface
	adapter generation.
	* glib/Makefile.am: add new files.

svn path=/trunk/gtk-sharp/; revision=85658
2007-09-11 20:34:24 +00:00
Mike Kestner bf1bec4f41 2007-09-11 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom (Destroy): add a null check to avoid 
	Gtk criticals.  The destroy case seems to be problematic with
	a bunch of existing code, so this turns it into a noop.

svn path=/trunk/gtk-sharp/; revision=85657
2007-09-11 20:13:14 +00:00
Mike Kestner c2230278b3 2007-09-06 Mike Kestner <mkestner@novell.com>
* AssemblyInfo.cs.in : add IgnoreClassInitializers attr to all.
 	* generator/ObjectGen.cs : add custom-attr generation for objects.
 	* glib/ClassInitializerAttribute.cs : obsolete
 	* glib/IgnoreClassInitializersAttribute.cs : new assembly attr
 	to avoid a blind GetMethods reflection.
 	* glib/Makefile.am : add files
 	* glib/TypeInitializerAttribute.cs : new attr to specify init
 	method to be run at type registration.
 	* gtk/Widget.custom : remove the ClassInitializerAttr.
 	* gtk/Gtk.metadata : add a custom-attr node to GtkWidget.
 	* sample/Subclass.cs : use the IgnoreClassInitializers attr.

svn path=/trunk/gtk-sharp/; revision=85480
2007-09-07 14:40:46 +00:00
Mike Kestner 2a423bd228 2007-08-14 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : kill a few "new" warnings in FileChooser 
	implementors.

svn path=/trunk/gtk-sharp/; revision=84122
2007-08-14 21:41:06 +00:00
Mike Kestner fc06f3829a 2007-08-13 Mike Kestner <mkestner@novell.com>
* generator/*.cs : switch to IntPtr marshaling for struct types
	in the managed to native direction.
	* gtk/*.custom : adjust to new gapi struct pinvoke sigs.

svn path=/trunk/gtk-sharp/; revision=83961
2007-08-13 14:29:06 +00:00
Mike Kestner 6501e5e0ba 2007-07-20 Mike Kestner <mkestner@novell.com>
* gtk/Calendar.custom : workaround invalid states in widget when
	raising month_changed signals.  [Fixes #78524]

svn path=/trunk/gtk-sharp/; revision=82387
2007-07-20 20:25:49 +00:00
Mike Kestner cdf0658754 2007-07-20 Mike Kestner <mkestner@novell.com>
* gtk/gtk-api-2.10.raw : refresh.
	* parser/gapi_pp.pl : combine lines that end in '\' before sending
	them through the pattern matching.  [Fixes #79214]

svn path=/trunk/gtk-sharp/; revision=82359
2007-07-20 15:32:38 +00:00
Mike Kestner 6e56090cfc 2007-07-17 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : map TreeModelFilter ctor param to prop to
	avoid subclass ctor exception. [Fixes #82115]

svn path=/trunk/gtk-sharp/; revision=82109
2007-07-17 15:46:56 +00:00
Mike Kestner 6e25e8d543 2007-06-25 Mike Kestner <mkestner@novell.com>
* gtk/StatusIcon.custom : present_icon is in the glue lib.

svn path=/trunk/gtk-sharp/; revision=80713
2007-06-25 18:35:26 +00:00
Aaron Bockover f89698d3b3 2007-04-24 Aaron Bockover <abockover@novell.com>
* gtk/Widget.custom (StyleGetProperty): return null if
    gtksharp_widget_style_get_property returns FALSE (property
    doesn't exist) [Fixes #81445]

    * gtk/glue/widget.c (gtksharp_widget_style_get_property): check
    return of gtk_widget_class_find_style_property for NULL; function now
    returns TRUE if spec is not NULL, FALSE otherwise



svn path=/trunk/gtk-sharp/; revision=76217
2007-04-24 19:40:27 +00:00
Brad Taylor d802b53549 2007-04-23 Brad Taylor <brad@getcoded.net>
* gtk/TreePath.custom: Override Equals and compare based upon the
	  underlying indicies, instead of the object reference.
	  [Fixes #81398]


svn path=/trunk/gtk-sharp/; revision=76131
2007-04-23 16:26:13 +00:00
Mike Kestner d8fb820b89 2007-04-20 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : switch to NativeCallbackSignature.
	* generator/GenBase.cs : add NativeCallbackType member.
	* generator/IGeneratable.cs : add NativeCallbackType member.
	* generator/ManagedCallString.cs : add guarded post call struct
	marshaling back to the native struct.
	* generator/NativeCallbackSignature.cs : new parallel to ImportSignature
	but using NativeCallbackType instead of MarshalType.
	* generator/Signal.cs : switch vm and sig marshaler callbacks to 
	NativeCallbackSignature. Perform guarding post call struct marshaling
	back to the native struct.
	* generator/Parameters.cs : add NativeCallbackType member.
	* generator/SimpleBase.cs : add NativeCallbackType member.
	* generator/StructBase.cs : add NativeCallbackType member using IntPtr
	to support NULL handling.
	* gtk/NodeCellDataFunc.cs : update native marshaler sig.

svn path=/trunk/gtk-sharp/; revision=76011
2007-04-20 15:38:47 +00:00
Mike Kestner b108f0142e 2007-04-17 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : hide TreeModel.RowsReordered signal so we can do
	a correct implementation while maintaining compat with the existing 
	broken "NewOrder" parameter.
	* gtk/ListStore.custom : manual RowsReordered signal implementation.
	* gtk/RowsReorderedHandler.cs : manual implementation for preserve compat
	in the Args class. Adds NewChildOrder to replace the broken ChildOrder.
	* gtk/TreeModel.custom : manual RowsReordered signal declaration.
	* gtk/TreeModelFilter.custom : manual RowsReordered signal implementation.
	* gtk/TreeModelSort.custom : manual RowsReordered signal implementation.
	* gtk/TreeStore.custom : manual RowsReordered signal implementation.
	[Fixes #78512]

svn path=/trunk/gtk-sharp/; revision=75837
2007-04-17 17:42:58 +00:00
Ben Motmans dfa98a3ea2 2007-04-17 Ben Motmans <ben.motmans@gmail.com>
* gtk/Widget.custom:
	StyleGetPropertyValue that returns a GLib.Value when StyleGetProperty cannot automatically cast the GLib.Value (eg: Gdk.Color)
	[Fixes #81253]
	* doc/en/Gtk/Widget.xml:
	Documentation for the new StyleGetPropertyValue method and improved documentation for StyleGetProperty
	* gtk/TreeView.custom:
	OddRowColor and EvenRowColor properties
	* doc/en/Gtk/TreeView.xml:
	documentation for OddRowColor and EvenRowColor properties

svn path=/trunk/gtk-sharp/; revision=75816
2007-04-17 12:16:58 +00:00
Brad Taylor 7142444f6c 2007-04-09 Brad Taylor <brad@getcoded.net>
* gtk/glue/widget.c:
	* gtk/Widget.custom: Bind activate_signal in GtkWidgetClass.


svn path=/trunk/gtk-sharp/; revision=75653
2007-04-12 17:17:09 +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
Mike Kestner 6a00328dd1 2007-03-05 Mike Kestner <mkestner@novell.com>
* gtk/Application.custom : set prgname in Init methods so
	that WM_CLASS is more appropriate.  Programs using Gnome.Program
	already get a nice prgname, but Gtk.Application.Init apps were
	getting a path instead of a filename without extension.

svn path=/trunk/gtk-sharp/; revision=73766
2007-03-05 22:33:19 +00:00
Mike Kestner d90a1ff3f5 mark an internal win32 api obsolete
svn path=/trunk/gtk-sharp/; revision=73647
2007-03-02 18:08:38 +00:00
Brad Taylor 90e207c45b 2007-03-01 Brad Taylor <brad@getcoded.net>
* gtk/Dialog.custom: obsolete old, improperly bound
	  SetAlternateButtonOrderFromArray.
	* gtk/Gtk.metadata: fix binding of the
	  gtk_dialog_set_alternate_button_order_from_array. [Fixes #80706]


svn path=/trunk/gtk-sharp/; revision=73614
2007-03-01 18:49:32 +00:00
Mike Kestner 6698da1e41 2007-02-21 Peter Johanson <peter@peterjohanson.com>
* gtk/glue/cellrenderer.c: revert to previous implementation of
	_base_ functions to maintain backward-stability. [Fixes #77949]

svn path=/trunk/gtk-sharp/; revision=73271
2007-02-21 19:19:09 +00:00
Mike Kestner 4183bad5cc 2007-02-16 Peter Johanson <peter@peterjohanson.com>
* gtk/CellRenderer*.custom: new custom overrides for VMs.
	* gtk/glue/cellrenderer.c: add GType parameters to the invoke methods
	so we can identify the correct vtable to invoke from.

svn path=/trunk/gtk-sharp/; revision=73037
2007-02-16 18:28:37 +00:00
Mike Kestner 2469ba16ef 2007-02-16 Mike Kestner <mkestner@novell.com>
* glib/Object.cs : switch to ToggleRefs for all items created with
	CreateNativeObject.  This gets all managed subclasses, with a little
	overhang into simple wrappers.
	* glib/ToggleRef.cs : new class to manage the weak to strong ref 
	transitions as a native object flips between shared and unshared
	ownership.
	* gtk/Object.custom : revamp of the Destroyed signal handling. 
	* gtk/Gtk.metadata : hide destroy signal so we can deal with it 
	manually. [Fixes the reopen note of #72018.]

svn path=/trunk/gtk-sharp/; revision=73023
2007-02-16 16:18:59 +00:00
Mike Kestner d224dd1cbc 2007-02-03 Mike Kestner <mkestner@novell.com>
* gtk/StatusIcon.custom : obsolete overload for backcompat on
	GetGeometry, and custom PresentMenu method to invoke new glue.
	* gtk/glue/statusicon.c : glue method to connect to gtk_menu_popup
	without having to go across the native/managed boundary multiple
	times using gtk_status_icon_position_menu wrapper.
	[Fixes #79500]

svn path=/trunk/gtk-sharp/; revision=72236
2007-02-03 17:55:23 +00:00
Mike Kestner 1d105a960b 2007-01-09 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : add PersistUntilCalled method generation
	to the wrapper class.  Holds a GCHandle for the wrapper which is Freed
	when the delegate is invoked.
	* generator/MethodBody.cs : add "async" case for delegate scope.  Use
	this scope to identify a callback parameter that needs to persist 
	until the native side calls back.  Only valid for single-invoke
	callbacks.
	* gtk/Gtk.metadata : mark Print.RunPageSetupDialogAsync done_cb param
	with the new async scope.

svn path=/trunk/gtk-sharp/; revision=71767
2007-01-26 20:46:09 +00:00
Mike Kestner 7c0a6a4f9b 2006-08-07 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : remainder of new API massaging for existing 
	types.
	* gtk/Printer.custom : new static method.
	* gtk/TextBuffer.custom : serialization API implementations.

svn path=/trunk/gtk-sharp/; revision=63448
2006-08-07 20:45:47 +00:00
Mike Kestner 6898b3b5d5 2006-08-07 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : mark an out param in Style.LookupColor. 
	Some tweaks to duplicated label api.

svn path=/trunk/gtk-sharp/; revision=63440
2006-08-07 17:16:18 +00:00
Mike Kestner 64bddb3e2a 2006-08-07 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : mark an out param in Style.LookupColor. 

svn path=/trunk/gtk-sharp/; revision=63432
2006-08-07 15:35:27 +00:00
Mike Kestner 9ad00bd861 2006-08-07 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : markup for new Clipboard Rich text funcs. 
	* gtk/Clipboard.custom : manually implement RequestRichText and
	WaitForRichText methods to deal with array marshaling and delegate
	persistence.

svn path=/trunk/gtk-sharp/; revision=63430
2006-08-07 15:00:16 +00:00
Mike Kestner 98cf4082be 2006-08-04 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : a few tweaks to the 2.10 API found in doc/
	audit pass.

svn path=/trunk/gtk-sharp/; revision=63378
2006-08-04 23:24:29 +00:00
Mike Kestner 636ff0bc8a 2006-08-01 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : fix a couple of compat breaks against 2.8.
	* gtk/TreeModelFilter.cs : hand implement ConvertChildIterToIter
	to match the 2.8 version of the method.

svn path=/trunk/gtk-sharp/; revision=63271
2006-08-02 20:37:23 +00:00
Mike Kestner a5d696a8b0 2006-08-01 Mike Kestner <mkestner@novell.com>
* gtk/gtk-api-2.10.raw : reparsed
	* parser/gapi_pp.pl : put a newline after G_DEFINE_TYPE macros
	on the output and do a next if we shouldn't fall out of the 
	branch.

svn path=/trunk/gtk-sharp/; revision=63232
2006-08-01 22:20:54 +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 c588660a96 copy 2.8 file to 2.10
svn path=/trunk/gtk-sharp/; revision=60512
2006-05-10 14:22:10 +00:00
Pete Johanson 8385036760 2006-05-04 Peter Johanson <peter@peterjohanson.com>
* gtk/glue/cellrenderer.c: Revert r59683, as it causes issues for
        overrides calling base.GetSize (), etc.


svn path=/trunk/gtk-sharp/; revision=60291
2006-05-05 03:13:17 +00:00
Pete Johanson 4cd47a3512 2006-04-20 Peter Johanson <peter@peterjohanson.com>
* gtk/glue/cellrenderer.c: Make GetSize, Render, etc behave correctly
        for all cases. Fixes #77949.

svn path=/trunk/gtk-sharp/; revision=59683
2006-04-20 07:55:08 +00:00
Mike Kestner f47b4880f1 2005-01-31 Mike Kestner <mkestner@novell.com>
* gtk/Dialog.custom : null check a parent arg.  [Fixes #77400]

svn path=/trunk/gtk-sharp/; revision=56339
2006-01-31 16:02:18 +00:00
Mike Kestner 5bac7a6c8d 2005-01-21 Mike Kestner <mkestner@novell.com>
* gtk/RadioToolButton.custom : manually implement the GLib.List group
	ctors.  [Fixes #76992]

svn path=/trunk/gtk-sharp/; revision=55886
2006-01-21 15:52:50 +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 c37cd06fc5 2005-12-12 Itamar Rogel <chastamar@yahoo.com>
* NodeView.cs : add default ctor and NodeStore setter.
	[Fixes #76827]

svn path=/trunk/gtk-sharp/; revision=54243
2005-12-12 15:31:54 +00:00
Mike Kestner 98b4307aba 2005-12-10 Mike Kestner <mkestner@novell.com>
* gtk/gtk-api-2.8.raw : regenerated.
	* gtk/IconView.custom : manually implement a new interface method.
	* parser/gapi_pp.pl : more general G_DEFINE_TYPE_WITH_CODE parsing
	implementation.
	[Fixes #76266]

svn path=/trunk/gtk-sharp/; revision=54192
2005-12-10 13:17:47 +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
Wade Berrier a36a3d4c0e * .pc and wrapper scripts: Use relative paths so gtk-sharp is
relocatable


svn path=/trunk/gtk-sharp/; revision=52437
2005-11-01 05:12:12 +00:00
Mike Kestner 05526600ae 2005-10-19 Mike Kestner <mkestner@novell.com>
* gtk/TextBuffer.custom : add some obsolete overloads for backward
	compat with some not-completely-unusable 1.0.x methods.

svn path=/trunk/gtk-sharp/; revision=52131
2005-10-24 17:08:40 +00:00
Miguel de Icaza c6ab638191 2005-10-08 Miguel de Icaza <miguel@novell.com>
* gtk/Application.cs (Invoke): Use Timeout instead of Idle add to
	trigger the event on the Gtk thread.

svn path=/trunk/gtk-sharp/; revision=51851
2005-10-18 02:46:31 +00:00
Mike Kestner 880b1ff3e9 2005-10-08 Mike Kestner <mkestner@novell.com>
* generator/Signal.cs : handle enum return values GTypes.
	* gtk/TextBuffer.custom : mark Text prop !GTK_SHARP_2_8.
	[Fixes #75885]

svn path=/trunk/gtk-sharp/; revision=51484
2005-10-09 01:50:37 +00:00
Mike Kestner fede690a37 2005-09-27 Mike Kestner <mkestner@novell.com>
* glib/Opaque.cs : remove the Opaques hash.  As f-spot demonstrated,
	we cannot rely on a pointer continuing to point at the same type in
	memory, since there is no destroy notification for most opaques.
	* glib/Value.cs : use more explicit GetOpaque overload.
	* gtk/Style.custom : use more explicit GetOpaque overload.

svn path=/trunk/gtk-sharp/; revision=50884
2005-09-27 19:12:43 +00:00
Mike Kestner 0435b45895 2005-09-23 Mike Kestner <mkestner@novell.com>
* configure.in.in : expand glib-sharp-2.0.pc.
	* glib/glib-sharp-2.0.pc.in : new pc file template.
	* glib/Makefile.am : dist and install pc file.
	* gtk/gtk-sharp-2.0.pc.in : Require glib-sharp-2.0.

svn path=/trunk/gtk-sharp/; revision=50641
2005-09-23 22:36:33 +00:00
Dan Winship 6a4b03d57f * gtk/Gtk.metadata: Hide Gtk.Drag.SetIconDefault. Mark
Gtk.TreeView.GetVisibleRect's arg as "out".

	* gtk/Drag.custom: gtk_drag_set_icon_default(ctx) should translate
	to Gtk.Drag.SetIconDefault(ctx), not Gtk.Drag.IconDefault = ctx.

	* gtk/TreeView.custom: add obsolete GetVisibleRect()

svn path=/trunk/gtk-sharp/; revision=49723
2005-09-08 19:01:01 +00:00
Eric Butler bc2d3e81e0 2005-09-07 Eric Butler <eric@extremeboredom.net>
* gtk/NodeStore.cs : Add Clear() method
	* doc/en/Gtk/NodeStore.xml : Add documentation for above method


svn path=/trunk/gtk-sharp/; revision=49648
2005-09-07 17:34:58 +00:00
Mike Kestner 7b265e1f84 2005-09-06 Mike Kestner <mkestner@novell.com>
* gtk/NodeStore.cs : fix recursive emit of row_inserted.

svn path=/trunk/gtk-sharp/; revision=49566
2005-09-06 18:32:18 +00:00
Mike Kestner 2a61d6e9d9 2005-09-06 Mike Kestner <mkestner@novell.com>
* gtk/NodeStore.cs : fix recursive emit of row_inserted.

svn path=/trunk/gtk-sharp/; revision=49563
2005-09-06 18:09:40 +00:00
Miguel de Icaza 86fcf4e74a Thanks to Peter Williams for pointing out this bug
svn path=/trunk/gtk-sharp/; revision=49390
2005-09-03 04:14:10 +00:00
Miguel de Icaza 95a22dd13b i2005-09-02 Miguel de Icaza <miguel@novell.com>
* gtk/Application.cs (Invoke): Add new overloads to easily invoke
	methods on the executing thread.



svn path=/trunk/gtk-sharp/; revision=49379
2005-09-02 22:39:17 +00:00
Ben Maurer e4682de9cf by mk's request
svn path=/trunk/gtk-sharp/; revision=49376
2005-09-02 22:11:06 +00:00
Ben Maurer 85eee0cb43 2005-09-02 Ben Maurer <bmaurer@ximian.com>
* sample/NodeViewDemo.cs: take advantage of the stuff below

	* gtk/TreeNodeValueAttribute.cs: Allow on props

	* gtk/TreeNodeAttribute.cs: Obsolete column count

	* gtk/NodeStore.cs: Change this to not need the TreeNodeAttribute
	column count. Handle fields as well as properties.


svn path=/trunk/gtk-sharp/; revision=49374
2005-09-02 22:04:05 +00:00
Mike Kestner 376b8f42ac 2005-08-30 Mike Kestner <mkestner@novell.com>
* parser/gapi_pp.pl : ignore ifndef *_H_ lines like in 1.0.x.
	[Fixes #75938]

svn path=/trunk/gtk-sharp/; revision=49151
2005-08-30 20:12:43 +00:00
Mike Kestner e7e8c9e80b 2005-08-30 Mike Kestner <mkestner@novell.com>
* gtk/NodeStore.custom : recursively emit row_inserted for AddNode.
	[Fixes #75853]

svn path=/trunk/gtk-sharp/; revision=49146
2005-08-30 19:38:04 +00:00
Mike Kestner e916350eff 2005-08-29 Mike Kestner <mkestner@novell.com>
* gtk/Widget.custom : add overloads for Modify* without a Gdk.Color
	param to reset color to default.  [Fixes #75913]


svn path=/trunk/gtk-sharp/; revision=49085
2005-08-29 19:22:23 +00:00
Ben Maurer 327a28442e In doc:
2005-08-28  Ben Maurer  <bmaurer@ximian.com>

	* en/Gtk/NodeSelection.xml: Docs

In .:
2005-08-28  Ben Maurer  <bmaurer@ximian.com>

	* gtk/NodeSelection.cs: helper api


svn path=/trunk/gtk-sharp/; revision=49040
2005-08-28 21:18:39 +00:00
Ben Maurer c9eaab1cf3 * gtk/TreeNode.cs: Add Interlocked.Increment rather than ++. This
makes it safe to create tree nodes in a worker thread as long as
	you reparent them into the tree with another thread. Thanks to mk
	for allowing a bit of threadedness in :-).
	

svn path=/trunk/gtk-sharp/; revision=48683
2005-08-22 17:11:37 +00:00
Ben Maurer 3fb0631c4e 2005-08-22 Ben Maurer <bmaurer@novell.com>
* gtk/NodeView.cs: Fix leak here. r=mkestner


svn path=/trunk/gtk-sharp/; revision=48682
2005-08-22 17:06:01 +00:00
Dan Winship ba1eeecbfb * generator/Property.cs (Generate): Mark properties [Obsolete] if
they or their accessors are marked deprecated. (Affects
	Gtk.Entry.Editable, Gtk.FontSelection.Font,
	Gtk.Notebook.*TabBorder, Gtk.Object.UserData, and a bunch of old
	Gtk.ProgressBar properties).

	* gtk/Gtk.metadata: Hide Entry.Editable. Mark Notebook.Homogeneous
	deprecated.

	* gtk/Entry.custom: Implement Editable property with an Obsolete
	pointing to IsEditable.

svn path=/trunk/gtk-sharp/; revision=48680
2005-08-22 16:55:20 +00:00
Mike Kestner 904a3e5857 2005-08-15 Mike Kestner <mkestner@novell.com>
* gtk/glue/makefile.win32 : s/.c/.o typo.

svn path=/trunk/gtk-sharp/; revision=48399
2005-08-15 18:01:28 +00:00
Mike Kestner b5964c52d0 2005-08-15 Mike Kestner <mkestner@novell.com>
* glib/Object.cs : hold strong refs for managed subclasses and
	weakrefs for wrappers.
	* gtk/Object.custom : don't hold managed refs here, they are now held
	in GLib.Object.

svn path=/trunk/gtk-sharp/; revision=48389
2005-08-15 15:56:16 +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 12cd8d0d17 * generator/OpaqueGen.cs (Generate): Tweak the generated Ref/Unref
a bit; only Ref the pointer if Owned is false (and then set it to
	true), and vice versa for Unref.

	* glib/Opaque.cs (Opaque): set owned before setting Raw, so
	that Raw will be reffed properly.
	(GetOpaque): Fix this up to dtrt in all cases with refcounted
	opaques.
	
	* gtk/TreeView.custom (GetPathAtPos): Use "GetOpaque(...)" rather
	than "new TreePath()"

	* sample/opaquetest/*: regression test for opaque free/ref/unref
	handling

	* sample/Makefile.am (SUBDIRS): add opaquetest

	* configure.in.in (AC_OUTPUT): add opaquetest files

svn path=/trunk/gtk-sharp/; revision=48168
2005-08-09 14:44:32 +00:00
Dan Winship a2b058160b oops, add targetlist.c here too
svn path=/trunk/gtk-sharp/; revision=48007
2005-08-04 18:03:51 +00:00
Dan Winship dc9046526c * gtk/TargetList.custom: add an operator for casting to
TargetEntry[], so you can use methods like
	TargetList.AddTextTargets() in situations where you need a
	TargetEntry[] rather than a TargetList.

	* gtk/glue/targetlist.c: glue for that

svn path=/trunk/gtk-sharp/; revision=48006
2005-08-04 18:03:21 +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
Todd Berman 4b3bdf71ce 2005-08-01 Todd Berman <tberman@off.net>
* gtk/Gtk.metadata: Change the Gtk.Style.Paint* methods to use a
	Gdk.Drawable instead of a Gdk.Window
	* doc/en/Gtk/Style.xml: Update the documentation for the above
	change.


svn path=/trunk/gtk-sharp/; revision=47895
2005-08-01 18:32:19 +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 45ebde9387 * gtk/ComboBoxEntry.custom: add an "Entry" property to cleanly
fetch the ComboBoxEntry's Gtk.Entry

svn path=/trunk/gtk-sharp/; revision=47750
2005-07-27 13:52:51 +00:00
Dan Winship 0fa85fccbd * parser/gapi2xml.pl (addParamsElem): deal with G_CONST_RETURN in
params... some functions use that to mark const "out" params. In
	fact, let's use it as a hint to mark them pass_as="out" too...

	* pango/pango-api-2.4.raw: 
	* pango/pango-api-2.6.raw: 
	* gtk/gtk-api-2.6.raw: Regen, fixing pango_script_iter_get_range
	and gtk_image_get_icon_name.

	* pango/Pango.metadata: 
	* pango/ScriptIter.cs: Alas, exposing GetRange makes it clear that
	PangoScriptIter is really weird and we weren't wrapping it
	correctly before anyway, so mark the whole thing hidden and wrap
	it by hand.

svn path=/trunk/gtk-sharp/; revision=47748
2005-07-27 13:21:15 +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
Dan Winship d37d940eb8 * parser/gapi2xml.pl (parseInitFunc): handle interface properties
as well as class properties

	* gtk/gtk-api-2.4.raw: 
	* gtk/gtk-api-2.6.raw: Regen (adding properties to GtkFileChooser).

	* generator/Property.cs (GenerateDecl): new method to generate
	just a property declaration (for an interface).
	(Generate): Add an "implementor" arg as with Method.Generate.

	* generator/InterfaceGen.cs (Generate): Generate properties. Also,
	validate methods *before* checking if they should be ignored,
	since certain Method properties aren't set until Validate-time.

	* generator/*.cs: misc minor changes/reorg for the above.

svn path=/trunk/gtk-sharp/; revision=47563
2005-07-22 18:35:37 +00:00
Todd Berman 455d319d34 2005-07-19 Todd Berman <tberman@off.net>
* gtk/TreeSelection.custom: Add an overload for GetSelected to remove
        the need to always pass in that damn TreeModel.
        * doc/en/Gtk/TreeSelection.xml: Add documentation for the new
        overload.


svn path=/trunk/gtk-sharp/; revision=47475
2005-07-20 17:08:28 +00:00
Mike Kestner f1a8c00732 2005-07-08 Mike Kestner <mkestner@novell.com>
* */*.raw : regen.
	* parser/gapi2xml.pl : access comment doesn't have to start at
	beginning of line.

svn path=/trunk/gtk-sharp/; revision=47126
2005-07-08 22:04:50 +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 a0912263e2 2005-06-28 Mike Kestner <mkestner@novell.com>
* gtk/ComboBox.custom : add ctor (string[]).
	* gtk/ComboBoxEntry.custom : add ctor (string[]).
	* sample/test/TestComboBox.cs : simple new ComboBox tester.
	* sample/test/WidgetViewer.cs : button for simple new ComboBox tester.

svn path=/trunk/gtk-sharp/; revision=46657
2005-06-28 16:35:36 +00:00
Mike Kestner 34ee46aec1 2005-06-24 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : remove the one reference to FileChooserEmbed.
	* gtk/gtk-api-2.*.raw : regen.
	* sources/gtk-sharp-2.*-sources.xml : exclude FileChooserEmbed files.

svn path=/trunk/gtk-sharp/; revision=46479
2005-06-24 19:27:01 +00:00
Mike Kestner eddfdc7910 2005-06-23 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs : support owned and elements_owned for lists.
	* glib/List.cs : add ctor overloads for memory mgmt.
	* glib/ListBase.cs : add ctor overloads for memory mgmt. Dispose
	elements if specified.
	* glib/SList.cs : add ctor overloads for memory mgmt.
	* gnome/Gnome.metadata : unhide and generate a List prop.
	* gnomevfs/Gnomevfs.metadata : unhide and generate a List prop.
	* gtk/FileChooser.custom : new. add hidden props.
	* gtk/FileChooserButton.custom : new. impl hidden props.
	* gtk/FileChooserDialog.custom : remove some List props and use the
	GLib.Marshaller for the remaining ones..
	* gtk/FileChooserWidget.custom : remove some List props and use the
	GLib.Marshaller for the remaining ones..
	* gtk/Gtk.metadata : unhide and let the generator do some List props.

svn path=/trunk/gtk-sharp/; revision=46457
2005-06-23 22:28:06 +00:00
Mike Kestner 7f1265e3aa 2005-06-14 Mike Kestner <mkestner@novell.com>
* gtk/Gtk.metadata : add nodes for all the *Set props on TextTag.
	[Fixes #75219]

svn path=/trunk/gtk-sharp/; revision=45976
2005-06-14 15:45:06 +00:00
Dan Winship cb427b5747 * parser/gapi2xml.pl (addPropElem): Distinguish CONSTRUCT ("must
be set at construct time") and CONSTRUCT_ONLY ("can only be set at
	construct time") properties, rather than marking them all
	"construct-only".

	* gnome/gnome-api.raw: 
	* gtk/gtk-api-2.4.raw: 
	* gtk/gtk-api-2.6.raw: Regen, causing a few formerly-read-only
	properties to become writable.

svn path=/trunk/gtk-sharp/; revision=45767
2005-06-10 15:46:24 +00:00
Mike Kestner e24d72317a 2005-06-08 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs : don't write a sem in FromNative.
	* glib/ListBase.cs : handle GLib.Object explicit element types.
	* glib/Marshaler.cs : only copy lists if Count > 0.
	* gtk/Gtk.metadata : unhide Window.ListToplevels with a proper element
	type for automatic list to array marshaling.
	* gtk/Window.custom : kill manual ListToplevels impl.

svn path=/trunk/gtk-sharp/; revision=45654
2005-06-08 17:29:48 +00:00
Mike Kestner 0ceb4ccbca 2005-06-02 Mike Kestner <mkestner@novell.com>
* gtk/gtk-api-2.6.raw : regen.
	* parser/gapi_pp.pl : add G_DEFINE_TYPE_WITH_CODE handling.
	* parser/gapi2xml.pl : add G_DEFINE_TYPE_WITH_CODE parsing.
	[Fixes #74833]

svn path=/trunk/gtk-sharp/; revision=45338
2005-06-02 19:18:44 +00:00
Mike Kestner ff096ac998 2005-06-02 Mike Kestner <mkestner@novell.com>
* glib/ListBase.cs : add a nested class to support filename encoded
	string element marshaling.
	* gtk/Gtk.metadata : mark the filenames and folders as filename
	encoded.
	* gtk/FileChooserDialog.custom : use new ListBase.FilenameString type
	for list element type of filenames and folders.
	* gtk/FileChooserWidget.custom : use new ListBase.FilenameString type
	for list element type of filenames and folders.
	[Fixes #72701]

svn path=/trunk/gtk-sharp/; revision=45334
2005-06-02 16:16:28 +00:00
Mike Kestner fee353d525 2005-06-02 Mike Kestner <mkestner@novell.com>
* generator/ConstFilenameGen.cs : new generatable for filename encoded
	const string marshaling
	* generator/Makefile.am : add new file
	* generator/SymbolTable.cs : add new gfilename types.
	* glib/Marshaller.cs : add new filename-encoded string marshalers.
	* gtk/FileSelection.custom : use FilenamePtrToString to marshal.
	* gtk/Gtk.metadata : map the FileSelector filename types to my new
	imaginary gfilename type.  [Fixes #74963]

svn path=/trunk/gtk-sharp/; revision=45328
2005-06-02 14:16:52 +00:00
Mike Kestner dfa84ee168 2005-06-02 Mike Kestner <mkestner@novell.com>
* gtk/Object.custom : only connect to Destroyed for managed subclasses
	and let the wrappers get disposed by the GC.

svn path=/trunk/gtk-sharp/; revision=45326
2005-06-02 14:01:04 +00:00
Dan Winship f6f9fd0c79 * glib/Value.cs: Add a constructor and an explicit cast for
string[] (using a G_TYPE_STRV boxed value).

	* generator/SymbolTable.cs (SymbolTable): Map GStrv to string[].
	(The mapping relies on the above GLib.Value magic, so it only
	works correctly for properties, but that's ok, because GStrv isn't
	a real type anyway and only shows up in the api files for
	G_TYPE_STRV properties.) Makes the Gtk.AboutDialog Artists,
	Authors, and Documenters properties show up.

	* gtk/Gtk.metadata: hide
	AboutDialog.Get/SetArtists/Authors/Documenters, which can't be
	used to implement the Artists/Authors/Documenters properties,
	because the generated code doesn't know to NULL-terminate the
	arrays.

svn path=/trunk/gtk-sharp/; revision=45301
2005-06-01 17:58:28 +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 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 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 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 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 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 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 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
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 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