Commit graph

178 commits

Author SHA1 Message Date
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
Duncan Mak
03a91f8672 2002-08-09 Duncan Mak <duncan@ximian.com>
* sample/Fifteen.cs (Position): Made it a property instead of a
	public field.

	* sample/pixmaps/gnome-color-browser.png: Icon for Fifteen#.

svn path=/trunk/gtk-sharp/; revision=6560
2002-08-09 05:22:13 +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
Duncan Mak
b2f1f53188 2002-08-07 Duncan Mak <duncan@ximian.com>
* sample/Fifteen.cs: Fixed scramble. The whole thing works now.

svn path=/trunk/gtk-sharp/; revision=6493
2002-08-07 05:44:03 +00:00
Duncan Mak
6fa1450445 2002-08-07 Duncan Mak <duncan@ximian.com>
* sample/Fifteen.cs: Fixed movement logic. It works now. Added
	'debug' flag. Run 'mono ./Fifteen.exe debug' to see movement info.

svn path=/trunk/gtk-sharp/; revision=6491
2002-08-07 03:50:09 +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
Gonzalo Paniagua Javier
4750a00588 2002-08-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* sample/GnomeHelloWorld.cs: use DeleteEventHandler.

svn path=/trunk/gtk-sharp/; revision=6480
2002-08-06 20:02:00 +00:00
Duncan Mak
e1e6059f98 2002-08-07 Duncan Mak <duncan@ximian.com>
* sample/Fifteen.cs: Added new canvas example.

svn path=/trunk/gtk-sharp/; revision=6478
2002-08-06 17:50:25 +00:00
Duncan Mak
cd25ace4ba 2002-08-06 Duncan Mak <duncan@ximian.com>
* glue/canvasitem.c:
	* gnome/CanvasItem.custom: Added accessor to get the 'canvas' field.

svn path=/trunk/gtk-sharp/; revision=6469
2002-08-06 16:01:15 +00:00
Duncan Mak
bfb00c4e7a 2002-08-06 Duncan Mak <duncan@ximian.com>
* gnome/CanvasItem.custom: Added accessor to get the 'canvas' field.

svn path=/trunk/gtk-sharp/; revision=6467
2002-08-06 15:52:32 +00:00
Duncan Mak
610efe83b9 ChangeLog entry
svn path=/trunk/gtk-sharp/; revision=6457
2002-08-06 05:41:56 +00:00
Rachel Hestilow
d60309616b 2002-08-05 Rachel Hestilow <hestilow@ximian.com>
* makefile, */Makefile.in: Packaging fix from
	Robert McQueen (a.k.a. Robot101).

svn path=/trunk/gtk-sharp/; revision=6455
2002-08-06 02:07:10 +00:00
Rachel Hestilow
ab115875e4 2002-08-05 Rachel Hestilow <hestilow@ximian.com>
* gnome/Canvas*.custom, IconTextItem.custom: Added.

	* sample/CanvasExample.cs: Added.
	* sample/Makefile.in: Build canvas example in gnome build.

svn path=/trunk/gtk-sharp/; revision=6451
2002-08-06 00:15:18 +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
Joe Shaw
530e27aa43 2002-08-04 Joe Shaw <joe@assbarn.com>
* configure.in: We actually need libgnomeui, not libgnome.

svn path=/trunk/gtk-sharp/; revision=6398
2002-08-04 19:03:21 +00:00
Mike Kestner
564be8599d 2002-08-04 Mike Kestner <mkestner@speakeasy.net>
Tagged for 0.3 and updated configure.in to 0.4.
	Back open for commits.

svn path=/trunk/gtk-sharp/; revision=6394
2002-08-04 05:24:31 +00:00
Mike Kestner
f7337f261c 2002-08-03 Mike Kestner <mkestner@speakeasy.net>
Freezing cvs for 0.3 release. Please no commits until the release.

svn path=/trunk/gtk-sharp/; revision=6392
2002-08-04 04:24:53 +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
Alp Toker
6be8587936 gtk/Makefile.in etc. : reference the newly compiled assemblies instead of those
already installed on the system

svn path=/trunk/gtk-sharp/; revision=6130
2002-07-24 11:47:01 +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
Duncan Mak
ef47320ee2 2002-07-19 Duncan Mak <duncan@ximian.com>
* gtk/Paned.custom:
	* glue/paned.c: Glue code for getting child1 and child2 out from a Gtk.Paned.

	* glue/Makefile.am: Add paned.c

svn path=/trunk/gtk-sharp/; revision=5906
2002-07-19 07:54:33 +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
e4b4ce171c use this (null, null)
svn path=/trunk/gtk-sharp/; revision=5857
2002-07-17 15:38:03 +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
65cf81eade 2002-07-11 Mike Kestner <mkestner@speakeasy.net>
* glib/SList.cs : fix a couple DllImports

svn path=/trunk/gtk-sharp/; revision=5708
2002-07-11 17:58:49 +00:00
Duncan Mak
c5f678926c 2002-07-11 Duncan Mak <duncan@ximian.com>
* glue/Makefile.am: Added dialog.c and colorseldialog.c

	* glue/dialog.c:
	* gtk/Dialog.custom: C# glue for getting more fields from a GtkDialog.

	* glue/colorseldialog.c:
	* gtk/ColorSelectionDialog.custom: C# glue for getting more fields
	from a ColorSelectionDialog.

svn path=/trunk/gtk-sharp/; revision=5699
2002-07-11 13:18:36 +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