Commit graph

21 commits

Author SHA1 Message Date
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
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 ab07fa8056 updates to assembly version elements
svn path=/trunk/gtk-sharp/; revision=46164
2005-06-17 18:43:30 +00:00
Mike Kestner b939f1f390 2005-06-16 Mike Kestner <mkestner@novell.com>
* en/*/*.xml : run the versionator to add since elements for 2.4.

svn path=/trunk/gtk-sharp/; revision=46100
2005-06-16 18:56:42 +00:00
Mike Kestner 5b8c8ab531 2005-05-23 Mike Kestner <mkestner@novell.com>
* Makefile.am : add an update-delete target for --delete.
	* en/*/*.xml : update-delete.

svn path=/trunk/gtk-sharp/; revision=44918
2005-05-23 21:11:27 +00:00
Mike Kestner f8d36b9453 2005-05-23 Mike Kestner <mkestner@novell.com>
* configure.in.in : add monodocer-fu.

2005-05-23  Mike Kestner  <mkestner@novell.com>

	* Makefile.am : switch to monodocer
	* updater : kill
	* en/*/*.xml : enormo-diff from monodocer first run without --delete.

svn path=/trunk/gtk-sharp/; revision=44915
2005-05-23 20:41:51 +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
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
Mike Kestner fdcc41a70b 2004-08-17 Mike Kestner <mkestner@ximian.com>
* pango/Pango.metadata : metadata for the pango audit.
	* pango/*.custom : customizations to fix audited API.
	* doc/en/* : docs for some api changes and additions.
	* glib/Marshaller.cs : some gunichar marshal-fu.
	* glib/glue/unichar.c : a new glue method.

svn path=/trunk/gtk-sharp/; revision=32462
2004-08-17 20:43:49 +00:00
Shane Landrum 65ce35728c 2004-08-13 Shane Landrum <epicene@pobox.com>
* en/Gtk/TextAppearance.xml
	* en/Gtk/TextAttributes.xml: Classes to control text presentation.

svn path=/trunk/gtk-sharp/; revision=32314
2004-08-13 16:38:43 +00:00
Mike Kestner 2b6efdc91c 2004-06-21 Mike Kestner <mkestner@ximian.com>
* en/*/*.xml : document GType props via script-fu. 620 TBAs killed.

svn path=/trunk/gtk-sharp/; revision=30066
2004-06-21 20:14:42 +00:00
Mike Kestner 80a32deaa6 2003-02-25 Mike Kestner <mkestner@ximian.com>
* Pango/*.xml : run updater and kill stubbed deprecates
	* Atk/*.xml : run updater and kill stubbed deprecates
	* Gdk/*.xml : run updater and kill stubbed deprecates
	* Gtk/*.xml : run updater and kill stubbed deprecates

svn path=/trunk/gtk-sharp/; revision=23492
2004-02-26 18:46:28 +00:00
John Luke ec87d5d92d 2003-12-22 John Luke <jluke@cfl.rr.com>
* en/GLib/GType.xml:
	* en/GLib/DefaultSignalHandlerAttribute.xml: added
	* */*/.xml: run updater

svn path=/trunk/gtk-sharp/; revision=21469
2003-12-24 01:35:30 +00:00
John Luke 0b12cb5378 run the updater
svn path=/trunk/gtk-sharp/; revision=19429
2003-10-28 00:48:23 +00:00
John Luke 74ceff8411 run updater
svn path=/trunk/gtk-sharp/; revision=18908
2003-10-12 09:06:39 +00:00
John Luke cc1f6e10f2 run the updater, add docs for Art, Gda, and GnomeDb
(includes Gnome.Print)

svn path=/trunk/gtk-sharp/; revision=18154
2003-09-17 21:56:59 +00:00
Joshua Tauberer 9d0a50175b Updated GtkSharp docs for monodoc's needs
svn path=/trunk/gtk-sharp/; revision=16463
2003-07-21 00:13:00 +00:00
Duncan Mak efa9acf122 2003-03-06 Duncan Mak <duncan@ximian.com>
* en/*/*.xml: Updated all the docs to match the new API. All the nodes
	that no longer have a corresponding member in the type are now
	marked as deprecated. We'll have to wait for Miguel to implement
	this in the browser to stop displaying them.

	All gtype constructors have been regenerated, because of the
	'uint' to 'GLib.Type' change. However, this patch will preserve
	(well, it was regenerated) the customized text for those GType
	constructors.

	A lot of the 'Finalized' methods are also now marked as
	deprecated, because the classes implement 'Dispose' instead. This
	is a possible place for customized scripts to generate template
	documentation, similar to the GType property and GType constructors.

svn path=/trunk/gtk-sharp/; revision=12270
2003-03-07 01:30:00 +00:00
Duncan Mak f3966a2a4c 2003-02-23 Duncan Mak <duncan@ximian.com>
* en/*/*.xml: a Big patch. This adds code-generated documentation
	for internal constructors, the GType property and the Finalized method.

svn path=/trunk/gtk-sharp/; revision=11858
2003-02-23 07:26:30 +00:00
Duncan Mak 7661dafe09 2003-02-14 Duncan Mak <duncan@ximian.com>
* en/*: Updated the docs and added a new Maintainer attribute, also
	fixed the generator to produce 'ref/out' modifiers for parameters.

svn path=/trunk/gtk-sharp/; revision=11599
2003-02-15 03:08:25 +00:00
Duncan Mak 52f747583f Gtk docs
svn path=/trunk/gtk-sharp/; revision=11508
2003-02-12 02:00:12 +00:00