Commit graph

160 commits

Author SHA1 Message Date
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
Mike Kestner
220caaa929 2004-11-12 Mike Kestner <mkestner@novell.com>
* parser/gapi_pp.pl : fix multi-line extern parsing.

svn path=/trunk/gtk-sharp/; revision=36086
2004-11-13 03:09:14 +00:00
Mike Kestner
314419c926 2004-11-12 Mike Kestner <mkestner@novell.com>
* parser/gapi_pp.pl : fix a struct parsing bug.

svn path=/trunk/gtk-sharp/; revision=36085
2004-11-13 02:18:31 +00:00
Dan Winship
df41dcc177 * parser/gapi2xml.pl (parseInitFunc, addPropElem): handle
GtkContainer child properties

	* generator/Property.cs:
	* generator/ChildProperty.cs: make Property subclassable and add a
	"ChildProperty" subclass.

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

	* generator/ClassBase.cs: handle "childprop" nodes by creating
	ChildProperty objects.

	* glib/Value.cs (explicit operator EnumWrapper): use
	g_value_get_flags() rather than g_value_get_enum() when
	appropriate.

	* glib/glue/value.c (glibsharp_value_holds_flags): glue for that

	* gtk/gtk-api.raw: regen to pick up child properties

	* gtk/Gtk.metadata:
	* gtk/Container.custom: hide the auto-generated
	Gtk.Container.ChildGetProperty and implement a nicer one by hand.

	* gtk/glue/container.c (gtksharp_container_child_get_property):
	utility function to set up an appropriate GValue for us

svn path=/trunk/gtk-sharp/; revision=35702
2004-11-05 16:47:15 +00:00
Mike Kestner
7f3171c814 merge to HEAD of jeroen and friends' work on the 2-4 branch. HEAD
is now tracking Gnome 2.6.

svn path=/trunk/gtk-sharp/; revision=35479
2004-10-29 20:33:07 +00:00
Mike Kestner
0cbff45649 2004-07-30 Mike Kestner <mkestner@ximian.com>
* parser/gapi2xml.pl : char const * fixes for clahey's gsf binding.

svn path=/trunk/gtk-sharp/; revision=31687
2004-07-30 20:36:39 +00:00
Mike Kestner
f96454a364 2004-06-25 Mike Kestner <mkestner@ximian.com>
* generator/*.cs : add gpl license blurb and clean up (c)'s.
	* parser/* : ditto
	* doc/*.cs : ditto
	* doc/gen-handlerargs-docs.cs : add little scripty.

svn path=/trunk/gtk-sharp/; revision=30398
2004-06-25 16:35:15 +00:00
Mike Kestner
80cc52bd47 kill the cvsignore too.
svn path=/trunk/gtk-sharp/; revision=28087
2004-05-25 21:29:12 +00:00
Mike Kestner
7a518421ab 2004-05-25 Mike Kestner <mkestner@ximian.com>
* configure.in : don't expand the GAPI Makefile.
	* parser/Makefile.am : remove SUBDIRS.
	* parser/gapi2xml.pl : remove GAPI::Metadata usage.
	* parser/GAPI/* : kill. long live gapi-fixup.

svn path=/trunk/gtk-sharp/; revision=28085
2004-05-25 21:27:41 +00:00
Mike Kestner
37a37adf53 2004-03-18 Mike Kestner <mkestner@ximian.com>
* parser/gapi2xml.pl : fix passbyvalue bug in vm parsing.
	* */*.raw : regen

svn path=/trunk/gtk-sharp/; revision=24290
2004-03-18 20:25:07 +00:00
John Luke
51a6b95ed4 2004-03-14 John Luke <jluke@cfl.rr.com>
* parser/gapi-fixup.in:
        * generator/gapi-codegen.in: s/@MONO@/@RUNTIME@

svn path=/trunk/gtk-sharp/; revision=24026
2004-03-14 21:51:37 +00:00
Mike Kestner
e83c55a242 2004-03-12 Mike Kestner <mkestner@ximian.com>
* */Makefile.am : automakify the build
	* */Makefile.in : kill
	* *.custom : remove System.Drawing dependencies
	* *.cs : remove System.Drawing dependencies
	* *-api.xml : mv to *-api.raw
	* glue/* : mv to lib specific gluelibs for glib, gdk, gtk, and glade.
	* gtk/gtk-symbols : alias GtkType to GType
	* sources/gtk-sharp-sources.xml : create .raw files. They are now
	transformed to .xml files by the metadata compilation step.

svn path=/trunk/gtk-sharp/; revision=23967
2004-03-12 21:18:11 +00:00
Mike Kestner
64e69d3832 2004-03-08 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : ignore virtual_method elems for now.
	* parser/gapi2xml.pl : parse the non-signal class methods and add as
	virtual_method elements in the API xml
	* */*-api.xml : regen

