Commit Graph

240 Commits

Author SHA1 Message Date
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