Commit graph

77 commits

Author SHA1 Message Date
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
Duncan Mak
c73ccc6b50 2002-07-31 Duncan Mak <duncan@ximian.com>
* *.cs: Flush. Made it use Stock buttons instead of just a plain
	text label.

	* TestColorSelection.cs: Made the result dialog work a bit better.

	* ChangeLog: Added Rachel's ChangeLog entry to here.

svn path=/trunk/gtk-sharp/; revision=6273
2002-07-31 07:07:29 +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
Gonzalo Paniagua Javier
9823d2d8ea Removed old file and added some info que a DB error happens.
svn path=/trunk/gtk-sharp/; revision=6214
2002-07-27 15:27:54 +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
Duncan Mak
dd71eaf3ea 2002-07-25 Duncan Mak <duncan@ximian.com>
* TestRange.cs: Fix the EventHandlers here.

svn path=/trunk/gtk-sharp/; revision=6167
2002-07-25 11:42:04 +00:00
Duncan Mak
c1b8365702 Fix the IP yet another, sorry.
svn path=/trunk/gtk-sharp/; revision=6156
2002-07-24 18:48:39 +00:00
Duncan Mak
203ab445f8 Make the Action menu work.
svn path=/trunk/gtk-sharp/; revision=6155
2002-07-24 18:46:56 +00:00
Duncan Mak
4c1e8f1b53 Give Gustavo some privacy.
svn path=/trunk/gtk-sharp/; revision=6154
2002-07-24 18:35:10 +00:00
Duncan Mak
dd1c45b22e Add a menubar
svn path=/trunk/gtk-sharp/; revision=6152
2002-07-24 18:33:28 +00:00
Gonzalo Paniagua Javier
e032408c50 Handle DB exceptions
svn path=/trunk/gtk-sharp/; revision=6151
2002-07-24 18:19:21 +00:00
Gonzalo Paniagua Javier
5937983a62 added status bar and simulate modal dialogs
svn path=/trunk/gtk-sharp/; revision=6150
2002-07-24 18:09:51 +00:00
Duncan Mak
45e4ed0684 Line up the titles.
svn path=/trunk/gtk-sharp/; revision=6149
2002-07-24 17:54:38 +00:00
Gonzalo Paniagua Javier
c6f414c7d4 Added edit callback
svn path=/trunk/gtk-sharp/; revision=6148
2002-07-24 17:41:14 +00:00
Gonzalo Paniagua Javier
6a7c95725c Insert and Delete now work
svn path=/trunk/gtk-sharp/; revision=6144
2002-07-24 17:04:45 +00:00
Duncan Mak
dd6a2b8878 UI tweaks to make it more beautiful.
svn path=/trunk/gtk-sharp/; revision=6139
2002-07-24 15:07:29 +00:00
Duncan Mak
640ba7857e Made the entries accessible, so that we can grab the text out of it.
svn path=/trunk/gtk-sharp/; revision=6137
2002-07-24 14:15:58 +00:00
Duncan Mak
960dbb8c7a New GUI. Go! Go! Go!
svn path=/trunk/gtk-sharp/; revision=6135
2002-07-24 14:06:07 +00:00
Gonzalo Paniagua Javier
d4a5d43707 slightly modified makefile. Added DB stuff
svn path=/trunk/gtk-sharp/; revision=6132
2002-07-24 13:46:19 +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
Gonzalo Paniagua Javier
834ac7cac8 Added the wodget for Browse tab. Not yet finished.
svn path=/trunk/gtk-sharp/; revision=6129
2002-07-24 11:40:33 +00:00
Duncan Mak
1fb8452fce Sample Gtk# database client.
svn path=/trunk/gtk-sharp/; revision=6119
2002-07-24 10:17:15 +00:00
Duncan Mak
2f44d60039 2002-07-23 Duncan Mak <duncan@ximian.com>
* TestMenus.cs: Use MenuItem instead of ImageMenuItem, this test
works now.

* TestFileSelection.cs: window.Selections is crashing, remove
it. OK Button doesn't do anything now.

* WidgetViewer.cs: Add in a frame.

svn path=/trunk/gtk-sharp/; revision=6021
2002-07-22 17:06:28 +00:00
Duncan Mak
2ac0a2cc89 2002-07-20 Duncan Mak <duncan@ximian.com>
* TestSizeGroup.cs: Minor aesthetic changes.

	* TestStatusbar.cs: Some changes in the output to figure out why
	it is behaving like this.