svn path=/trunk/gtk-sharp/; revision=23809
2004-03-08 18:08:48 +00:00
Mike Kestner
d41f6593b0 2004-02-10 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : mark a field private
	* art/art-api.xml : regen
	* gda/Gda.metadata : mark a few structs opaque
	* gda/gda-api.xml : regen
	* gdk/*.custom : fix changed field names
	* gdk/gdk-api.xml : regen
	* generator/Field.cs : StudlyCase simple typed field names.
	* gnome/Gnome.metadata : mark FontEntry.weight private to
	avoid collision with Weight field. s|//|/api/namespace|g
	* gnome/gnome-api.xml : regen
	* gtk/Gtk.metadata : rename AccelKey.accel_key to key to
	avoid collision with type name.
	* gtk/*.custom : fix changed field names
	* gtk/gtk-api.xml : regen
	* pango/pango-api.xml : regen
	* parser/gapi_pp.pl : add a private_regex to hide BACKEND
	and ENGINE apis, which are by convention private.
	* sample/* : make compile
	* sample/GtkDemo/* : make compile
	* sample/test/* : make compile
	* sources/gtk-sharp-sources.xml : exclude a bunch of pango
	source files.

svn path=/trunk/gtk-sharp/; revision=22947
2004-02-10 16:04:50 +00:00
Mike Kestner
0b41ef6a58 2004-01-28 Mike Kestner <mkestner@ximian.com>
* gtk/gtk-api.xml : regen
	* parser/gapi2xml.pl : fix signals parsing where a STRUCT_OFFSET
	is not present in the signal_new call.
	* parser/gapi_pp.pl : ignore #ident lines.
	* vte/vte-api.xml : regen
	[Fixes #53189]

svn path=/trunk/gtk-sharp/; revision=22583
2004-01-28 21:44:25 +00:00
Mike Kestner
2340cb040e 2004-01-25 Mike Kestner <mkestner@ximian.com>
* art/art-api.xml : regen
	* gdk/gdk-api.xml : regen
	* generator/SymbolTable.cs : add unsigned char mapping
	* gnome/gnome-api.xml : regen
	* parser/gapi2xml.pl : handle unsigned keyword in fields,
	typedefs, and parameter types.
	[Fixes #53055]

svn path=/trunk/gtk-sharp/; revision=22487
2004-01-26 04:53:05 +00:00
Mike Kestner
336bb6a786 2004-01-25 Mike Kestner <mkestner@ximian.com>
* gdk/gdk-api.xml : regen
	* gnome/gnome-api.xml : regen
	* gtk/gtk-api.xml : regen
	* parser/gapi2xml.pl : handle typedef struct {...} Foo;
	[Fixes #53312]

svn path=/trunk/gtk-sharp/; revision=22486
2004-01-26 04:10:32 +00:00
Mike Kestner
406320a945 2003-12-12 Mike Kestner <mkestner@ximian.com>
* gnome/gnome-api.xml : regen'd
	* parser/gapi2xml.pl : handle typedef enum _foo foo;
	* parser/gapi-parser : support <exclude> elements in addition to <dir>
	and <file> to specify the sources to be parsed.

svn path=/trunk/gtk-sharp/; revision=21081
2003-12-12 22:36:52 +00:00
Mike Kestner
2b71c9172e 2003-12-04 Mike Kestner <mkestner@ximian.com>
* parser/gapi2xml.pl : fix for const param handling [#50295]

svn path=/trunk/gtk-sharp/; revision=20780
2003-12-04 17:52:02 +00:00
Mike Kestner
cf901a483b 2003-11-19 Mike Kestner <mkestner@ximian.com>
* parser/gapi_pp.pl : handle files and dirs in ARGV.
	* parser/gapi2xml.pl : deal with struct keyword in param decls
	* parser/gapi-parser : handle <file> elements.

svn path=/trunk/gtk-sharp/; revision=20238
2003-11-19 18:44:01 +00:00
Mike Kestner
8c66c5c7c6 2003-11-14 Mike Kestner <mkestner@ximian.com>
* gtk/Gtk.metadata : fully qualify attr paths
	* parser/gapi-fixup.cs : compile a path expression per Ben Maurer
	suggestion.

svn path=/trunk/gtk-sharp/; revision=20013
2003-11-14 22:34:07 +00:00
Mike Kestner
d69268abbf 2003-11-07 Mike Kestner <mkestner@ximian.com>
* configure.in : add mono check.  expand wrapper scripts
	* generator/Makefile.in : use install. install a gapi-codegen wrapper.
	* generator/SymbolTable.cs : add SimpleGen for short
	* generator/gapi-codegen.in : new wrapper script in file.
	* parser/Makefile.in : use install. install a gapi-fixup wrapper.
	* generator/gapi-fixup.in : new wrapper script in file.
	* parser/gapi2xml.pl : deal with non-namespaced enums. ignore
	forward struct declarations.

svn path=/trunk/gtk-sharp/; revision=19712
2003-11-07 18:14:35 +00:00
Mike Kestner
8eeccbb55c 2003-10-20 Mike Kestner <mkestner@ximian.com>
* atk/atk-api.xml : regenerated
	* gdk/gdk-api.xml : regenerated
	* gtk/gtk-api.xml : regenerated
	* gtkhtml/gtkhtml-api.xml : regenerated [Fixes #49875]
	* parser/gapi2xml.pl : handle unnamed parameter declarations.

svn path=/trunk/gtk-sharp/; revision=19217
2003-10-20 20:02:16 +00:00
Mike Kestner
ff35a19db0 2003-10-18 Mike Kestner <mkestner@ximian.com>
* gtk/Gtk.metadata : add move-node rules for Paint methods.
	* gtk/gtk-api.xml : regenerated
	* parser/gapi2xml.pl : put paint_ methods in global, not Paint.
	* parser/gapi-fixup.cs : add move-node rule handling. [Fixes #47980]

svn path=/trunk/gtk-sharp/; revision=19184
2003-10-19 01:35:24 +00:00
Mike Kestner
f314da0c9f 2003-10-13 Mike Kestner <mkestner@ximian.com>
* gnome/Gnome.metadata : new xpath metadata rules
	* gnome/Makefile.in : apply metadata before generation
	* gnome/gnome-api.xml : regenerated
	* parser/gapi-fixup.cs : use XmlDocument.Save (filename)
	instead of opening a stream manually.
	* sources/Gnome.metadata : killed

svn path=/trunk/gtk-sharp/; revision=18975
2003-10-13 17:38:22 +00:00
Mike Kestner
6e44bd8cdb 2003-10-12 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : new xpath metadata rules
	* art/Makefile.in : apply metadata before generation
	* atk/Atk.metadata : new xpath metadata rules
	* atk/Makefile.in : apply metadata before generation
	* gda/Gda.metadata : new xpath metadata rules
	* gda/Makefile.in : apply metadata before generation
	* gdk/Gdk.metadata : new xpath metadata rules
	* gdk/Makefile.in : apply metadata before generation
	* gnomedb/GnomeDb.metadata : new xpath metadata rules
	* gnomedb/Makefile.in : apply metadata before generation
	* pango/Pango.metadata : new xpath metadata rules
	* pango/Makefile.in : apply metadata before generation
	* parser/Makefile.in : build and install new gapi-fixup
	* parser/gapi-fixup.cs : new xpath based metadata engine
	* sources/*.metadata : remove most of the old metadata,
	still have to convert Gtk and Gnome to xpaths.

svn path=/trunk/gtk-sharp/; revision=18947
2003-10-13 03:06:22 +00:00
Mike Kestner
3c973421cb 2003-10-09 Mike Kestner <mkestner@ximian.com>
* api/*-api.xml : regenerated
	* parser/gapi_pp.pl : ignore simple comments.  [Fixes #47450]
	* parser/gapi2xml.pl : turn off debug.

svn path=/trunk/gtk-sharp/; revision=18794
2003-10-09 05:54:55 +00:00
Mike Kestner
ec59bb6398 2003-10-07 Mike Kestner <mkestner@ximian.com>
* parser/gapi2xml.pl : look for ");" at the end of property
	declarations to avoid problems with ';' in property docstrings.
	* api/gtk-api.xml : regenerated.  [Fixes #47987]

svn path=/trunk/gtk-sharp/; revision=18715
2003-10-07 19:28:40 +00:00
Mike Kestner
ff7d040ae0 2003-10-02 Mike Kestner <mkestner@ximian.com>
* api/gnome-api.xml : regenerated
	* parser/gapi2xml.pl : handle enum <name> {...};  Thanks to
	Martin for identifying the bug and providing a candidate patch.

svn path=/trunk/gtk-sharp/; revision=18524
2003-10-02 15:48:36 +00:00
Mike Kestner
4da6295257 2003-10-01 Mike Kestner <mkestner@ximian.com>
* README.generator : updates for new parser script
	* api/Makefile.in : add gtkhtml-api.xml
	* api/*-api.xml : regenerated
	* parser/makefile : install new parsing script
	* parser/gapi-parser : new xml-driven parsing script
	* sources/makefile : call new parsing script
	* sources/gtk-sharp-sources.xml : new parser input file
	* sources/gtk-sharp.sources : killed

svn path=/trunk/gtk-sharp/; revision=18491
2003-10-01 21:42:29 +00:00
Mike Kestner
fe3e323429 2003-09-03 Aleksey Sanin <aleksey@aleksey.com>
* parser/GAPI/Metadata.pm: enable enums processing using
 	<class/> element syntax

svn path=/trunk/gtk-sharp/; revision=17846
2003-09-03 13:14:19 +00:00
Mike Kestner
90705a1c98 2003-07-14 Mike Kestner <mkestner@speakeasy.net>
* api/*-api.xml : regenerated
	* gdk/Drawable.custom : DrawRectangle filled param is now bool
	* generator/Parameters.cs : studlify names ending w/ uscore
	* gtk/GtkSharp.GtkClipboardClearFuncNative : s/Opaque/Object
	* gtk/GtkSharp.GtkClipboardGetFuncNative : s/Opaque/Object
	* parser/gapi2xml.pl : put <ns>_string_* methods in Global
	* sample/Scribble.cs : update to new DrawRectangle api
	* sources/Gdk.metadata : hide some conflicting methods
	* sources/Gtk.metadata : finally fix the Progress crap and
	renames, hides and such to fix conflicts
	* sources/README : mention new gtk-2.2 reqs
	* sources/gtk-sharp.sources : update to new gtk-2.2 reqs
	* sources/makefile : update for 2.2 api

svn path=/trunk/gtk-sharp/; revision=16254
2003-07-15 05:52:09 +00:00
Mike Kestner
3ff827ed69 2003-07-10 Mike Kestner <mkestner@speakeasy.net>
* api/*-api.xml : regenerated
	* gdk/Threads.cs : killed since the methods are now gen'd
	* generator/ClassGen.cs : new, static class generatable
	* generator/Parameters.cs : mangle new and byte as param names
	* generator/Parser.cs : parse new <class> elements
	* generator/SymbolTable.cs : add GC SimpleGen
	* parser/gapi2xml.pl : static class element fixes
	* parser/GAPI/Metadata.pm : add class element
	* sources/Art.metadata: new, rename Affine.ToString method
	* sources/Atk.metadata: rename State class
	* sources/Gdk.metadata: hide Pixbuf static class for now. rename
	Event and Pango static classes to avoid collisions.
	* sources/Gnome.metadata: rename Gtk and Gdk static classes to
	avoid collisions.
	* sources/GnomeDb.metadata: rename Stock static class to
	avoid collisions.
	* sources/Gtk.metadata: rename Stock static class to
	avoid collisions. Hide Idle class.

svn path=/trunk/gtk-sharp/; revision=16115
2003-07-11 02:00:13 +00:00
Mike Kestner
2d3e7d7c9c 2003-07-06 Mike Kestner <mkestner@speakeasy.net>
* api/gtk-api.xml : regenerated
	* parser/GAPI/Metadata.pm : add support for property
	attribute alteration.
	* sources/Gtk.metadata : rule to mark TextTag.Weight as
	PangoWeight instead of gint. fixes 45214.

svn path=/trunk/gtk-sharp/; revision=15977
2003-07-06 06:33:15 +00:00
Mike Kestner
54a97361e9 2003-07-05 Mike Kestner <mkestner@speakeasy.net>
* api/*-api.xml : regenerated
	* parser/gapi2xml.pl : first pass at trying to expose
	static classes for typeless method aggregation.

svn path=/trunk/gtk-sharp/; revision=15976
2003-07-06 04:08:13 +00:00
Mike Kestner
a41824d910 2003-07-04 Mike Kestner <mkestner@speakeasy.net>
* api/*-api.xml : regenerated
	* parser/gapi2xml.pl (addFuncElems): only ignore get_type
	methods for enum types, so that we don't suppress some methods.
	(addPropElem): remove doc-str since we don't autogen docs and
	access types for enum/boxed/flags/obj as an offset from the end
	of the param_spec to avoid problems with split(/,/).

svn path=/trunk/gtk-sharp/; revision=15954
2003-07-05 04:07:48 +00:00
Martin Willemoes Hansen
ff5b07b97a * parser/gapi_pp.pl: Added striping of C comments
svn path=/trunk/gtk-sharp/; revision=15639
2003-06-25 21:22:28 +00:00
Mike Kestner
e1036250bb 2003-06-14 Mike Kestner <mkestner@speakeasy.net>
* parser/gapi2xml.pl : some whitespace parsing cleanup
	* api/*-api.xml : rerun of the parser.

svn path=/trunk/gtk-sharp/; revision=15383
2003-06-14 16:15:17 +00:00
Rachel Hestilow
037c9e8255 2003-05-27 Rachel Hestilow <rachel@nullenvoid.com>
* sample/ManagedTreeViewDemo.cs: Remove debugging cruft.

	* gconf/.cvsignore, gconf/GConf/.cvsignore,
	gconf/GConf.PropertyEditors/.cvsignore,
	gconf/tools/.cvsignore, sample/gconf/.cvsignore,
	sample/rsvg/.cvsignore: Added.
	* .cvsignore, parser/.cvsignore: Update.

svn path=/trunk/gtk-sharp/; revision=14923
2003-05-27 06:58:42 +00:00
Charles Iliya Krempeaux
5a5da15744 2003-04-25 Charles Iliya Krempeaux <charles@reptile.ca>
* gtk-sharp.pc.in, parser/gapi.pc.in : Both of these
          files were checked in as empty files, before.  Checked
          them in, this time, with something in them.

svn path=/trunk/gtk-sharp/; revision=14005
2003-04-25 20:39:46 +00:00
Charles Iliya Krempeaux
b6a0a2b504 2003-04-14 Charles Iliya Krempeaux <charles@reptile.ca>
* gtk-sharp.pc.in : Created to be used for the detection of
          Gtk#.
        * parser/gapi.pc.in : Created to be used for the detection
          of gapi.pl.
        * makefile : Deleted it.  (Actually, renamed it to Makefile.in.)
        * Makefile.in : Created it from the old makefile, and modified it
          to account for gtk-sharp.pc.
        * configure.in : Made it so it will generate gtk-sharp.pc
          from gtk-sharp.pc.in,  parser/gapi.pc from
          parser/gapi.pc.in, and Makefile from Makefile.in.
        * parser/Makefile.in : Modified it to account for parser/gapi.pc.

svn path=/trunk/gtk-sharp/; revision=13846
2003-04-21 15:25:26 +00:00
Alp Toker
7a3264e911 Change Keys to Key
svn path=/trunk/gtk-sharp/; revision=13545
2003-04-12 05:23:55 +00:00
Alp Toker
403ed1ac68 2003-04-12 Alp Toker <alp@atoker.com>
* parser/gen_keysyms: Generates a C# Keys enum from the Gdk headers
        (gdkkeysyms.h)
        * gdk/Keys.cs: The generated Keys

svn path=/trunk/gtk-sharp/; revision=13542
2003-04-12 05:05:00 +00:00
Mike Kestner
d743db9340 2003-02-21 Mike Kestner <mkestner@speakeasy.net>
* api/*-api.xml : remove stray enum get_type methods.
	* parser/gapi2xml.pl : ignore get_type methods on enums.

svn path=/trunk/gtk-sharp/; revision=11796
2003-02-21 05:54:32 +00:00
Radek Doulik
c9d21b1900 2003-01-22 Radek Doulik <rodo@ximian.com>
* parser/gapi2xml.pl: add comment to .xml files with warning that
	they were auto generated

svn path=/trunk/gtk-sharp/; revision=10814
2003-01-22 13:57:34 +00:00
Martin Baulig
44265207bf 2003-01-12 Martin Baulig <martin@ximian.com>
* parser/gapi2xml.pl (addNameElem): Make this work if the $cname
	doesn't start with $prefix.

svn path=/trunk/gtk-sharp/; revision=10427
2003-01-12 17:45:19 +00:00
Juli Mallett
eca30c3078 2002-12-11 Juli Mallett <jmallett@FreeBSD.org>
* gconf/Makefile.in, sample/Makefile.in: Use $(MAKE) not "make."
	* parser/Makefile.in: Use CFLAGS and CPPFLAGS hints from configure,
	and the base dependency CFLAGS.  Fixes case where iconv.h is outside
	of the compiler's default path.

svn path=/trunk/gtk-sharp/; revision=9578
2002-12-11 23:10:31 +00:00
Mike Kestner
3a108845d7 2002-11-21 Mike Kestner <mkestner@speakeasy.net>
* api/*.xml : a few new attrs
	* generator/Parameters.cs : remove redundant ref keywords
	* gtk/ListStore.custom: overload SetColumnTypes
	* gtk/TreeStore.custom: overload SetColumnTypes
	* parser/GAPI/Metadata.pm : allow callback nodes at class level
	* sources/Gtk.metadata : hide ClipboardClearFunc and GetFunc,
	tag types param of SetColumnTypes as array, uncomment needs_ref
	tags on Widget methods to match the current api.xml file

svn path=/trunk/gtk-sharp/; revision=9148
2002-11-22 03:30:18 +00:00
Mike Kestner
2e07bf7e87 2002-10-26 Mike Kestner <mkestner@speakeasy.net>
* api/*.xml : get libgda and libgnomedb metadata setup
	* gconf/*/Makefile.in : patch from MauricioC for -L's and /r's
	* gnomedb/Makefile.in : patch from MauricioC for -L's and /r's
	* generator/ClassBase.cs (ctor): mangle hash names for sigs and props
	* generator/Parameters.cs (MangleName): handle params, null, and ref
	* generator/Parser.cs (ParseNamespace): ignore "hidden" types
	* generator/StructBase.cs (MangleName): handle params, null, and ref
	* glib/Object.cs (Equals): kill, also kill == and !=
	* sources/Gda.metadata : new, make Gda behave without hand edits
	* sources/GnomeDb.metadata : ditto

