Commit graph

2255 commits

Author SHA1 Message Date
John Luke 69ab0dc995 add an iconview example
svn path=/trunk/gtk-sharp/; revision=48370
2005-08-14 19:50:35 +00:00
Dan Winship 202d8f09ff remove a duplicate <params> line that really trips up the latest monodocer
for some reason

svn path=/trunk/gtk-sharp/; revision=48337
2005-08-12 15:42:28 +00:00
Miguel de Icaza 2fa109fdd7 Doc updates
svn path=/trunk/gtk-sharp/; revision=48309
2005-08-12 01:43:07 +00:00
Dan Winship 737a794d76 * generator/OpaqueGen.cs (Generate):
* generator/StructBase.cs (Generate): Add the [Obsolete] attribute
	to deprecated structs/boxeds/opaques too. (Affects Gdk.Font,
	Gtk.Arg, Gtk.ItemFactoryEntry, Gnome.IconData, and [in 2.6/2.8]
	Gnome.Vfs.MimeAction)

svn path=/trunk/gtk-sharp/; revision=48288
2005-08-11 14:13:25 +00:00
Dan Winship 35385da69b the continuing saga of killing off gda/gnomedb
svn path=/trunk/gtk-sharp/; revision=48207
2005-08-09 20:56:40 +00:00
Dan Winship 493589eb06 more gda/gnomedb killing
svn path=/trunk/gtk-sharp/; revision=48206
2005-08-09 20:38:06 +00:00
Dan Winship 8cb8276f43 * sources/Makefile.am: remove gda/gnomedb
* sources/gda.patch, sources/gnomedb.patch: gone

svn path=/trunk/gtk-sharp/; revision=48202
2005-08-09 20:19:52 +00:00
Dan Winship 1a790c98ea * en/index.xml: remove gda/gnomedb docs
* en/Gda:
	* en/Gda.xml:
	* en/GnomeDb:
	* en/GnomeDb.xml: gone

svn path=/trunk/gtk-sharp/; revision=48201
2005-08-09 20:18:55 +00:00
Dan Winship 963ae98d5d * configure.in.in: kill off all gda/gnomedb references.
(Henceforth gda# and gnomedb# will be part of gda and gnomedb. Or
	maybe separate modules in Mono SVN. Not part of gtk-sharp though.)

	* Makefile.am (SUBDIRS): remove gda and gnomedb

	* gda/, gnomedb/: buh-bye

svn path=/trunk/gtk-sharp/; revision=48200
2005-08-09 20:10:45 +00:00
Dan Winship 1428e774c8 * generator/Method.cs (GenerateDeclCommon): Strip "Get"/"Set" even
in the context of "Gtk.TreeModel.GetNColumns"

	* generator/CallbackGen.cs (GenWrapper): treat InterfaceGen return
	values the same as ObjectGen

svn path=/trunk/gtk-sharp/; revision=48192
2005-08-09 18:38:35 +00:00
Dan Winship d6ec3f77ff * generator/ClassBase.cs (Validate): Don't fully validate the
parent class and interfaces (because we don't want to see the
	warnings about certain GtkWidget methods in every single library
	that defines a widget, etc). Instead, use the new
	ValidateForSubclass() method.
	(ValidateForSubclass): only validate the signals

	* generator/InterfaceGen.cs (ValidateForSubclass): for interfaces
	we need to validate the methods too.

	* generator/ObjectGen.cs (Generate): Check for interface method
	collisions against the class's own methods too, not just its other
	interfaces. Also, it's only a collision if the methods' signatures
	have the same types.

	* generator/Signal.cs (GenDefaultHandlerDelegate): Use
	"{0}_managed" rather than "obj" for the internal variable name, to
	avoid compile problems with signals that have a parameter named
	"obj".

	* generator/SymbolTable.cs (MangleName): mangle "internal" to
	"_internal".

