Commit Graph

632 Commits

Author SHA1 Message Date
Mike Kestner
96f81cfbd4 2005-04-04 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata : hide some manually implemented callback methods.
	* gdk/*.custom : implement several methods containing persistent
	callback parameters.
	* generator/BoxedGen.cs : set gen_info.CurrentType in Generate.
	* generator/ClassGen.cs : set gen_info.CurrentType in Generate.
	* generator/Ctor.cs : set gen_info.CurrentMember in Generate.
	* generator/GenerationInfo.cs : add CurrentMember and CurrentType.
	* generator/Method.cs : set gen_info.CurrentMember in Generate.
	* generator/MethodBody.cs : always generate null guarding for array
	parameters, and add a nag for callback parameters without a scope attr.
	* generator/ObjectGen.cs : set gen_info.CurrentType in Generate.
	* generator/OpaqueGen.cs : set gen_info.CurrentType in Generate.
	* generator/Parameters.cs : kill NullOk. add Scope property.
	* generator/StructGen.cs : set gen_info.CurrentType in Generate.
	* gtk/Gtk.metadata : kill a few null_ok attrs.
	* pango/Pango.metadata : mark the callback params as call scope. kill
	a couple null_ok attrs.

svn path=/trunk/gtk-sharp/; revision=42529
2005-04-04 16:27:08 +00:00
Mike Kestner
639c24e0de 2005-03-29 Mike Kestner <mkestner@novell.com>
* generator/Parser.cs : add symbol type='marshal' support.
	* gdk/Event.cs : add GetEvent method to wrap arbitrary events.
	* gdk/gdk-symbols.xml : make Event, EventAny, and EventNoExpose
	marshal symbols using Event.GetEvent (). [Fixes #74184]

svn path=/trunk/gtk-sharp/; revision=42344
2005-03-29 18:02:04 +00:00
Mike Kestner
b35b48248c 2005-03-28 Mike Kestner <mkestner@novell.com>
* generator/Signal.cs  : Dispose the values passed to 
	g_signal_chain_from_overriden in base VM invocations. [Fixes #73522]

svn path=/trunk/gtk-sharp/; revision=42312
2005-03-28 18:26:00 +00:00
Mike Kestner
a7c49200ee 2005-03-25 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : add CDeclCallback attrs to native dels.
	* generator/Signal.cs : add CDeclCallback attrs to native dels.

svn path=/trunk/gtk-sharp/; revision=42256
2005-03-25 18:13:00 +00:00
Mike Kestner
d4af78e347 2005-03-24 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : don't create native delegates for nulls.
	* generator/ObjectGen.cs : revamp the ObjectManager code.
	* glib/Object.cs : use new ObjectManager.RegisterType overload.
	* glib/ObjectManager.cs : rewrite to kill the lameass LoadWithPartial
	hack and keep a GType to Type mapping for quicker lookup/activation.

svn path=/trunk/gtk-sharp/; revision=42241
2005-03-24 22:47:50 +00:00
Mike Kestner
bd50999b1b 2005-03-12 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : don't derive Wrappers from DelegateWrapper
	any more.  It leaks delegates like crazy. We effectively now use call
	scope as the default for delegate parameters.
	* generator/MethodBody.cs : use new simpler Wrapper ctor.
	* glib/DelegateWrapper.cs : mark the ctor obsolete so people know to
	update any manually coded wrappers out there.
	* */*.custom : use new simpler Callback Wrapper ctors.

svn path=/trunk/gtk-sharp/; revision=41738
2005-03-12 18:54:53 +00:00
Mike Kestner
320977f58f 2005-03-10 Mike Kestner <mkestner@novell.com>
* generator/SymbolTable.cs : fix gssize and gsize, they aren't 32 bit
	like the docs say they are.

svn path=/trunk/gtk-sharp/; revision=41666
2005-03-10 22:15:07 +00:00
Mike Kestner
90a870e2de 2005-03-08 Mike Kestner <mkestner@novell.com>
* */*.cs : scrub for StringToPtrAnsi and string usage in DllImports.
	* */*.custom : begin the scrub here too.
	* generator/ConstStringGen.cs : implement IManualMarshaler and move to
	100% IntPtr marshaling.
	* generator/Ctor.cs : call Body.Finish too.
	* generator/IManualMarshaler.cs : new interface for generatables that
	marshal manually and need cleanup.
	* generator/Makefile.am : new file.
	* generator/MethodBody.cs : use IManualMarshaler if applicable.

svn path=/trunk/gtk-sharp/; revision=41579
2005-03-08 21:28:08 +00:00
Mike Kestner
24bbc054f2 2005-03-07 Mike Kestner <mkestner@novell.com>
* generator/MethodBody.cs : remove an unused var.
	* generator/ReturnValue.cs : privatize a couple props. Refactor the
	SymbolTable lookup logic to be generatable based.

svn path=/trunk/gtk-sharp/; revision=41528
2005-03-07 15:54:49 +00:00
Mike Kestner
0b0700bae6 2005-03-04 Mike Kestner <mkestner@novell.com>
* generator/ImportSignature.cs : out param handling fix.
	* generator/Makefile.am : kill StringGen.cs.
	* generator/MethodBody.cs : simplify out param handling.
	* generator/StringGen.cs : kill it, now using MarshalGen.
	* generator/SymbolTable.cs : make non-const strings use an appropriate
	MarshalGen.  Non-const strings are now correctly marshaled as Utf8.
	* glib/Marshaller.cs : add some utf8-fu for strdup/free marshaling.
	Add a method to alloc/copy structs to native memory, unused yet.
	* gtk/Gtk.metadata : partially fix a broken delegate.

svn path=/trunk/gtk-sharp/; revision=41459
2005-03-04 18:59:09 +00:00
Mike Kestner
2fcb8f1b79 2005-03-04 Mike Kestner <mkestner@novell.com>
* generator/Method.cs : refactor out some retval logic.
	* generator/ReturnValue.cs : add FromNative and IsVoid members.

svn path=/trunk/gtk-sharp/; revision=41446
2005-03-04 16:02:44 +00:00
Mike Kestner
8b6cf6e5ea 2005-03-03 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata : remove unnecessary null_ok rules.
	* generator/Ctor.cs : don't add null params to CreateNativeObject call
	for InterfaceGen or OpaqueGen in addition to ObjectGen.
	* generator/Field.cs : simplify Object/Opaque gen.
	* generator/Method.cs : remove OpaqueGen special casing.
	* generator/OpaqueGen.cs : make FromNative null_ok robust.
	* generator/Signal.cs : remove arg marshaling ClassBase special case.
	* gtk/Gtk.metadata : remove unnecessary null_ok rules.

svn path=/trunk/gtk-sharp/; revision=41416
2005-03-03 22:40:32 +00:00
Mike Kestner
801cbb7e65 2005-03-03 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata : remove unnecessary null_ok rules.
	* generator/Ctor.cs : remove NullOk check.
	* gnome/Gnome.metadata : remove unnecessary null_ok rules.
	* gtk/Gtk.metadata : remove unnecessary null_ok rules.

svn path=/trunk/gtk-sharp/; revision=41413
2005-03-03 21:25:26 +00:00
Mike Kestner
0677e5ac75 2005-03-03 Mike Kestner <mkestner@novell.com>
* generator/ClassBase.cs : use "as" instead of a cast in FromNative.
	* generator/Method.cs : remove the if/else checks for Object retvals.
	* glib/Object.cs : return null immediately for NULL in GetObject.

