Commit Graph

121 Commits

Author SHA1 Message Date
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
d0bb4165b8 README changes.
svn path=/trunk/gtk-sharp/; revision=5413
2002-06-22 13:07:50 +00:00
Mike Kestner
ded1103f83 2002-06-21 Michael Meeks <michael@ximian.com>
* sample/Makefile.in: re-factor slightly.

svn path=/trunk/gtk-sharp/; revision=5404
2002-06-21 20:58:07 +00:00
Mike Kestner
5c8fc4ab57 2002-06-21 Mike Kestner <mkestner@speakeasy.net>
* gtk/*akefile* : lose the gdk-imaging-sharp refs

svn path=/trunk/gtk-sharp/; revision=5402
2002-06-21 20:47:14 +00:00
Mike Kestner
921a47cbca 2002-06-21 Mike Kestner <mkestner@speakeasy.net>
* configure.in : remove gdk.imaging/Makefile creation.

svn path=/trunk/gtk-sharp/; revision=5401
2002-06-21 20:29:27 +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
63624a886d 2002-06-06 Mike Kestner <mkestner@speakeasy.net>
* glib/Timeout.cs : new Timeout class with Add() and
	  TimeoutHandler delegate.

svn path=/trunk/gtk-sharp/; revision=5144
2002-06-06 23:17:10 +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
1129bd2e78 2002-05-29 Mike Kestner <mkestner@speakeasy.net>
* */Makefile.in : remove generated source in clean target.

svn path=/trunk/gtk-sharp/; revision=5004
2002-05-29 10:40:15 +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
177ce885ad 2002-05-28 Mike Kestner <mkestner@speakeasy.net>
* makefile : add separate targets for native and platform
	  independent products per request from debian packager
	  Alp Toker <alp@atoker.com>

svn path=/trunk/gtk-sharp/; revision=4998
2002-05-28 21:19:04 +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
Paolo Molaro
e5db28deea Reference System.Drawing.
svn path=/trunk/gtk-sharp/; revision=4807
2002-05-21 06:27:02 +00:00
Joe Shaw
077fcaaf45 Add the System.Drawing assembly to the compile line
svn path=/trunk/gtk-sharp/; revision=4595
2002-05-13 16:55:34 +00:00
Joe Shaw
07801f675c 2002-05-13 Joe Shaw <joe@assbarn.com>
* sample/Makefile.in: Use -L compiler flags and specify all of the
	assemblies to link against.

svn path=/trunk/gtk-sharp/; revision=4587
2002-05-13 13:59:40 +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
5c9dfb1523 2002-05-03 Mike Kestner <mkestner@speakeasy.net>
* sample/makefile.win32 : add the Menu sample
	* sample/Menu.cs : A menu and box packing sample.

svn path=/trunk/gtk-sharp/; revision=4243
2002-05-03 00:56:08 +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
Mike Kestner
fa98aa165a 2002-04-25 Mike Kestner <mkestner@speakeasy.net>
* autogen.sh : simple config for the glue build
	* configure.in : simple config for the glue build
	* makefile : add glue dir to build
	* glib/SList.cs : Fix some leakage.
	* glue/value.c : a helper function for heap alloc of GValues
	* glue/Makefile.am : build for libgtksharpglue

svn path=/trunk/gtk-sharp/; revision=4042
2002-04-25 09:17:54 +00:00
Mike Kestner
b5c0054787 2002-04-19 Mike Kestner <mkestner@speakeasy.net>
* glib/SList.cs : A more sane approach.
	* glib/Value.cs : Marshal strings directly with pinvoke

svn path=/trunk/gtk-sharp/; revision=3913
2002-04-19 16:17:47 +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
87bc26395a tagging marker for 0.1
svn path=/trunk/gtk-sharp/; revision=3722
2002-04-09 19:11:41 +00:00
Mike Kestner
786450e1dd 2002-04-09 Mike Kestner <mkestner@speakeasy.net>
* sample/ButtonApp.cs : Get it to run on linux.

svn path=/trunk/gtk-sharp/; revision=3721
2002-04-09 19:10:31 +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
356c9920ed 2002-03-29 Mike Kestner <mkestner@speakeasy.net>
* */makefile : add make linux target.

svn path=/trunk/gtk-sharp/; revision=3505
2002-03-30 00:18:41 +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