Commit graph

158 commits

Author SHA1 Message Date
Mike Kestner
a3efa762f5 2006-08-10 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : class parsing regex needs to handle protected
	comments too.

svn path=/trunk/gtk-sharp/; revision=63593
2006-08-10 15:06:05 +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
6abcf29dfa 2006-07-27 Mike Kestner <mkestner@novell.com>
* bootstrap*: kill the 2.4/2.6/2.8 straps, they are on a 
	branch now. update 2.10 strap for new apis.
	* sources/Makefile.am : parse 2.16 sources for gnome libs.
	* sources/gtk-sharp-2.10-sources.xml : ditto.
	* parser/gapi-parser.cs : explicitly use an indented XML writer.
	* gnomevfs/gnome-vfs-api-2.16.raw: regen
	* gnomevfs/Gnomevfs.metadata: some build fixes
	* gnome/gnome-api-2.16.raw: regen
	* gnome/Gnome.metadata: some build fixes
	* sample/PrintSample.cs: remove new Gtk/Gnome ambiguities.

svn path=/trunk/gtk-sharp/; revision=63078
2006-07-28 15:39:10 +00:00
Mike Kestner
bcf941851d 2006-07-15 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : regex fix needed for vfs 2.15.3 parse.

svn path=/trunk/gtk-sharp/; revision=62632
2006-07-15 05:22:11 +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
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
6e9ebf451c 2005-09-15 Mike Kestner <mkestner@novell.com>
* parser/gapi-fixup.cs : warn on unmatched rules.  reworked from a Dan
	Winship patch.  [Fixes #76088]

svn path=/trunk/gtk-sharp/; revision=50091
2005-09-15 16:54:00 +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
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
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
Mike Kestner
349de99a82 2005-08-22 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : handle "type const *" parameters.
	* gdk/gdk-api-2.8.raw : regened probably from one of danw's parser
	fixes.  [Fixes #75844]

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

	* */*-api*.raw: Regen

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

svn path=/trunk/gtk-sharp/; revision=47820
2005-07-28 21:24:55 +00:00
Dan Winship
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
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
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
94b7d14a39 2005-06-20 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : fix const foo * const * fields/params.
	[Fixes #75266]

svn path=/trunk/gtk-sharp/; revision=46243
2005-06-20 16:09:27 +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
8f032b793e 2005-06-06 Mike Kestner <mkestner@novell.com>
* Makefile.include : depend on gapi-fixup.exe for the api target.
	* parser/gapi-fixup.cs : remove-node rule handling.

svn path=/trunk/gtk-sharp/; revision=45502
2005-06-06 15:32:22 +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
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
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
Mike Kestner
f0f47bf078 2005-05-03 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : parse const * const * Foo () properly.
	[Fixes #74710]

svn path=/trunk/gtk-sharp/; revision=43925
2005-05-03 13:59:25 +00:00
Ben Maurer
9f5eb0a70d * */Makefile.am: more build fixes
svn path=/trunk/gtk-sharp/; revision=43697
2005-04-27 23:21:55 +00:00
Mike Kestner
1f555ab568 2005-04-21 Mike Kestner <mkestner@novell.com>
* configure.in : require gtk+ 2.6.
	* generator/ReturnValue.cs : invalidate Callback returns for now.
	* gtk/Gtk.metadata : some renames for conflicting new API.
	* parser/gapi2xml.pl : whitespace tweak for class VM regexen.
	* sources/Makefile.am : add new patch, kill atk patch, revise dirs.
	* sources/atkhyperlink.patch : kill unnecessary patch.
	* sources/gtkclipboard.patch : add new clipboard patch.
	* sources/gtk-sharp-sources.xml : parse gtk+-2.6.
	* */*-api.raw : regen pango, atk, gdk, and gtk for new versions.

svn path=/trunk/gtk-sharp/; revision=43412
2005-04-21 17:10:54 +00:00
Dan Winship
d86a481b38 * parser/gapi_pp.pl: add "#if 0" to $eatit_regex
svn path=/trunk/gtk-sharp/; revision=43407
2005-04-21 15:21:11 +00:00
Mike Kestner
e56d2feafc kill useless .cvsignore files
svn path=/trunk/gtk-sharp/; revision=43355
2005-04-20 20:11:00 +00:00
Mike Kestner
78bd3e2600 2005-04-20 Mike Kestner <mkestner@novell.com>
* parser/gapi-parser.cs : add a directory element with child exclude
	elements to simplify source version updating. 
	* sources/gtk-sharp-sources.xml : switch to directory elements.

svn path=/trunk/gtk-sharp/; revision=43354
2005-04-20 19:52:47 +00:00
Mike Kestner
8f9d1cb15d 2005-04-15 Mike Kestner <mkestner@novell.com>
* configure.in : remove unnecessary libxml check.
	* parser/gapi-parser.cs : use a System.Xml to kill gapi_format_xml.
	* parser/formatXml.c : kill.
	* parser/Makefile.am : kill gapi_format_xml
	* */*-api.raw : enormous whitespace diff. sorry dawgs on mono-patches.

svn path=/trunk/gtk-sharp/; revision=43080
2005-04-15 21:29:56 +00:00
Mike Kestner
68ab921940 2005-04-15 Mike Kestner <mkestner@novell.com>
* parser/gapi-parser.cs : C# rewrite of the old perl driver script.
	* parser/gapi_parser.pl : kill.
	* parser/gapi2-parser.in : invoke via $(RUNTIME).
	* parser/Makefile.am : build rework for C# parser driver.
	* sources/Makefile.am : use $(RUNTIME) to invoke new parser assm.

svn path=/trunk/gtk-sharp/; revision=43077
2005-04-15 20:52:44 +00:00
Mike Kestner
fb6aeb35da 2005-03-30 Jeroen Zwartepoorte <jeroen@xs4all.nl>
* parser/gapi2xml.pl : parse gst type macros.

svn path=/trunk/gtk-sharp/; revision=42388
2005-03-30 20:53:46 +00:00
Dan Winship
05ddfae8dc * parser/gapi2xml.pl (parseTypeToken): don't parse punctuation
into the type name

	* gtk/gtk-api.raw: Regen, exposing the previously-broken
	AccelGroup.AccelActivate, AccelMap.Changed,
	ActionGroup.ConnectProxy, ActionGroup.DisconnectProxy,
	ActionGroup.PreActivate, ActionGroup.PostActivate, and
	Widget.EventAfter.

	* gtk/Gtk.metadata: Give proper names to the parameters of those
	signals

svn path=/trunk/gtk-sharp/; revision=41111
2005-02-23 20:16:40 +00:00
Dan Winship
65edda888f * parser/gapi2xml.pl: add a hack to allow "foo_bar_get_type()"
rather than "FOO_TYPE_BAR" in G_TYPE_CHECK_INSTANCE_CAST macros,
	allowing large parts of libgda that were previously misparsed to
	be parsed correctly

	* gda/gda-api.raw: Regen

	* gda/Gda.metadata: Make Gda.Value opaque, since it's mostly a
	union and we're horribly butchering its layout.

svn path=/trunk/gtk-sharp/; revision=41103
2005-02-23 17:37:06 +00:00
Mike Kestner
31a6de44ca 2005-01-31 Mike Kestner <mkestner@novell.com>
* generator/SymbolTable.cs : handle unsigned-*.
	* parser/gapi2xml.pl : handle const unsigned * parameters. Also fix
	a G_GNUC_PRINTF parsing bug exposed by a GMime.
	* */*-api.raw : regen.
	[Fixes #71825]


svn path=/trunk/gtk-sharp/; revision=39851
2005-01-31 15:23:41 +00:00
Mike Kestner
de1136450c 2005-01-18 Mike Kestner <mkestner@novell.com>
* gtk/gtk-api.raw : regen.
	* parser/gapi2xml.pl : deal with G_GNUC_PRINTF.

svn path=/trunk/gtk-sharp/; revision=39126
2005-01-19 02:31:41 +00:00
Mike Kestner
6f6d3cb078 remove a few c.wls that snuck in
svn path=/trunk/gtk-sharp/; revision=38628
2005-01-10 16:23:50 +00:00
Mike Kestner
8fd87b2e0a 2005-01-08 Mike Kestner <mkestner@novell.com>
* configure.in : kill a ton of redundant stuff.
	* AssemblyInfo.cs.in : moved here, only need one.
	* Makefile.include : rules for building generated assemblies.
	* Makefile.am : removed gtk-sharp-2.0.pc handling.
	* */AssemblyInfo.cs.in : killed
	* */Makefile.am : refactored out a ton of rules to an include.
	* */*-pc.in : added Cflags entries pointing to the gapi files.
	* generator/CodeGenerator.cs : add -I: synonym --include.
	* gnomevfs/gnome-vfs-api.raw : remamed from gnomevfs-api.raw.
	* gtk/gtk-sharp-2.0.pc.in : moved here from top.
	* parser/gapi-fixup.cs : add --symbol arg to merge sym files.
	* sources/gtk-sharp-sources.xml : remamed gnome-vfs-api.raw.

svn path=/trunk/gtk-sharp/; revision=38551
2005-01-09 00:26:45 +00:00
Mike Kestner
574aa2ee06 2005-01-07 Mike Kestner <mkestner@novell.com>
* configure.in : check for panelapplet in enable_gnome and remove
	all the stuff for a separate panelapplet-sharp assembly.
	* Makefile.am : remove panelapplet dir from build.
	* gnome/BonoboUIVerb.cs : moved from panelapplet.
	* gnome/Gnome.metadata : add rules from panelapplet.
	* gnome/Makefile.am : add new files.
	* gnome/PanelApplet.custom : moved from panelapplet.
	* gnome/PanelAppletFactory.cs : moved from panelapplet.
	* gnome/glue/panelapplet.c : moved from panelapplet.
	* gnome/glue/Makefile.am : add new file.
	* gnomedb/GnomeDb.metadata : hide a newly parsed "obsolete" type.
	* gtk/Gtk.metadata : hide a newly parsed "obsolete" callback type.
	* panelapplet : kill dir.
	* parser/gapi2xml.pl : update callback name sanity check.
	* sources/gtk-sharp-sources.xml : move panelapplet parse into gnome.
	* */*-api.raw : regen.

svn path=/trunk/gtk-sharp/; revision=38509
2005-01-07 21:29:38 +00:00
Mike Kestner
ba4b11a21b 2004-12-22 Mike Kestner <mkestner@novell.com>
* gdk/gdk-api.raw : update enum values.
	* gnome/gnome-api.raw : update enum values.
	* gtk/gtk-api.raw : update enum values.
	* pango/pango-api.raw : update enum values.
	* parser/gapi2xml.pl : pull whitespace out of enum prefixing logic.
	[Fixes #70593]

svn path=/trunk/gtk-sharp/; revision=38051
2004-12-22 19:12:15 +00:00
Dan Winship
a610fb9a79 * generator/GUnicharGen.cs: generatable for gunichar, using
GLib.Marshaller.CharToGUnichar and .GUnicharToChar [#70704]

        * generator/SymbolTable.cs (SymbolTable): add a GUnicharGen.

        * generator/Makefile.am (sources): add GUnicharGen.cs

        * parser/gapi2xml.pl (addPropElem): g_param_spec_unichar() has
        type "gunichar" not "unichar".

        * gtk/gtk-api.raw: Regen

        * glib/Marshaller.cs: Import CharToGUnichar's glue method by the
        right name

svn path=/trunk/gtk-sharp/; revision=37998
2004-12-20 22:05:21 +00:00
Dan Winship
88cc4817f5 * parser/gapi_pp.pl: Don't strip out /*< public >*/ and
/*< private >*/ comments.

        * parser/gapi2xml.pl: Use those comments to determine the
        accessibility of struct/object fields, and set the "access"
        attribute on fields with non-default accessibiliy (private for
        structs, public for objects). Also, output a StudlyName for each
        field as well as a c_name.

        * */*-api.raw: Regen

        * generator/Field.cs (StudlyName): Use the parser-generated studly
        name rather than studlifying Name, which might have been mangled
        to avoid conflicts with an all-lowercase keyword.
        (Generate): Respect the access property on all field types rather
        than always making certain types public. Don't bother outputting
        wrapper properties for private fields, since the only code that
        could use them is the generated code, which won't.

        See doc/ChangeLog for the (very minimal) fallout from these
        changes.

        * en/Art/AlphaGamma.xml:
        * en/Gtk/TextAttributes.xml (Refcount):
        * en/Pango/GlyphString.xml (Space): these are now private

        * en/Gda/XqlItem.xml:
        * en/Glade/SignalInfo.xml:
        * en/Gnome.Vfs/ModuleCallbackSaveAuthenticationIn.xml: 
        * en/Gnome.Vfs/ModuleCallbackFullAuthenticationIn.xml: 
        * en/Gnome.Vfs/ModuleCallbackFillAuthenticationIn.xml: rename
        Objekt to Object.

        * en/Atk/KeyEventStruct.xml: rename Str1ng to String

svn path=/trunk/gtk-sharp/; revision=37853
2004-12-16 23:22:07 +00:00
Dan Winship
e0a0bd13fa * gdk/gdk-symbols.xml: alias GdkBitmap to GdkPixmap [Fixes
* #68824]

        * gdk/Gdk.metadata: Remove the earlier GdkBitmap hack now that
        it's aliased. Also move Gdk.Bitmap.CreateFromData to
        Gdk.Pixmap.CreateBitmapFromData

        * gdk/Pixbuf.custom (RenderPixmapAndMask,
        RenderPixmapAndMaskForColormap, RenderThresholdAlpha):
        s/Bitmap/Pixmap/

        * sample/GtkDemo/DemoTextView.cs: uncomment the fg/bg stipple
        code, since that works now

        * parser/gapi-fixup.cs: Add an "add-node" rule. This turned out
        * to
        not actually be needed for this fix, but we know we'll need it
        later, so here it is.

svn path=/trunk/gtk-sharp/; revision=37055
2004-12-03 20:42:12 +00:00
Mike Kestner
26234d915b 2004-11-18 Mike Kestner <mkestner@novell.com>
* parser/gapi2xml.pl : fix a missing semi in a vm regex.
	* */*-api.raw : regen with missing vms.

svn path=/trunk/gtk-sharp/; revision=36287
2004-11-18 21:30:18 +00:00
Dan Winship
9d04b4dd06 Redo child property handling; now we generate classes to hold
the
        child properties for a given widget in a container, and generate
        the child properties as properties on those classes.
        
        * parser/gapi2xml.pl (addPropElem): don't prepend "child_" to
        child prop names any more

        * generator/ClassBase.cs (ClassBase): keep childprops separate
        from properties
        (GenChildProperties): create a subclass of Gtk.ContainerChild
        containing the container type's child properties, and override
the
        Container indexer to return that type.

        * generator/ObjectGen.cs (Generate): call GenChildProperties

        * generator/Property.cs:
        * generator/ChildProperty.cs: Simplify these a bunch, since
        * child
        properties are now represented as C# properties as well. Also
add
        [GLib.Property(cname)] and [Gtk.ChildProperty(cname)]
attributes.

        * glib/Makefile.am (sources): add PropertyAttribute.cs

        * glib/PropertyAttribute.cs: attribute used to label
        GObject properties

        * gtk/Makefile.am (sources): add ChildPropertyAttribute.cs

        * gtk/gtk-api.raw: regenerate for parser changes (remove
        "Child"/"child_" from child property names).

        * gtk/ChildPropertyAttribute.cs: attribute used to label
        GtkContainer child properties

        * gtk/Container.custom: define the ContainerChild class, and an
        indexer to return instances of it.

        * doc/en/Gtk/: update for container child property change

svn path=/trunk/gtk-sharp/; revision=36284
2004-11-18 20:31:22 +00:00
Mike Kestner
7b9e2ba720 2004-11-13 Mike Kestner <mkestner@novell.com>
* */*-api.raw : rerun the parser for new vm-age and cleanups.
	* parser/gapi_pp.pl : suppress union types, since we can't generate
	them.  smarter get_type regex. ignore #errors.
	* parser/gapi2xml.pl : generate vm elements for GInterfaces. Deal
	with G_CONST_RETURN in vms. deal with "struct _foo" types in method
	prototypes.

svn path=/trunk/gtk-sharp/; revision=36088
2004-11-13 05:32:26 +00:00