svn path=/trunk/gtk-sharp/; revision=41409
2005-03-03 20:50:46 +00:00
Mike Kestner
eec84f4b5d 2005-03-03 Mike Kestner <mkestner@novell.com>
* generator/ClassBase.cs : add null checking to CallByName. No sense
	manually adding this for the ones that need it. Better to have g_criticals
	then NullRefExceptions anyway.
	* generator/MethodBody.cs : simplify out handle generation.
	[A babystep toward #86620]

svn path=/trunk/gtk-sharp/; revision=41408
2005-03-03 20:35:47 +00:00
Dan Winship
eb4269562f * generator/Field.cs (Validate): new, to check that a field has a
valid type (or is hidden).

	* generator/StructBase.cs (Validate): new, to check that all of
	the struct fields have valid types

	* generator/BoxedGen.cs (Generate):
	* generator/StructGen.cs: (Generate): Call Validate() and bail out
	if it fails; it's no good to generate a struct with the wrong
	layout.

	* gdk/gdk-symbols.xml: add a line for GdkKey -> Gdk.Key. (There's
	no actual C type GdkKey, but we can use metadata to change uints
	to GdkKeys, which will then become Gdk.Keys.)

	* gtk/AccelKey.custom: remove the "Key" field (which was being
	added in the wrong place in the struct), since it's properly
	generated now.

	* gtk/Gtk.metadata: Fix the line that renames AccelKey.AccelKey
	to AccelKey.Key

	* gnomevfs/Gnomevfs.metadata: hide the (mis-parsed) "action" field
	in MimeAction, leaving the struct in the same broken state it was
	in with the old generator code

svn path=/trunk/gtk-sharp/; revision=41104
2005-02-23 17:37:33 +00:00
Dan Winship
14ae0b1953 * generator/ObjectGen.cs (GenChildProperties): If the class has an
ancestor that also defines child properties, make its child
        properties class be a subclass of that ancestor's child properties
        class. (Eg, make Gtk.ButtonBox.ButtonBoxChild be a subclass of
        Gtk.Box.BoxChild.)

svn path=/trunk/gtk-sharp/; revision=40720
2005-02-15 21:52:21 +00:00
Dan Winship
053248d566 * generator/MethodBase.cs (Validate): use CName rather than always
saying "in ctor"

svn path=/trunk/gtk-sharp/; revision=40475
2005-02-11 15:07:22 +00:00
Mike Kestner
da4e49bd31 2005-02-02 Mike Kestner <mkestner@novell.com>
* generator/Signal.cs : kill unnecessary BaseName prop.

svn path=/trunk/gtk-sharp/; revision=40008
2005-02-02 22:15:52 +00:00
Mike Kestner
6590388024 2005-02-02 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : remove source file.
	* generator/Signal.cs : generate marshaling callbacks and use new
	GLib.Signal marshaling class for events.
	* generator/SignalHandler.cs : kill. byebye SignalCallback subclasses.
	* glib/Makefile.am : update source files.
	* glib/GLibSharp.voidObjectIntPtrSignal.cs : kill.
	* glib/Object.cs : mark the old Before/After props Obsolete. Use
	GLib.Signal for the notify prop methods.
	* glib/Signal.cs : new signal marshaling class.  It manages all the 
	ConnectBefore/After stuff internally and connects itself to the native
	object using GCHandles and DestroyNotify lifecycle management.
	* glib/SignalCallback.cs : mark Obsolete.
	[Fixes #72018 and #69847]

svn path=/trunk/gtk-sharp/; revision=40007
2005-02-02 21:57:15 +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
8364dd2be1 2005-01-28 Mike Kestner <mkestner@novell.com>
* generator/ReturnValue.cs : use ToNativeReturnType for ToNativeType
	instead of MarshalType.
	* generator/Signal.cs : deal with boxed return values. beef up return
	handling in the default handler generation code.
	* generator/SignalHandler.cs : use ToNative return types for native 
	callbacks. Remove redundant casting/conversion in callback impl.
	[Fixes #71899]

svn path=/trunk/gtk-sharp/; revision=39724
2005-01-28 20:24:14 +00:00
Mike Kestner
33cb5d82b4 2005-01-26 Mike Kestner <mkestner@novell.com>
* generator/*.cs : refactoring of Parameters class. Added IEnumerable
	to Parameters and gracefully handle elem == null instead of special
	casing parms == null all over the place. Parameter logic is now Count
	driven. [Fixes #71750]

svn path=/trunk/gtk-sharp/; revision=39594
2005-01-26 19:17:07 +00:00
Dan Winship
26198086f4 * generator/Property.cs (Generate): Remove a redundant WriteLine (that
resulted in there being 2 blank lines before every property).

	* generator/Signal.cs (Generate): s/Write/WriteLine/ to fix a
	weirdly-formatted if statement in the generated code.

svn path=/trunk/gtk-sharp/; revision=39584
2005-01-26 14:49:52 +00:00
Mike Kestner
b8380e84ba 2005-01-24 Jeroen Zwartepoorte <jeroen@xs4all.nl>
* generator/MethodBody.cs : fix out LPUGen params.

svn path=/trunk/gtk-sharp/; revision=39435
2005-01-24 19:44:37 +00:00
Mike Kestner
ea489c2353 2005-01-24 Mike Kestner <mkestner@novell.com>
* gda/Makefile.am : add new custom.
	* gda/XmlConnection.custom : add backcompat static ctor.
	* generator/ClassBase.cs : refactor lookup logic to here from Ctor
	and improve the collision resolution.
	* generator/Ctor.cs : refactor to use MethodBase.
	* generator/Makefile.am : add new file.
	* generator/MethodBase.cs : new base class for ctors and methods.
	* generator/Method.cs : refactor to use MethodBase.
	* generator/StructBase.cs : move some logic from here to Ctor.
	* gnome/CanvasPathDef.custom : add backcompat static ctor.
	* gnome/GPPath.custom : add backcompat static ctor.
	* gnome/Makefile.am : add new custom.
	* gtk/Gtk.metadata : mark a colliding Button ctor shared.

svn path=/trunk/gtk-sharp/; revision=39431
2005-01-24 18:25:02 +00:00
Mike Kestner
a5ea868d90 2005-01-18 Mike Kestner <mkestner@novell.com>
* generator/Method.cs : deal with owned retvals.
	* generator/ReturnValue.cs : add Owned prop.
	* gnome/Gnome.metadata : mark Thumbnail.ScaleDownPixbuf return owned.
	[Fixes #71335]

svn path=/trunk/gtk-sharp/; revision=39128
2005-01-19 02:58:42 +00:00
Dan Winship
027b9c0179 * generator/ObjectGen.cs: Make ContainerChild constructors
"protected internal" rather than just "internal", so the classes
	can be subclassed nicely.

svn path=/trunk/gtk-sharp/; revision=38874
2005-01-13 14:54:22 +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
e068a811e3 2005-01-06 Mike Kestner <mkestner@novell.com>
* gnomevfs/gnomevfs-symbols.xml : FileSize is a long long.
	* generator/SymbolTable.cs : map longlong to C# long.

svn path=/trunk/gtk-sharp/; revision=38434
2005-01-06 16:10:35 +00:00
Mike Kestner
458a09ff4c 2005-01-05 Mike Kestner <mkestner@novell.com>
* generator/Field.cs : deal with LPGen/LPUGen fields.
                                                                                                                                                      
2005-01-05  Mike Kestner  <mkestner@novell.com>
                                                                                                                                                      
        * gtk/gtk-api.raw : regen.
        * sources/gtk-sharp-sources.xml : exclude gtkiconthemeparser.h.
        [Fixes #70898]


svn path=/trunk/gtk-sharp/; revision=38391
2005-01-05 20:54:39 +00:00
Mike Kestner
4f2d941b51 2004-12-27 Mike Kestner <mkestner@novell.com>
* generator/CallbackGen.cs : use ReturnValue and more of Parameter.
	* generator/GenBase.cs : remove unused NSElem prop.

svn path=/trunk/gtk-sharp/; revision=38115
2004-12-27 21:32:08 +00:00
Mike Kestner
bf9ed95944 2004-12-27 Mike Kestner <mkestner@novell.com>
* generator/EnumGen.cs : rework for a single pass thru ChildNodes.
	* generator/Parameters.cs : simplify PassAs logic.
	* generator/SimpleBase.cs : mark abstract.

svn path=/trunk/gtk-sharp/; revision=38111
2004-12-27 20:00:55 +00:00
Mike Kestner
5562bf645f some updates to generator/DESIGN
svn path=/trunk/gtk-sharp/; revision=38110
2004-12-27 18:02:52 +00:00
Mike Kestner
8d53021079 2004-12-27 Mike Kestner <mkestner@novell.com>
* generator/AliasGen.cs : derive from SimpleBase.
	* generator/ConstStringGen.cs : derive from SimpleBase.
	* generator/GObjectGen.cs : kill. now uses ManualGen.
	* generator/GStringGen.cs : kill. now uses MarshalGen.
	* generator/GUnicharGen.cs : kill. now uses MarshalGen.
	* generator/LPGen.cs : derive from SimpleGen.
	* generator/Makefile.am : update source files.
	* generator/ManualGen : make this general for handle types.
	* generator/MarshalGen : new CallByName/FromNative formatter class.
	* generator/SymbolTable.cs : needed some reorganizing and some
	restructuring of types to use MarshalGen.
	* generator/TimeTGen.cs : kill. now uses MarshalGen.

svn path=/trunk/gtk-sharp/; revision=38109
2004-12-27 17:38:52 +00:00
Mike Kestner
1d72136dd8 2004-12-26 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : add new file.
	* generator/SimpleBase.cs : new class for non-generated type mappers.
	* generator/*Gen.cs : first refactoring of "Simple" generatable types.
	Derive them all from SimpleBase. More to come.

svn path=/trunk/gtk-sharp/; revision=38097
2004-12-26 21:22:50 +00:00
Mike Kestner
1c4b5f81ba 2004-12-26 Mike Kestner <mkestner@novell.com>
* generator/CustomMarshalerGen.cs : kill bad idea unused class.
	* generator/Makefile.am : remove CustomMarshalerGen.cs.
	* generator/Method.cs : remove CustomMarshalerGen reference.

svn path=/trunk/gtk-sharp/; revision=38092
2004-12-26 19:40:24 +00:00
Mike Kestner
d8aa13ac21 2004-12-26 Mike Kestner <mkestner@novell.com>
* generator/*Gen.cs : implement IGeneratable fully on GenBase
	with abstract methods where necessary to refactor a ton of redundant
	code.

svn path=/trunk/gtk-sharp/; revision=38091
2004-12-26 19:33:34 +00:00
Dan Winship
7cc3f74b9c * generator/Signal.cs: fix some WriteLine()s that should have been
Write()s

svn path=/trunk/gtk-sharp/; revision=38056
2004-12-22 21:52:18 +00:00
Dan Winship
62258ca7c3 * generator/CallbackGen.cs:
* generator/CodeGenerator.cs: 
        * generator/ManagedCallString.cs:
        * generator/Property.cs: Remove unused vars

        * generator/Method.cs (GetHashCode): have to implement this since
        we're overriding Equals.

        * generator/CallbackGen.cs: print a message when generating a
        broken struct-returning callback. (Currently affects
        GtkSharp.TextSegSplitFuncNative and
        GtkSharp.TextSegCleanupFuncNative)

        * gdk/glue/device.c: 
        * gdk/glue/dragcontext.c: Add missing prototypes

        * gtk/Gtk.metadata: Mark SeparatorToolItem.Draw "new". Re-rename
        CheckMenuItem.Toggled to EmitToggled rather than Toggle, since
        that's a better description of what it does.

        * gtk/CheckMenuItem.custom: implement a "Toggle" method that does
        what the documentation claims it does.

        * gtk/NodeStore.cs: remove unused var

        * gnome/Gnome.metadata: mark DateEdit.Flags, Dialog.Default, and
        PropertyBox.State "new". Hide GnomePixmapEntry.GnomeEntry and
        GnomePixmapEntry.GtkEntry since they do exactly the same thing as
        the methods of the same names inherited from GnomeFileEntry.

        * gnome/glue/canvas-proxy.c:
        * gnome/glue/canvas-proxy.h:
        * gnome/glue/canvas-proxy-marshal.c:
        * gnome/glue/canvas-proxy-marshal.h:
        * gnome/glue/canvas-proxy-marshal.list: Remove unused code

        * gnome/glue/Makefile.am (libgnomesharpglue_2_la_SOURCES): update

        * panelapplet/PanelApplet.metadata: mark PanelApplet.Flags "new"

        * sample/CanvasExample.cs: 
        * sample/CustomCellRenderer.cs: 
        * sample/CustomNotebook.cs: 
        * sample/DrawingSample.cs:
        * sample/Fifteen.cs: 
        * sample/GladeTest.cs: 
        * sample/GtkDemo/DemoHyperText.cs: 
        * sample/GtkDemo/DemoPixbuf.cs: 
        * sample/ScribbleXInput.cs: remove unused vars, use
        GLib.Timeout.Add rather than the deprecated Gtk.Timeout.Add

svn path=/trunk/gtk-sharp/; revision=38043
2004-12-21 18:46:42 +00:00
Mike Kestner
b6b89a0633 2004-12-20 Mike Kestner <mkestner@novell.com>
* gdk/Gdk.metadata : mark a couple array params.
	* generator/Field.cs : remove the MarshalAs hack. We have to
	do something much more evil since MarshalAs can't hang.
	* generator/ImportSignature.cs : deal with out LP(U)Gen params.
	* generator/LPGen.cs : moved from SSizeTGen and generalized.
	* generator/LPUGen.cs : moved from SizeTGen and generalized.
	* generator/Makefile.am : update sources.
	* generator/MethodBody.cs : deal with out LP(U)Gen params.
	* generator/Parameters.cs : deal with out LP(U)Gen params.
	* generator/SymbolTable.cs : make all longs and size_t types LP(U)Gens.

svn path=/trunk/gtk-sharp/; revision=37999
2004-12-20 22:08:43 +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
Mike Kestner
5e298ce11a 2004-12-20 Mike Kestner <mkestner@novell.com>
* generator/Property.cs : generate Interface properties.
	* gtk/ComboBox.custom : remove dup model prop.
	* gtk/TreeView.custom : remove dup model prop.

svn path=/trunk/gtk-sharp/; revision=37985
2004-12-20 18:01:55 +00:00
Mike Kestner
b0ede33602 2004-12-18 Mike Kestner <mkestner@novell.com>
* generator/Field.cs : add MarshalAs attrs for (u)longs.

svn path=/trunk/gtk-sharp/; revision=37922
2004-12-18 17:40:51 +00:00
Dan Winship
8457bacdc9 * generator/Field.cs (StudlyName): Fall back to using "cname" if
"name" isn't defined (ie, when using the latest generator against
	api files output by an older parser).

svn path=/trunk/gtk-sharp/; revision=37902
2004-12-17 20:29:54 +00:00
Dan Winship
104dbedf07 * generator/ClassBase.cs (IgnoreMethod): Don't ignore GetFoo and
SetFoo methods if they aren't in the right form to be turned into
        property accessors. (Causes 13 previously ignored methods to now
        be wrapped. See doc/ChangeLog.)

        * gtk/Gtk.metadata: Fix up a few of those newly-exposed methods

svn path=/trunk/gtk-sharp/; revision=37891
2004-12-17 17:55:07 +00:00
Dan Winship
faaccd7e0b * generator/ManagedCallString.cs (Setup, Finish, ToString): Add
new methods to allow arbitrary setup and teardown code around the
        managed call. When passing a type with "complicated" marshalling
        requirements as a ref or out param, first assign the value to a
        temporary variable (in Setup), then pass the temp as the ref or
        out param (in ToString), and then assign the new value back to the
        original argument (in Finish).

        * generator/Signal.cs: 
        * generator/SignalHandler.cs: Update to generate correct glue for
        signals with "ref" or "out" params. (#70566)

        * generator/VirtualMethod.cs: Update for ManagedCallString change

        * generator/IGeneratable.cs: add comments explaining what each
        member does

        * gtk/Gtk.metadata: mark Editable.InsertText's "position" arg
        * pass-by-ref

        * sample/Size.cs: connect to the SizeRequested event and override
        it, to test/demo the changes

svn path=/trunk/gtk-sharp/; revision=37854
2004-12-16 23:38:35 +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
62977484e6 2004-12-09 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : new files.
	* generator/MethodBody.cs : fix for length param code.
	* generator/SizeTGen.cs : smarter size_t marshaling.
	* generator/SSizeTGen.cs : smarter ssize_t marshaling.
	* generator/SymbolTable.cs : use the new generatables.

svn path=/trunk/gtk-sharp/; revision=37509
2004-12-09 18:40:09 +00:00
Mike Kestner
993d91fa31 2004-12-07 Mike Kestner <mkestner@novell.com>
* */*.cs : s/glue-2.0/glue-2 so that dllimport works on win32.
	* */*.custom : s/glue-2.0/glue-2
	* */glue/makefile.win32 : s/glue-2.0/glue-2
	* */glue/Makefile.am : s/glue-2.0/glue-2

svn path=/trunk/gtk-sharp/; revision=37324
2004-12-07 19:03:55 +00:00
Mike Kestner
089845650c 2004-12-06 Mike Kestner <mkestner@novell.com>
* generator/SymbolTable.cs : add off_t as an IntPtr.

svn path=/trunk/gtk-sharp/; revision=37247
2004-12-06 22:14:03 +00:00
Mike Kestner
5834d8e024 2004-12-06 Mike Kestner <mkestner@novell.com>
* generator/SignalHandler.cs : s/[]/Array in BaseName. [Fixes #69383]

svn path=/trunk/gtk-sharp/; revision=37239
2004-12-06 21:40:44 +00:00
Mike Kestner
6277977ca5 kill a C.WL that snuck in.
svn path=/trunk/gtk-sharp/; revision=37238
2004-12-06 21:38:53 +00:00
Mike Kestner
84d8a42f96 2004-12-06 Mike Kestner <mkestner@novell.com>
* doc/en/*/*.xml : docs for new GValue members and size_t changes.
	* generator/SymbolTable.cs : add ssize_t and make size_t a UIntPtr
	instead of the current broken int mapping on 64 bit platforms.
	* gtkhtml/HTMLStream.custom : fix size_t related overload.
	[fixes #69574]

svn path=/trunk/gtk-sharp/; revision=37223
2004-12-06 19:37:03 +00:00
Todd Berman
6d9785c7f7 2004-12-01 Todd Berman <tberman@off.net>
* generator/StructGen.cs: Check to see if a GType is going to be
        generated. If not, generate a GType.Pointer. This fixes bug
        #70017.
        * glib/TypeConverter.cs: Remove the .IsValueType check, as those
        now have GType properties.
        * gda/Gda.metadata: Change GdaValue.GType to GdaValue.GdaType.
        * doc/en/Gda/Value.xml: Regenerated to reflect new API.

svn path=/trunk/gtk-sharp/; revision=36912
2004-12-01 21:41:10 +00:00
Dan Winship
30cc0b8109 * generator/ClassBase.cs:
* generator/ObjectGen.cs: Move child property handling from
        ClassBase to ObjectGen (as suggested by Mike) since it's only
        used there

svn path=/trunk/gtk-sharp/; revision=36398
2004-11-22 17:52:17 +00:00
Mike Kestner
69eabbd1a3 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/InterfaceGen.cs : beginnings of a real
	implementation for GInterfaces.  Not quite ready yet,
	so it's not active in generation.

svn path=/trunk/gtk-sharp/; revision=36294
2004-11-18 23:04:32 +00:00
Mike Kestner
0881ba5489 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : add new file.
	* generator/Method.cs : add Declaration property.
	* generator/VirtualMethod.cs : new class to generate virtual
	methods for Interfaces and objects. Unfinished.

svn path=/trunk/gtk-sharp/; revision=36292
2004-11-18 22:47:05 +00:00
Mike Kestner
f763364f04 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/ClassBase.cs : remove a "new" string in the
	ChildProp class holder decl to fix build warnings.

svn path=/trunk/gtk-sharp/; revision=36291
2004-11-18 22:35:19 +00:00
Mike Kestner
6072350f1e 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/*Gen.cs : add ToNativeReturnType to deal with
	the g_free string nonsense in the virtual method case.

svn path=/trunk/gtk-sharp/; revision=36289
2004-11-18 22:19:31 +00:00
Mike Kestner
487929df7f 2004-11-18 Mike Kestner <mkestner@novell.com>
* generator/AliasGen.cs : make this a SimpleGen.

svn path=/trunk/gtk-sharp/; revision=36288
2004-11-18 21:51:56 +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
343e5274dd oops, miscommit
svn path=/trunk/gtk-sharp/; revision=36221
2004-11-17 16:06:59 +00:00
Mike Kestner
7dbea0aa67 2004-11-17 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : add new file.
	* generator/Method.cs : refactoring to use ReturnValue.
	* generator/MethodBody.cs : remove unnecessary code.
	* generator/ReturnValue.cs : class for redundant retval handling.
	* generator/Signal.cs : refactoring for ReturnValue.
	* generator/SignalHandler.cs : refactoring for ReturnValue.

svn path=/trunk/gtk-sharp/; revision=36219
2004-11-17 16:00:00 +00:00
Mike Kestner
520eb22a96 2004-11-17 Mike Kestner <mkestner@novell.com>
* generator/Makefile.am : add new file.
	* generator/Method.cs : refactoring to use ReturnValue.
	* generator/MethodBody.cs : remove unnecessary code.
	* generator/ReturnValue.cs : class for redundant retval handling.
	* generator/Signal.cs : refactoring for ReturnValue.
	* generator/SignalHandler.cs : refactoring for ReturnValue.

svn path=/trunk/gtk-sharp/; revision=36218
2004-11-17 15:57:17 +00:00
Dan Winship
598f8e28e5 * glib/Value.cs: add new constructors for enum and boxed values
that take the name of the type rather than an object/property
        name pair; this way they work for both GObject properties and
        GtkContainer child properties.

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

        * glib/Opaque.cs (GetOpaque): Fix this.

        * generator/Property.cs (Generate): Use the new GLib.Value
        constructors. (Fixes setting of enum-valued child properties.)

svn path=/trunk/gtk-sharp/; revision=36174
2004-11-16 18:03:58 +00:00
Dan Winship
bf07e92f42 * generator/DESIGN: Document what the different classes do
svn path=/trunk/gtk-sharp/; revision=36140
2004-11-15 16:00:08 +00:00
Dan Winship
03ca54df2f Fix the handful of LF-only lines in otherwise CRLF files, so that
emacs won't show the ^Ms on the other 99% of lines

svn path=/trunk/gtk-sharp/; revision=36135
2004-11-15 13:56:34 +00:00
Duncan Mak
0469f00a60 2004-11-13 Duncan Mak <duncan@ximian.com>
* generator/SymbolTable.cs: Add support for GDestroyNotify, so
	that `gtk_cell_layout_set_cell_data_func' will be generated in
	Gtk.ComboBox.

svn path=/trunk/gtk-sharp/; revision=36095
2004-11-14 03:13:09 +00:00
Dan Winship
e1dc10e4c8 * glib/Object.cs (CreateNativeObject): virtualize
(Object(GType)): Mark this ctor Obsolete

	* gtk/Gtk.metadata: disable the generated GType ctor on Gtk.Widget

	* gtk/Widget.custom (Widget, CreateNativeObject,
	Widget_ParentSet): Connect to our own ParentSet event from
	CreateNativeObject and the GType ctor, and keep a static Hashtable
	of parented widgets, so that adding a managed widget to a
	container keeps both the GObject and the managed object alive.

	* generator/ObjectGen.cs (GenCtors): handle the disable_gtype_ctor
	flag. Also, mark GType ctors [Obsolete]

svn path=/trunk/gtk-sharp/; revision=35885
2004-11-09 14:22:39 +00:00
Dan Winship
9084ce3133 * generator/ChildProperty.cs:
* generator/Property.cs: Fix child property names.

svn path=/trunk/gtk-sharp/; revision=35835
2004-11-08 17:48:27 +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
Tambet Ingo
2a3d6563db 2004-11-05 Tambet Ingo <tambet@ximian.com>
* generator/OpaqueGen.cs: Add optional "parent" attribute to Opaque
	types.

svn path=/trunk/gtk-sharp/; revision=35681
2004-11-05 07:18:14 +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
ed44e2d365 2004-10-21 Mike Kestner <mkestner@ximian.com>
* generator/SymbolTable.cs : map unsigned int to uint.  [Fixes #67732]

svn path=/trunk/gtk-sharp/; revision=35214
2004-10-21 19:11:13 +00:00
Dan Winship
5e9eb345d5 * generator/OpaqueGen.cs: Don't build the (IntPtr raw) constructor
if "disable_raw_ctor" is set on the opaque type.

        * gtk/Gtk.metadata: Make GtkTargetList opaque (fixes a crash in
        Gtk.Drag.Begin), hide the generated constructor and ref/unref
        methods, and fix up the interpretation of AddTable.

        * gtk/TargetList.custom (TargetList, ~TargetList): Implement the
        suppressed constructors and add a finalizer, which handle
        refcounting the underlying struct.
        (Add, Find, Remove): convenience overloads that take string
        instead of Gdk.Atom.

        * gtk/Makefile.am (customs): add TargetList.custom

svn path=/trunk/gtk-sharp/; revision=35135
2004-10-19 14:21:48 +00:00
Mike Kestner
f923d44d7a 2004-09-29 Mike Kestner <mkestner@ximian.com>
* generator/GStringGen.cs : new generatable impl for GStrings.
	* generator/InterfaceGen.cs : better error reporting.
	* generator/Makefile.am : add new source file.
	* generator/Method.cs : better error reporting.
	* generator/SymbolTable.cs : add new GString igen.

svn path=/trunk/gtk-sharp/; revision=34525
2004-09-29 18:00:38 +00:00
Mike Kestner
7a395905ac 2004-08-25 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : use typeof instead of Type.GetType to
	specify the event args type.
	* glib/ObjectManager.cs : beef up the type lookup code using
	Assembly.LoadWithPartialName to fix a very popular win32 bug.
	[Fixes #61139 and friends]  Thanks to John Luke for expert
	patch testing on win32.

svn path=/trunk/gtk-sharp/; revision=32831
2004-08-25 18:16:17 +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
0372a77462 2004-06-11 Mike Kestner <mkestner@ximian.com>
* doc/en/*/*.xml : update to remove Override* methods.
	* generator/Signal.cs : make the Override* methods private.  They
	should not ever be called manually and it saves about 800 "do not
	call this method" doc entries.

svn path=/trunk/gtk-sharp/; revision=29388
2004-06-11 22:41:01 +00:00
Mike Kestner
4cc4140ea5 2004-06-02 Mike Kestner <mkestner@ximian.com>
* generator/Field.cs : add field hiding, for manual impl.
	* generator/StructBase.cs : support disable_new, for manual impl.

svn path=/trunk/gtk-sharp/; revision=28715
2004-06-02 20:28:42 +00:00
Mike Kestner
77d1b452f5 2004-06-01 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : generate protected ctor () for all
	GLib.Objects that don't have any ctors.
	* gtk/CellRenderer.custom : remove ctor ().
	* gtkhtml/Gtk.metadata : add a disable_void_ctor rule for HTML.

svn path=/trunk/gtk-sharp/; revision=28645
2004-06-01 18:00:09 +00:00
Mike Kestner
73632b2747 2004-05-28 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : adjust to ObjectManager ns change.
	* glib/ManagedValue.cs : move to GLib and internalize.
	* glib/Object.cs : adjust to ObjectManager ns change.
	* glib/ObjectManager.cs : move to GLib.
	* glib/TypeConverter.cs : move to GLib.  return ManagedValue.GType
	when we can't match a type instead of GType.None.
	* gtk/*.custom: adjust for new TypeConverter ns and behavior.

2004-05-28  Mike Kestner  <mkestner@ximian.com>

	* en/* : run updater. fix a few *Sharp copy/pastisms.

svn path=/trunk/gtk-sharp/; revision=28362
2004-05-28 16:59:21 +00:00
Mike Kestner
ca91d3c85f 2004-05-23 Mike Kestner <mkestner@ximian.com>
* generator/SignalHandler.cs : put back the ObjectGen hack
	for param wrapping.  [Fixes #58876]

svn path=/trunk/gtk-sharp/; revision=27940
2004-05-24 02:25:16 +00:00
Mike Kestner
9f54a63375 2004-05-19 Mike Kestner <mkestner@ximian.com>
* gtk/Container.custom : add CallbackInvoke and use it in OnForall.

2004-05-19  Mike Kestner  <mkestner@ximian.com>

	* generator/Makefile.am : add TimeTGen.cs
	* generator/SymbolTable.cs : use new TimeTGen.
	* generator/StringGen.cs : s/GLibSharp/GLib
	* generator/TimeTGen.cs : generatable to marshal time_t.
	* glib/time_t_CustomMarshaler.cs : kill
	* glib/Makefile.am : remove time_t_CustomMarshaler.cs
	* glib/Markup.cs : s/GLibSharp/GLib
	* glib/Marshaller.cs : move to GLib namespace. Add methods to
	marshal time_t to and from DateTime.
	* glib/glue/time_t.c : kill
	* glib/glue/Makefile.am : remove time_t.c
	* glib/glue/makefile.win32 : remove time_t.o
	* gnome/*.custom : use GLib.Marshaller instead of the time_t custom
	marshaler.
	* gtk/*.custom : s/GLibSharp/GLib

svn path=/trunk/gtk-sharp/; revision=27704
2004-05-19 18:57:28 +00:00
Mike Kestner
bfc77b2230 2004-05-17 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : Generate a .cctor that calls the assembly's
	ObjectManager.Initialize method if the class will need to be registered
	with GLib.ObjectManager.  Enhance the Initialize method to allow
	multiple invocations.

svn path=/trunk/gtk-sharp/; revision=27554
2004-05-18 02:46:17 +00:00
Mike Kestner
ffe268c415 2004-05-17 Mike Kestner <mkestner@ximian.com>
* generator/SignalHandler.cs : fix some broken/redundant generation in
	the Object/Struct wrapping for sig params.
	* glib/Object.cs : internalize/protect lots of API that shouldn't need
	to be used by non-subclass/non-glib code. Return GType.Object as GType.
	* glib/Value.cs : use internal GLib.Object.NativeType prop.
	* sample/TestDnd.cs : use ToString instead of TypeName.

svn path=/trunk/gtk-sharp/; revision=27530
2004-05-17 17:52:00 +00:00
Mike Kestner
60d2fab857 2004-05-11 Mike Kestner <mkestner@ximian.com>
* *.pc.in : add Requires so that dependent libs are pulled in too.

svn path=/trunk/gtk-sharp/; revision=27132
2004-05-11 20:56:24 +00:00
Mike Kestner
c9f1eadc11 2004-05-07 Mike Kestner <mkestner@ximian.com>
[Derived from a patch by Ben Maurer]
	* generator/Ctor.cs : generate code to detect subclassing and handle
	GType registration and native object creation properly.
	* generator/Parameters.cs : add PropertyName accessor for param attr.
	* generator/Property.cs : use a new GLib.Value ctor.
	* glib/ObjectManager.cs : redo hash access.
	* glib/Object.cs : CreateNativeObject method to invoke g_object_newv
	and some refactoring of RegisterGType and LookupGType.
	* glib/Value.cs : make gtype field an IntPtr.
	* glib/glue/object.c : glue for g_object_newv use.
	* glib/glue/value.c : new glue for value creation.
	* gtk/Dialog.custom : fix a ctor declaration for auto-reg.
	* gtk/Gtk.metadata : mark a couple property_name attrs as examples.
	* sample/Subclass.cs : use auto-GType-registration now.

svn path=/trunk/gtk-sharp/; revision=26916
2004-05-07 13:42:59 +00:00
Jeroen Zwartepoorte
e07bb75fd6 2004-05-06 Jeroen Zwartepoorte <jeroen@xs4all.nl>
* generator/Method.cs: Don't use the "unsafe" modifier for methods which
	are part of an interface [fixes #58059].

svn path=/trunk/gtk-sharp/; revision=26843
2004-05-06 15:58:00 +00:00
Mike Kestner
31ef54a54a 2004-05-05 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : remove g_value_init DllImport and change
	(g|s)et_boxed to use a glue method to simplify dllmapping.
	* glib/Value.cs : add Init method.
	* glib/glue/value.cs : add get/set_boxed glue methods.
	* */*.config.in : remove libgobject mappings for dlls that no longer
	need them.

svn path=/trunk/gtk-sharp/; revision=26787
2004-05-05 20:14:14 +00:00
Mike Kestner
01acd7f576 2004-05-05 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : rmv Handle param to SignalCallback ctor calls.
	s/GtkSharp.Signal*/GLib.Signal*.
	* generator/SignalHandler.cs : rmv Handle param to ctors as it's
	redundant.  s/GtkSharp.Signal*/GLib.Signal*. Use new Connect/Disconnect
	instead of generating DllImports into libgobject directly.
	* glib/SignalArgs.cs : move the the GLib namespace.
	* glib/SignalCallback.cs : expose Connect and Disconnect methods to
	hide some pinvokes that were previously generated. Also move to the
	GLib namespace.
	gnome/*Handler.cs : update to new SignalHandler API.
	gnome/CanvasProxy.cs : ditto
	gnome/void*Signal.cs : ditto

svn path=/trunk/gtk-sharp/; revision=26778
2004-05-05 18:24:04 +00:00
Owen Fraser-Green
ce55d821aa Minor fixed to get gstreamer working.
svn path=/trunk/gtk-sharp/; revision=26341
2004-04-29 21:21:57 +00:00
Rachel Hestilow
aee0a1f894 2004-04-16 Rachel Hestilow <rachel@nullenvoid.com>
* generator/GObjectGen.cs: Added new generatable to handle
	plain GObjects the same way we do subclasses.
	* generator/ManualGen.cs: Make FromNative/FromNativeReturn virtual
	to allow overriding.
	* generator/SymbolTable.cs: Use GObjectGen instead of
	ManualGen for GObject.
	* generator/Makefile.am: Add GObjectGen.cs.

svn path=/trunk/gtk-sharp/; revision=25651
2004-04-18 03:19:15 +00:00
Mike Kestner
1ac00ff205 2004-04-12 Mike Kestner <mkestner@ximian.com>
[Rework of a patch from Ben Maurer to turn GLib.Value
	into a valuetype.]
	* generator/BoxedGen.cs : fix operators for new valuetype GValues.
	* generator/ByRefGen.cs : new generatable for byref value types.
	* generator/Makefile.am : add ByRefGen.cs.
	* generator/MethodBody.cs : remove GValue special casing.
	* generator/Property.cs : rework value handling.
	* generator/Signal.cs : fix base virtual method value passing.
	* generator/SymbolTable.cs : map GValue to ByRefGen.
	* glib/Object.cs : rework GetProperty and SetProperty.
	* glib/Value.cs : make it a value type.
	* glib/ValueArray.cs : fix GValue passing.
	* glib/glue/value.c : rework for valuetype GValues.
	* gnome/Program.custom : fix GValue passing
	* gtk/Gtk.metadata : make TreeModel.GetValue value param pass_as=ref.
	* gtk/ListStore.custom : fix GValue passing
	* gtk/NodeStore.cs : fix GValue passing
	* gtk/TextTag.custom : fix GValue passing
	* gtk/TreeModelSort.custom : fix GValue passing
	* gtk/TreeStore.custom : fix GValue passing

svn path=/trunk/gtk-sharp/; revision=25368
2004-04-12 15:54:57 +00:00
Mike Kestner
e7bf3a279f 2004-04-07 Mike Kestner <mkestner@ximian.com>
* generator/ClassBase.cs : remove default ctor generation and
	hasDefaultConstructor field.
	* generator/Ctor.cs : chain to base (IntPtr.Zero).
	* generator/StructBase.cs : remove hasDefaultConstructor usage.
	* glib/Object.cs : remove Object () ctor.  Add Ben's GetGType
	method, although nothing uses it yet.  Still working on integrating
	the remainder of Ben's patch.
	* gtk/Gtk.metadata : remove all the disabledefaultctor rules.
	* */*.custom : add base (IntPtr.Zero) or this (...) chaining for
	all ctors.

svn path=/trunk/gtk-sharp/; revision=25184
2004-04-07 19:15:01 +00:00
Mike Kestner
05e4e0b9d3 2004-04-04 Mike Kestner <mkestner@ximian.com>
* generator/SymbolTable.cs : don't use StringGen for gunichar.
	* glib/glue/unichar.c : glue to fetch a gunichar as a utf8 string.
	* glib/glue/Makefile.am : add unichar.c
	* glib/glue/makefile.win32 : add unichar.c
	* gtk/Gtk.metadata : hide TextIter.GetChar
	* gtk/TextIter.custom : manually impl Char prop. [fixes #53425]

svn path=/trunk/gtk-sharp/; revision=25054
2004-04-05 18:31:34 +00:00
Mike Kestner
7b15abe5fd 2004-04-04 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : DllImport glibsharpglue for value_create.

svn path=/trunk/gtk-sharp/; revision=25045
2004-04-05 16:06:49 +00:00
Mike Kestner
ab2f05fa77 2004-03-31 Mike Kestner <mkestner@ximian.com>
* configure.in : remove atk/glue/Makefile
	* atk/Makefile.am : comment out subdirs for now
	* atk/makefile.win32 : don't build glue
	* */glue/Makefile.am : remove generated.c from sources
	* */glue/makefile.win32 : remove generated.c from sources
	* generator/ObjectGen.cs : disable vm glue generation for now.

svn path=/trunk/gtk-sharp/; revision=24850
2004-03-31 16:34:08 +00:00
Mike Kestner
9861569931 2004-03-18 Mike Kestner <mkestner@ximian.com>
* configure.in : expand atk/glue/Makefile
	* atk/Makefile.am : generate glue and build glue dir
	* atk/makefile.win32 : ditto
	* atk/glue/Makefile.am : build new glue
	* atk/glue/makefile.win32 : build new glue
	* atk/glue/vmglueheaders.h : new includes for vm glue
	* atk/glue/win32dll.c : win dll building code
	* generator/CodeGenerator.cs : add --gluelib-name and
	--glue-filename argument parsing.
	* generator/GenerationInfo.cs : add GluelibName, GlueFilename,
	GlueEnabled, GlueWriter, and CloseGlueWriter.
	* generator/ObjectGen.cs : Add VirtualMethod glue generation
	* generator/Statistics.cs : Add warning message for virtual
	method throttling.

svn path=/trunk/gtk-sharp/; revision=24292
2004-03-18 20:56:32 +00:00
Mike Kestner
f5289b6c93 2004-03-16 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : streamline the remove code a tad.

svn path=/trunk/gtk-sharp/; revision=24170
2004-03-16 21:21:11 +00:00
Mike Kestner
7cf239155e 2004-03-16 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : remove a C.WL.

svn path=/trunk/gtk-sharp/; revision=24161
2004-03-16 20:10:05 +00:00
Mike Kestner
1a1f5e1702 2004-03-16 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : don't gen a Signals hash per class.
	* generator/Signal.cs : gen checks for [ConnectBefore].
	* generator/SignalHandler.cs : add connect_flags param to ctor.
	* glib/ConnectBeforeAttribute.cs : new attr
	* glib/Makefile.am : add new file
	* glib/Object.cs : add before/after hashes and EventLists
	* gnome/CanvasProxy.cs : use AfterSignals and AfterHandlers.

svn path=/trunk/gtk-sharp/; revision=24157
2004-03-16 19:43:04 +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
Urs C. Muff
c8511cd513 Using configurable runtime during build process --> RUNTIME=@MONO@ in Makefile.in files. MONO is defined in configure.in. For Mac OS X == Darwin it is 'mint' for now, for the others it remains 'mono'. Also use the more generic code from mono/autogen.sh to detect libtool.
svn path=/trunk/gtk-sharp/; revision=23880
2004-03-10 15:57:33 +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
f774796311 2004-02-10 Mike Kestner <mkestner@ximian.com>
* gconf/GConf.PropertyEditors/PropertyEditorColorPicker.cs :
	nuke a GnomeSharp.
	* generator/Signal.cs : move eventhandlers and args into the
	base namespace instead of a *Sharp namespace.
	* sample/*.cs : nuke using *Sharp.

svn path=/trunk/gtk-sharp/; revision=22956
2004-02-10 20:35:40 +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
3d95f23f6f 2004-02-07 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : oops, remove a couple C.WLs.

svn path=/trunk/gtk-sharp/; revision=22866
2004-02-07 23:43:35 +00:00
Mike Kestner
f91aeb5425 2004-02-07 Gustavo Giraldez <gustavo.giraldez@gmx.net>
* atk/Makefile.in : fix copy/paste error in --assembly-name.
	* generator/ObjectGen.cs : rework ObjectManager generation code.
	* glade/Makefile.in : fix copy/paste error in --assembly-name.

svn path=/trunk/gtk-sharp/; revision=22865
2004-02-07 23:24:15 +00:00
Mike Kestner
dc7145103d 2004-02-06 Mike Kestner <mkestner@ximian.com>
* generator/Method.cs : for Opaque/Object retvals, if raw_ret is
	NULL, return null instead of an object with a NULL handle.

svn path=/trunk/gtk-sharp/; revision=22847
2004-02-06 21:33:14 +00:00
Mike Kestner
4251d47fe9 2004-02-04 Mike Kestner <mkestner@ximian.com>
* generator/CustomMarshalerGen.cs : impl MarshalReturnType.
	* generator/Method.cs : add CustomMarshalerGen return type handling.
	* generator/Property.cs : rework property type selection.
	* generator/SymbolTable.cs : add time_t mapping
	* glib/time_t_CustomMarshaler.cs : impl native to managed methods.
	* glue/time_t.c : remove debugging code.

svn path=/trunk/gtk-sharp/; revision=22772
2004-02-04 19:54:46 +00:00
Mike Kestner
d4c8fc78c7 2004-02-02 Mike Kestner <mkestner@ximian.com>
* generator/CustomMarshalerGen.cs : beginnings of a new generatable.
	* generator/SymbolTable.cs : mangle interface keyword to iface.

svn path=/trunk/gtk-sharp/; revision=22712
2004-02-02 21:35:01 +00:00
Martin Willemoes Hansen
058077b7f1 * generator/ClassBase.cs: Converted String uses to the string alias.
* generator/ConstStringGen.cs: Ditto
        * generator/Ctor.cs: Ditto
        * generator/EnumGen.cs: Ditto
        * generator/ManualGen.cs: Ditto
        * generator/SignalHandler.cs: Ditto
        * generator/StringGen.cs: Ditto

svn path=/trunk/gtk-sharp/; revision=22710
2004-02-02 20:19:43 +00:00
Mike Kestner
1742a837c1 2004-01-27 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : gen a Value to Boxed explicit cast op.
	* generator/Property.cs : use new cast in Boxed getters.
	[Fixes #53414]

svn path=/trunk/gtk-sharp/; revision=22553
2004-01-27 22:06:24 +00:00
Mike Kestner
2dc2f1ed0f 2004-01-27 Mike Kestner <mkestner@ximian.com>
* generator/MethodBody.cs : remove unnecessary generation for
	Handle using out parameters.
	* gtk/Gtk.Metadata : make TextIter opaque
	* gtk/TextBuffer.custom : remove redundant dllimport
	* gtk/gtk-api.xml : regen

svn path=/trunk/gtk-sharp/; revision=22551
2004-01-27 19:58:59 +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
Martin Willemoes Hansen
64e7ad9f30 * generator/Ctor.cs: Warnings was output like "ctor" fixed to
output like "in ctor", like the rest of the warnings.

svn path=/trunk/gtk-sharp/; revision=22394
2004-01-22 11:27:29 +00:00
Mike Kestner
e4165fbb18 2004-01-21 Mike Kestner <mkestner@ximian.com>
* generator/Field.cs : kill Protection, restructure Generate
	and add FIXMEs for broken parts. Add StudlyName and move array
	fields to use Studly names.

svn path=/trunk/gtk-sharp/; revision=22357
2004-01-21 20:47:41 +00:00
Mike Kestner
13c8647b1e 2004-01-19 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : correct a couple symbolic array_lens
	* art/art-api.xml : regen
	* gdk/Gdk.metadata : correct a symbolic array_len
	* gdk/gdk-api.xml : regen
	* generator/Field.cs : generate array fields with MarshalAs
	attrs for correct marshaling.

svn path=/trunk/gtk-sharp/; revision=22261
2004-01-19 17:05:53 +00:00
Mike Kestner
d1367eb515 2004-01-18 Mike Kestner <mkestner@ximian.com>
* generator/Field.cs : refactored code from StructBase
	* generator/StructBase.cs : spin off Field class

svn path=/trunk/gtk-sharp/; revision=22239
2004-01-19 05:30:05 +00:00
Mike Kestner
b17f91170f 2004-01-18 Mike Kestner <mkestner@ximian.com>
* generator/SymbolTable.cs : mangle parms named readonly

svn path=/trunk/gtk-sharp/; revision=22238
2004-01-19 05:27:42 +00:00
Martin Willemoes Hansen
c2d4c12e67 * generator/Method.cs: Methods which returns void and has a single out parameter
like void Foobar (..., out int baz, ...) are turned into the more .NET like
          signature int Foobar (...), this fixes bug 46392
        * generator/Signature.cs: Ditto
        * generator/MethodBody.cs: Ditto
        * gtk/ListStore.custom: Ditto
        * gtk/TextBuffer.custom: Ditto
        * gtk/TreeStore.custom: Ditto

svn path=/trunk/gtk-sharp/; revision=22126
2004-01-15 21:18:46 +00:00
Mike Kestner
80a630a8a4 2004-01-13 Tambet Ingo <tambet@ximian.com>
* gtk-sharp.pc.in : add libdir var
	* generator/SymbolTable.cs : add GByteArray mapping.

svn path=/trunk/gtk-sharp/; revision=22070
2004-01-14 18:40:00 +00:00
Mike Kestner
6ec923833e 2004-01-13 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : use ValueArray to assemble parms arg for
	g_signal_chain_from_overriden call.  Initialize retval GValue for
	above.
	* glib/Object.cs : g_signal_chain_from_overridden parms are IntPtrs.
	* glib/TypeConverter.cs : handle unboxed ValueTypes.
	* glib/Value.cs : handle unboxed struct types.  add ctor for init'd
	unset Values.
	* glib/ValueArray.cs : new binding for GValueArray used by VMs.
	* glue/valuearray.c : field accessors
	* glue/Makefile.am : add new glue file
	* glue/makefile.win32 : add new glue file
	[Fixes #52680]

svn path=/trunk/gtk-sharp/; revision=22069
2004-01-14 18:05:50 +00:00
Joe Shaw
0925be2387 2003-12-16 Joe Shaw <joe@ximian.com>
* generator/SymbolTable.cs (MangleName): Add "lock" and "callback"
	to the list of names that need to be mangled.  The former is a C#
	reserved keyword and the latter is already used as an argument to
	methods which marshal callbacks.

svn path=/trunk/gtk-sharp/; revision=21276
2003-12-17 15:27:34 +00:00
Mike Kestner
ff263164e3 2003-12-15 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : s/uint/GLib.GType
	* generator/ManualGen.cs : add a ctor to pass ToNative handle name
	* generator/ObjectGen.cs : s/uint/GLib.GType
	* generator/Signal.cs : use GLib.GType and call OverrideVirtualMethod
	* generator/SymbolTable.cs : make GType a ManualGen and update a few
	ManualGens to the new signatures.
	* glib/DefaultSignalHandler.cs : s/Type/System.Type
	* glib/ManagedValue.cs : s/uint/GLib.GType
	* glib/Object.cs : s/uint/GLib.GType, add OverrideVirtualMethod.
	* glib/Type.cs : s/uint/IntPtr, add static fields for fundamentals.
	make it a value type and add ==, !=, Equals, and GetHashCode.
	* glib/TypeConverter.cs : use new GType statics, not fundamentals.
	* glib/Value.cs : use new GType statics, not fundamentals.
	* gnome/*.custom : s/uint/GLib.GType
	* gtk/*Store.custom : use GType statics, not fundamentals.
	* sample/Subclass.cs : s/uint/GLib.GType.

svn path=/trunk/gtk-sharp/; revision=21181
2003-12-15 16:59:25 +00:00
Mike Kestner
027410def9 2003-12-12 Mike Kestner <mkestner@ximian.com>
* generator/CallbackGen.cs : kill some redundant generation
	* generator/MethodBody.cs : pass array parameters as arrays of
	the corresponding native type.

svn path=/trunk/gtk-sharp/; revision=21083
2003-12-12 22:56:28 +00:00
Mike Kestner
ba1d3996a4 2003-12-10 Mike Kestner <mkestner@ximian.com>
* generator/CallbackGen.cs : kill ref_owned generation
	* generator/ClassBase.cs : use simple GetObject w/o ref_owned
	* generator/ManagedCallString.cs : new class to generate native
	to managed method calls.
	* generator/Method.cs : kill ref_owned generation
	* generator/MethodBody.cs : kill ref_owned generation
	* generator/Property.cs : kill ref_owned generation
	* generator/Signal.cs : generate delegates and vtable connect
	methods for all signals. Mark VMs with new attr.
	* generator/StructBase.cs : kill ref_owned generation
	* glib/DefaultSignalHandlerAttribute.cs : new attr to mark
	virtual methods.
	* glib/Object.cs : add overload for GetObject that defaults
	to ref_owned=false. Add extern for VM override glue.

svn path=/trunk/gtk-sharp/; revision=21005
2003-12-10 22:56:49 +00:00
Mike Kestner
bc37b4ff76 2003-12-08 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs : add virtual method generation for the
	default signal handlers.
	* glib/Object.cs : add g_signal_chain_from_overridden extern

svn path=/trunk/gtk-sharp/; revision=20920
2003-12-09 05:01:22 +00:00
Mike Kestner
968230bd25 2003-12-08 Mike Kestner <mkestner@ximian.com>
* generator/VMSignature.cs : new class to generate virtual method
	signatures for default signal handlers.

svn path=/trunk/gtk-sharp/; revision=20888
2003-12-08 19:14:12 +00:00
Mike Kestner
9c3f47e5d3 2003-12-08 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs : stupid little whitespace change

svn path=/trunk/gtk-sharp/; revision=20887
2003-12-08 19:05:03 +00:00
Mike Kestner
f61ac5c89c 2003-12-03 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : use new sig and isig classes.
	* generator/Ctor.cs : use new sig, isig, and body classes.
	* generator/ImportSignature.cs : isig code spun out from Parameters.
	* generator/Method.cs : use new sig, isig, and body classes.
	* generator/MethodBody.cs : spun Initialize, GetCallString,
	Finish, and Exception throwing methods from Parameters.
	* generator/Parameters.cs : Slayed the evilness that was CreateSignature.
	It is now essentially a container for Parameter classes instead of a
	tangled mess of code trying to do everything remotely related to
	parameter lists. Also completely killed the VAType/IsVarArgs stuff,
	as it can be done with the array and params attrs instead.
	* generator/Property.cs : use new sig class.
	* generator/Signature.cs : new method sig generator extracted from
	Parameters class. add "params" keyword support for tagged parameters.
	* gnome/Gnome.metadata : hide IconList.GetSearchPath (to be manual)
	* gnome/gnome-api.xml : regen
	* gtk/ListStore.custom : kill unneeded overload
	* gtk/TreeStore.custom : kill unneeded overload
	* gtk/Gtk.metadata : mark params/args on *store_newv
	* gtk/gtk-api.xml : regenerated

svn path=/trunk/gtk-sharp/; revision=20755
2003-12-03 23:08:14 +00:00
Mike Kestner
c1916a0aa0 2003-11-29 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs : handle null_ok for arrays.
	* gtk/Gtk.metadata : mark a null_ok in Drag.DestSet
	* gtk/gtk-api.xml : regen

svn path=/trunk/gtk-sharp/; revision=20619
2003-11-30 03:25:35 +00:00
Mike Kestner
c8afbd3ca2 2003-11-29 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs : remove ==/!= operator generation.

svn path=/trunk/gtk-sharp/; revision=20611
2003-11-29 23:12:54 +00:00
Mike Kestner
c2d44cbb6a 2003-11-23 Mike Kestner <mkestner@ximian.com>
* generator/SignalHandler.cs : use CONNECT_AFTER.

svn path=/trunk/gtk-sharp/; revision=20360
2003-11-23 21:43:55 +00:00
Mike Kestner
62a858e0cd 2003-11-16 Mike Kestner <mkestner@ximian.com>
* generator/Parameters: handle array+len param pairs.
	* gtk/Gtk.metadata : unhide DestDefaults and mark targets param of
	drag_dest_set as array.
	* gtk/gtk-api.xml : regenerate

svn path=/trunk/gtk-sharp/; revision=20096
2003-11-17 03:44:32 +00:00
Mike Kestner
5dd6cef552 2003-11-13 Mike Kestner <mkestner@ximian.com>
* generator/SignalHandler.cs : guard against destroyed signalhandlers.

svn path=/trunk/gtk-sharp/; revision=19982
2003-11-14 03:05:20 +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
7ade209999 2003-11-02 Mike Kestner <mkestner@ximian.com>
* generator/CallbackGen.cs : use a temporary ret value if there
	is any cleanup to be done after the call.  Thanks to John Luke
	for a patch which identified the problem.

svn path=/trunk/gtk-sharp/; revision=19561
2003-11-03 01:36:55 +00:00
Martin Willemoes Hansen
d5a4cdb689 * generator/Method.cs: marked Is and Has methods,
to be generated as properties, fixes bug [47910]

svn path=/trunk/gtk-sharp/; revision=19468
2003-10-29 22:11:59 +00:00
Mike Kestner
0cdee479e2 2003-10-28 Mike Kestner <mkestner@ximian.com>
* generator/BoxedGen.cs : generate GLib.Value ctors. [fixes #47168]
	* generator/Property.cs : use new Boxed value ctors.
	* generator/StructBase.cs : use existing Writer if available.

svn path=/trunk/gtk-sharp/; revision=19433
2003-10-28 15:45:35 +00:00
Mike Kestner
5eadb9b87c 2003-10-20 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : treat interface out params like objects.
	* gtk/gtk-api.xml : regenerated
	* gtk/Gtk.metadata : mark TreeSelection.GetSelected params out.
	* gtk/TreeSelection.custom : emptied since it's now generated.
	* sources/Gtk.metadata : kill hide of TreeSelection.GetSelected.
	[fixes #49858]

svn path=/trunk/gtk-sharp/; revision=19229
2003-10-20 21:27:38 +00:00
Mike Kestner
0525cb807e 2003-10-20 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : add a cast to the call_string for Length
	params other than int.

svn path=/trunk/gtk-sharp/; revision=19202
2003-10-20 17:33:05 +00:00
Mike Kestner
c62e9ab977 2003-10-17 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : mark enum pointer params as out.
	need to audit if any are really arrays.  [Fixes #49779]

svn path=/trunk/gtk-sharp/; revision=19153
2003-10-17 23:06:37 +00:00
Mike Kestner
686688d760 2003-10-15 Mike Kestner <mkestner@ximian.com>
* generator/Property.cs : use new Opaque value ctor and
	rework get/set blocks for Opaque types. [Fixes #47959]
	* glib/Opaque.cs : kill explicit IntPtr operator.
	* glib/Value.cs : rework Opaque value ctor.

svn path=/trunk/gtk-sharp/; revision=19088
2003-10-15 20:13:50 +00:00
Mike Kestner
bdc5c7071f 2003-10-13 Mike Kestner <mkestner@ximian.com>
* gdk/Gdk.metadata : mark an array param on PixbufDestroyNotify
	* gdk/gdk-api.xml : regenerated
	* generator/CallbackGen.cs : Handle out params in callback sigs
	and ditch the object[] args handling for typed args.
	* generator/Parameters.cs : more proactive PassAs logic.  We now
	default all simple pointer types (uint*, int*, double*, etc...)
	to out params unless they are marked otherwise in the XML with a
	pass_as tag or an array tag.  [Fixes #32104]

svn path=/trunk/gtk-sharp/; revision=18993
2003-10-13 21:53:40 +00:00
Mike Kestner
03ac3ab7fe 2003-10-11 Mike Kestner <mkestner@ximian.com>
* generator/OpaqueGen.cs (FromNativeReturn): just do a
	new on the type.  GLib.Opaque.GetOpaque was apparently an
	homage to GetObject that just seems wrong.

svn path=/trunk/gtk-sharp/; revision=18893
2003-10-11 21:33:16 +00:00
Mike Kestner
71e9414883 2003-10-11 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : Properly handle out params for
	Object and Opaque types.
	* gtk/ListStore.custom: remove out on GetValue overload
	* gtk/TreeStore.custom: remove out on GetValue overload
	* gtk/gtk-api.xml : regenerated
	* sources/Gtk.metadata : remove some incorrect out tags

svn path=/trunk/gtk-sharp/; revision=18891
2003-10-11 20:53:10 +00:00
Mike Kestner
3f0273bece 2003-10-10 Mike Kestner <mkestner@ximian.com>
* */makefile.win32 : remove api dir from build and fix clean target

svn path=/trunk/gtk-sharp/; revision=18864
2003-10-10 18:58:19 +00:00
Mike Kestner
a2e87da28e 2003-10-09 Mike Kestner <mkestner@ximian.com>
* generator/Statistics.cs (Report): pretty it up.
	* generator/SymbolTable.cs : handle const-xmlChar as ConstString

svn path=/trunk/gtk-sharp/; revision=18832
2003-10-09 23:14:12 +00:00
Mike Kestner
aa9ff69ce1 2003-10-09 Mike Kestner <mkestner@ximian.com>
* generator/Property.cs : don't do new for Objects if FromNativeReturn
        returns null.  [Fixes #48055]

svn path=/trunk/gtk-sharp/; revision=18793
2003-10-09 05:16:37 +00:00
Mike Kestner
f716fb7003 2003-10-07 Mike Kestner <mkestner@ximian.com>
* api/gtk-api.xml : regenerated
	* generator/Method.cs : gen new_flag automatically if set
	* sources/Gtk.metadata : mark new_flag on Gtk.Bin.GetChild

svn path=/trunk/gtk-sharp/; revision=18736
2003-10-08 02:56:44 +00:00
Mike Kestner
c9580f2355 2003-10-07 Mike Kestner <mkestner@ximian.com>
* generator/ObjectGen.cs (Generate): check sigs.Count in addition
	to the null check to determine if the signals hash should be
	generated.

svn path=/trunk/gtk-sharp/; revision=18718
2003-10-07 22:21:45 +00:00
Mike Kestner
65fec771bb 2003-10-06 Mike Kestner <mkestner@ximian.com>
* Makefile.in : add gtkhtml dir.
	* configure.in : expand gtkhtml/Makefile
	* api/Makefile.in : remove gtkhtml-api.xml
	* generator/CodeGenerator.cs : parse new --outdir, --customdir,
	and --assembly-name args.
	* generator/GenerationInfo.cs (Ctor): new (dir, dir,assembly) ctor
	* gtkhtml/HTMLStream.custom : moved here from gtk dir
	* gtkhtml/gtkhtml-api.xml : moved here from api dir
	* gtkhtml/Makefile.in : gen source and build dll
	* sources/gtk-sharp-sources.xml : write gtkhtml api to new dir

svn path=/trunk/gtk-sharp/; revision=18696
2003-10-07 05:52:23 +00:00
Mike Kestner
9877690874 2003-10-06 Mike Kestner <mkestner@ximian.com>
* generator/InterfaceGen.cs (Generate): gen the EventHandlers for sigs
	* generator/Signal.cs (GetHandlerName): kill this and split it into
	EventHandlerName and EventHandlerArgsName props instead of the ugly
	out param hack.
	(GenEventHandler): make public void and add gen_info param. open
	stream with gen_info. use new *Name props.
	(Generate): only gen the EventHandler if we're genning the container,
	not for implementors.

svn path=/trunk/gtk-sharp/; revision=18684
2003-10-06 20:12:09 +00:00
Mike Kestner
06a02e97b4 2003-10-06 Mike Kestner <mkestner@ximian.com>
* generator/CodeGenerator.cs (Main): use new ObjectGen.GenerateMappers.
	* generator/GenerationInfo.cs (Ctor): new (dir, assembly) ctor
	* generator/ObjectGen.cs : move hash management to Generate from Ctor,
	index it on dir, and make it hold new DirectoryInfo refs.  Refactor
	GenerateMapper. The object mappers are now assembly based instead of
	namespace based.

svn path=/trunk/gtk-sharp/; revision=18681
2003-10-06 18:18:49 +00:00
Mike Kestner
1c7dfb776c 2003-10-06 Mike Kestner <mkestner@ximian.com>
* generator/Signal.cs (Generate): pass gen_info to sighdnlr.Generate.
	use gen_info.AssemblyName in Args instantiation.
	* generator/SignalHandler.cs (Generate): use gen_info to open stream.
	refactor out some local vars.

svn path=/trunk/gtk-sharp/; revision=18678
2003-10-06 16:15:05 +00:00
Mike Kestner
be9946dca2 2003-10-04 Mike Kestner <mkestner@ximian.com>
* generator/CallbackGen.cs : remove CloseWriter call.
	* generator/GenBase.cs : kill CreateWriter and CloseWriter.

svn path=/trunk/gtk-sharp/; revision=18616
2003-10-05 00:37:24 +00:00
Mike Kestner
460b3e5623 2003-10-04 Mike Kestner <mkestner@ximian.com>
* generator/AliasGen.cs : stub new Generate overload.
	* generator/BoxedGen.cs : implement new Generate overload.
	* generator/CallbackGen.cs (Generate):implement new overload.
	* generator/ClassBase.cs : implement new Generate overload and
	pass around the gen_info.
	* generator/ClassGen.cs : implement new Generate overload.
	* generator/Ctor.cs (Generate): s/sw/gen_info.
	* generator/EnumGen.cs : implement new Generate overload.
	* generator/GenBase.cs : expose NSElem, add gen_info param to
	AppendCustom. kill CreateWriter.
	(GenWrapper): add gen_info param and use it to open stream.
	* generator/GenerationInfo.cs : new class to pass around generation
	related information and perform tasks like opening streams.
	* generator/IGeneratable.cs : add Generate(gen_info) overload.
	* generator/InterfaceGen.cs : implement new Generate overload.
	* generator/ManualGen.cs : stub new Generate overload.
	* generator/Method.cs (Generate): accept gen_info. kill GenerateComments.
	* generator/ObjectGen.cs : implement new Generate overload.
	* generator/OpaqueGen.cs : implement new Generate overload.
	* generator/Parameters.cs (Initialize): s/sw/gen_info.
	* generator/Property.cs (Generate): accept gen_info.
	* generator/Signal.cs (Generate): accept gen_info.
	* generator/SimpleGen.cs : stub new Generate overload.
	* generator/StructBase.cs : s/sw/gen_info
	* generator/StructGen.cs : implement new Generate overload.

svn path=/trunk/gtk-sharp/; revision=18615
2003-10-05 00:20:17 +00:00
Mike Kestner
c9ef435827 2003-10-03 Mike Kestner <mkestner@ximian.com>
* generator/GenBase.cs : remove unused do_generate private member.

svn path=/trunk/gtk-sharp/; revision=18573
2003-10-03 22:27:47 +00:00
Mike Kestner
5b7aaf1c4f 2003-10-03 Mike Kestner <mkestner@ximian.com>
* generator/*.cs : Kill DoGenerate.

svn path=/trunk/gtk-sharp/; revision=18572
2003-10-03 22:20:40 +00:00
Mike Kestner
27a0c64488 oops, add the damn file
svn path=/trunk/gtk-sharp/; revision=18571
2003-10-03 22:12:50 +00:00
Mike Kestner
c17c41c4a8 2003-10-03 Mike Kestner <mkestner@ximian.com>
* api/gtk-symbols.xml : make GtkType a uint like GType.
	* generator/CodeGenerator.cs : adopt new parser semantics
	* generator/Parser.cs : move to single parser/multiple Parse. Remove
	DoGenerate hack and let the CodeGenerator control this. Return
	generatables instead of loading symboltable.
	* generator/SymbolTable : add AddTypes method. Revamp dealiasing code.

svn path=/trunk/gtk-sharp/; revision=18570
2003-10-03 22:11:47 +00:00
Rachel Hestilow
69e51261af 2003-09-17 Rachel Hestilow <rachel@nullenvoid.com>
* glib/DelegateWrapper.cs: Remove 'RemoveIfNotAlive'
	and revamp the memory management to use destroy
	notification.

	* generator/CallbackGen.cs: Do not generate the call to
	RemoveIfNotAlive.

	* gtk/GtkSharp.GtkClipboardGetFuncNative,
	GtkSharp.GtkClipboardClearFuncNative: Do not call
	RemoveIfNotAlive.

svn path=/trunk/gtk-sharp/; revision=18163
2003-09-18 03:49:18 +00:00
Rachel Hestilow
9ff3497076 2003-09-17 Rachel Hestilow <rachel@nullenvoid.com>
* generator/StructBase.cs: Make pointer, wrapped,
	bitfield, and dummy fields private fields.

svn path=/trunk/gtk-sharp/; revision=18162
2003-09-18 03:43:10 +00:00
Mike Kestner
60e3c167cb 2003-09-14 Mike Kestner <mkestner@ximian.com>
* Makefile.in : add a gen-clean target to clean all but glue/parser.
	* generator/Signal.cs : use restructured SignalHandler.
	* generator/SignalHandler.cs (GetName): break up this monument to
	structured programming.

svn path=/trunk/gtk-sharp/; revision=18099
2003-09-15 04:20:33 +00:00
Mike Kestner
6a16e09541 2003-09-12 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs (CreateSignature): begin refactoring this
	unholy mess.  Eliminated one pass thru the param list.  Eliminated
	prev/curr param refs. Switched to a for loop since lookbacks are
	required.

svn path=/trunk/gtk-sharp/; revision=18050
2003-09-12 06:38:29 +00:00
Mike Kestner
1a0892ea8b 2003-09-11 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs : keep an ArrayList of Parameter objects
	and refactor the hell out of the joint using the new Count and this[].
	Still need to refactor a couple methods.

svn path=/trunk/gtk-sharp/; revision=18030
2003-09-11 06:10:03 +00:00
Mike Kestner
5e5a570be3 2003-09-11 Mike Kestner <mkestner@ximian.com>
* generator/Parameters.cs (IsLength): use a switch to make the
	growing list of valid len types more readable.

svn path=/trunk/gtk-sharp/; revision=18029
2003-09-11 05:11:18 +00:00
Mike Kestner
ac2b7b906a 2003-09-11 Mike Kestner <mkestner@ximian.com>
* generator/Ctor.cs : kill inline doc comments once and for all
	* generator/EnumGen.cs : ditto
	* generator/Method.cs : ditto
	* generator/OpaqueGen.cs : ditto
	* generator/Property.cs : ditto

svn path=/trunk/gtk-sharp/; revision=18028
2003-09-11 04:50:13 +00:00
Alp Toker
9749217abf 2003-09-11 Alp Toker <alp@atoker.com>
* generator/Parameters.cs: Handle string length parameters specified
        not just as int but also signed/unsigned int, long or short

svn path=/trunk/gtk-sharp/; revision=18027
2003-09-11 03:48:25 +00:00
Martin Willemoes Hansen
f7ba4e2866 * generator/Parameters.cs:
* generator/StructBase.cs:
        * generator/SymbolTable.cs: Fixed the keyword base was not
        mangled, also did a little refactoring.

svn path=/trunk/gtk-sharp/; revision=17702
2003-08-28 16:49:29 +00:00
Martin Willemoes Hansen
05d0c9bf27 * generator/Method.cs: Fixed bug where all ToString methods
was marked as override, this is only correct if the ToString
        method does not have any parameters.

svn path=/trunk/gtk-sharp/; revision=17402
2003-08-19 10:51:33 +00:00
Mike Kestner
fadf3bc4a9 2003-08-18 Aleksey Sanin <aleksey@aleksey.com>
* generator/SignalHandler.cs : take refs on GObject sig parms.

svn path=/trunk/gtk-sharp/; revision=17397
2003-08-19 04:52:25 +00:00
Mike Kestner
23464e6514 2003-07-23 Mike Kestner <mkestner@ximian.com>
[Equal credit to Ettore Perazzoli <ettore@ximian.com> for fixing
	all the bugs in the initial patch]
	* */*.custom : fix incorrect usage of new Object (IntPtr) where
	Glib.Object.GetObject should've been used.  add ref_owned param
	to GetObject calls.
	* generator/CallbackGen.cs : setup ref_owned in bodies
	* generator/ClassBase.cs : add ref_owned to GetObject FromNative call
	* generator/Method.cs : setup ref_owned in bodies
	* generator/Property.cs : setup ref_owned in bodies
	* generator/SignalHandler.cs : pass ref_owned to GetObject
	* generator/StructBase.cs : setup ref_owned in bodies
	* glib/Object.cs : kill Ref/Unref methods.  Don't want it to be
	easy for users to screw with ref counts, or make it look like they
	should need to.
	(GetObject): add ref_owned param and ref/unref to remain at 1
	* glib/Value.cs : pass ref_owned to GetObject

svn path=/trunk/gtk-sharp/; revision=16581
2003-07-23 17:19:21 +00:00
Martin Willemoes Hansen
9d369d8cf9 * generator/ClassBase.cs: Fixed printouts of ctor validation.
Warnings refering to the same ctor were printed multiple times.

svn path=/trunk/gtk-sharp/; revision=16563
2003-07-23 07:16:46 +00:00
Mike Kestner
31001501ed 2003-07-22 Mike Kestner <mkestner@speakeasy.net>
* generator/Method.cs (GenerateBody): kill the "cast_type"
	overload of this, since cast_type wasn't even used.
	* generator/Property.cs : call simpler GenerateBody sig

svn path=/trunk/gtk-sharp/; revision=16550
2003-07-22 22:56:10 +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
2efd85f9a5 2003-07-02 Shane Hyde <shane@enactive.org>
* generator/GenBase.cs : put #line directive after the
	#region so line numbers match up.

2003-07-02  Mike Kestner  <mkestner@speakeasy.net>

	* generator/StructBase.cs : remove doc comments

svn path=/trunk/gtk-sharp/; revision=15873
2003-07-02 18:13:24 +00:00
Mike Kestner
bbf727c80e 2003-06-14 Mike Kestner <mkestner@speakeasy.net>
* CallbackGen.cs : rework for internal callback helpers,
	pass NS to parms ctor
	* Ctor.cs : pass NS to parms ctor
	* Method.cs : pass NS to parms ctor
	* Parameters.cs : refactoring, plus rework for internal
	callback helpers.
	* Signal.cs : pass NS to parms ctor

svn path=/trunk/gtk-sharp/; revision=15385
2003-06-14 17:30:32 +00:00
Mike Kestner
da5460a805 2003-06-12 Mike Kestner <mkestner@speakeasy.net>
* generator/SimpleGen.cs : mark a few members virtual
	since they are overridden elsewhere.

svn path=/trunk/gtk-sharp/; revision=15356
2003-06-13 02:12:00 +00:00
Rachel Hestilow
fe699e9fbb 2003-05-29 Rachel Hestilow <rachel@nullenvoid.com>
* gconf/Value.cs: Update to use new string marshalling.

	* generator/StringGen.cs, ConstStringGen.cs: Added.
	* generator/IGeneratable.cs: Add new method ToNativeReturn.
	* generator/CallbackGen.cs: Implement ToNativeReturn. Call
	ToNativeReturn for the return statement. Fix a couple of
	places where s_ret was being used incorrectly for m_ret.
	* generator/ClassGen.cs, EnumGen.cs, ManualGen.cs,
	SimpleGen.cs, StructBase.cs: Implement ToNativeReturn.
	* generator/SignalHandler.cs: Call ToNativeReturn for the
	return statement, instead of CallByName.
	* generator/SymbolTable.cs: Use StringGen for gchar, char,
	and gunichar, and ConstStringGen for their const variants.
	Add a new method wrapper for ToNativeReturn.
	(Trim): Add a special-case for const strings so that the
	const is not stripped. Otherwise there is no way of
	resolving the const case.

	* glade/XML.custom: Update to use new string marshalling.

	* glib/Marshaller.cs: Added.
	* glib/GException.cs, Markup.cs, ObjectManager.cs,
	Value.cs: Update to use new string marshalling.
	* glib/Object.cs: Remove old g_type_name DllImport
	as it is no longer used.

	* glue/fileselection.c (gtksharp_file_selection_get_fileop_entry):
	Mark this as const return.

	* gtk/ColorSelection.custom, FileSelection.custom,
	SelectionData.custom: Update to use new string marshalling.

svn path=/trunk/gtk-sharp/; revision=15286
2003-06-10 18:09:47 +00:00
Martin Willemoes Hansen
948a75e5e4 * generator/SymbolTable.cs: Added ulong
svn path=/trunk/gtk-sharp/; revision=15178
2003-06-07 17:22:12 +00:00
Mike Kestner
b2dabc1322 add the new IGeneratables
svn path=/trunk/gtk-sharp/; revision=14688
2003-05-19 02:46:15 +00:00
Mike Kestner
b6114fef1e 2003-05-18 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : use non-static symtab, kill doc comments
	* generator/ClassBase.cs : use non-static symtab
	* generator/CodeGenerator.cs : use non-static symtab
	* generator/EnumGen.cs : kill doc comments, don't gen using System here
	* generator/GenBase.cs : gen using System here for all types
	* generator/InterfaceGen.cs : don't gen using System here.
	* generator/Method.cs : use non-static symtab
	* generator/ObjectGen.cs : kill doc comments, use non-static symtab
	* generator/OpaqueGen.cs : don't gen using System here.
	* generator/Parameters.cs : use non static symtab.
	* generator/Parser.cs : use non static symtab. add SimpleGen's and
	ManualGen's
	* generator/Property.cs : use non static symtab
	* generator/SignalHandler.cs : use non static symtab
	* generator/StructBase.cs : use non static symtab
	* generator/SymbolTable.cs : major refactoring. now uses SimpleGen and
	ManualGen IGeneratables to simplify the method and prop code.  Is now
	instance based with a static prop to get the singleton instance, so that
	a this indexer can be provided to access the IGeneratables nicely. Gearing
	up to remove even more code from here by accessing IGeneratables directly.

svn path=/trunk/gtk-sharp/; revision=14687
2003-05-19 02:45:17 +00:00
Mike Kestner
9066fcac16 2003-05-18 Mike Kestner <mkestner@speakeasy.net>
* generator/ClassBase.cs : Use QualifiedName in spew
	* generator/ObjectGen.cs (Validate): kill, not used

svn path=/trunk/gtk-sharp/; revision=14673
2003-05-18 19:24:28 +00:00
Mike Kestner
b09f7e3679 2003-05-13 Mike Kestner <mkestner@speakeasy.net>
* configure.in : bump the version to 0.10
	* generator/CallbackGen.cs (GenWrapper): Update sig preparing for
	external assembly wrapper generation. Kill doc comment generation.
	Make marshaling delegate internal.

svn path=/trunk/gtk-sharp/; revision=14564
2003-05-14 00:27:00 +00:00
Mike Kestner
9e325bd283 2003-05-07 Mike Kestner <mkestner@speakeasy.net>
* generator/ClassBase.cs (GenSignals): remove doc comment param
	* generator/GenBase.cs (CreateWriter): alter generated file comment
	* generator/InterfaceGen.cs (CreateWriter): remove doc comments
	* generator/ObjectGen.cs (Generate): use new GenSignals sig
	* generator/Signal.cs : make signal marshalers internal and remove
	doc comments.
	* generator/SignalHandler.cs : make signal marshalers internal and remove
	doc comments.
	* gnome/CanvasProxy.cs : use Gnome.voidObjectSignal since the gtk one is
	inaccessible now.

svn path=/trunk/gtk-sharp/; revision=14385
2003-05-08 04:44:13 +00:00
Gonzalo Paniagua Javier
3821938764 2003-04-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* generator/CallbackGen.cs: the new generated wrappers have:
		-(optional) Field of the same type returned by the callback.
		-A call to RemoveIfNotAlive at the beginning. It returns true,
		return the dummy field.
		-Added an object to the ctor signature and pass it to the base
		class.

	* generator/Ctor.cs: added a Params property.

	* generator/Method.cs: set Static property in Parameters if the method
	is static.

	* generator/Parameters.cs: added Static property. The call creation of
	the delegate wrapper (if applicable) uses the new signature. Pass a null
	as object is the method is static.

	* generator/StructBase.cs: set Static for the parameters of the ctors.

	* glib/DelegateWrapper.cs: the ctor takes an object (the one creating
	the wrapper or null) and creates a weak reference to it. Store it in
	a static Hashtable (this way the wrapper itself is not garbage
	collected).
	(RemoveIfNotAlive): called from the native delegate callbacks. If the
	target of the weak reference has been garbage collected, removes itself
	from the hashtable to let the GC dispose this instance and returns true.

	* gdk/Pixbuf.custom:
	* gtk/Clipboard.custom:
	* gtk/GtkSharp.GtkClipboardClearFuncNative.cs:
	* gtk/GtkSharp.GtkClipboardGetFuncNative.cs:
	* glade/XML.custom: changed delegate wrappers to match the new
	signature.

svn path=/trunk/gtk-sharp/; revision=13237
2003-04-06 09:21:15 +00:00
Charles Iliya Krempeaux
03ebb1fcb3 2003-04-02 Charles Iliya Krempeaux <charles@reptile.ca>
* generator/SignalHandler.cs : Added Patch submitted by
	  Mark Crichton <crichton@gimp.org>, to get GtkMozEmbed
	  bindings working.

svn path=/trunk/gtk-sharp/; revision=13043
2003-04-02 22:29:26 +00:00
Gonzalo Paniagua Javier
4465050e40 2003-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* generator/SignalHandler.cs: the generated Dispose method now calls
	base.Dispose and always disconnects the handler. Thanks to
	Petr Danecek <danecek@ucl.cas.cz>.

svn path=/trunk/gtk-sharp/; revision=12060
2003-02-28 10:55:59 +00:00
Gonzalo Paniagua Javier
4a6b18ee0f 2003-02-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* generator/Parser.cs: use XmlDocument.Load (Stream). The one using
	(String) expects an uri.

	* generator/Signal.cs: always remove the delegate from the signal
	callback (prior to this, the last handler was not being removed).
	Dispose the callback (ie, disconnect from the signal) when there are
	no registered delegates to handle it.

	* generator/SignalHandler.cs: added 2 new fields to hold the instance
	and the handler ID. The finalization is now done in Dispose and
	disconnects the signal handler when no delegate will handle the signal.
	Changed gobject-2.0 to libgobject-2.0-0.dll.

	* glib/SignalCallback.cs: implemented IDisposable interface.

svn path=/trunk/gtk-sharp/; revision=11976
2003-02-26 02:16:38 +00:00
Mike Kestner
0e5ab4bdea 2003-02-24 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs : fix some ref/out bugs

svn path=/trunk/gtk-sharp/; revision=11922
2003-02-24 07:36:30 +00:00
Mike Kestner
95fc33f785 2003-02-24 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : gen GLib.Value ctor, not uint
	* glib/Object.cs : use GLib.Type in RegisterGType and
	  make the g_object_new ctor use GLib.Type.
	* glib/Type.cs : new thin wrapper for GValue type
	* glib/*.cs : s/Type/System.Type

svn path=/trunk/gtk-sharp/; revision=11920
2003-02-24 06:39:30 +00:00
Mike Kestner
0a60bc2916 2003-02-23 Mike Kestner <mkestner@speakeasy.net>
* generator/GenBase.cs : quote the custom filenames in
	#file directives.

svn path=/trunk/gtk-sharp/; revision=11918
2003-02-24 05:20:04 +00:00
Mike Kestner
554450a33a 2003-02-23 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : suppress len params from
	  string/len pairs.
	* generator/Parameters.cs : begin the refactoring to use
	  Parameter class. Suppress len params from string/len pairs.
	*/*.custom : remove all overrides of string/len pairs
	*/*.cs : ditto.  Thanks to Alp Toker for the foundation
	  patch that this change was built upon.

svn path=/trunk/gtk-sharp/; revision=11913
2003-02-24 03:13:08 +00:00
Mike Kestner
367de43b68 2003-02-19 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs (Initialize): construct a GLib.Value
	for out params.

svn path=/trunk/gtk-sharp/; revision=11768
2003-02-20 06:17:23 +00:00
Mike Kestner
ccd555425e 2003-02-19 Mike Kestner <mkestner@speakeasy.net>
* generator/GenBase.cs : mark #line 1 for .customs
	* generator/SignalHandler.cs : fix for GObj retvals

svn path=/trunk/gtk-sharp/; revision=11714
2003-02-19 06:23:36 +00:00
Mark Crichton
ff931046db generator/EnumGen.cs: Added support for different types. Useful for the
GtkMozEmbed headers.

svn path=/trunk/gtk-sharp/; revision=11696
2003-02-18 17:28:51 +00:00
Gonzalo Paniagua Javier
97fec24e46 2003-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* glib/SignalCallback.cs: new methods AddDelegate and RemoveDelegate.

	* generator/Signal.cs: add/remove signal handlers from the delegate used
	to invoke them.

	* generator/SignalHandler.cs: use Delegate instead of MulticastDelegate.

svn path=/trunk/gtk-sharp/; revision=11255
2003-02-06 00:58:02 +00:00
Duncan Mak
fb60c23e4a 2003-01-05 Duncan Mak <duncan@ximian.com>
* generator/GenBase.cs (AppendCustom): Add #region to code from
	.custom files.

	* generator/*Gen.cs: Add #region markers.

svn path=/trunk/gtk-sharp/; revision=10188
2003-01-05 23:51:37 +00:00
Mike Kestner
f750d78d6a 2002-12-24 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : generate protected GType ctors
	* generator/SymbolTable.cs : map GType to uint
	* glib/Object.cs : add GType ctor. add RegisterGType.
	* glue/type.c (gtksharp_register_type): new GType registrar
	* */*.custom : make GType params uints
	* sample/Subclass.cs : a simple type registration example

svn path=/trunk/gtk-sharp/; revision=9870
2002-12-25 00:36:00 +00:00
Gonzalo Paniagua Javier
5f4cb8cc13 2002-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* generator/Signal.cs: generate correct type name for EventArgs.

svn path=/trunk/gtk-sharp/; revision=9507
2002-12-09 23:36:18 +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
Vladimir Vukicevic
9ad6d1b6a4 * generator/StructBase.cs: create a Zero static member for
use when the IntPtr is NULL.

* generator/SignalHandler.cs, generator/CallbackGen.cs: removed
call to Initialize for structs

* gtk/Clipboard.custom, gtk/ClipboardClearFunc.cs,
gtk/ClipboardGetFunc.cs,
gtk/GtkSharp.GtkClipboardClearFuncNative.cs,
gtk/GtkSharp.ClipboardGetFuncNative.cs, SelectionData.custom:
Hand-wrapped selection handling stuff, along with relevant
signals and the like.

* gnome/voidObjectAffineSVPintSignal.cs: removed Initialize
for hand-wrapped signal

* sample/GnomeHelloWorld.cs, sample/Size.cs: compare against
.Zero instead of using IsNull

* api/gtk-api.xml, sources/Gtk.metadata: metadata updates for
hiding some manually-wrapped stuff

svn path=/trunk/gtk-sharp/; revision=8912
2002-11-10 10:03:51 +00:00
Alp Toker
e06e2ba8dd Add GStreamer support
svn path=/trunk/gtk-sharp/; revision=8726
2002-11-01 05:01:22 +00:00
Mike Kestner
8a70b31f28 2002-10-29 Mike Kestner <mkestner@speakeasy.net>
* generator/Signal.cs : Fix namespacing of Args.

svn path=/trunk/gtk-sharp/; revision=8673
2002-10-30 05:29:19 +00:00
Mike Kestner
b2f04c1d80 2002-10-26 Mike Kestner <mkestner@speakeasy.net>
Much of this patch from Vlad, with substantial rework by mk.
	* */makefile.win32 : introduce mapdllnames.pl, api, and glue
	* generator/CallbackGen.cs : rework namespacing for csc compilation
	* generator/Parameters.cs : ditto
	* generator/Signal.cs : ditto
	* generator/SignalHandler.cs : ditto
	* glue/win32dll.c : new dll construction source
	* glib/Value.cs : new ushort ctor/cast operator
	* gtk/Table.custom : comment this out until we add a default ctor tag
	* gtk/ThreadNotify.cs : make ReadyEvent public
	* sources/Gdk.metadata : mark a Parse() param as ref

svn path=/trunk/gtk-sharp/; revision=8590
2002-10-27 02:30:51 +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
Mike Kestner
3b1dd1079b 2002-10-10 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : some fixes
	* generator/Parameters.cs (CreateSignature): handle void params

svn path=/trunk/gtk-sharp/; revision=8156
2002-10-11 00:27:46 +00:00
Kristian Rietveld
27862c71c3 2002-10-08 Kristian Rietveld <kris@gtk.org>
(So Miguel told me just to go ahead and commit -kris)

        * gtk/TreeSelection.custom: new file, defines a working
        GetSelected method (GetSelected is a bit tricky function).

        * generator/InterfaceGen.cs (Generate): also call AppendCustom

        * sources/Gtk.metadata: hide the autogenerated
        Gtk.TreeSelection.GetSelected method.

svn path=/trunk/gtk-sharp/; revision=8071
2002-10-08 19:14:14 +00:00
Ricardo Fernández Pascual
f1011f687e 2002-09-13 Ricardo Fernndez Pascual <ric@users.sourceforge.net>
* glade/HandlerNotFoundExeception.cs: Added.
	* glade/Makefile.in
	* glade/XML.custom: Support for autoconnecting signals using
	reflection.
	* glib/SignalAttribute.cs: Added.
	* generator/Signal.cs: Mark events generated from glib signals
	with the "Signal" attribute.
	* sample/GladeTest.cs
	* sample/Makefile.in
	* sample/test.glade: Test of signal autoconnection.

svn path=/trunk/gtk-sharp/; revision=7430
2002-09-13 11:38:36 +00:00
Rachel Hestilow
6b6bb616b2 2002-09-12 Rachel Hestilow <hestilow@ximian.com>
* sources/Gtk.metadata: Set null_ok on the callback argument
	to Menu.Popup.

	* generator/Parameters.cs: Handle null_ok properly for callback
	arguments.

svn path=/trunk/gtk-sharp/; revision=7412
2002-09-12 20:25:29 +00:00
Rachel Hestilow
32ae593a0e 2002-09-11 Rachel Hestilow <hestilow@ximian.com>
* glib/Object.cs (Ref): Added.

	* gtk/Object.custom (Ref): Overload. Note that we were reffed.
	(DisposeNative): Unref if we were explicitly reffed.

	* generator/Method.cs: Call Ref if needs_ret is set.
	* generator/StructBase.cs: Call Ref on all object accessors.

	* glue/style.c: Ref returned GCs.

	* sources/Gtk.metadata: Set needs_ret on various gdk-related
	accessors in GtkWidget. Hide Ref/Unref methods on Widget and
	RcStyle as these ought to be deprecated anyway.

svn path=/trunk/gtk-sharp/; revision=7380
2002-09-12 05:21:16 +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
Mike Kestner
ab081f8358 2002-09-04 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : generate dtors.
	* glib/Object.cs : Implement IDisposable. Add a new DisposeNative
	method. Implement default dtor.
	* glue/object.c : new gtksharp_object_unref_if_floating method.
	* gtk/Object.custom : override DisposeNative to check float bit.

svn path=/trunk/gtk-sharp/; revision=7235
2002-09-04 05:25:58 +00:00
Rachel Hestilow
c8d090f62f 2002-08-31 Rachel Hestilow <hestilow@ximian.com>
Proper GList, GSList support. Read-only for now.

	* glue/list.c: Added.
	* glue/Makefile.am: Add list.c
	* glue/type.c: Add function gtksharp_is_object.

	* glib/ListBase.cs, List.cs: Added.
	* glib/SList.cs: Inherit from ListBase.
	* glib/Object.cs: Add static method "IsObject".

	* generator/Method.cs: Pass on element_type to constructor
	if specified.
	* generator/SymbolTable.cs: Move GList to manual types.

	* sample/GladeViewer.cs: Remove list hacks.

	* sources/Gnome.metadata: Specify element types for
	CanvasPathDef.Split and IconList.GetSelection. Rename
	CanvasPathDef *to methods to properly capitalized *To.
	* sources/Gtk.metadata: Hide Widget.ListAccelClosures until
	GClosure is handled properly.
	* sources/Pango.metadata: Added.

	* sample/test/TestToolbar.cs: Compile with recent delegate changes.

svn path=/trunk/gtk-sharp/; revision=7166
2002-09-01 04:46:38 +00:00
Rachel Hestilow
7dd24ae681 2002-08-31 Rachel Hestilow <hestilow@ximian.com>
* generator/Method.cs: Re-enable "if null then new" behavior
	for Opaques.

svn path=/trunk/gtk-sharp/; revision=7163
2002-08-31 19:25:35 +00:00
Rachel Hestilow
38e7bdeec5 2002-08-28 Rachel Hestilow <hestilow@ximian.com>
* generator/CallbackGen.cs: Generate wrappers to map
	from managed delegates to native ones.
	* generator/Ctor.cs: Call parms.Initialize for the static case.
	* generator/Parameters.cs: Add "CType" property. Append []
	to CSType if necessary. Add "HideData" property if a container
	wishes to hide the user_data (used in callbacks).
	(Initialize): Add case for callback.
	* generator/SymbolTable.cs: Add size_t.

	* glue/program.c: string[] marshalling is no longer broken,
	remove hack.

	* sources/Gtk.metadata: Disable
	GtkColorSelection.SetChangePaletteHook and
	GtkTreeView.GetSearchEqualFunc for now, they return delegates and
	we don't support native->managed delegate mapping yet.

svn path=/trunk/gtk-sharp/; revision=7133
2002-08-28 20:58:01 +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
2d8d20e341 2002-08-20 Rachel Hestilow <hestilow@ximian.com>
* generator/SymbolTable.cs (Trim): Work around "void*".
	Libart has a lovely API...

svn path=/trunk/gtk-sharp/; revision=6836
2002-08-21 00:57:52 +00:00
Rachel Hestilow
e9f5e789b6 2002-08-20 Rachel Hestilow <hestilow@ximian.com>
Ditto for generator and api.

svn path=/trunk/gtk-sharp/; revision=6829
2002-08-20 20:54:28 +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
6365d4113b 2002-08-09 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs (GenerateMapper): guard against IntPtr.Zero

svn path=/trunk/gtk-sharp/; revision=6569
2002-08-09 16:26:41 +00:00
Mike Kestner
2d733eacb6 2002-08-09 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs : make GLib.Value a manually_wrapped_type

svn path=/trunk/gtk-sharp/; revision=6559
2002-08-09 04:54:39 +00:00
Mike Kestner
36b2fee78d 2002-08-08 Mike Kestner <mkestner@speakeasy.net>
* generator/Property.cs : getter usage fix

svn path=/trunk/gtk-sharp/; revision=6557
2002-08-09 04:27:15 +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
Mike Kestner
71266c0337 2002-08-08 Mike Kestner <mkestner@speakeasy.net>
* gdk/Event.cs : derived from Boxed, not Object.
	* generator/SymbolTable.cs : fixes for Gdk.Events

svn path=/trunk/gtk-sharp/; revision=6542
2002-08-08 16:33:46 +00:00
Mike Kestner
66c0ec1d43 2002-08-07 Mike Kestner <mkestner@speakeasy.net>
* generator/CodeGenerator.cs : call ObjectGen.GenerateMapper
	* generator/Method.cs : Remove the if null workaround
	* generator/ObjectGen.cs : build a hash of object types.
	(GenerateMapper): generate the GtkSharp.ObjectManager class.
	* glib/Object.cs : use ObjectManager.CreateObject.
	* glue/type.c : helper for typename lookup.

svn path=/trunk/gtk-sharp/; revision=6526
2002-08-08 04:48:41 +00:00
Rachel Hestilow
0bf76f0d61 2002-08-06 Rachel Hestilow <hestilow@ximian.com>
* generator/SignalHandler.cs: Handle null arguments and return values.

	* sample/Makefile.in: Add fifteen game.

svn path=/trunk/gtk-sharp/; revision=6483
2002-08-06 21:56:57 +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
Mike Kestner
71b46ecd41 2002-08-03 Mike Kestner <mkestner@speakeasy.net>
* generator/Method.cs : Added IsGetter, IsSetter, ReturnType. Made
	  GenerateImport, GenerateBody public.
	* generator/Parameters.cs : Added Parameter::MarshalType
	* generator/Property.cs : Added logic to use methods instead of text
	  properties wherever possible.

svn path=/trunk/gtk-sharp/; revision=6391
2002-08-04 04:23:13 +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
98d194f861 2002-07-31 Rachel Hestilow <hestilow@ximian.com>
* generator/StructBase.cs (GetFieldInfo): Generate strings correctly.
	Also, delegates are not marshalling correctly right now, change those
	to IntPtr.

	* generator/SymbolTable.cs: New method IsCallback.

	* sample/GnomeHelloWorld.cs: Use Gnome.App and stock menu items.
	Use the new event handlers.

svn path=/trunk/gtk-sharp/; revision=6300
2002-07-31 19:18:37 +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
ccfec8b7e2 2002-07-24 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : use ref parameters in signal cb's.

svn path=/trunk/gtk-sharp/; revision=6136
2002-07-24 14:11:40 +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
738aef2a29 2002-07-20 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : pring unexpected key in exception.

svn path=/trunk/gtk-sharp/; revision=5967
2002-07-20 15:00:10 +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
88bc0b71d2 2002-07-19 Mike Kestner <mkestner@speakeasy.net>
* generator/StructGen.cs : comment out GenField. It's broke.
	* sample/ButtonApp.cs : revert the EventAny WriteLine.

svn path=/trunk/gtk-sharp/; revision=5905
2002-07-19 06:05:14 +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
01eeafcd6e 2002-07-18 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs : use GetMarshalType for field gen.
	* sample/ButtonApp.cs : WriteLine the Gdk.EventAny in DeleteEvent.

svn path=/trunk/gtk-sharp/; revision=5903
2002-07-19 04:27:02 +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
Mike Kestner
e39080baa6 2002-07-18 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs : Mangle field names.
	* generator/StructGen.cs : uncomment GenField.

svn path=/trunk/gtk-sharp/; revision=5892
2002-07-18 13:42:31 +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
4f6a03287c added <disabledefaultconstructor/> to ScrolledWindow
svn path=/trunk/gtk-sharp/; revision=5855
2002-07-17 15:09:34 +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
Mike Kestner
8b85bf647a 2002-07-16 Mike Kestner <mkestner@speakeasy.net>
* generator/ClassBase.cs : make MarshalType virtual.
	* generator/Parameters.cs : add Parameter class and Indexer.
	* generator/Signal.cs : Now use Parameters.
	(GetHandlerName): New abstraction of name handling.
	(GenerateDecls): use GetHandlerName.
	(GenComments): make private.
	(GenHandler): New. Generate custom event handlers and args.
	(Generate): use GenHandler. Pass args type to SignalHandler.
	* generate/SignalHandler.cs : store args type. Generate handler
	  dependent args and use MulticastDelegate.DynamicInvoke.
	* generate/StructGen.cs : override MarshalType.
	* glib/SignalCallback.cs : store a MulticastDelegate and args type
	* sample/*.cs : use new DeleteEventHandler

svn path=/trunk/gtk-sharp/; revision=5834
2002-07-16 23:14:35 +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
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
0fb0f3c54a 2002-07-06 Rachel Hestilow <hestilow@ximian.com>
* generator/Parameters.cs (Initialize): Initialize error
	to zero.

svn path=/trunk/gtk-sharp/; revision=5629
2002-07-06 20:57:50 +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
Rachel Hestilow
414a14d93e 2002-06-24 Rachel Hestilow <hestilow@ximian.com>
* glib/UnwrappedObject.cs: New class which holds an IntPtr.
	This is used in Value so that we can retrieve the IntPtr itself
	for an object property.

	* glib/Value.cs: Add UnwrappedObject cast operator.

	* glib/Property.cs: If the retrieved value is an object,
	and there is no wrapper object, create a new one.

svn path=/trunk/gtk-sharp/; revision=5440
2002-06-24 23:38:51 +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
acc160cd01 2002-06-23 Rachel Hestilow <hestilow@ximian.com>
* glib/Object.cs, glib/SList.cs, glib/Value.cs, gtk/Application.cs:
	Move documentation to right before their actual methods, rather
	than the DllImported ones.

	* generator/Method.cs: Generate documentation before the actual
	method and not the DllImport.

svn path=/trunk/gtk-sharp/; revision=5423
2002-06-23 18:49:33 +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
948bb15432 2002-06-22 Mike Kestner <mkestner@speakeasy.net>
* */makefile.win32 : add docs target
	* generator/ClassBase.cs : Make GenMethods public for interface gen
	* generator/Method.cs : Lose the CallingConvention
	* generator/Parameters.cs : fix uninitialized var
	* generator/SignalHandler.cs : Lose the CallingConvention
	* generator/StructBase.cs : Lose the CallingConvention

svn path=/trunk/gtk-sharp/; revision=5418
2002-06-22 22:12:51 +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
Mike Kestner
f8c7fff45e 2002-06-21 Mike Kestner <mkestner@speakeasy.net>
* */makefile.win32 : add /doc flags
	* */.cvsignore : ignore .xml files

svn path=/trunk/gtk-sharp/; revision=5391
2002-06-21 12:29:04 +00:00
Mike Kestner
cf74f063c8 2002-06-21 Mike Kestner <mkestner@speakeasy.net>
* gdk.imaging/Makefile.in : add a missing -L
	* gtk/Makefile.in : add a missing -L
	* generator/Method.cs : Add some docs stubbage

svn path=/trunk/gtk-sharp/; revision=5385
2002-06-21 00:50:45 +00:00
Mike Kestner
dbfe6207a7 2002-06-20 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs : GError handling overhaul
	* generator/SymbolTable.cs : map GError to IntPtr
	* glib/GException.cs : Refactor to use glue.
	* glue/Makefile.am : add the error.c file.
	* glue/error.c : glue for error message string access
	* gtk/makefile.win32 : ref the gdk-imaging-sharp assembly

svn path=/trunk/gtk-sharp/; revision=5351
2002-06-20 01:45:13 +00:00
Mike Kestner
2854aa2e16 2002-06-19 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs : csc build error fixes

svn path=/trunk/gtk-sharp/; revision=5350
2002-06-19 23:25:12 +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
e1b9f7343a 2002-06-05 Mike Kestner <mkestner@speakeasy.net>
* generator/Property.cs : Fix get{} GLib.Value passing.
	* glib/Object.cs : GetProperty passes the GLib.Value now.
	* glib/Value.cs : Add a ctor to create Values for props.
	* glue/value.c : add gtksharp_value_create_from_property.

svn path=/trunk/gtk-sharp/; revision=5133
2002-06-05 21:59:10 +00:00
Mike Kestner
c1be55f103 2002-05-29 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : Fix build breaker from refactoring.
	* sample/Makefile.in : Build the menu sample on linux.

svn path=/trunk/gtk-sharp/; revision=5001
2002-05-29 08:13:46 +00:00
Mike Kestner
c6304b4576 2002-05-26 Mike Kestner <mkestner@speakeasy.net>
* generator/Parser.cs : Implement Alias node parsing.
	* generator/SymbolTable.cs : resolve aliased types.

svn path=/trunk/gtk-sharp/; revision=4948
2002-05-26 16:23:40 +00:00
Mike Kestner
6d30cf0c3e refactoring to remove substantial code duplication thoughout the generator
2002-05-23  Mike Kestner <mkestner@speakeasy.net>

	* generator/BoxedGen.cs : Update for Static SymbolTable
	* generator/CallbackGen.cs : Use GenBase and Parameters classes
	* generator/CodeGenerator.cs : Update for Static SymbolTable
	* generator/Ctor.cs : code from StructBase using Parameters class
	* generator/EnumGen.cs : Use GenBase
	* generator/GenBase.cs : Abstract Stream Writer creation, stream
	  boilerplate, and common *Name properties
	* generator/IGeneratable.cs : Update for Static SymbolTable
	* generator/InterfaceGen.cs : Use GenBase
	* generator/Method.cs : code from StructBase using Parameters class
	* generator/ObjectGen.cs : Major refactoring. Use GenBase. Build
	  tables of Member generatables at construct time to facilitate
	  future name collision resolution logic.
	* generator/Parameters.cs : new generatable to abstract duplicated
	  parameter parsing logic.
	* generator/Parser.cs : Update for Static SymbolTable
	* generator/Property.cs : code from ObjectGen
	* generator/Signal.cs : code from ObjectGen
	* generator/SignalHandler.cs : Update for Static SymbolTable
	* generator/StructBase.cs : Update for Static SymbolTable
	* generator/StructGen.cs : Update for Static SymbolTable
	* generator/SymbolTable.cs : Make all methods and private members
	  static.  There is no reason to ever have multiple tables.

svn path=/trunk/gtk-sharp/; revision=4895
2002-05-23 23:43:25 +00:00
Joe Shaw
ba6aa935d4 2002-05-08 Joe Shaw <joe@assbarn.com>
* generator/ObjectGen.cs (GenProperty): And uncomment it out because
	the compiler bug is fixed.

svn path=/trunk/gtk-sharp/; revision=4424
2002-05-08 18:33:05 +00:00
Joe Shaw
c6ed501d04 2002-05-08 Joe Shaw <joe@assbarn.com>
* generator/ObjectGen.cs (GenProperty): Comment the last checkin out
	because it exposes a compiler bug.
	(GenSignal): Back this change out.

svn path=/trunk/gtk-sharp/; revision=4421
2002-05-08 14:08:12 +00:00
Joe Shaw
3fec7ca60a 2002-05-08 Joe Shaw <joe@assbarn.com>
* */Makefile.in: Don't allow the shell to do file globbing; makes
	--recurse work.

	* generator/ObjectGen.cs (GenProperty): We need to cast a GLib.Value
	to a GLib.Object and then to whatever it is, because explicit casts
	don't work to child classes.
	(GenSignal): Append "EventHandler" when generating signal handlers
	so we don't get symbol conflicts.

svn path=/trunk/gtk-sharp/; revision=4414
2002-05-08 11:52:21 +00:00
Mike Kestner
2fc076760a 2002-05-07 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs : map char to string.

svn path=/trunk/gtk-sharp/; revision=4401
2002-05-08 00:33:53 +00:00
Mike Kestner
07f41ef1c3 2002-05-07 Mike Kestner <mkestner@speakeasy.net>
* */Makefile.in : Add clean targets. Add -L parms.

svn path=/trunk/gtk-sharp/; revision=4400
2002-05-08 00:29:51 +00:00
Mike Kestner
6fbe8bcaf8 2002-05-06 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : When generating a ctor(void)
	  for subclassing purposes, mark it protected, not public.
	  Thanks to Miguel for reporting this bug.

svn path=/trunk/gtk-sharp/; revision=4335
2002-05-06 13:51:45 +00:00
Paolo Molaro
9df5506aba With mcs -r use either a full path name or an assembly name.
svn path=/trunk/gtk-sharp/; revision=4270
2002-05-04 09:17:01 +00:00
Mike Kestner
9d0184d61c 2002-05-02 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Add support for .custom files.
	* gtk/Window.custom : clean up build
	* sample/HelloWorld.cs : Use the customizations.
	* sample/ButtonApp.cs : Use the customizations.

svn path=/trunk/gtk-sharp/; revision=4237
2002-05-02 23:29:33 +00:00
Mike Kestner
cd73a17587 2002-05-02 Mike Kestner <mkestner@speakeasy.net>
* README : Describe the new make procedure.
	* configure.in : Add the new Makefile generation.
	* makefile : add the glue dir, make linux the default build,
	  add an install target
	* */makefile.win32 : temp build files for win32
	* */Makefile.in : new configurable make system
	* */makefile : killed
	* generator/BoxedGen.cs : Now uses GLib.Boxed
	* generator/ObjectGen.cs : Use Values for Props.
	* generator/SymbolTable.cs : Add IsEnum method.
	* glib/Boxed.cs : Major overhaul.
	* glib/Object.cs : Remove type specific (Get|Set)Property. Now
	  use GValue based property accessors.
	* glib/TypeFundamentals.cs : Update to current values.
	* glib/Value.cs : Refactor to use glue.

svn path=/trunk/gtk-sharp/; revision=4236
2002-05-02 21:57:41 +00:00
Joe Shaw
e966ffb7f7 2002-04-18 Joe Shaw <joe@assbarn.com>
* */makefile: Allow a different MCS to be passed in on the make
	command line.

svn path=/trunk/gtk-sharp/; revision=3902
2002-04-18 21:46:56 +00:00
Mike Kestner
138b6c1644 2002-04-04 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : Unstubify.
	* generator/SymbolTable.cs : qualify some simple typenames.

svn path=/trunk/gtk-sharp/; revision=3615
2002-04-04 16:20:53 +00:00
Mike Kestner
ff61ba7907 2002-03-29 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs (Trim): revamp TrimEnd call.

svn path=/trunk/gtk-sharp/; revision=3501
2002-03-29 17:55:46 +00:00
Mike Kestner
28049f1c2b 2002-03-28 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : switch to 2.0 libs
	* generator/SymbolTable.cs : switch to 2.0 libs
	* glib/Object.cs : switch to 2.0 libs
	* glib/SList.cs : switch to 2.0 libs
	* glib/Value.cs : switch to 2.0 libs
	* gtk/Application.cs : switch to 2.0 libs

svn path=/trunk/gtk-sharp/; revision=3468
2002-03-28 21:16:43 +00:00
Mike Kestner
4242ad7415 2002-03-26 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : Use Path.DirectorySeparatorChar.

svn path=/trunk/gtk-sharp/; revision=3381
2002-03-27 01:24:56 +00:00
Mike Kestner
f3a997ca6f 2002-03-25 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs : Throttle _gtk methods.
	* generator/SymbolTable.cs : tweak dll names.
	* glib/Object.cs : restructure DllImports and prop code.
	* glib/SList.cs : restructure DllImports.
	* glib/Value.cs : restructure DllImports.
	* gtk/Application.cs : overload Init() to get past the string[]
	  marshaling crash on linux.
	* sample/HelloWorld.cs : Use App::Init() since no args are needed.

svn path=/trunk/gtk-sharp/; revision=3341
2002-03-26 01:29:43 +00:00
Mike Kestner
12acb7ff05 2002-03-24 Mike Kestner <mkestner@speakeasy.net>
* generator/*Gen.cs : Use Path.DirectorySeparatorChar.
	* generator/Parser.cs : better debug for unexpected types.
	* generator/SymbolTable.cs : Use linux library names.

svn path=/trunk/gtk-sharp/; revision=3308
2002-03-24 17:04:25 +00:00
Mike Kestner
95d51167de 2002-03-07 Mike Kestner <mkestner@speakeasy.net>
* generator/CodeGenerator.cs : Refactor generatable iteration.
	* generator/SymbolTable.cs : Add Generatables property to expose complex_types.Values.

svn path=/trunk/gtk-sharp/; revision=3008
2002-03-08 22:40:00 +00:00
Mike Kestner
7c31e5f7cb 2002-03-02 Mike Kestner <mkestner@speakeasy.net>
* makefile : add linux build.
	* generator/makefile : add linux build.

svn path=/trunk/gtk-sharp/; revision=2839
2002-03-02 12:04:46 +00:00
Mike Kestner
d5d3baa601 2002-02-19 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : Add ctor and method generation.
	* generator/StructBase.cs : Switch to Raw syntax.
	* glib/Boxed.cs : Add Handle prop, make Raw protected, and add ctors.
	* glib/Object.cs : s/RawObject/Raw to simplify generation.

svn path=/trunk/gtk-sharp/; revision=2518
2002-02-19 19:46:44 +00:00
Mike Kestner
ede9016e25 2002-02-19 Mike Kestner <mkestner@speakeasy.net>
* generator/Statistics.cs : New. Gathers stats about generation.
	* generator/*.cs : Hook in the stat counters.

svn path=/trunk/gtk-sharp/; revision=2491
2002-02-19 03:12:47 +00:00
Mike Kestner
179097cbf6 2002-02-18 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (GenCtor): StudCapsify static method names.
	* generator/SymbolTable.cs (Trim): strip const- prefix.
	* sample/ButtonApp.cs (Window_delete): handle RetVal.

svn path=/trunk/gtk-sharp/; revision=2482
2002-02-18 19:26:33 +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
486c867726 2002-02-15 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : Create the SignalArgs.Args array and fix
	  indexing into it.
	* sample/ButtonApp.cs : A little cleanup.  Not quite there yet.
	* sample/HelloWorld.cs : Set up the RetVal in the delete handler.

svn path=/trunk/gtk-sharp/; revision=2426
2002-02-15 11:15:11 +00:00
Mike Kestner
ecc2f8407c Oops, forgot the add on this.
svn path=/trunk/gtk-sharp/; revision=2420
2002-02-15 01:10:14 +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
Mike Kestner
123557fb68 2002-02-10 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs (FromNative): Add explicit cast.
	* generator/ObjectGen.cs (FromNative): Add explicit cast.
	(GenSignal): New.  Partial.  Not hooked in yet.
	* generator/StructBase.cs (GenMethod): return-type is a sub-element,
	  not an attribute.

svn path=/trunk/gtk-sharp/; revision=2304
2002-02-10 23:11:25 +00:00
Mike Kestner
55e63cb433 2002-02-09 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (GenMethod): Add handle arg to paramless
	  method call and extern.

svn path=/trunk/gtk-sharp/; revision=2280
2002-02-09 13:58:21 +00:00
Mike Kestner
4966896f1e This should be the last enormo-diff on mono-patches. I have removed the
api.xml file from CVS with this commit.  It can be downloaded from
http://sf.net/projects/gtk-sharp.  I will be uploading new versions of the
file, now named gtkapi.xml, to the project download area from now on.

2002-02-08  Mike Kestner <mkestner@speakeasy.net>

	* README : Some updates.
	* generator/BoxedGen.cs : Add FromNative method.
	* generator/CallbackGen.cs : Add FromNative method.
	* generator/EnumGen.cs : Add FromNative method.
	* generator/IGeneratable.cs : Add FromNative method.
	* generator/InterfaceGen.cs : Add FromNative method.
	* generator/ObjectGen.cs : Add FromNative method. Hook in GenMethod.
	* generator/StructBase.cs : Revamp param handling. Add GenMethod.
	* generator/StructGen.cs : Add FromNative method.
	* generator/SymbolTable.cs : Add FromNative method.
	* parser/gapi2xml.pl : Detect ctors before methods. Fix method names.
	* sample/HelloWorld.cs : uncomment the Show call.

svn path=/trunk/gtk-sharp/; revision=2277
2002-02-08 23:56:27 +00:00
Mike Kestner
e99a131e6a 2002-02-06 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : Marshal as IntPtr using Raw prop.
	* generator/ObjectGen.cs : Use Handle for marshaling.
	* generator/StructBase.cs (CallByName): Fill out the stub.
	(GetImportSig): Fill out the stub.
	* generator/StructGen.cs (MarshalType): Use QualifiedName.
	* generator/SymbolTable.cs (GetMarshalType): Trim type.
	(CallByName): New. Provides calling syntax.
	* sample/HelloWorld.cs : Make it compile.

svn path=/trunk/gtk-sharp/; revision=2253
2002-02-06 20:09:14 +00:00
Mike Kestner
2918e60a50 2002-02-02 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Add IntPtr constructor generation. Pass a
	  ctor signature hash around to use in clash resolution. Generate a
	  void ctor if none is present which just calls the parent ctor.
	* generator/StructBase.cs : Add non-void signature ctor generation,
	  including collision handling logic. Collisions are implemented as
	  static methods.
	* generator/SymbolTable.cs : Map GSList to GLib.SList. Add type
	  trimming to remove trailing *'s.  Need to suppress leading const yet.
	* glib/Object.cs : Add default ctor for void and IntPtr ctors.
	* glib/SList.cs : Implementation of a wrapper class for GSLists.  Lots
	  of FIXMEs.
	* parser/gapi2xml.pl : Handle ** and array params.

svn path=/trunk/gtk-sharp/; revision=2232
2002-02-03 03:44:10 +00:00
Mike Kestner
2a29390caf 2002-01-17 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : Removed Name, CName, and QualifiedName.
	* generator/ObjectGen.cs : Removed Name, CName, and QualifiedName.
	* generator/StructBase.cs : Add Name, CName, and QualifiedName. Add
	  GenCtor method. Stub GetCallString, GetImportSig, and GetSignature
	  methods.
	* generator/StructGen.cs : Removed Name, CName, and QualifiedName.
	* generator/SymbolTable.cs : Add GetDllName method.
	* parser/gapi2xml.pl : Fix a couple <parameters> bugs.

svn path=/trunk/gtk-sharp/; revision=2030
2002-01-17 23:44:56 +00:00
Mike Kestner
88175147cf 2002-01-16 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : New boxed type generatable.
	* generator/ObjectGen.cs : Add boxed type property generation and stub
	  off interface properties for now.
	* generator/Parser.cs : Add boxed element parsing.
	* generator/SymbolTable.cs : Add IsBoxed and IsInterface methods.
	* glib/Boxed.cs : New base class for deriving boxed types.
	* glib/Object.cs : Add boxed GetProp/SetProp methods.
	* parser/gapi2xml.pl : Add boxed type element formatting.
	* parser/gapi_pp.pl : Add preprocessing of the generated sourcefiles.
	  Handle the builtins and make them identifiable to the xml generator.

svn path=/trunk/gtk-sharp/; revision=2012
2002-01-17 00:26:46 +00:00
Mike Kestner
9fcf82d28e 2002-01-11 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Add property generation.
	* generator/SymbolTable.cs : More fixage to simple_types. Add
	  GetMarshalType and IsObject methods.
	* glib/Object.cs : Rename Events prop to EventList to avoid name
	  collision. Add float, double, uint, and IntPtr GetProp and SetProp
	  methods.
	* parser/TODO : Add a couple prop related bugs to come back for.
	* parser/gapi2xml.pl (addPropElems): Restructure.  It was thoroughly
	  broken.  It's better now.

svn path=/trunk/gtk-sharp/; revision=1960
2002-01-12 02:08:16 +00:00
Mike Kestner
d828b8ce59 2002-01-08 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (GenField): Return a bool success indicator.
	* generator/ObjectGen.cs : Check the return of GenField.
	* generator/SymbolTable.cs : More fixage to simple_types.
	* parser/gapi2xml.pl : Fix multiline comment bug, and callback name
	  hashing logic. Squash callbacks that aren't in the namespace.
	* sample/HelloWorld.cs : Clean out some debugging to make it closer to
	  compiling.  Not quite there yet.

svn path=/trunk/gtk-sharp/; revision=1948
2002-01-10 15:01:31 +00:00
Mike Kestner
dbadac1885 2002-01-08 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : Use name in QualName, not cname.
	* generator/EnumGen.cs : Use name in QualName, not cname.
	* generator/InterfaceGen.cs : Use name in QualName, not cname.
	* generator/StructBase.cs (GenField): gen as public.

svn path=/trunk/gtk-sharp/; revision=1920
2002-01-08 20:30:29 +00:00
Mike Kestner
a9581bd50b 2002-01-08 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : New stub for delegate generation.
	* generator/InterfaceGen.cs : New stub for interface generation.
	* generator/Parser.cs : Add the interface and callback element hooks.
	* generator/SymbolTable.cs : Additions to simple_types hash.

svn path=/trunk/gtk-sharp/; revision=1919
2002-01-08 20:05:47 +00:00
Mike Kestner
e33710f1c3 2002-01-07 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Make parent debug statement more helpful.
	* generator/Parser.cs : Add interface element case.
	* parser/gapi2xml.pl : Add interface types.
	* parser/gapi_pp.pl : Grab G_TYPE_INSTANCE_GET_INTERFACE defines. Grab
	  struct declarations out of private headers.

svn path=/trunk/gtk-sharp/; revision=1904
2002-01-07 23:30:01 +00:00
Mike Kestner
8648757e19 2002-01-06 Mike Kestner <mkestner@speakeasy.net>
* */makefile : Add atk to the build.
	* generator/EnumGen.cs : Create the generated dir if necessary.
	* generator/ObjectGen.cs : Create the generated dir if necessary.
	* generator/StructGen.cs : Create the generated dir if necessary.
	* parser/gapi2xml.pl : Squash bug in comma separated field defs.

svn path=/trunk/gtk-sharp/; revision=1882
2002-01-07 00:25:51 +00:00
Mike Kestner
ca64721a09 2002-01-06 Mike Kestner <mkestner@speakeasy.net>
* generator/EnumGen.cs : Open stream Create only.
	* generator/ObjectGen.cs : New generatable for GObject subclasses.
	* generator/Parser.cs : Add the object element hook.
	* generator/StructBase.cs : Handle bits element in GenField.
	* generator/StructGen.cs : Open stream Create only.
	* generator/SymbolTable.cs : Additions to simple_types hash.
	* parser/gapi2xml.pl : Parse bitflags into the bits element.

svn path=/trunk/gtk-sharp/; revision=1871
2002-01-06 13:33:25 +00:00
Mike Kestner
43a19345ca 2002-01-05 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs : First pass at simple_types hash.

svn path=/trunk/gtk-sharp/; revision=1860
2002-01-05 13:24:13 +00:00
Mike Kestner
02fa6a31e6 2002-01-05 Mike Kestner <mkestner@speakeasy.net>
* generator/*.cs : Move into GtkSharp.Generation namespace.
	* generator/CodeGenerator.cs (Main): Add usage check. Add SymbolTable.
	* generator/EnumGen.cs (QualifiedName): New.
	(Generate): Add SymbolTable to signature.
	* generator/IGeneratable : Add QualifiedName prop and update Generate
	  signature.
	* generator/Parser.cs : Switch from plain Hashtable to SymbolTable.
	(Parse): Replaces the Types property and returns a SymbolTable.
	* generator/StructBase.cs : New base class to derive struct and object
	  types. Initial implementation of protected GenField method and ctor.
	* generator/StructGen.cs : New non-object struct type generatable.
	* generator/SymbolTable.cs : New. Manages complex types hash and a
	  simple types hash.  Will provide generic lookup interface.

svn path=/trunk/gtk-sharp/; revision=1855
2002-01-05 12:45:55 +00:00
Mike Kestner
30e653825c This is an enormous commit of stuff that I've been working on for several
weeks.  I'll be posting an update to gtk-sharp-list in a bit to describe my
latest psychosis.

svn path=/trunk/gtk-sharp/; revision=1797
2002-01-04 02:02:28 +00:00