svn path=/trunk/gtk-sharp/; revision=48184
2005-08-09 17:33:46 +00:00
Dan Winship 9a71bd5ee2 * generator/ClassBase.cs (Validate): Don't fully validate the
parent class and interfaces (because we don't want to see the
	warnings about certain GtkWidget methods in every single library
	that defines a widget, etc). Instead, use the new
	ValidateForSubclass() method.
	(ValidateForSubclass): only validate the signals

	* generator/InterfaceGen.cs (ValidateForSubclass): for interfaces
	we need to validate the methods too.

svn path=/trunk/gtk-sharp/; revision=48177
2005-08-09 15:59:30 +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
Miguel de Icaza c254638a5a Patch from Todd Berman
svn path=/trunk/gtk-sharp/; revision=48101
2005-08-08 04:28:14 +00:00
Dan Winship 85d88fe1ca Change the way generatable validation works. Some generatable
properties can't be set until Validate-time (eg, Method.IsGetter),
	but it's annoying for every potential user of those properties to
	have to make sure it has Validated the generatable first. So now
	we add an explicit Validate() step after everything is loaded but
	before anything is Generated, so that at Generation time,
	everything can be assumed to have been Validated.

	* generator/IGeneratable.cs: add "bool Validate()"

	* generator/CodeGenerator.cs (Main): after loading all of the
	generatables, DeAlias the SymbolTable, Validate() all the
	generatables, and discard any invalid ones.

	* generator/*.cs: Implement Validate() trivially in generatables
	that didn't implement it before. Move Validate() calls from
	Generate() to Validate(). Remove non-hierarchical Validate()
	calls.

	* generator/SymbolTable.cs: GPtrArray is IntPtr, not IntPtr[]

svn path=/trunk/gtk-sharp/; revision=48046
2005-08-05 20:34:45 +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
Mike Kestner 3e19a1d102 2005-08-04 Mike Kestner <mkestner@novell.com>
* generator/Ctor.cs : call Finish and HandleException for static ctor
	method bodies. [Fixes #75493]

svn path=/trunk/gtk-sharp/; revision=47998
2005-08-04 14:41:11 +00:00
Mike Kestner e299e65c8a 2005-08-03 Mike Kestner <mkestner@novell.com>
* bootstrap : use gnome and vfs 2.10 api.
	* bootstrap-2.4 : use gnome and vfs 2.6 api.
	* bootstrap-for-the-insane : use gnome and vfs 2.10 api for now.
	* configure.in.in : substitute GNOME_REQUIRED_VERSION.
	* gnome/gnome-api.raw : rename to gnome-api-2.6.raw.
	* gnome/gnome-api-2.10.raw : new 2.10 parse.
	* gnomevfs/gnome-vfs-api.raw : rename to gnome-api-2.6.raw.
	* gnomevfs/gnome-vfs-api-2.10.raw : new 2.10 parse.
	* gnomevfs/Gnomevfs.metadata : mark MimeApplication opaque.
	* sources/Makefile.am : split gnome parse for 2.6/2.10.
	* sources/gtk-sharp-2.4-sources.xml : parse GNOME 2.6.
	* sources/gtk-sharp-2.6-sources.xml : parse GNOME 2.10.
	* sources/gtk-sharp-2.8-sources.xml : parse GNOME 2.10 for now.

svn path=/trunk/gtk-sharp/; revision=47981
2005-08-03 21:51:23 +00:00
Dan Winship 64c8a1b924 re-commit after letting "make update" reformat it
svn path=/trunk/gtk-sharp/; revision=47971
2005-08-03 16:41:29 +00:00
Dan Winship f70a702224 update for recent changes (removing broken gnome-print stuff, and
GLib.Opaque changes)

svn path=/trunk/gtk-sharp/; revision=47964
2005-08-03 15:35:46 +00:00
Dan Winship 38c70d2503 * generator/Property.cs (Generate): cast GLib.Values to
System.Enum before casting them to an enum type, to fix the build
	with csc 1.1.

svn path=/trunk/gtk-sharp/; revision=47962
2005-08-03 14:58:38 +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 e35683874e * sources/gtk-sharp-2.4-sources.xml:
* sources/gtk-sharp-2.6-sources.xml: exclude a bunch of
	gnome-print stuff that is not part of gnome-print's public API.

	* gnome/gnome-api.raw: regen

	* gnome/Gnome.metadata: remove some no-longer-needed metadata

	* gnome/GPFontEntry.custom: 
	* gnome/GPPath.custom: no longer needed

	* gnome/FontFamily.cs: moved from FontFamily.custom, since there's
	no longer any non-custom portion of this.

svn path=/trunk/gtk-sharp/; revision=47802
2005-07-28 13:28:09 +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
Mike Kestner 5adbc46baf 2005-07-25 Mike Kestner <mkestner@novell.com>
* gnome/Gnome.metadata : mark IconList.GetIconFilename retval const.
	[Fixes #75530]

svn path=/trunk/gtk-sharp/; revision=47668
2005-07-25 21:16:36 +00:00
Dan Winship 8c2abbc7ab check in a generated valobj-api.xml rather than doing it at build time
so we don't accidentally depend on perl-libxml

svn path=/trunk/gtk-sharp/; revision=47665
2005-07-25 18:50:52 +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 105622f7a0 belated update for GLib.Value changes (and some gratuitous reindentation
from monodocer)

svn path=/trunk/gtk-sharp/; revision=47565
2005-07-22 18:47:57 +00:00
Dan Winship 196be89bc9 * glib/Value.cs: Obsolete the EnumWrapper and UnwrappedObject
constructors and casts. Add a new Enum cast.
	(Val): Handle Pointer values. Change the handling of Enum/Flags
	values to return the value directly rather than returning an
	EnumWrapper. Remove the Char (ie, "byte") handling since there
	aren't any char properties in all of gtk-sharp and the generator
	mistakenly converts them to strings anyway.

	* glib/EnumWrapper.cs: 
	* glib/UnwrappedObject.cs: Mark these Obsolete.

	* glib/glue/type.c (gtksharp_get_parent_type,
	gtksharp_get_type_name_for_id): 
	* glib/glue/value.c (gtksharp_value_get_value_type): Remove some
	unneeded glue methods.

	* generator/Ctor.cs (Generate):
	* generator/Property.cs (Generate): Simplify the enum and object
	property glue to not use EnumWrapper or UnwrappedObject.

	* sample/valtest/*: a regression test for GLib.Value

	* configure.in.in: add sample/valtest

svn path=/trunk/gtk-sharp/; revision=47564
2005-07-22 18:36:50 +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
John Luke 70d2492071 add a TreeModelFilter example
svn path=/trunk/gtk-sharp/; revision=47458
2005-07-20 03:15:51 +00:00
Dan Winship 6b31c3542f * generator/Parameters.cs: Remove the AllowComplexRefs flag.
(They're always allowed now.)

	* generator/Signal.cs (GenVirtualMethod): Fix up the use of CSType
	vs MarshalType in the ref/out-handling code so that this can
	marshal any type.

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

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

	* gnome/gnome-api.raw: Regen

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

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

svn path=/trunk/gtk-sharp/; revision=47398
2005-07-18 21:27:00 +00:00
Wade Berrier 9d35f72e7c Commited a patch from Gary Ekker, with additional suggestions from
Mike Kestner.
                                                                                                                         
email from Mike:
                                                                                                                         
On Wed, 2005-07-06 at 14:32 -0600, Gary Ekker wrote:
> Here's a patch for gtk-sharp2-1.9.5 and gtk-sharp-1.0.8 to find the
> new version of gtkhtml in SUSE
> 10. Wade and I added it yesterday to the SUSE build system.
>
> I didn't see anything on the sourceforge project page informing me how
> to send patches. Please let me know if there is a preferred method.
                                                                                                                         
I don't have a problem with something like this going upstream to trunk,
but it should require the latest release and it should be an = check
(not >=) because if past experience is any indicator, they'll be bumping
the so version every release.
                                                                                                                         
As far as the branch goes, you should probably just patch that until
they release 3.8.0, because I'd rather not do stable releases just to
support the latest unstable gtkhtml releases.
                                                                                                                         
Wade, feel free to commit to trunk with that s/>=/= change.
                                                                                                                         


svn path=/trunk/gtk-sharp/; revision=47313
2005-07-14 16:59:27 +00:00
Dan Winship abcecb147f * sources/gtk-sharp-2.4-sources.xml:
* sources/gtk-sharp-2.6-sources.xml: remove some gnome-vfs files:
	gnome-vfs-method and gnome-vfs-transform, because they're
	internal/part of the module API, and gnome-vfs-file-size.h,
	because it's generated and shouldn't be in the source tarball (and
	we don't parse it right anyway).

	* gnomevfs/gnome-vfs-api.raw: Regen

	* gnomevfs/gnomevfs-symbols.xml: add GnomeVFSFileOffset

	* gnomevfs/Gnomevfs.metadata: remove a whole bunch of callback
	types that are only used from methods and structs that we hide.

svn path=/trunk/gtk-sharp/; revision=47268
2005-07-13 15:08:08 +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 4c8d1c1973 2005-07-08 Mike Kestner <mkestner@novell.com>
* pango/*.raw : regen.
	* sources/gtk-sharp-2.4-sources.xml : exclude some xft and fc files.
	* sources/gtk-sharp-2.6-sources.xml : exclude some xft and fc files.

svn path=/trunk/gtk-sharp/; revision=47124
2005-07-08 21:41:01 +00:00
Dan Winship 9236a9045f * gnome/Gnome.metadata: opaquify ModuleInfo and hide the types
that are only used inside ModuleInfo, so we don't marshal the
	function pointers into (incorrect) delegates.

	* gnome/Modules.cs: 
	* gnome/Program.custom: update for ModuleInfo being a class rather
	than a struct now

svn path=/trunk/gtk-sharp/; revision=47045
2005-07-07 16:11:24 +00:00
Mike Kestner 0863f8703f 2005-07-02 Mike Kestner <mkestner@novell.com>
* generator/StructField.cs : fix name exception throw conditional.

svn path=/trunk/gtk-sharp/; revision=46890
2005-07-03 15:14:09 +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 f1336f2f2b 2005-07-02 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : remove an old workaround that put
	the native wrapper class into the implementor's *Sharp namespace.
	Use new ImportSignature sig.
	* generator/ImportSignature.cs : don't mangle the callback wrapper
	namespace any more. Remove impl_ns ctor param and field.
	* generator/MethodBase.cs : use new MethodBody and ImportSignature
	ctor sigs.
	* generator/MethodBody.cs : drop the impl_ns ctor param.
	* generator/Signal.cs : use new ImportSignature ctor sig.
	* generator/VirtualMethod.cs : use new ImportSignature ctor sig.

svn path=/trunk/gtk-sharp/; revision=46877
2005-07-02 14:55:08 +00:00
Mike Kestner 762a1576fd make the sample 2.4 friendly
svn path=/trunk/gtk-sharp/; revision=46842
2005-07-01 17:45:07 +00:00
Mike Kestner 3c531aa299 2005-07-01 Mike Kestner <mkestner@novell.com>
* generator/Parameters.cs : init allow_complex_refs to true to fix
	build.

svn path=/trunk/gtk-sharp/; revision=46839
2005-07-01 16:46:37 +00:00
Dan Winship 635ed16db4 * generator/Parameters.cs (AllowComplexRefs): new property for
whether or not to allow "complex" ref/out args.
	(Validate): update for that

	* generator/Signal.cs: set AllowComplexRefs false on the params.
	(Validate): fix the messages
	(GenCallback, GenEventHandler): properly handle ref/out args, by
	manually pointerifying them (except for boxed args, which are
	already pointers).

	* glib/Marshaller.cs (StructureToPtrAlloc): Rename from
	PtrToStructureAlloc, since it wraps Marshal.StructureToPtr.

svn path=/trunk/gtk-sharp/; revision=46773
2005-06-30 17:09:39 +00:00