svn path=/trunk/gtk-sharp/; revision=8577
2002-10-26 08:03:16 +00:00
Rachel Hestilow
301db575de 2002-09-21 Rachel Hestilow <hestilow@ximian.com>
* parser/gapi2xml.pl: Adjust enum regex to allow negative values.

svn path=/trunk/gtk-sharp/; revision=7683
2002-09-21 14:21:15 +00:00
Rachel Hestilow
1f68bc999b 2002-09-07 Rachel Hestilow <hestilow@ximian.com>
* parser/gapi2xml.pl: Add support for "fake struct" opaque types.
	* generator/StructBase.cs: Generate wrapper fields for opaque
	fields as well as pointer fields.
	* api/gdk-symbols.xml: Remove GdkAtom as it is now wrapped.

svn path=/trunk/gtk-sharp/; revision=7311
2002-09-08 01:29:07 +00:00
Juli Mallett
6fea628be5 2002-09-03 Juli Mallett <jmallett@FreeBSD.org>
* parser/Makefile.in: Use $(CC) instead of 'cc'.

svn path=/trunk/gtk-sharp/; revision=7232
2002-09-04 04:31:19 +00:00
Mike Kestner
98cf0e893e Clean out a bunch of cruft from the tree.
svn path=/trunk/gtk-sharp/; revision=6988
2002-08-24 05:32:26 +00:00
Rachel Hestilow
0f652408ed 2002-08-23 Rachel Hestilow <hestilow@ximian.com>
* Applied patch from Robot101 for maintainer-clean, etc.
	Needed for packaging.

