Commit graph

2379 commits

Author SHA1 Message Date
Mike Kestner
92494900ef 2005-08-25 Mike Kestner <mkestner@novell.com>
* sample/GtkDemo/DemoIconView.cs : remove C# 2.0-isms.
	* sample/opaquetest/OpaqueTest.cs : remove C# 2.0-isms.
	* sample/valuetest/ValueTest.cs : remove C# 2.0-isms.
	* sample/PolarFixed.cs : remove C# 2.0-isms.

svn path=/trunk/gtk-sharp/; revision=48852
2005-08-25 19:34:26 +00:00
Mike Kestner
0772f353e2 2005-08-25 Mike Kestner <mkestner@novell.com>
* sample/GtkDemo/DemoIconView.cs : remove some C# 2.0-isms.

svn path=/trunk/gtk-sharp/; revision=48850
2005-08-25 18:44:10 +00:00
Ben Maurer
cbe9bad936 2005-08-23 Ben Maurer <bmaurer@novell.com>
* glib/Object.cs: Escape names and ensure stuff is unique.


svn path=/trunk/gtk-sharp/; revision=48772
2005-08-24 00:36:57 +00:00
Joe Shaw
5f89b3da2f 2005-08-23 Joe Shaw <joeshaw@novell.com>
* generator/SymbolTable.cs: Add "unsigned" as a type
	which maps to "uint".

svn path=/trunk/gtk-sharp/; revision=48754
2005-08-23 18:36:43 +00:00
Joe Shaw
4ecc1e8f03 2005-08-23 Joe Shaw <joeshaw@novell.com>
* parser/gapi2xml.pl: Handle "type const *" return types
	as well.  I think this is all of them!

svn path=/trunk/gtk-sharp/; revision=48753
2005-08-23 18:24:56 +00:00
Joe Shaw
68550ba02a 2005-08-23 Joe Shaw <joeshaw@novell.com>
* parser/gapi2xml.pl: Fix a cut-and-paste error in handling
	"type const *" fields.

svn path=/trunk/gtk-sharp/; revision=48751
2005-08-23 18:03:43 +00:00
Mike Kestner
a4a90e0797 2005-08-23 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : handle foo const * fields.
	* gnome/gnome-api-2.10.raw : regen.

svn path=/trunk/gtk-sharp/; revision=48745
2005-08-23 17:02:47 +00:00
Mike Kestner
ab82f3e933 2005-08-23 Mike Kestner <mkestner@novell.com>
* bootstrap-for-the-insane : restore the message of doom that was
	removed during the "bootstrap-generic" reorganization.

svn path=/trunk/gtk-sharp/; revision=48744
2005-08-23 16:50:44 +00:00
Joe Shaw
6018f119d3 2005-08-22 Joe Shaw <joeshaw@novell.com>
* parser/gapi2xml.pl: Fix a minor bug handling "type const *"
	parameters.

svn path=/trunk/gtk-sharp/; revision=48704
2005-08-22 23:11:08 +00:00
Miguel de Icaza
3e62a2a636 from hqytheljrpogjm@mailinator.com
svn path=/trunk/gtk-sharp/; revision=48701
2005-08-22 23:09:37 +00:00
Miguel de Icaza
6b1dc6fca6 from hisham
svn path=/trunk/gtk-sharp/; revision=48700
2005-08-22 23:09:17 +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
Mike Kestner
349de99a82 2005-08-22 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : handle "type const *" parameters.
	* gdk/gdk-api-2.8.raw : regened probably from one of danw's parser
	fixes.  [Fixes #75844]

svn path=/trunk/gtk-sharp/; revision=48681
2005-08-22 16:59:04 +00:00
Dan Winship
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
Dan Winship
b0f83bc0ad * generator/CallbackGen.cs (Validate, MarshalType): if validation
fails, set MarshalType to "" to propagate that failure into
	methods that have args of this type. [Fixes #75851]

svn path=/trunk/gtk-sharp/; revision=48679
2005-08-22 16:51:38 +00:00
Peter Williams
792093dc32 2005-08-15 Peter Williams <peter@newton.cx>
* bootstrap-generic: New script, handles bootstrapping stuff generically
	and saves bootstrap settings so we can regenerate configure.in from 
	configure.in.in.

	* bootstrap
	* bootstrap-2.4
	* bootstrap-for-the-insane: Modify to use bootstrap-generic

	* Makefile.am (configure.in): Add a rule to run bootstrap.status to
	regenerate configure.in if configure.in.in changes.


svn path=/trunk/gtk-sharp/; revision=48412
2005-08-16 06:08:28 +00:00
Mike Kestner
b4da964207 2005-08-15 Mike Kestner <mkestner@novell.com>
* bootstrap : update for 2.5.90 release. 
	* bootstrap-2.4 : update for 2.3.90 release. 

svn path=/trunk/gtk-sharp/; revision=48400
2005-08-15 18:14:05 +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
3338c10ac9 2005-08-15 Mike Kestner <mkestner@novell.com>
* pango/makefile.win32 : process symbols file at fixup target.

svn path=/trunk/gtk-sharp/; revision=48398
2005-08-15 17:25:01 +00:00
Mike Kestner
34fc9c677b 2005-08-15 Mike Kestner <mkestner@novell.com>
* sample/opaquetest/Makefile.am : make clean fixes
	* sample/valtest/Makefile.am : make clean fixes

svn path=/trunk/gtk-sharp/; revision=48394
2005-08-15 16:48:14 +00:00
Dan Winship
54953f69ea * sample/opaquetest/Makefile.am (EXTRA_DIST): add missing files
(generated/*.cs): fix for srcdir!=builddir
	* sample/valtest/Makefile.am (EXTRA_DIST): add missing files
	(Valobj.cs): fix for srcdir!=builddir

svn path=/trunk/gtk-sharp/; revision=48393
2005-08-15 16:38: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
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