svn path=/trunk/gtk-sharp/; revision=5946
2002-07-19 19:05:11 +00:00
Duncan Mak
66d0a287b3 2002-07-19 Duncan Mak <duncan@ximian.com>
* TestSizeGroup.cs: New test for GtkSizeGroup.

	* Makefile:
	* WidgetViewer.cs: Include TestSizeGroup.

svn path=/trunk/gtk-sharp/; revision=5907
2002-07-19 09:44:29 +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
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
Radek Doulik
5fd1b11716 fixed typo
svn path=/trunk/gtk-sharp/; revision=5897
2002-07-18 20:02:37 +00:00
Duncan Mak
aeb6280e2f 2002-07-18 Duncan Mak <duncan@ximian.com>
* WidgetViewer.cs: Fixed InvalidCastException.

	* TestStatusbar.cs: Made it work. Sigh, I dunno why I got it wrong
	the first time.

	* TestMenus.cs: Use null instead of new SList (IntPtr.Zero); and
	remove the unnecessary try... catch block.

svn path=/trunk/gtk-sharp/; revision=5889
2002-07-18 12:06:17 +00:00
Duncan Mak
6f5bbc2259 2002-07-18 Duncan Mak <duncan@ximian.com>
* TestMenus.cs: Use null instead of new SList (IntPtr.Zero); and
	remove try... catch block.

svn path=/trunk/gtk-sharp/; revision=5879
2002-07-17 18:31:51 +00:00
Duncan Mak
f3ad31837b 2002-07-18 Duncan Mak <duncan@ximian.com>
* TestCheckButton.cs:
	* TestDialog.cs:
	* TestFileSelection.cs:
	* TestFlipping.cs:
	* TestMenus.cs:
	* TestRadioButton.cs:
	* TestRange.cs:
	* TestStatusbar.cs:
	* TestTooltip.cs:  Removed erroneous references to SignalArgs, and
	changed EventHandlers to more appropriate specialized Handlers instead.

svn path=/trunk/gtk-sharp/; revision=5869
2002-07-17 16:33:35 +00:00
Duncan Mak
aa56559530 2002-07-17 Duncan Mak <duncan@ximian.com>
* Makefile:
	* WidgetViewer.cs: Added TestMenus.cs

	* TestMenus.cs: New test for testing menu widgets.

svn path=/trunk/gtk-sharp/; revision=5856
2002-07-17 15:14:55 +00:00
Duncan Mak
ec3f7ead3e 2002-07-17 Duncan Mak <duncan@ximian.com>
* WidgetViewer.cs: Changed the EventArgs stuff to match Mike's
	latest commit.

	* TestToolbar.cs: Thanks to Dietmar for fixing #27695. Added new
	button for toggling showing tooltips.

svn path=/trunk/gtk-sharp/; revision=5841
2002-07-17 08:59:11 +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
Duncan Mak
caf4397b04 2002-07-16 Duncan Mak <duncan@ximian.com>
* TestCheckButton.cs:
	* TestTooltip.cs: Added copyright material.

	* TestColorSelection.cs: Attempt to do something new after color
	is selected. ColorSelection.CurrentColor (get) doesn't seem to
	work right now, bug 27834.

	* TestDialog.cs: Removed debugging messages and beautified the dialog.

	* TestFlipping.cs: New test to show widget flipping.

	* TestRadioButton.cs: Changed the constructors used to build the
	radio buttons to work around bug 27833.

	* Makefile: Added TestFlipping.cs.

	* WidgetViewer.cs (AddWindow): Another convenience method for
	adding new Test dialogs.

2002-07-15  Duncan Mak  <duncan@ximian.com>

	* WidgetViewer.cs (AddButton): New convenience method so that I don't have to type
	the same thing when adding a new test button.

svn path=/trunk/gtk-sharp/; revision=5824
2002-07-16 10:11:49 +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
Duncan Mak
75435b10f1 2002-07-13 Duncan Mak <duncan@ximian.com>
* *.cs: Added copyright material.

svn path=/trunk/gtk-sharp/; revision=5740
2002-07-12 17:15:06 +00:00
Duncan Mak
7a05f25736 2002-07-13 Duncan Mak <duncan@ximian.com>
* *.cs: Checking in testgtk# to CVS.

svn path=/trunk/gtk-sharp/; revision=5737
2002-07-12 16:52:55 +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
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
1987e501df oops
svn path=/trunk/gtk-sharp/; revision=5443
2002-06-25 10:49:23 +00:00
Mike Kestner
cb10133c1d 2002-06-25 Mike Kestner <mkestner@speakeasy.net>
* configure.in : back out a premature add of gnome/Makefile.in

svn path=/trunk/gtk-sharp/; revision=5442
2002-06-25 10:48:12 +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
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
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