svn path=/trunk/gtk-sharp/; revision=6977
2002-08-23 21:22:16 +00:00
Rachel Hestilow
eb9fb61ed0 2002-08-20 Rachel Hestilow <hestilow@ximian.com>
* parser/makefile: Rename to Makefile.in, change prefix to @prefix@.
	* configure.in: generate parser/Makefile.

svn path=/trunk/gtk-sharp/; revision=6828
2002-08-20 20:46:14 +00:00
Rachel Hestilow
f94279195c 2002-08-20 Rachel Hestilow <hestilow@ximian.com>
* makefile: Add parser to build (for install only)
	* parser/makefile: Add distclean target.

	* parser/gapi.pl: Forgot to add this.
	* api/: Replace APIs with correctly generated ones.

svn path=/trunk/gtk-sharp/; revision=6827
2002-08-20 20:35:42 +00:00
Rachel Hestilow
08d136d203 (cvs shuffling, noted in earlier commit)
svn path=/trunk/gtk-sharp/; revision=6820
2002-08-20 20:00:03 +00:00
Rachel Hestilow
e9d1e0b6dc 2002-08-19 Rachel Hestilow <hestilow@ximian.com>
* art/Makefile.in (clean): Change to avoid bugging out on generated/CVS.

	* glib/ObjectManager.cs: Added. Used to be auto-generated, but
	now it can infer names, and relies on per-namespace ObjectManager
	classes to inform it of oddly-named classes.

	* generator/IGeneratable.cs, GenBase.cs: New "DoGenerate" property.
	* generator/*Gen.cs: Honor DoGenerate.
	* generator/CodeGenerator.cs: Support including dependency files
	which will not be generated.
	* generator/ObjectGen.cs: Generate mapping file per-namespace, as one
	that calls back to the one in glib. Only generate if the name does
	not follow the normal conventions, otherwise, GtkSharp.ObjectManager
	can infer the name.
	* generator/Parser.cs: Accept 'generate' flag to pass on to the
	IGeneratables. Parse a new toplevel element, "symbol", which adds
	a type to the SymbolTable (instead of hard-coding it).
	* generator/SignalHandler.cs: Do not optimize signal handler creation,
   instead creating them in their own namespaces. Do not generate
	if the calling Signal told us not to.
	* generator/Signal.cs: Do not generate handlers if container's DoGenerate
	is false. Adjust to the marshaller name being in a sub-namespace.
	* generator/SymbolTable.cs (AddSimpleType, AddManualType): Used
	to add simple and manually wrapped types at runtime instead of
	compile-time.
	(FromNative): Remove hard-coded cases for manually wrapped types, use
	a generic case instead.

	* api: Added. Move api files and generation targets here.
	* source: Added. Move source parsing here.

	* generator/makefile: Move actual generation to api/.
	* glib/Makefile.in: Remove generated/* target.
	* glue/Makefile.am: Fix to include canvas-marshal. Move canvas stuff
	to GNOME target.

	* gnome/CanvasProxy.cs: Update to work with SignalHandlers being
	namespace-specific.

	* parser/Metadata.pm: Moved to GAPI/Metadata.pm, renamed, etc.
	* parser/gapi2xml.pl: Use GAPI::Metadata.
	* parser/makefile: Install scripts, remove source parse build target.
	Rename formatXML to gapi_format_xml.

svn path=/trunk/gtk-sharp/; revision=6818
2002-08-20 19:56:18 +00:00
Duncan Mak
074dcf2d4a 2002-08-15 Duncan Mak <duncan@ximian.com>
* generator/gtkapi.xml: New Libart stuff.

	* parser/build.pl:
	* gnome/Makefile.in: Added reference to atk-sharp.dll

	* generator/Parameters.cs (MangleName): Added cases for 'in' and 'out'.

svn path=/trunk/gtk-sharp/; revision=6651
2002-08-15 16:44:41 +00:00
Rachel Hestilow
e6ea0015b5 2002-08-12 Rachel Hestilow <hestilow@ximian.com>
[ Patch from Ricardo Fernandez Pascual <rfp1@ono.com> for
	  libglade support (slightly modified) ]

	* configure.in: Conditionally compile glade support.
	* makefile: Add glade directory.
	* glade/: Added.
	* sample/makefile.in: Add (conditional) glade example.
	* sample/GladeViewer.cs: Added.
	* glue/gladexml.c: Added.
	* glue/Makefile.am: Updated.

	* parser/build.pl: Parse libglade-2.0.0.
	* parser/README: Update requirements.

2002-08-12  Rachel Hestilow  <hestilow@ximian.com>

   * parser/gapi_pp.pl: Handle "typedef struct {...}" construct.

	* glue/canvaspoints.c: Added.
	* glue/Makefile.am: Updated.

 	* gnome/CanvasPoints.custom: Added. (Doesn't seem to work right yet,
	looking into this.)

svn path=/trunk/gtk-sharp/; revision=6601
2002-08-12 19:14:44 +00:00
Mike Kestner
8896672938 2002-08-09 Kristian Rietveld <kris@gtk.org>
* parser/Gtk.metadata: add a bunch of out arg rules, add
       a vararg rule for the ListStore constructor, change method names of
       TreeModel's signal emission methods, remove opaque rule of
       GtkTreeIter, remove null_ok rules of TreeModel.IterNChildren
       and TreeModel.IterNthChild.

       * parser/Metadata.pm: add some code to be able to filter on
       parameter names.

       * generator/Method.cs: a method with accessor args and a non-void
       return value cannot be written as property.

       * sample/Makefile.in, sample/TreeViewDemo.cs: add a simple TreeView
       demo app.

       * gtk/ListStore.custom, gtk/TreeModel.custom, gtk/TreeModelSort.custom,
       gtk/TreeStore.custom, gtk/TreeView.custom: customizations.

svn path=/trunk/gtk-sharp/; revision=6576
2002-08-10 19:15:58 +00:00
Mike Kestner
903349cd37 2002-08-08 Mike Kestner <mkestner@speakeasy.net>
* generator/Method.cs : s/GetType/GetGType. Don't generated static
	  methods for interfaces.
	* glib/Object.cs : add GType prop
	* gnome/*.custom : s/Type/GType
	* parser/Gtk.metadata : rule to make TreeIter opaque
	* parser/gapi2xml.pl : handle interface methods properly
	* sample/Fifteen.cs : s/Type/GType

svn path=/trunk/gtk-sharp/; revision=6556
2002-08-09 03:56:27 +00:00
Rachel Hestilow
034534a606 2002-08-05 Rachel Hestilow <hestilow@ximian.com>
* parser/Gnome.metadata: Patch from duncan for
	bug #28553 (canvas item event handler rename).

svn path=/trunk/gtk-sharp/; revision=6447
2002-08-05 22:42:58 +00:00
Rachel Hestilow
54838fec29 2002-08-03 Rachel Hestilow <hestilow@ximian.com>
* generator/Method.cs: Support libname overrides. Call parms.Finish.
	* generator/Parameters.cs: New method parms.Finish. Generate a temporary
	holder variable for enum out parameters.
	* generator/Property.cs: Pass a boolean to EnumWrapper indicating.
	if these are flags.
	* generator/StructBase.cs: Disable array marshalling (it is
	broken in mono.)
	* generator/SymbolTable.cs: Add methods IsEnumFlags.

	* glib/EnumWrapper.cs: New bool "flags".
	* glib/Value.cs: Call flags variant on GValue for enum props, if needed.

	* glue/Makefile.am, glue/style.c, glue/widget.c: Add widget
	and style field accessor methods.

	* gtk/Style.custom, Widget.custom: Added.

	* parser/README: Update requirements (needed for pixbuf drawable hack)
	* parser/Gdk.metadata: Fix library for pixbuf methods in gdk.
	Add Window.GetPointer "out" parameters.
	* parser/gapi2xml.pl: Remap gdk_draw_* methods to Drawable.

	* sample/Makefile.in: Add size and scribble samples.
	* sample/Scribble.cs: Added.

svn path=/trunk/gtk-sharp/; revision=6387
2002-08-03 22:24:37 +00:00
Rachel Hestilow
7648593a67 2002-08-02 Rachel Hestilow <hestilow@ximian.com>
[ Mike, this is everything I wanted in for the release. ]

	* generator/StructBase.cs: Generate field accessors for wrapped
	types (opaque, object, and structs/boxed). Bitfields, unions, and
	arrays are still unsupported for accessors, and are probably marshalling
	incorrectly. But this is enough to get events working (see example
	in sample/GnomeHelloWorld.cs).

	* parser/Metadata.pm: Support a "delete" directive, and set metadata
	on structs and boxed (previously was only checking objects and interfaces).

	* parser/Gdk.metadata: Delete bogus entries GdkWindowObject and
	GdkPixmapObject (more evil drawable stuff.)

	* sample/GnomeHelloWorld.cs: Show an example of how to use marshalled
	events, in our selection callback.

svn path=/trunk/gtk-sharp/; revision=6370
2002-08-02 22:35:23 +00:00
Rachel Hestilow
967e3e9c5a 2002-07-30 Rachel Hestilow <hestilow@ximian.com>
* generator/ClassBase.cs: Change hasDefaultConstructor to protected,
	adjust now that it is an attr and not a subnode. Also add virtual
	property AssignToName (for ctors).

	* generator/Ctor.cs: Add property ForceStatic.
	(Generate): Optimize return code a bit for the static case.

	* generator/Method.cs: Assign to a "raw_ret" pointer before calling
	FromNativeReturn.

	* generator/Parameters.cs: Change "out ref" to "out", not "ref".

	* generator/Property.cs: Fix to work correctly with all object and
	struct types (mostly just some if-cases added).

	* generator/SignalHandler.cs: Remove args_type and argfields (unused).
	(Generate): Initialize struct if necessary.

	* generator/StructBase.cs: Massive reworking to support methods, ctors,
	etc.

	* generator/SymbolTable.cs: Add GdkAtom and gconstpointer simple types.

	* glib/Boxed.cs: Accept both IntPtr and object ctors. Add access for both.

	* glib/Opaque.cs: Fix copy/pasted copyright notice, remove data and event
	fields. Fix docs.

	* glib/Value.cs: Work correctly with boxed properties.

	* gnome/Modules.cs: Use new struct ctors.

	* gnome/Program.custom: Remove Get, this is being generated now.

	* parser/Gdk.metadata: Fix the drawable classes to inherit correctly.

	* parser/Metadata.pm: Change per-class attributes to actually be
	attributes.

	* parser/Gtk.metadata: Add a dummy attribute value for disabledefaultctor.

	* parser/gapi2xml.pl: Add hacks for the (broken) Drawable and Bitmap
	typedefs.

	* sample/test/TestColorSelection.cs: Display color string in hex format,
	update to use IsNull instead of == null, and size dialog to look pretty.

	* sample/Size.cs: Added.

svn path=/trunk/gtk-sharp/; revision=6264
2002-07-30 23:02:12 +00:00
Rachel Hestilow
4d92d54b3f 2002-07-25 Rachel Hestilow <hestilow@ximian.com>
[about 60% of the marshalling patch that I lost.
	 The rest to come tomorrow.]

	* generator/BoxedGen.cs, StructGen.cs: Move most of this to StructBase,
	delete large chunks duplicated from ClassBase.

	* generator/IGeneratable.cs: Add MarshalReturnType, FromNativeReturn.

	* generator/ClassBase.cs: Move ctor stuff here. Add a CallByName
	overload with no parameters for the "self" reference.

	* generator/EnumGen.cs, CallbackGen.cs: Implement new MarshalReturnType,
	  FromNativeReturn.

   * generator/Method.cs: Use container_type.MarshalType, CallByName, and
	  SymbolTable.FromNativeReturn when generating call and import sigs.

	* generator/OpaqueGen.cs: Added.

	* generator/Property.cs: Handle boxed and opaques differently.

	* generator/SymbolTable.cs: Update for the opaque stuff and the new Return
	methods. Also change GetClassGen to simply call the as operator.

	* glib/Boxed.cs: Update for struct usage -- this is now a wrapper for
	  the purposes of using with Value.

   * glib/Opaque.cs: Added. New base class for opaque structs.

	* glue/textiter.c, gtk/TextIter.custom: Remove.

	* gnome/Program.cs: Update for new struct marshalling.

	* parser/Metadata.pm: Use our own getChildrenByTagName.

	* parser/README: Update for new requirements (was out of sync with
	  build.pl)

	* parser/gapi2xml.pl: Hide struct like const in field elements.

	* parser/gapi_pp.pl: Handle embedded union fields (poorly).

	* sample/test/TestColorSelection.cs: Comment out null color tests
     for now.

svn path=/trunk/gtk-sharp/; revision=6186
2002-07-26 06:08:52 +00:00
Mike Kestner
7ba51928a5 2002-07-23 Mike Kestner <mkestner@speakeasy.net>
* generator/Method.cs : implement static method generation.
	* parser/Gnome.metadata : map AppBar::ClearPrompt signal collision.
	* parser/Gtk.metadata : map IMContext::DeleteSurrounding collision.
	* parser/gapi2xml.pl : mark shared methods in the XML.

svn path=/trunk/gtk-sharp/; revision=6096
2002-07-23 22:23:40 +00:00
Mike Kestner
d837953e6c 2002-07-20 Mike Kestner <mkestner@speakeasy.net>
* generator/Method.cs : beef up !Validate warnings
	* generator/ObjectGen.cs : beef up !Validate warnings
	* generator/Parameters.cs (Validate): fail on ellipsis parm
	* parser/gapi2xml.pl : Handle more opaque types properly

svn path=/trunk/gtk-sharp/; revision=5965
2002-07-20 14:43:48 +00:00
Mike Kestner
d5dc10e6ce 2002-07-19 Mike Kestner <mkestner@speakeasy.net>
* parser/gapi2xml.pl : mark privately defined structs opaque.

svn path=/trunk/gtk-sharp/; revision=5904
2002-07-19 05:44:32 +00:00
Mike Kestner
9f329710ed 2002-07-18 Mike Kestner <mkestner@speakeasy.net>
* generator/StructGen.cs : make them public structs, not classes.
	* parser/build.pl : step up to the g2final tarballs.
	* parser/gapi2xml.pl : suppress *Private struct types. Mark
	  ellipsis terminated param lists.

svn path=/trunk/gtk-sharp/; revision=5902
2002-07-19 04:07:50 +00:00
Duncan Mak
d789d80bc0 Forgot to add gtk_radio_button_new_with_mnemonic
svn path=/trunk/gtk-sharp/; revision=5878
2002-07-17 18:30:10 +00:00
Duncan Mak
6de1f261a2 2002-07-18 Duncan Mak <duncan@ximian.com>
* parser/Gtk.metadata: Mark gtk_radio_menu_item_new_with_label,
	gtk_radio_button_new_with_label and gtk_radio_button_new with
	null_ok flags.

svn path=/trunk/gtk-sharp/; revision=5877
2002-07-17 18:05:48 +00:00
Radek Doulik
33b715ef83 2002-07-17 Radek Doulik <rodo@ximian.com>
* gtk/ScrolledWindow.custom: new file with ScrolledWindow custom
	default constructor

	* parser/Metadata.pm: addClassData subroutine to add
	<disabledefaultconstructor/>

	* parser/Gtk.metadata: disable default constructor for
	ScrolledWindow

	* generator/ObjectGen.cs: added hasDefaultConstructor flag, dont
	generate default protected empty constructor if
	hasDefaultConstructor is false, it will be provided by .custom
	file

	* generator/makefile (RUNTIME): use RUNTIME variable

svn path=/trunk/gtk-sharp/; revision=5854
2002-07-17 15:05:22 +00:00
Rachel Hestilow
9e29ccbf0a 2002-07-17 Rachel Hestilow <hestilow@ximian.com>
* parser/Gtk.metadata: Tag MenuItem.SetSubmenu as null-ok.

svn path=/trunk/gtk-sharp/; revision=5853
2002-07-17 14:44:01 +00:00
Rachel Hestilow
faf9967df6 2002-07-17 Rachel Hestilow <hestilow@ximian.com>
* generator/Method.cs: Honor array in return type.

	* parser/Gtk.metadata: Tag FileSelection.GetSelections as array.
	* parser/Metadata.pm: Add "return" target.

	* parser/gtkhtml, parser/README: Add gtkhtml-stream.[ch].
	Needed for url-requested signal. The actual wrapper for this
	compiles but is badly borked, it will probably need a lot of love.

svn path=/trunk/gtk-sharp/; revision=5852
2002-07-17 14:31:13 +00:00
Rachel Hestilow
eb38e65353 2002-07-13 Rachel Hestilow <hestilow@ximian.com>
* generator/Parameters.cs: Allow nulls if null_ok set.
	* generator/SymbolTable.cs: Add method IsStruct.
	* parser/Gtk.metadata, Gdk.metadata, Gnome.metadata: Merge in
	null_ok from *.defs. This is probably incomplete though, I've
	already found one method that wasn't listed.

	* sample/GnomeHelloWorld.cs: Remove IntPtr.Zero hack.

svn path=/trunk/gtk-sharp/; revision=5792
2002-07-14 01:32:18 +00:00
Rachel Hestilow
fb1256d2f3 2002-07-13 Rachel Hestilow <hestilow@ximian.com>
* parser/Gnome.metadata, Gtk.metadata: More conflict
	fixes.
	* parser/build.pl: Fully qualify all lib names. (Gtk+ packages
	are now LFS-compliant in Debian...)
	* parser/gapi2xml.pl: Fix for whitespace in fields, defines,
	and docs.

	* generator/BoxedGen.cs: Remove extraneous CallByName definition,
	add "override" keyword to FromNative.
	(Generate): Generate methods after fields.
	* generator/ClassBase.cs: Change CallByName, FromNative to virtual.
	(.ctor): Ignore "hidden" nodes. Set container on signal.
	(GenSignals, GenMethods): Add "implementor" argument for interface
	use.
	(Get(Method|Signal|Property)Recursively): Rework to correctly
	recurse interfaces.
	(Implements): Added.
	* generator/Ctor.cs (Initialize): Move clash initialization completely
	out of Generate, so we can check for collisions.
	* generator/Method.cs (GenerateDeclCommon): Check for duplicates,
	for "new" keyword.
	(Generate): Add "implementor" argument.
	* generator/ObjectGen.cs (Generate): Initialize ctor clashes on
	this and all parents, before generating.
	(Ctors, InitializeCtors): Added.
	* generator/Signal.cs: Store the container_type, check for
	collisions.
	* generator/StructGen.cs: Add "override" keyword to overriden methods.

	* gtk/FileSelection.custom (ActionArea): Add "new" keyword.

svn path=/trunk/gtk-sharp/; revision=5782
2002-07-13 20:31:23 +00:00
Alp Toker
69da00a945 Don't specify .so.0 in build.pl -- we can do that with mono-config.
svn path=/trunk/gtk-sharp/; revision=5747
2002-07-12 22:58:20 +00:00
Mike Kestner
79e7514057 2002-07-09 Mike Kestner <mkestner@speakeasy.net>
* generator/ClassBase.cs : handle overloaded method hash collision
	* generator/SignalHandler.cs : generate *Handler delegates. stub *Args
	* parser/Gtk.metadata : add *Defaults method renaming

svn path=/trunk/gtk-sharp/; revision=5678
2002-07-10 03:09:39 +00:00
Mike Kestner
a31a206d61 2002-07-08 Mike Kestner <mkestner@speakeasy.net>
* glue/Makefile.in : s/BASE_SOURCES/BASESOURCES
	* parser/gapi_pp.pl : handle nested #if/#endif in ignored #if's
	* parser/makefile : make gtkapi.xml depend on gapi*.pl

svn path=/trunk/gtk-sharp/; revision=5649
2002-07-08 14:52:20 +00:00
Rachel Hestilow
c653c18543 2002-07-06 Rachel Hestilow <hestilow@ximian.com>
* ObjectGen.cs: Support static string elements. Do
	not generate Ctors or Signals if it is not a GObject.

	* parser/gapi2xml.pl: Add stock defines.

svn path=/trunk/gtk-sharp/; revision=5616
2002-07-06 07:08:19 +00:00
Rachel Hestilow
9693ee998e 2002-07-05 Rachel Hestilow <hestilow@ximian.com>
* configure.in: Conditionally compile Gnome.

	* parser/gapi_pp.pl: Handle line breaks in function declarations.
	* parser/gapi2xml.pl: Handle non-literals in property definitions.

	* glue/program.c: Added.
	* glue/Makefile.am: Add program.c (conditionally compiled).
	Update INCLUDES.

	* gnome/Makefile.in: Conditionally compile this.
	* gnome/Program.custom, Modules.cs: Added.

	* samples/Makefile.in: Conditionally compile gnome example.
	* samples/GnomeHelloWorld.cs: Use Gnome.Program.

svn path=/trunk/gtk-sharp/; revision=5609
2002-07-05 20:22:21 +00:00
Rachel Hestilow
00e98b4c30 2002-07-01 Rachel Hestilow <hestilow@ximian.com>
* generator/gtkapi.xml:
	* parser/build.pl: Fix to use 3.0 (accidentally reverted in
	last commit).

	* generator/SymbolTable.cs (simple_types): Map gssize and gsize.
	* parser/Gdk.metadata: Tag PixbufLoader.Write's data parameter
	as array.

svn path=/trunk/gtk-sharp/; revision=5533
2002-07-02 03:35:07 +00:00
Rachel Hestilow
23d3fa3808 2002-07-01 Rachel Hestilow <hestilow@ximian.com>
* generator/gtkapi.xml:
	* parser/build.pl: Qualify gnome lib names; this is needed
	because of debian/LSB policy.

svn path=/trunk/gtk-sharp/; revision=5530
2002-07-01 23:55:36 +00:00
Duncan Mak
4f31fae041 2002-06-26 Duncan Mak <duncan@ximian.com>
* generator/gtkapi.xml:
	* parser/build.pl: Point to 'gtkhtml-3.0' instead of gtkhtml-2.

svn path=/trunk/gtk-sharp/; revision=5467
2002-06-26 16:54:08 +00:00
Rachel Hestilow
b203c33bb7 2002-06-26 Rachel Hestilow <hestilow@ximian.com>
* generator/*.cs: Deal with whitespace XmlNodes.

	* parser/build.pl: Dump non-indented file to local directory.

	* parser/makefile, parser/formatXml.c: Added.

	* generator/gtkapi.xml: Nicely indented now. woo!

svn path=/trunk/gtk-sharp/; revision=5465
2002-06-26 13:10:48 +00:00
Rachel Hestilow
34cf63f0cc 2002-06-26 Rachel Hestilow <hestilow@ximian.com>
* parser/Gtk.metadata: Change gtk_label_new to be the
	preferred constructor.

	* gdk/Event.cs: Add "IsValid" property (sometimes NULL events
	get sent in signals).

	* sample/GnomeHelloWorld.cs: Check to make sure iconlist event
	is valid.

svn path=/trunk/gtk-sharp/; revision=5462
2002-06-26 11:08:22 +00:00
Rachel Hestilow
02c9fb725c 2002-06-26 Rachel Hestilow <hestilow@ximian.com>
* configure.in, makefile, makefile.win32: add gnome.

	* doc/index.html, netdoc.xsl: Add gnome.

	* gdk/Event.cs: New manual wrap for GdkEvent.

	* generator/ClassBase.cs: Add methods GetProperty,
	GetPropertyRecursively, GetMethodRecursively.
	Move Parent property here from ObjectGen.cs. Pass this pointer
	into Property.

	* generator/Ctor.cs: Generate docs.

	* generator/Method.cs, Property.cs: Tag method as "new" if a
	Method/Property with the same name is found in the class hierarchy.

	* generator/SignalHandler.cs: Correctly wrap complex signal argument
	types. Add gnome directory.

	* generator/SymbolTable.cs: Add manually wrapped types hash
	(contains GLib.GSList and Gdk.Event). Add method IsManuallyWrapped.

	* glib/SList.cs: Add constructor from IntPtr.

	* glue/slist.c, glue/event.c: Added (field accessor glue).

	* glue/Makefile.am: Update.

	* parser/Gtk.metadata: Add new signal renames for new signals
	exposed by GdkEvent changes.

	* parser/README, parser/build.pl: Add libgnome, libgnomecanvas,
	libgnomeui.

	* parser/gapi2xml.pl: Handle literal-length array parameters,
	and NULL property doc strings.

	* sample/: Add new test GnomeHelloWorld.cs.

	* gnome/: Added.

	* parser/Gnome.metadata: Added.

svn path=/trunk/gtk-sharp/; revision=5461
2002-06-26 08:36:05 +00:00
Mike Kestner
304427af77 2002-06-25 Mike Kestner <mkestner@speakeasy.net>
* generator/gtkapi.xml : lots of fixes, plus GtkHTML!
	* parser/Gtk.metadata : add a bunch of renames.
	* parser/build.pl : Add the gtkhtml parse.
	* parser/README : module list to parse

svn path=/trunk/gtk-sharp/; revision=5459
2002-06-26 00:54:05 +00:00
Mike Kestner
56ef697e12 2002-06-25 Mike Kestner <mkestner@speakeasy.net>
* parser/gapi2xml.pl : some GtkHTML related parsing tweaks.

svn path=/trunk/gtk-sharp/; revision=5458
2002-06-25 23:19:36 +00:00
Rachel Hestilow
1f4ff5bb86 2002-06-24 Rachel Hestilow <hestilow@ximian.com>
* glib/EnumWrapper.cs: New class which holds an enum int.

	* glib/Value.cs: Add support for glib enum types. We needed
	to use EnumWrapper for this because otherwise the int operator
	wouldn't know which glib function to use.

	* generator/BoxedGen.cs, ClassBase.cs, Ctor.cs, EnumGen.cs,
	InterfaceGen.cs, Method.cs, ObjectGen.cs, Signal.cs, StructGen.cs:
	Create more doc stubs.

	* generator/Property.cs: Generate enum values correctly.

	* generator/Ctor.cs: Refactor generation to honor metadata-specified
	collision preference.

	* parser/Gtk.metadata: Added constructor collision preferences to
	all known clashes.

	* parse/Gdk.metadata: Added (for Pixbuf clashes).

svn path=/trunk/gtk-sharp/; revision=5437
2002-06-24 22:04:10 +00:00
Rachel Hestilow
7fb558bea0 2002-06-23 Rachel Hestilow <hestilow@ximian.com>
* generator/ClassBase.cs: Add accessors for methods and signals.
	Change GenSignals and GenMethods to public, as csc has a different
	idea of protected than mcs. Handle interface collisions in
	GenMethods.

	* generator/Method.cs: Add accessor Protection - "public" by default.

	* generator/ObjectGen.cs: Make sure wrapper's Signals hashtable only
	gets generated once. Generate a list of collisions for GenMethods.
	Remove dead foreach loop from Validate.

	* generator/Paramaters.cs (CreateSignature): Initialize last_param.

	* parser/Gtk.metadata: Add property & event collision renames
	for TextBuffer and OldEditable.

	* sample/makefile.win32: Reference atk-sharp.dll.

	* makefile.win32: Do not build gdk.imaging.

svn path=/trunk/gtk-sharp/; revision=5420
2002-06-23 03:38:02 +00:00
Mike Kestner
5d67982de9 2002-06-21 Mike Kestner <mkestner@speakeasy.net>
* makefile : remove gdk.imaging from the build
	* gdk.imaging/* : kill
	* generated/BoxedGen.cs : XmlNode namespace handling. Use GenBase.
	* generated/CallbackGen.cs : XmlNode namespace handling.
	* generated/Ctor.cs : construct with libname not ns.
	* generated/EnumGen.cs : XmlNode namespace handling.
	* generated/GenBase.cs : XmlNode namespace handling. Make AppendCustom
	  an instance method so it can use the private fields instead of params.
	* generated/InterfaceGen.cs : XmlNode namespace handling.
	* generated/Method.cs : construct with libname not ns.
	* generated/ObjectGen.cs : XmlNode namespace handling.
	* generated/Parser.cs : Use new XmlNode namespace ctors.
	* generated/Signal.cs : Lose the namespace field.
	* generated/StructBase.cs : derive from ClassBase
	* generated/StructGen.cs : XmlNode namespace handling. Use GenBase.
	* generated/SymbolTable.cs : nuke GetDllName method.
	* generator/gtkapi.xml : Add library name to namespace node.
	* parser/build.pl : refactor for library name param
	* parser/gapi2xml.pl : add libname param handling
	* sample/Makefile.in : build linux on make install, but don't install.

svn path=/trunk/gtk-sharp/; revision=5400
2002-06-21 20:25:43 +00:00
Rachel Hestilow
6857128f07 2002-06-21 Rachel Hestilow <hestilow@ximian.com>
* generator/ClassBase.cs: New base class for classes and interfaces.

	* generator/InterfaceGen.cs: Inherit from ClassBase, generate declarations.

	* generator/ObjectGen.cs: Move half of this into ClassBase.

	* generator/Method.cs: Turn all applicable Get/Set functions into .NET
	accessors. Remove redundant == overload and move into Equals, as
	it was confusing "!= null".

	* generator/Parameters.cs: Alter signature creation to accept "is_set"
	option, add support for variable arguments. Add properties "Count",
	"IsVarArgs", "VAType".

	* generator/Ctor.cs: Fixup for changes in Parameters (indenting,
	signature creation).

	* generator/Signal.cs: Support generating declarations.

	* generator/SymbolTable: Change GetObjectGen to GetClassGen.

	* glib/IWrapper.cs: Move "Handle" declaration to here, so
	both classes and interfaces can benefit from it.

	* glib/Object.cs: Inherit from IWrapper.cs

	* parser/Metadata.pm: Support attribute changes on constructors,
	methods, signals, and paramater lists.

	* parser/gapi2xml.pl: Parse init funcs for interfaces. Ignore "_"
	functions here.

	* parser/gapi_pp.pl: Remove boxed_type_register check, as it will
	be caught in the init funcs.

	* parser/Atk.metadata: Added.

	* parser/Gtk.metadata: Add all needed signal/method collision
	renames. Rename GtkEditable.Editable accessors to IsEditable,
	as .NET does not like accessors with the same name as their
	declaring type. Tag TreeStore constructor as varargs.

	* samples/ButtonApp.cs: s/EmitAdd/Add.

	* samples/Menu.cs: s/EmitAdd/Add, s/Activate/Activated.

svn path=/trunk/gtk-sharp/; revision=5394
2002-06-21 17:15:19 +00:00
Rachel Hestilow
3bb3c5e4ff 2002-06-14 Rachel Hestilow <hestilow@ximian.com>
* glib/GException.cs: Added.

	* generator/Ctor.cs, Method.cs: Tag function as unsafe if it throws
	an exception. Call parms.HandleException.

	* generator/Paramaters.cs: Add property ThrowsException (based
	on a trailing GError**). If ThrowsException, mask GError in the
	signature, initialize a GError in Initialize, and add new method
	HandleException to throw an exception if error != null.

	* generator/SymbolTable.cs: Add gdk-pixbuf DLL, and GError type.

	* gdk.imaging, gdk.imaging/Makefile.in, gdk.imaging/makefile.win32:
	Added.

	* configure.in, Makefile, makefile.win32: Build gdk.imaging.

	* gtk/Makefile.in, gtk/makefile.win32: Link against gdk.imaging.

	* parser/gapi2xml.pl: Support namespace renaming.

	* parser/build.pl: Build gdk-pixbuf as gdk.imaging.

svn path=/trunk/gtk-sharp/; revision=5281
2002-06-14 18:27:04 +00:00
Rachel Hestilow
eea6465cf2 2002-06-09 Rachel Hestilow <hestilow@ximian.com>
* generator/GenBase.cs: new method AppendCustom, moved from ObjectGen.
	* generator/BoxedGen.cs, ObjectGen.cs, StructGen.cs:
	Call AppendCustom in Generate ();
	* generator/Method.cs, Parameters.cs: Add support for "out"
	parameters. Additionally, output an accessor instead of a
	regular method if it is an accessor-style function (ie GetStartIter).
	* generator/Property.cs: Add additional cast to Boxed, if necessary.
	* glue/textiter.c: New constructor for GtkTextIter.
	* glue/Makefile.am: Add textiter.c, build with Gtk+ cflags.
	* configure.in: Check for Gtk+ cflags.
	* parser/Metadata.pm, Gtk.metadata: Added.
	* parser/gapi2xml.pl: Call Metadata::fixup on the document.
	Also work around gtk's screwy boxed type name registration
	(GtkFoo -> GtkTypeFoo).
	* gtk/TextIter.custom: Added.

svn path=/trunk/gtk-sharp/; revision=5205
2002-06-10 12:34:09 +00:00
Mike Kestner
fe08134ba0 2002-02-17 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (MangleName): add object and event.
	* parser/gapi2xml.pl : Handle embedded callback declarations in method
	  parameter lists.

svn path=/trunk/gtk-sharp/; revision=2462
2002-02-17 20:54:54 +00:00
Mike Kestner
61b1d1de13 2002-02-14 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : suppress generation of get/set methods when
	  properties exist. Mangle method names on signal name clashes.  Gen
	  the signals.
	* generator/SymbolTable.cs : Add GetName. Add some more calls to Trim.
	* generator/gtkapi.xml : adding binary file as an experiment.  If the
	  diff's show this file, I'll be removing it with apologies and going
	  back to the separate package idea.
	* parser/gapi2xml.pl : some signal related fixes.
	* sample/HelloWorld.cs : uncomment the event hook.

svn path=/trunk/gtk-sharp/; revision=2419
2002-02-15 01:08:57 +00:00