GtkSharp/ChangeLog
Miguel de Icaza 7e57b3b9a3 2003-03-03 Miguel de Icaza <miguel@ximian.com>
* gdk/Rectangle.custom: Add a Rectangle constructor that takes for
	arguments.

svn path=/trunk/gtk-sharp/; revision=12147
2003-03-03 17:43:22 +00:00

2898 lines
100 KiB
Plaintext
Raw Blame History

2003-03-03 Miguel de Icaza <miguel@ximian.com>
* gdk/Rectangle.custom: Add a Rectangle constructor that takes for
arguments.
2003-03-02 Miguel de Icaza <miguel@ximian.com>
* glib/Markup.cs: Add new file.
2003-03-01 Peter Williams <peterw@ximian.com>
* glue/Makefile.am (libgtksharpglue_la_LIBADD): Change this to
BASE_DEPENDENCIES_LIBS
2003-03-01 Mike Kestner <mkestner@speakeasy.net>
* api/gdk-api.xml : make Color.Parse retval a gboolean. Also change
some libname override rules to use win32 dllnames.
* sources/Gdk.metadata : rules for above.
2003-02-28 Miguel de Icaza <miguel@ximian.com>
* glue/widget.c (gtksharp_gtk_widget_get_window): Fix. Return the
window, not the address of the window pointer.
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>.
2003-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* api/gdk-api.xml:
* sources/Gdk.metadata: hide GdkColormap.AllocColor.
* gdk/Colormap.custom: AllocColor is here.
* gconf/tools/schemagen.cs: XmlDocument.Load (string) takes an Uri.
2003-02-28 Miguel de Icaza <miguel@ximian.com>
* gdk/Color.custom: Added constructors from System.Drawing.Color
and from rgb byte tuples.
* gdk/Colormap.custom: Add new .custom file for the AllocColor
call.
* sources/Gdk.metadata: Make Colormap.AllocColor GdkColor
parameter be a `ref' parameter.
2003-02-27 Miguel de Icaza <miguel@ximian.com>
* gdk/Drawable.custom: Added nice overload for DrawRectangle.
2003-02-19 Miguel de Icaza <miguel@ximian.com>
* gdk/Pixbuf.custom: Add overload arguments that take a
System.Drawing.Color.
Added a Clone() method, to implement the ICloneable interface.
Added constructors for inlined in-data RGB/RGBA buffers and file
images.
2003-02-26 Charles Iliya Krempeaux <charles@reptile.ca>
* gtk/TextBuffer.custom : Added method, named
"GetIterAtOffset" to wrap C API procedure
"gtk_text_buffer_get_iter_at_offset" in a
more expected way.
2003-02-26 Charles Iliya Krempeaux <charles@reptile.ca>
* configure.in : Added support for Rsvg.NET -- librsvg
.NET bindings. (Made a check for the library. And
made it so "rsvg/Makefile" would be generated. Also
made it so it will display if rsvg-sharp.dll will
be generated or not.)
* makefile : Added support for Rsvg.NET -- librsvg
.NET bindings. (Added an entry for Rsvg.NET.)
* sources/gtk-sharp.sources : Added an entry for
Rsvg.NET -- librsvg .NET bindings.
* rsvg/ : Created "rsvg/" directory. (To hold stuff
for Rsvg.NET.)
* rsvg/Tool.cs : Created Rsvg.Tool class to hold
various procedures (which were not automatically
wrapped).
* rsvg/Makefile.in : Created "rsvg/Makefile.in".
* api/Makefile.in : Added and entry for Rsvg.NET.
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.
2003-02-24 Mike Kestner <mkestner@speakeasy.net>
* sample/TreeViewDemo.cs : fix Type ambiguities
2003-02-24 Mike Kestner <mkestner@speakeasy.net>
* sample/Subclass.cs : rework the GType code.
2003-02-24 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs : fix some ref/out bugs
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
2003-02-23 Mike Kestner <mkestner@speakeasy.net>
* generator/GenBase.cs : quote the custom filenames in
#file directives.
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.
2003-02-22 Mike Kestner <mkestner@speakeasy.net>
* sources/makefile : patch from Charles Krempeaux to add
get-source-code target which wgets tarballs.
2003-02-21 Mike Kestner <mkestner@speakeasy.net>
* mapdllnames.pl : a little whitespace action
* api/*-api.xml : move to win32 dllnames
* */makefile.win32 : remove the mapdllnames step
* */*.cs : move to win32 dllnames
* */*.custom : move to win32 dllnames
* sources/gtk-sharp.sources : move to win32 dllnames
2003-02-21 Mike Kestner <mkestner@speakeasy.net>
* api/*-api.xml : remove stray enum get_type methods.
* parser/gapi2xml.pl : ignore get_type methods on enums.
2003-02-20 Mike Kestner <mkestner@speakeasy.net>
* api/gtk-api.xml : hide the Arrow::Set method.
* sources/Gtk.metadata : metadata for above.
2003-02-19 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs (Initialize): construct a GLib.Value
for out params.
2003-02-19 Mike Kestner <mkestner@speakeasy.net>
* api/gtk-api.xml : mark TreeModel::GetValue value param out
suggested by Lee Mallabone <gnome@phonicmonkey.net>
* sources/Gtk.metadata : metadata for above
* sources/README : update the gnomedb/gda version reqs
2003-02-19 Duncan Mak <duncan@ximian.com>
* sources/Gtk.metadata: Add GetLayoutOffsets to the rule for out params.
* gtk/FileSelection.custom (Button): Rename to FSButton, so that
we won't wipe out our original Gtk.Button docs.
2003-02-19 Mike Kestner <mkestner@speakeasy.net>
* generator/GenBase.cs : mark #line 1 for .customs
* generator/SignalHandler.cs : fix for GObj retvals
2003-02-18 Mark Crichton <crichton@gimp.org>
* generator/EnumGen.cs: Handle different enum types.
2003-02-14 Duncan Mak <duncan@ximian.com>
* api/gtk-api.xml:
* sources/Gtk.metadata: Mark 'out' param in GetSelectionBounds,
thanks to Lee Mallabone for spotting that.
2003-02-13 Mike Kestner <mkestner@speakeasy.net>
* glib/Boxed.cs : fix a ctor bug reported to the list by
u900842@oz.nthu.edu.tw.
2003-02-13 Mike Kestner <mkestner@speakeasy.net>
* sample/Makefile.in: add a distclean target
2003-02-13 Charles Iliya Krempeaux <charles@reptile.ca>
* README : Clarifications and additions
2003-02-13 Stefan Sarin <gprojects@saring.de>
* gdk/Color.custom: fixed ToString ().
2003-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* gconf/GConf/Client.cs:
* gconf/GConf/NoSuchKeyException.cs: added key string to the exception
when Get does not find it.
2003-02-11 Duncan Mak <duncan@ximian.com>
* gnome/voidObjectAffineSVPintSignal.cs:
* gnome/CanvasProxy.cs: Make the voidObjectAffineSVPintSignal
class be in the 'GtkSharp' namespace, instead of 'GtkSharp.Gnome'.
2003-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* glade/XML.custom: added a couple of checks for null.
2003-02-09 Duncan Mak <duncan@ximian.com>
* sources/Gtk.metadata:
* api/gtk-api.xml: Gtk.Editable.InsertText should have the
position be marked 'ref', not 'out', because it is an in-out parameter.
* gtk/Entry.custom: Overload for InsertText.
* gtk/Clipboard.custom: New overload for SetText.
* sources/Gtk.metadata: Mark out params for methods in GtkCalendar,
GtkCellRenderer, GtkWindow, GtkRuler, GtkLayout, GtkScrolledWindow
and GtkSpinButton. Monotalk is very useful for this kind of work.
2003-02-08 Radek Doulik <rodo@ximian.com>
* glib/MainContext.cs: beginning of MainContext class, just
Iteration and Pending methods to be able to refresh Gtk in the
middle of time consuming function where it's not worth while to
use threads
* glue/style.c (gtksharp_gtk_style_get_font_description): new
function to access style's font_description field
* gtk/Style.custom: added font description property
* gconf/GConf/Client.cs: added SyggestSync method
2003-02-07 Peter Williams <peterw@ximian.com>
* glue/Makefile.am (libgtksharpglue_la_LIBADD): Set this so
that people linking to libgtksharpglue.so get their
dependencies.
(I've had this patch sitting around forever, I think it got
approved, and it certainly appears correct.)
2003-02-07 Martin Willemoes Hansen <mwh@sysrq.dk>
* Added a constructor to gdk/Point.custom
2003-02-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* sample/gconf/Makefile: defined top_builddir. RUNTIME is just 'mono'.
2003-02-06 Duncan Mak <duncan@ximian.com>
* sources/Gtk.metadata: Correct the metadata for the HTMLStream
Write method to make it always regenerate the correct
stuff. Thanks to Rachel for helping me out at the middle of the
night.
2003-02-06 Duncan Mak <duncan@ximian.com>
* api/gtk-api.xml:
* sources/Gtk.metadata:
* gtk/Window.custom: Mark out params in gtk_window_get_size and gtk_window_get_default_size.
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.
2003-02-05 Rodrigo Moya <rodrigo@ximian.com>
* gda/Application.cs:
* gnomedb/Application.cs: synced version number with its corresponding
C library version.
2003-01-29 Duncan Mak <duncan@ximian.com>
* gtk/Widget.custom: Add a nice overload, rename it to
'RequestSize' instead of 'SizeRequest' to avoid a name clash.
* api/gtk-api.xml:
* sources/Gtk.metadata: out param for gtk_widget_get_size_request.
* gtk/Window.custom: Add some overloads.
* api/gtk-api.xml:
* sources/Gtk.metadata:
* sources/Pango.metadata: Add some more metadata rules.
2003-01-28 Rodrigo Moya <rodrigo@ximian.com>
* configure.in:
* api/gda-api.xml:
* api/gnomedb-api.xml:
* sources/gtk-sharp.sources:
* sources/Gda.metadata: added support for latest libgda/libgnomedb.
2003-01-22 Radek Doulik <rodo@ximian.com>
* sources/Gtk.metadata: disable default contructor for Frame in
metadata
* parser/gapi2xml.pl: add comment to .xml files with warning that
they were auto generated
2003-01-20 Mike Kestner <mkestner@speakeasy.net>
* released 0.7.
2003-01-12 Martin Baulig <martin@ximian.com>
* parser/gapi2xml.pl (addNameElem): Make this work if the $cname
doesn't start with $prefix.
2003-01-10 Duncan Mak <duncan@ximian.com>
* gtk/TextView.custom (WindowToBufferCoords): Remove the hack, as
the generator produces correct code now.
* sources/Gtk.metadata (GtkTextView): Add a patch from Fredrik
Nilsson <jymdman@home.se> to add needed 'out' parameters.
2003-01-09 Rodrigo Moya <rodrigo@ximian.com>
* makefile:
* configure.in:
* api/Makefile.in:
* api/gphoto-api.xml:
* sources/gtk-sharp.sources:
* gphoto/Makefile.in:
* gphoto/.cvsignore: removed gphoto2 bindings, to be moved to mphoto.
2003-01-06 Pedro Abelleira Seco <pedroabelleira@yahoo.es>
* pango/Layout.custom: Add Size get property and add some nicer overloads
to avoid explicit passing in the string length
2003-01-05 Pedro Abelleira Seco <pedroabelleira@yahoo.es>
* gdk/Drawable.custom: Add Size get property
2003-01-05 Duncan Mak <duncan@ximian.com>
* pango/GlyphString.custom: Add some nicer overloads to avoid
explicit passing in the string length.
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.
2003-01-05 Duncan Mak <duncan@ximian.com>
* sources/Gtk.metadata (TextIter.ForwardSearch): Add out param
(TextIter.BackwardSearch): Add out param here too.
* sources/Gdk.metadata (Drawable.GetSize): Add out param.
* gtk/TextBuffer.custom (Clear): Add a new Clear method.
2003-01-02 Alp Toker <alp@atoker.com>
* api/gst-api.xml: Give int values to the ElementState enum, remove
incorrectly generated SetInternalConnectionFunction and a duplicated
type field
2003-01-01 Alp Toker <alp@atoker.com>
* glade/XML.custom: Determine name of GladeWidget if none specified
* glade/GladeWidgetAttribute.cs: ditto
2003-01-01 Rachel Hestilow <hestilow@ximian.com>
* glade/XML.custom: New method BindFields.
(Autoconnect): Call BindFields.
* glade/GladeWidgetAttribute.cs: Added.
* sample/GladeTest.cs: Test GladeWidgetAttribute.
2002-12-25 Rodrigo Moya <rodrigo@ximian.com>
* sources/gtk-sharp.sources: added libgphoto2.
* api/gphoto-api.xml: added API file for libgphoto2.
* gphoto/Makefile.in: added Makefile for building libgphoto2
bindings.
* makefile:
* configure.in:
* api/Makefile.in: added libgphoto2 to build.
2002-12-25 Alp Toker <alp@atoker.com>
* doc/makefile: Accept the RUNTIME parameter for platforms without
/usr/bin/mono
* sample/gconf/Makefile: ditto
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
2002-12-24 Alejandro S<>nchez Acosta <raciel@gnome.org>
* samples/tutorial/notebook: Added notebook sample.
2002-12-23 Alp Toker <alp@atoker.com>
* glib/Thread.cs: Add a class for thread awareness
* gdk/Threads.cs: ditto
2002-12-22 Kristian Rietveld <kris@gtk.org>
* sources/Gnome.metadata: add out param rules for a bunch of Canvas
methods (pointed out by Paul Duran).
* api/gnome-xml.api: updated
2002-12-22 Robert McQueen <robot101@debian.org>
* makefile: when doing distclean, attempt distclean on all the
C# subdirs too
* gconf/Makefile.in: added distclean target to rm the Makefiles
in the subdirs of gconf/
* glue/Makefile.am: build libgtksharpglue as an unversioned
module to avoid so -> so.0 -> so.0.0 symlink mess
* */Makefile.in: call mkinstalldirs before installing any files
so that subdirs can be installed seperately or in any sequence
(eg binding dirs before native dirs)
2002-12-20 Alp Toker <alp@atoker.com>
* api/gst-api.xml: Make Gst# link to libgstreamer.so as per pkg-config
--libs gstreamer
* sources/gtk-sharp.sources: ditto
* gst/Application.cs: ditto
* gst/Makefile.in: Reference the newly-built glib-sharp
2002-12-15 Alejandro S<>nchez Acosta <raciel@gnome.org>
* sample/tutorial/spinbutton/SpinButton.cs: Added new SpinButton sample for the GTK# tutorial.
* sample/tutorial/Makefile: Added new SpinButton sample.
2002-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* api/gdk-api.xml:
* sources/Gdk.metadata: PixbufLoader.Pixbuf have to ref the new Pixbuf.
2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* glib/Log.cs: removed the IntPtr argument and keep a reference to
the delegate passed to unmanaged world as suggested by rachel.
2002-12-11 Juli Mallett <jmallett@FreeBSD.org>
* gconf/Makefile.in, sample/Makefile.in: Use $(MAKE) not "make."
* parser/Makefile.in: Use CFLAGS and CPPFLAGS hints from configure,
and the base dependency CFLAGS. Fixes case where iconv.h is outside
of the compiler's default path.
2002-12-10 Mike Kestner <mkestner@speakeasy.net>
* released 0.6.
2002-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* glib/Log.cs: New file. Wraps a few logging functions. Useful for
debugging.
2002-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* generator/Signal.cs: generate correct type name for EventArgs.
2002-11-29 Duncan Mak <duncan@ximian.com>
* gtk/TextBuffer.custom (Text): Add a new Text property.
2002-11-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* sample/DbClient/GnomeDbClient.cs:
* sample/DbClient/client.cs: make them build.
2002-11-25 Alejandro S<>nchez Acosta <raciel@es.gnu.org>
* Added eventbox, rangewidget, scribble and packing sample widget.
* Changed togglebutton sample.
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
2002-11-19 Mike Kestner <mkestner@speakeasy.net>
* gtk/Dialog.custom : bind another ctor
2002-11-17 Radek Doulik <rodo@ximian.com>
* glib/Value.cs: cast Typefundamentals.* to uint (GType is
unsigned int), fix Value (GLib.Object) - use new GetGType method
* glib/Object.cs: new GetGType method, returns _obj GType
2002-11-17 Daniel Morgan <danmorg@sc.rr.com>
* pango/Scale.cs: added file containing constants
for text widgets needing Pango Scale Attribute
2002-11-13 Vladimir Vukicevic <vladimir@pobox.com>
* gtk/CanvasItem.custom: use base() to set Raw in constructor, so
that the ref counting semantics get correctly set up
2002-11-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* glade/XML.custom: converted from Latin1 to UTF8 to make the generator
go on.
2002-11-10 Vladimir Vukicevic <vladimir@pobox.com>
* glib/Object.cs: add needs_ref boolean that controls whether
we need to ref this object once we have a pointer to it or not.
By default this is set to true -- constructors and other functions
where we do own the object need to set this to false before setting
the "Raw" property. Also added Unref and RefCount methods.
* glue/object.c, glue/type.c: some utility functions for
refcounting support
* gdk/Pixbuf.custom: manually wrap a few functions so that
the refcount ends up being correct at the end (need an extra Unref)
* api/gdk-api.xml, sources/Gdk.metadata: metadata updates for
hiding manually-wrapped Pixbuf stuff
2002-11-10 Vladimir Vukicevic <vladimir@pobox.com>
* 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
2002-11-10 Alejandro S<>nchez Acosta <raciel@es.gnu.org>
* sample/tutorial: added some examples for the gtk# tutorial
2002-11-06 Duncan Mak <duncan@ximian.com>
* sample/Scribble.cs: Make it compile.
2002-11-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* autogen.sh:
* configure.in: added configuration summary.
2002-11-03 Alp Toker <alp@atoker.com>
* sources/gtk-sharp.sources: Update to support GStreamer 0.4.2
* api/gst-api.xml : ditto
* gst/Application.cs : ditto
2002-11-01 Alp Toker <alp@atoker.com>
* configure.in : Add GStreamer support
* api/Makefile.in : ditto
* api/gst-api.xml : ditto
* sources/gtk-sharp.sources: ditto
* gst/Makefile.in : ditto
* gst/Application.cs : Gst initialization
* sample/GstPlayer.cs : An example which uses the Gst binding
* generator/Parameters.cs : Add 'fixed' keyword to name mangler
* generator/StructBase.cs : ditto
* generator/Parameters.cs : Fix Initialize() for set accessors
* generator/Ctor.cs : ditto
* generator/Method.cs : ditto
* generator/SymbolTable.cs : Add gint64, guint64 to simple types
2002-10-29 Mike Kestner <mkestner@speakeasy.net>
* generator/Signal.cs : Fix namespacing of Args.
2002-10-27 Mike Kestner <mkestner@speakeasy.net>
* configure.in : bump version to 0.6.
2002-10-26 Mike Kestner <mkestner@speakeasy.net>
* gconf/GConf.PropertyEditors/PropertyEditorColorPicker.cs : ns stuff
* glade/XML.custom : more GnomeSharp namespace stuff
* gnome/CanvasProxy.cs : ditto
* sample/CanvasExample.cs : ditto
* sample/Fifteen.cs : ditto
* sample/GnomeHelloWorld.cs : ditto
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
2002-10-26 Ettore Perazzoli <ettore@ximian.com>
* glib/Object.cs: Changed so that Objects is a hash of
WeakReferences instead of hashing the real objects. Without this
change, GObjects were never collected.
(Raw, set): Put a WeakReference to the object in Objects.
(Object.GetObject): Get the WeakReference from Objects, and from
there the actual object.
(Object.DisposeNative): Remove the Raw pointer from Objects.
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
2002-10-21 Vladimir Vukicevic <vladimir@pobox.com>
* glade/XML.custom: add SetCustomHandler() wrapper
2002-10-20 Miguel de Icaza <miguel@ximian.com>
* glib/Object.cs: Avoid recursive calls with the previous operator
!= and operator ==
2002-10-19 Duncan Mak <duncan@ximian.com>
* glib/Source.cs: Added.
2002-10-19 Miguel de Icaza <miguel@ximian.com>
* glib/Object.cs: Added operator != and operator == overloads.
2002-10-19 Rachel Hestilow <hestilow@ximian.com>
* gconf, sample/gconf: Added.
* glue/combo.c: This was never added, add it now.
* configure.in, makefile, sample/Makefile.in: Build new
gconf bindings if gnome is enabled.
2002-10-14 Mike Kestner <mkestner@speakeasy.net>
* glib/Object.cs (GetObject): remove (int) cast
2002-10-11 Martin Baulig <martin@gnome.org>
* gtk/Combo.custom: New file.
(Combo.SetPopdownStrings): New method to set the popdown strings
from a string array.
2002-10-11 Martin Baulig <martin@gnome.org>
* glib/ListBase.cs (ListBase.Append): New public method.
(ListBase.Prepend): New public method.
2002-10-11 Martin Baulig <martin@gnome.org>
* glib/FileUtils.cs: New file. Wrapped g_file_get_contents() here.
2002-10-10 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : some fixes
* generator/Parameters.cs (CreateSignature): handle void params
2002-10-10 Miguel de Icaza <miguel@ximian.com>
* gtk/ThreadNotify.cs: Avoid multiple notifications.
2002-10-09 Miguel de Icaza <miguel@ximian.com>
* glue/adjustment.c (gtksharp_gtk_adjustment_get_page_size): Added
the glue.
* gtk/Adjustment.custom: Added some more methods
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.
2002-10-08 Miguel de Icaza <miguel@ximian.com>
* gdk/Point.custom: Use (x,y) instead.
* gdk/Color.custom: Use the X rgb color format specification.
* gdk/Rectangle.custom: Use the X geometry format for Rectangles.
2002-10-07 Vladimir Vukicevic <vladimir@pobox.com>
* glue/style.c, gtk/Style.custom: handle
getting GC's and colors correctly -- it's not possible
to marshal arrays from C-land to mono correctly,
so indexed accessors have to be used.
2002-10-08 Duncan Mak <duncan@ximian.com>
* gdk/Color.custom:
* gdk/DeviceAxis.custom:
* gdk/Point.custom:
* gdk/Rectangle.custom: Committed ToString patches contributed by
Jasper van Putten <Jaspervp@gmx.net>
2002-10-05 Vladimir Vukicevic <vladimir@pobox.com>
* glib/GException.cs: g_clear_error takes
a GError **, not a GError *. Added refs to get the **.
2002-10-04 Vladimir Vukicevic <vladimir@pobox.com>
* glib/ObjectManager.cs, glue/type.c: If there isn't
an exact match for a C GObject class (i.e. BluecurveStyle),
walk up the gobject type hierarchy until we find a type
that we do have a wrapper for, and return that. This means
that you'll always, worst-case, end up with a GObject.
* glib/Value.cs, glue/value.c: Added default constructor
to GLib.Value() that creates a new value with a type of
INVALID, and changed the glue function to not call
gtk_type_init if INVALID is passed.
2002-10-02 Vladimir Vukicevic <vladimir@pobox.com>
* gtk/TreeView.custom: added TreeView Handle as argument
to set_model in Model property
2002-09-29 Rachel Hestilow <hestilow@ximian.com>
* glue/canvas-proxy.c (update), glue/canvas-proxy-marshal.list:
Marshal the array as a pointer for now.
* gnome/voidObjectAffineSVPintSignal.cs: Added.
* gnome/CanvasProxy.cs (Update): Use a custom signal handler.
2002-09-23 Miguel de Icaza <miguel@ximian.com>
* gtk/Style.custom: bind it.
* gtk/Widget.custom: bind it.
* glue/widget.c: Wrapper to fetch a GdkWindow from a widget.
* glue/style.c: wrapper routines for getting/setting the thickness
on a GtkStyle.
2002-09-21 Miguel de Icaza <miguel@ximian.com>
* gtk/TreeView.custom: Add Model.set to the TreeView
2002-09-21 Rachel Hestilow <hestilow@ximian.com>
* parser/gapi2xml.pl: Adjust enum regex to allow negative values.
2002-09-16 Martin Baulig <martin@gnome.org>
* gnome/Modules.cs (Module): Make this class public.
* sample/CanvasExample.cs: Insert a missing `break' in a switch
section to make this compile.
* sample/Scribble.cs: Added missing casts from EventMask to int.
2002-09-15 Ricardo Fernandez Pascual <ric@users.sourceforge.net>
* glade/XML.custom: Added a constructor to read the glade file
from a stream and to read it from a resource in an assembly.
* sample/Makefile.in
* sample/GladeTest.cs: Embed the glade file as a resource and use
the new constructor.
2002-09-13 Ricardo Fernandez 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.
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.
2002-09-11 Miguel de Icaza <miguel@ximian.com>
* glib/Object.cs (DisposeNative): Call GC.SuppressFinalize, and
set the obj to null.
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.
2002-09-11 Rodrigo Moya <rodrigo@gnome-db.org>
* gnomedb/Makefile.in:
* gnomedb/Application.cs: added class for libgnomedb initialization.
* sample/DbClient/GnomeDbClient.cs: new test file for libgnomedb.
2002-09-08 Rodrigo Moya <rodrigo@gnome-db.org>
* makefile:
* configure.in:
* sources/gtk-sharp.sources: added needed stuff for libgnomedb.
* gnomedb/Makefile.in:
* api/Makefile.in:
* api/gnomedb-api.xml: new files for libgnomedb API.
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.
2002-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* sample/DbClient/client.cs: updated to make it compile.
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.
2002-09-03 Juli Mallett <jmallett@FreeBSD.org>
* parser/Makefile.in: Use $(CC) instead of 'cc'.
2002-09-01 Rodrigo Moya <rodrigo@ximian.com>
* gda/Application.cs: new class for libgda initialization and event
loop management.
* gda/Makefile.in: added new file as a dependency.
2002-09-01 Gonzalo Paniagua Javier <gonzalo@gnome-db.org>
* glib/ListBase.cs: fixed compilation (the base class must be at least
as accesible as the derived ones).
2002-08-31 Rodrigo Moya <rodrigo@ximian.com>
* api/gda-api.xml: new file for the libgda API.
* gda/*: added libgda bindings.
* sources/README: updated requirements.
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.
2002-08-31 Rachel Hestilow <hestilow@ximian.com>
* glib/Idle.cs: Added.
* gtk/Application.cs: Add EventsPending, RunIteration.
* sample/TreeViewDemo.cs: Add a status dialog while
populating tree.
2002-08-31 Rachel Hestilow <hestilow@ximian.com>
* generator/Method.cs: Re-enable "if null then new" behavior
for Opaques.
2002-08-29 Rachel Hestilow <hestilow@ximian.com>
* glib/DelegateWrapper.cs: Forgot to add this.
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.
2002-08-28 Joe Shaw <joe@assbarn.com>
* makefile: Add the art directory back in; fixes the build.
2002-08-26 Rachel Hestilow <hestilow@ximian.com>
* sources/Gtk.metadata: Add null-ok for Menu.Popup.
2002-08-25 Juli Mallett <jmallett@FreeBSD.org>
* makefile: Fix recursive invocation of make(1) to use
the variable MAKE, to use the same utility that was
responsible for the invocation of the initial build.
2002-08-25 Miguel de Icaza <miguel@ximian.com>
* gtk/TextBuffer.custom: Added SetText with a single argumnet.
* gtk/Table.custom: Added empty constructor. GtkTables
automatically grow.
2002-08-23 Rachel Hestilow <hestilow@ximian.com>
* glue/Makefile.am: Fix # terminators.
2002-08-23 Rachel Hestilow <hestilow@ximian.com>
* Applied patch from Robot101 for maintainer-clean, etc.
Needed for packaging.
2002-08-20 Rachel Hestilow <hestilow@ximian.com>
* generator/SymbolTable.cs (Trim): Work around "void*".
Libart has a lovely API...
2002-08-22 Mike Kestner <mkestner@speakeasy.net>
* glib/IWrapper.cs : remove set_Handle
* glib/Object.cs : ditto
* glib/Opaque.cs : ditto
2002-08-22 Mike Kestner <mkestner@speakeasy.net>
* glib/Makefile.in : rm -rf generated on make clean target
* gnome/CanvasProxy.cs : add missing Signals hash.
2002-08-20 Rachel Hestilow <hestilow@ximian.com>
Ditto for generator and api.
2002-08-20 Rachel Hestilow <hestilow@ximian.com>
* parser/makefile: Rename to Makefile.in, change prefix to @prefix@.
* configure.in: generate parser/Makefile.
2002-08-20 Rachel Hestilow <hestilow@ximian.com>
* makefile: Add parser to build (for install only)
* parser/makefile: Add distclean target.
* parser/gapi.pl: Forgot to add this.
* api/: Replace APIs with correctly generated ones.
2002-08-20 Rachel Hestilow <hestilow@ximian.com>
* README.generator: Added docs on using the generator.
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.
2002-08-17 Miguel de Icaza <miguel@ximian.com>
* gtk/ThreadNotify.cs: New file, used to notify invoke code in the
main Gtk thread.
2002-08-17 Duncan Mak <duncan@ximian.com>
* gnome/CanvasProxy.cs:
* gnome/GtkSharp.BoundsHandler.cs:
* gnome/GtkSharp.DrawHandler.cs:
* gnome/GtkSharp.PointHandler.cs:
* gnome/GtkSharp.RenderHandler.cs:
* gnome/GtkSharp.UpdateHandler.cs: C# glue for subclassing CanvasItems.
* glue/canvas-proxy-marshal.c:
* glue/canvas-proxy-marshal.h:
* glue/canvas-proxy-marshal.list:
* glue/canvas-proxy.c: Added the coverage signal.
2002-08-17 Duncan Mak <duncan@ximian.com>
* glue/canvas-proxy.c:
* glue/canvas-proxy.h: New files. Glue for subclassing CanvasItem
from C#.
* glue/canvas-proxy-marshal.c:
* glue/canvas-proxy-marshal.h:
* glue/canvas-proxy-marshal.list: Added to handle marshaling
signals used by CanvasProxy.
2002-08-15 Mike Kestner <mkestner@speakeasy.net>
* sample/Makefile.in : add some art-sharp refs
2002-08-11 Miguel de Icaza <miguel@ximian.com>
* glub/adjustment.c: C-side of the Adjustment glue.
* gtk/Adjustment.custom: Add new SetBounds function that allows us
to change the adjustment after it has been created.
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'.
2002-08-13 Joe Shaw <joe@assbarn.com>
* configure.in: Check for libgnomecanvas.
* gtk/ColorSelectionDialog.custom: Create a button subclass which
contains a reference to the parent ColorSelectionDialog. Modify
properties to return this subclass instead of a regular
Gtk.Button.
* gtk/FileSelection.custom: Ditto.
* sample/test/TestFileSelection.cs (file_selection_ok):
Demonstrate the button subclass by destroying the parent dialog
when the ok button is clicked.
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.)
2002-08-10 Rachel Hestilow <hestilow@ximian.com>
* sample/TreeViewDemo.cs (Main, DeleteCB): Update to use correct
event handler.
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.
2002-08-09 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs (GenerateMapper): guard against IntPtr.Zero
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#.
2002-08-09 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs : make GLib.Value a manually_wrapped_type
2002-08-08 Mike Kestner <mkestner@speakeasy.net>
* generator/Property.cs : getter usage fix
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
2002-08-08 Mike Kestner <mkestner@speakeasy.net>
* gdk/Event.cs : derived from Boxed, not Object.
* generator/SymbolTable.cs : fixes for Gdk.Events
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.
2002-08-07 Duncan Mak <duncan@ximian.com>
* sample/Fifteen.cs: Fixed scramble. The whole thing works now.
2002-08-06 Rachel Hestilow <hestilow@ximian.com>
* generator/SignalHandler.cs: Handle null arguments and return values.
* sample/Makefile.in: Add fifteen game.
2002-08-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* sample/GnomeHelloWorld.cs: use DeleteEventHandler.
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.
2002-08-07 Duncan Mak <duncan@ximian.com>
* sample/Fifteen.cs: Added new canvas example.
2002-08-06 Duncan Mak <duncan@ximian.com>
* glue/canvasitem.c:
* gnome/CanvasItem.custom: Added accessor to get the 'canvas' field.
* sample/CanvasExample.cs: Removed extra methods.
2002-08-05 Rachel Hestilow <hestilow@ximian.com>
* makefile, */Makefile.in: Packaging fix from
Robert McQueen (a.k.a. Robot101).
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.
2002-08-05 Rachel Hestilow <hestilow@ximian.com>
* parser/Gnome.metadata: Patch from duncan for
bug #28553 (canvas item event handler rename).
2002-08-04 Joe Shaw <joe@assbarn.com>
* configure.in: We actually need libgnomeui, not libgnome.
2002-08-04 Mike Kestner <mkestner@speakeasy.net>
Tagged for 0.3 and updated configure.in to 0.4.
Back open for commits.
2002-08-03 Mike Kestner <mkestner@speakeasy.net>
Freezing cvs for 0.3 release. Please no commits until the release.
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.
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.
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.
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.
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.
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.
2002-07-24 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : use ref parameters in signal cb's.
2002-07-24 Alp Toker <alp@atoker.com>
* gtk/Makefile.in etc. : reference the newly compiled assemblies
instead of those already installed on the system
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.
2002-07-20 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : pring unexpected key in exception.
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
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
2002-07-19 Mike Kestner <mkestner@speakeasy.net>
* generator/StructGen.cs : comment out GenField. It's broke.
* sample/ButtonApp.cs : revert the EventAny WriteLine.
2002-07-19 Mike Kestner <mkestner@speakeasy.net>
* parser/gapi2xml.pl : mark privately defined structs opaque.
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.
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.
2002-07-18 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs : Mangle field names.
* generator/StructGen.cs : uncomment GenField.
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, gtk_radio_button_new and
gtk_radio_button_new_with_mnemonic with null_ok flags.
2002-07-17 Radek Doulik <rodo@ximian.com>
* gtk/ScrolledWindow.custom: new file with ScrolledWindow custom
default constructor
use this (null, null)
* 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
2002-07-17 Rachel Hestilow <hestilow@ximian.com>
* parser/Gtk.metadata: Tag MenuItem.SetSubmenu as null-ok.
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.
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
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.
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.
2002-07-11 Mike Kestner <mkestner@speakeasy.net>
* glib/SList.cs : fix a couple DllImports
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.
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
2002-07-08 Mike Kestner <mkestner@speakeasy.net>
* glue/Makefile.in : s/BASE_SOURCES/BASESOURCES
* parser/gapi_pp.pl : handle nested #if/#endif in ignored #if's
* parser/makefile : make gtkapi.xml depend on gapi*.pl
2002-07-06 Rachel Hestilow <hestilow@ximian.com>
* generator/Parameters.cs (Initialize): Initialize error
to zero.
2002-07-06 Rachel Hestilow <hestilow@ximian.com>
* ObjectGen.cs: Support static string elements. Do
not generate Ctors or Signals if it is not a GObject.
* parser/gapi2xml.pl: Add stock defines.
2002-07-05 Rachel Hestilow <hestilow@ximian.com>
* glue/Makefile.am: Make this work cleanly, with all automake.
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.
2002-07-01 Rachel Hestilow <hestilow@ximian.com>
* generator/gtkapi.xml:
* parser/build.pl: Fix to use 3.0 (accidentally reverted in
last commit).
* generator/SymbolTable.cs (simple_types): Map gssize and gsize.
* parser/Gdk.metadata: Tag PixbufLoader.Write's data parameter
as array.
2002-07-01 Rachel Hestilow <hestilow@ximian.com>
* generator/gtkapi.xml:
* parser/build.pl: Qualify gnome lib names; this is needed
because of debian/LSB policy.
2002-06-26 Duncan Mak <duncan@ximian.com>
* generator/gtkapi.xml:
* parser/build.pl: Point to 'gtkhtml-3.0' instead of gtkhtml-2.
2002-06-26 Rachel Hestilow <hestilow@ximian.com>
* generator/*.cs: Deal with whitespace XmlNodes.
* parser/build.pl: Dump non-indented file to local directory.
* parser/makefile, parser/formatXml.c: Added.
* generator/gtkapi.xml: Nicely indented now. woo!
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.
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.
2002-06-25 Mike Kestner <mkestner@speakeasy.net>
* generator/gtkapi.xml : lots of fixes, plus GtkHTML!
* parser/Gtk.metadata : add a bunch of renames.
* parser/build.pl : Add the gtkhtml parse.
* parser/README : module list to parse
2002-06-25 Mike Kestner <mkestner@speakeasy.net>
* parser/gapi2xml.pl : some GtkHTML related parsing tweaks.
2002-06-25 Rachel Hestilow <hestilow@ximian.com>
* makefile: back out a premature add of gnome
2002-06-25 Rachel Hestilow <hestilow@ximian.com>
* doc/: Added the makeshift doc generation toolchain.
2002-06-25 Mike Kestner <mkestner@speakeasy.net>
* configure.in : back out a premature add of gnome/Makefile.in
2002-06-24 Rachel Hestilow <hestilow@ximian.com>
* glib/UnwrappedObject.cs: New class which holds an IntPtr.
This is used in Value so that we can retrieve the IntPtr itself
for an object property.
* glib/Value.cs: Add UnwrappedObject cast operator.
* glib/Property.cs: If the retrieved value is an object,
and there is no wrapper object, create a new one.
2002-06-24 Rachel Hestilow <hestilow@ximian.com>
* gtk/FileSelection.custom: Remove random cruft that was
at the beginning of this file.
2002-06-24 Rachel Hestilow <hestilow@ximian.com>
* glib/EnumWrapper.cs: New class which holds an enum int.
* glib/Value.cs: Add support for glib enum types. We needed
to use EnumWrapper for this because otherwise the int operator
wouldn't know which glib function to use.
* generator/BoxedGen.cs, ClassBase.cs, Ctor.cs, EnumGen.cs,
InterfaceGen.cs, Method.cs, ObjectGen.cs, Signal.cs, StructGen.cs:
Create more doc stubs.
* generator/Property.cs: Generate enum values correctly.
* generator/Ctor.cs: Refactor generation to honor metadata-specified
collision preference.
* parser/Gtk.metadata: Added constructor collision preferences to
all known clashes.
* parse/Gdk.metadata: Added (for Pixbuf clashes).
2002-06-24 Duncan Mak <duncan@ximian.com>
* glue/fileselection.c: New file, defines accessor functions to
fields inside a GtkFileSelection.
* gtk/FileSelection.custom: C# glue that makes use of new accessor
functions defined in fileselection.c.
* glue/Makefile.am: Added fileselection.c
2002-06-23 Rachel Hestilow <hestilow@ximian.com>
* glib/Object.cs, glib/SList.cs, glib/Value.cs, gtk/Application.cs:
Move documentation to right before their actual methods, rather
than the DllImported ones.
* generator/Method.cs: Generate documentation before the actual
method and not the DllImport.
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.
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
2002-06-21 Michael Meeks <michael@ximian.com>
* sample/Makefile.in: re-factor slightly.
2002-06-21 Mike Kestner <mkestner@speakeasy.net>
* gtk/*akefile* : lose the gdk-imaging-sharp refs
2002-06-21 Mike Kestner <mkestner@speakeasy.net>
* configure.in : remove gdk.imaging/Makefile creation.
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.
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.
2002-06-21 Mike Kestner <mkestner@speakeasy.net>
* */makefile.win32 : add /doc flags
* */.cvsignore : ignore .xml files
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
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
2002-06-19 Mike Kestner <mkestner@speakeasy.net>
* generator/Parameters.cs : csc build error fixes
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.
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.
2002-06-06 Mike Kestner <mkestner@speakeasy.net>
* glib/Timeout.cs : new Timeout class with Add() and
TimeoutHandler delegate.
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.
2002-05-29 Mike Kestner <mkestner@speakeasy.net>
* */Makefile.in : remove generated source in clean target.
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.
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>
2002-05-26 Mike Kestner <mkestner@speakeasy.net>
* generator/Parser.cs : Implement Alias node parsing.
* generator/SymbolTable.cs : resolve aliased types.
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.
2002-05-13 Joe Shaw <joe@assbarn.com>
* sample/Makefile.in: Use -L compiler flags and specify all of the
assemblies to link against.
2002-05-13 Joe Shaw <joe@assbarn.com>
* gtk/Makefile.in: Add the System.Drawing assembly to the compiler
command-line.
2002-05-08 Joe Shaw <joe@assbarn.com>
* generator/ObjectGen.cs (GenProperty): And uncomment it out because
the compiler bug is fixed.
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.
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.
2002-05-07 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs : map char to string.
2002-05-07 Mike Kestner <mkestner@speakeasy.net>
* */Makefile.in : Add clean targets. Add -L parms.
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.
2002-05-03 Mike Kestner <mkestner@speakeasy.net>
* sample/makefile.win32 : add the Menu sample
* sample/Menu.cs : A menu and box packing sample.
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.
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.
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
2002-04-19 Mike Kestner <mkestner@speakeasy.net>
* glib/SList.cs : A more sane approach.
* glib/Value.cs : Marshal strings directly with pinvoke
2002-04-18 Joe Shaw <joe@assbarn.com>
* */makefile: Allow a different MCS to be passed in on the make
command line.
2002-04-09 Mike Kestner <mkestner@speakeasy.net>
* tagging for gtk-sharp-0.1
2002-04-09 Mike Kestner <mkestner@speakeasy.net>
* sample/ButtonApp.cs : Get it to run on linux.
2002-04-04 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : Unstubify.
* generator/SymbolTable.cs : qualify some simple typenames.
2002-03-29 Mike Kestner <mkestner@speakeasy.net>
* */makefile : add make linux target.
2002-03-29 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs (Trim): revamp TrimEnd call.
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
2002-03-26 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : Use Path.DirectorySeparatorChar.
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.
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.
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.
2002-03-02 Mike Kestner <mkestner@speakeasy.net>
* makefile : add linux build.
* generator/makefile : add linux build.
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.
2002-02-19 Mike Kestner <mkestner@speakeasy.net>
* generator/Statistics.cs : New. Gathers stats about generation.
* generator/*.cs : Hook in the stat counters.
2002-02-18 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (GenCtor): StudCapsify static method names.
* generator/SymbolTable.cs (Trim): strip const- prefix.
* sample/ButtonApp.cs (Window_delete): handle RetVal.
2002-02-17 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (MangleName): add object and event.
* parser/gapi2xml.pl : Handle embedded callback declarations in method
parameter lists.
2002-02-15 Mike Kestner <mkestner@speakeasy.net>
* generator/SignalHandler.cs : Create the SignalArgs.Args array and fix
indexing into it.
* sample/ButtonApp.cs : A little cleanup. Not quite there yet.
* sample/HelloWorld.cs : Set up the RetVal in the delete handler.
2002-02-14 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : suppress generation of get/set methods when
properties exist. Mangle method names on signal name clashes. Gen
the signals.
* generator/SymbolTable.cs : Add GetName. Add some more calls to Trim.
* generator/gtkapi.xml : adding binary file as an experiment. If the
diff's show this file, I'll be removing it with apologies and going
back to the separate package idea.
* parser/gapi2xml.pl : some signal related fixes.
* sample/HelloWorld.cs : uncomment the event hook.
2002-02-10 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs (FromNative): Add explicit cast.
* generator/ObjectGen.cs (FromNative): Add explicit cast.
(GenSignal): New. Partial. Not hooked in yet.
* generator/StructBase.cs (GenMethod): return-type is a sub-element,
not an attribute.
2002-02-09 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (GenMethod): Add handle arg to paramless
method call and extern.
2002-02-08 Mike Kestner <mkestner@speakeasy.net>
* README : Some updates.
* generator/BoxedGen.cs : Add FromNative method.
* generator/CallbackGen.cs : Add FromNative method.
* generator/EnumGen.cs : Add FromNative method.
* generator/IGeneratable.cs : Add FromNative method.
* generator/InterfaceGen.cs : Add FromNative method.
* generator/ObjectGen.cs : Add FromNative method. Hook in GenMethod.
* generator/StructBase.cs : Revamp param handling. Add GenMethod.
* generator/StructGen.cs : Add FromNative method.
* generator/SymbolTable.cs : Add FromNative method.
* parser/gapi2xml.pl : Detect ctors before methods. Fix method names.
* sample/HelloWorld.cs : uncomment the Show call.
2002-02-06 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : Marshal as IntPtr using Raw prop.
* generator/ObjectGen.cs : Use Handle for marshaling.
* generator/StructBase.cs (CallByName): Fill out the stub.
(GetImportSig): Fill out the stub.
* generator/StructGen.cs (MarshalType): Use QualifiedName.
* generator/SymbolTable.cs (GetMarshalType): Trim type.
(CallByName): New. Provides calling syntax.
* sample/HelloWorld.cs : Make it compile.
2002-02-02 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Add IntPtr constructor generation. Pass a
ctor signature hash around to use in clash resolution. Generate a
void ctor if none is present which just calls the parent ctor.
* generator/StructBase.cs : Add non-void signature ctor generation,
including collision handling logic. Collisions are implemented as
static methods.
* generator/SymbolTable.cs : Map GSList to GLib.SList. Add type
trimming to remove trailing *'s. Need to suppress leading const yet.
* glib/Object.cs : Add default ctor for void and IntPtr ctors.
* glib/SList.cs : Implementation of a wrapper class for GSLists. Lots
of FIXMEs.
* parser/gapi2xml.pl : Handle ** and array params.
2002-01-17 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : Removed Name, CName, and QualifiedName.
* generator/ObjectGen.cs : Removed Name, CName, and QualifiedName.
* generator/StructBase.cs : Add Name, CName, and QualifiedName. Add
GenCtor method. Stub GetCallString, GetImportSig, and GetSignature
methods.
* generator/StructGen.cs : Removed Name, CName, and QualifiedName.
* generator/SymbolTable.cs : Add GetDllName method.
* parser/gapi2xml.pl : Fix a couple <parameters> bugs.
2002-01-16 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : New boxed type generatable.
* generator/ObjectGen.cs : Add boxed type property generation and stub
off interface properties for now.
* generator/Parser.cs : Add boxed element parsing.
* generator/SymbolTable.cs : Add IsBoxed and IsInterface methods.
* glib/Boxed.cs : New base class for deriving boxed types.
* glib/Object.cs : Add boxed GetProp/SetProp methods.
* parser/gapi2xml.pl : Add boxed type element formatting.
* parser/gapi_pp.pl : Add preprocessing of the generated sourcefiles.
Handle the builtins and make them identifiable to the xml generator.
2002-01-11 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Add property generation.
* generator/SymbolTable.cs : More fixage to simple_types. Add
GetMarshalType and IsObject methods.
* glib/Object.cs : Rename Events prop to EventList to avoid name
collision. Add float, double, uint, and IntPtr GetProp and SetProp
methods.
* parser/TODO : Add a couple prop related bugs to come back for.
* parser/gapi2xml.pl (addPropElems): Restructure. It was thoroughly
broken. It's better now.
2002-01-10 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (GenField): Return a bool success indicator.
* generator/ObjectGen.cs : Check the return of GenField.
* generator/SymbolTable.cs : More fixage to simple_types.
* parser/gapi2xml.pl : Fix multiline comment bug, and callback name
hashing logic. Squash callbacks that aren't in the namespace.
* sample/HelloWorld.cs : Clean out some debugging to make it closer to
compiling. Not quite there yet.
2002-01-08 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : Use name in QualName, not cname.
* generator/EnumGen.cs : Use name in QualName, not cname.
* generator/InterfaceGen.cs : Use name in QualName, not cname.
* generator/StructBase.cs (GenField): gen as public.
2002-01-08 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : New stub for delegate generation.
* generator/InterfaceGen.cs : New stub for interface generation.
* generator/Parser.cs : Add the interface and callback element hooks.
* generator/SymbolTable.cs : Additions to simple_types hash.
2002-01-07 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Make parent debug statement more helpful.
* generator/Parser.cs : Add interface element case.
* parser/gapi2xml.pl : Add interface types.
* parser/gapi_pp.pl : Grab G_TYPE_INSTANCE_GET_INTERFACE defines. Grab
struct declarations out of private headers.
2002-01-06 Mike Kestner <mkestner@speakeasy.net>
* */makefile : Add atk to the build.
* generator/EnumGen.cs : Create the generated dir if necessary.
* generator/ObjectGen.cs : Create the generated dir if necessary.
* generator/StructGen.cs : Create the generated dir if necessary.
* parser/gapi2xml.pl : Squash bug in comma separated field defs.
2002-01-06 Mike Kestner <mkestner@speakeasy.net>
* generator/EnumGen.cs : Open stream Create only.
* generator/ObjectGen.cs : New generatable for GObject subclasses.
* generator/Parser.cs : Add the object element hook.
* generator/StructBase.cs : Handle bits element in GenField.
* generator/StructGen.cs : Open stream Create only.
* generator/SymbolTable.cs : Additions to simple_types hash.
* parser/gapi2xml.pl : Parse bitflags into the bits element.
2002-01-05 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs : First pass at simple_types hash.
2002-01-05 Mike Kestner <mkestner@speakeasy.net>
* generator/*.cs : Move into GtkSharp.Generation namespace.
* generator/CodeGenerator.cs (Main): Add usage check. Add SymbolTable.
* generator/EnumGen.cs (QualifiedName): New.
(Generate): Add SymbolTable to signature.
* generator/IGeneratable : Add QualifiedName prop and update Generate
signature.
* generator/Parser.cs : Switch from plain Hashtable to SymbolTable.
(Parse): Replaces the Types property and returns a SymbolTable.
* generator/StructBase.cs : New base class to derive struct and object
types. Initial implementation of protected GenField method and ctor.
* generator/StructGen.cs : New non-object struct type generatable.
* generator/SymbolTable.cs : New. Manages complex types hash and a
simple types hash. Will provide generic lookup interface.
2002-01-04 Mike Kestner <mkestner@speakeasy.net>
* makefile : switch to the new generator.
* generator/CodeGenerator.cs : New main program class.
* generator/IGeneratable.cs : Interface for generation methods/props.
* generator/EnumGen.cs : Subclass of IGeneratable for enums.
* generator/Parser.cs : The XML parser.
* parser/gapi_pp.pl : A source preprocessor for api extraction.
* parser/gapi2xml.pl : Produces Xml document for GObject based APIs.
2001-12-31 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : Fix EOL handling for DOS \r\n patterns as
reported by David Dawkins.
2001-12-17 Mike Kestner <mkestner@speakeasy.net>
* makefile : Add the pango subdir.
* codegen/defs-parse.pl : Add a buttload of type entries to %maptypes
and %marshaltypes. Ignore props, sigs, and methods for non GObject
types. Turn on all classes. Major beefup of struct generation. Start
to use the new sighandlers. Rip out const- types. Handle Unicode
string marshalling.
* codegen/gdk-structs.defs : Regenerated.
* codegen/get-structs-from-source.pl : Handle typedef x y; Suppress
structs with "Private" in the typename. Handle multiple levels of
typedeffing. Handle function pointers. Suppress comments sanely.
* codegen/gtk-props.defs : Fill out the rest of the classes.
* codegen/gtk-signals.defs : Fill out the rest of the classes.
* codegen/gtk-structs.defs : First pass. Hacked obscenely.
* codegen/hardcoded.defs : Kill. No hardcoding needed anymore.
* codegen/makefile : Use the new defs files.
* codegen/pango.defs : Ripped from pygtk.
* codegen/pango-structs.defs : New struct defs gen'd with my tool.
* codegen/pango-types.defs : Ripped from pygtk.
* gdk/makefile : Add the pango-sharp.dll ref.
* gdk/SimpleEvent.cs : Killed.
* glib/SimpleSignal.cs : Killed.
* gtk/makefile : Add the pango-sharp.dll ref.
* gtk/Widget.cs : Killed.
* pango/makefile : New build dir.
2001-12-11 Mike Kestner <mkestner@speakeasy.net>
* codegen/get-structs-from-source.pl : New define-struct extractor.
* codegen/gdk-structs.defs : generated defs with a few hand edits.
2001-12-04 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : Index %structs by cname, not name. Derive
structs from class to facilitate marshalling since Value types can't
use the Marshal.PtrToStructure method. Generate StructLayout attr
for struct class defs. Stuff the signal args into a SignalArgs inst
to pass to the EventHandlers.
* sample/HelloWorld.cs : some cleanup and temporary signal playcode.
2001-12-01 Mike Kestner <mkestner@speakeasy.net>
* makefile : Make ROOT /cygdrive/, not //.
2001-11-25 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl (get_sighandler): gen the helper class. arg
passing and return value handling need beefing up still.
* glib/SignalArgs.cs : New arg passing/ return value handling class.
* glib/SignalCallback.cs (dtor): kill, this will be gen'd in the
subclasses. (ctor): prune down to two params.
2001-11-24 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : mkdir the glib/generated dir.
(gen_signal): Call new get_sighandler sub. Doesn't use the returned
value yet. s/event/ev3nt on arg names.
(get_sighandler): new sub to lookup or gen a signal helper/delegate.
Only generates the delegate so far.
* codegen/hardcoded.defs : Added a stub for Gdk.Event.
* gdk/Event.cs : Killed, now a generated struct.
* gdk/SimpleEvent.cs (SimpleEventCallback): Use Marshal.PtrToStructure
to create the Event, not a ctor(IntPtr).
* glib/SignalCallback.cs : New abstract base class for signal helpers.
2001-11-14 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : Add System.Collections to usings.
s/event/signal. Add gen_signal sub and call it from gen_object.
Mangle method names that collide with signal names by prepending
Emit to the method name.
* codegen/makefile : add gtk-signals.defs to the build.
2001-11-13 Mike Kestner <mkestner@speakeasy.net>
* codegen/get-signals-from-source.pl : My own little perl signal
parser.
* codegen/gtk-signals.defs : Ripped the GtkWindow signals into here
to goof with.
2001-11-10 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : Fix String prop generation code.
* gtk/Window.custom : Fix ctor param casting error.
2001-11-09 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : Use the @ctors list to determine if a class
is abstract. There is an abstract indicator in the new defs format
description, but it doesn't appear in the defs files currently. This
method should be reliable though, even in the long term. Use the same
check to determine if ctor(IntPtr obj) should be gen'd.
2001-11-09 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : Now genning Window, AccelGroup, Bin, and
GdkPixbuf classes to peel the csc error onion. Explicitly add GObject
to the "exists ($objects{...})" branches, since GObject is a hard
coded Class.
2001-11-08 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : Build a structs hash and gen the structs
after the first pass of the defs. For structs and functions, mangle
the 100s of params/fields named object to objekt. Insert using stmnts
for structs too.
* codegen/hardcoded.defs : Add GtkAccelEntry struct.
2001-11-07 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl (gen_object): Insert using statements. Insert
class members from corresponding .custom file.
* gtk/Window.custom : Renamed file from Window.cs. Removed all the
automatically generated members. This will be the mechanism used to
improve upon the mechanically generated binding.
2001-11-05 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl (gen_object): Generate a ctor (IntPtr obj) for
every object. This is a wrapper constructor for use by an Object
manager which will be called by GLib.Object.GetObject eventually to
wrap raw GObject pointers returned by methods/props.
2001-11-04 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : struct generation. Added float and double
type mapping entries.
* codegen/hardcoded.defs : GdkGeometry definition. define-struct
doesn't appear to be supported in the current defs files. This file
will be used for manual definition of unsupported defs.
* codegen/makefile : add hardcoded.defs.
2001-11-02 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : define-struct detection. Partial ctor
support. Still need to deal with ctor signiature collisions.
Refactored gen_method to share get_param_strings with ctors.
2001-10-30 Mike Kestner <mkestner@speakeasy.net>
* codegen/defs-parse.pl : streamline mkdir stuff. Prune the object
list back to just Window for now. Suppress generation of the Prop
get/set accessor methods.
* codegen/gdk-types.defs : Updated the 2button/3button event types
since I don't feel like automangling them now.
* gdk/Event.cs : Killed the now redundant EventType declaration.
* glib/Object.cs : Override the Equals and GetHashCode methods.
2001-10-25 Mike Kestner <mkestner@speakeasy.net>
* glib/Object.cs : Added Get|SetProperty methods for Object
properties.
2001-10-25 Mike Kestner <mkestner@speakeasy.net>
* codegen/get-props-from-source.pl : Temporary (possibly) defs
generator for props. Will probably kill this when the official
defs support props.
* codegen/defs-parse.pl : Added object-based aggregation of
defs. Generate the class shells, methods, and props.
* codegen/gdk-types.defs : ripped from pygtk.
* codegen/gtk.defs : ripped from pygtk.
* codegen/gtk-props.defs : some props defs.
* codegen/makefile : add the new defs files.
2001-10-11 Mike Kestner <mkestner@speakeasy.net>
* makefile : Add the codegen directory
* codegen/defs-parse.pl : Moved here from topdir and updated to parse
the new defs format for enums and flags.
* codegen/gtk-types.defs : Borrowed from pygtk.
* codegen/makefile : new
* gtk/makefile : remove generation step.
* gtk/gtk.defs : removed, now in codegen dir.
2001-10-07 Mike Kestner <mkestner@speakeasy.net>
* gtk/Button.cs : Some nomenclature changes. s/EmitClicked/Click, etc.
We need a consistent way to deal with naming clashes in gtk's method
and signal namespaces. When clashes exist, events will be made past
tense and methods to programatically emit events will be the present
tense (e.g. Clicked event and Click method).
2001-10-07 Mike Kestner <mkestner@speakeasy.net>
* glib/Object.cs : Added public Handle property. It would be nice
if I could make the RawObject public for get and protected for set,
but that doesn't appear to be possible with C# properties.
* gtk/Container.cs : New class with 2 of the 3 props and the Add/Remove
methods only implemented.
* gtk/Widget.cs : Added SizeRequest prop which is a combination of
HeightRequest and SizeRequest. Embrace and extend gtk...
* gtk/Window.cs : Derive from newly added Container subclass.
* sample/ButtonApp.cs : Simple tire-kicking app.
2001-10-06 Mike Kestner <mkestner@speakeasy.net>
* gtk/Button.cs : Implemented 3 constructors, 5 methods, 4 properties,
and 6 signals. Button API is 100% implemented. Need to implement
some Container methods to be able to complete testing.
2001-10-05 Mike Kestner <mkestner@speakeasy.net>
* defs-parse.pl : A little automation for the binding. The enums and
flags can be painlessly generated from defs files.
* gtk/makefile : use defs-parse.pl to produce generated.cs.
* gtk/.cvsignore : hush generated.cs
* gtk/gtk.defs : unceremoniously ripped from gtk+ HEAD.
* gtk/Window.cs : Killed the WindowType enum which is now generated.
2001-10-04 Mike Kestner <mkestner@speakeasy.net>
* glib/SimpleSignal.cs : Reworked to parallel SimpleEvent.
2001-10-04 Mike Kestner <mkestner@speakeasy.net>
* gtk/Widget.cs : Implemented all the bool, string, and int props.
2001-10-04 Mike Kestner <mkestner@speakeasy.net>
* gdk/SimpleEvent.cs : Temporarily uncomment the GCHandle code until
a layout is ready and exceptions can be avoided.
* gtk/Widget.cs : Killed all the signal and event attaching methods.
They never belonged here, and now they exist in the SimpleEvent.
Add a Signals hash to hold refs of the Signal handlers. Killed default
ctor and the dtor. The event Add/Remove methods now create a
SimpleEvent, stuff it in the hash, and remove it when the last handler
disappears.
2001-10-04 Mike Kestner <mkestner@speakeasy.net>
* HACKING : Little bit of cleanup.
* gdk/SimpleEvent.cs : Redesigned a bit. Docs. Replaced refcounting
mechanism with an instance hash and added ctor/dtor. This class
now completely encapsulates the signal attachment and forwarding
mechanism for GdkEvent based signals. It attaches to the raw signal,
maintains a ref to the associated event handler, and uses the static
callback to activate the event handler on signal receipt.
* sample/makefile : killed one last CSC explicit reference.
2001-10-02 Mike Kestner <mkestner@speakeasy.net>
* glib/Value.cs : Tried adding CallingConvention.Cdecl to all the
DllImports, but still couldn't get reliable Propery setting without
periodic NullReference exceptions. When all else fails, drop back
and punt.
* glib/Object.cs : Rewrote Set|GetProperty methods. Now they use
g_object_get|set and don't rely on GValues. The int, bool, and string
prop types are now working reliably.
* gtk/Window.cs : Update all Properties to use new GLib.Object
signatures.
* sample/HelloWorld.cs : added some more property usage for testing
purposes.
2001-09-29 Mike Kestner <mkestner@speakeasy.net>
* glib/Value.cs (int ctor): New constructor for int-based values.
(int exp cast): New explicit cast operator for Val to int conversion.
* gtk/Window.cs (DefaultHeight): New prop.
(DefaultWidth): New prop.
2001-09-28 Mike Kestner <mkestner@speakeasy.net>
* glib/Object.cs (GetProperty): New, gets props from the raw obj.
(SetProperty): New, for setting props on the raw obj.
* glib/Value.cs (type ctor): New needed for get accessors.
*gtk/Window.cs (AllowGrow): Uncommented and filled out.
(AllowShrink): Uncommented and filled out.
(DestroyWithParent): Uncommented and filled out.
(Modal): Uncommented and filled out.
(Resizable): Added. All the bool Props work now.
2001-09-28 Mike Kestner <mkestner@speakeasy.net>
* glib/Value.cs (~Value): New destructor to release g_malloc'd space.
(default ctor): New default ctor just mallocs without init.
(String ctor): call default
(bool ctor): call default
(Init): New post construct initializer.
(String exp cast): Replaces ToString method.
(bool exp cast): New for bool extraction.
(MarshalAs): Renamed prop was RawValue.
2001-09-27 Mike Kestner <mkestner@speakeasy.net>
* glib/Object.cs : Docs for everything. Made Objects hash private.
Some coding style cleanup. Pruned some of the TODO methods from the
commented header listing to make a more relistic picture of the
remaining effort. Some GSignal stuff probly belongs here too.
([Get|Set]Data): Killed some DllImports and set up methods to store
arbitrary data in a managed hash table.
2001-09-27 Mike Kestner <mkestner@speakeasy.net>
*.cs : Added .dll extension to a load of DllImports.
* makefile : now can make the project with one make windows and on
both NT and Win98.
* gdk/Event.cs : Fixed some invalid symbol names and commented out a
load of stuff.
* gdk/SimpleEvent.cs : Relocated file from unnecessary subdir and fixed
several event keyword clashing bugs. Need to relocate the EventArgs
class out of here into its own file. Fixed loads of typos.
* glib/Object.cs : Killed the Constructor, this should be a purely
abstract class. made Events property public until I can fix the Signal
proxying system's broken reliance on it.
* glib/SimpleSignal.cs : Relocated, namespaces, and named this Class.
Loads of bugfixes. Still doesn't work worth a damn, but it builds.
* glib/TypeFundamentals.cs : New enum for use in the Value code.
* glib/Value.cs : Implemented a more opaque approach with heap allocated
memory and g_value_init and friends. Still doesn't work. Will probably
switch to a more C# like approach and avoid GValues altogether.
* gtk/Button.cs : Commented out some brokeness until I can get around
to fixing it later.
* gtk/Widget.cs : Commented out a bunch of the new signal stuff until
I get around to it.
* gtk/Window.cs (Title): using g_object_set until I work out the
details of the new Value/SetProperty system. It looks like g_object_set
will end up being easier to use via PInvoke.
2001-09-25 Bob Smith <bob@thestuff.net>
* Added refcounts to delegates to make sure they can be unpined when
not needed.
2001-09-21 Bob Smith <bob@thestuff.net>
* Signal system totally reworked. It should be stable now.
* glib/Object.cs: Rewrote the way the wrapper is kept track of.
2001-09-20 Bob Smith <bob@thestuff.net>
* glib/ObjectManager.cs: Nuked.
* glib/Object.cs: Keep track of wrapper.
* gtk/Object: First stab at better signal system. Should reduce
number of pins nessisary.
2001-09-19 Mike Kestner <mkestner@speakeasy.net>
* HACKING : New rulez.
* NOTES: Killed. We have a mailing list now for this kind of stuff.
* glib/makefile : New, to build the new glib-sharp.dll target.
* glib/Object.cs : (GetObject): Commented out. Design problems here.
IntPtr's can't be used in the manner this code attempts to use them.
(Data prop): Commented out. Apparently keyed properties are not
supported.
(Object prop): Renamed RawObject, and made it protected.
(Events): Fixed to cause list to be initialized if null and then
return the list.
* glib/ObjectManager.cs : commented out entirely. Not sure what this
code is trying to accomplish and it doesn't compile.
* glib/Value.cs : New attempt at implementing GValues. Doesn't work
yet.
* gtk/Button.cs : Updated to use RawObject.
(Clicked event): s/EmitDeleteEvent/EmitClickedEvent.
(Button(String)): s/gtk_label_new_with_lable/gtk_button_new_with_label.
* gtk/Label.cs : Fixed some yank and paste errors where 2 value params
were getting passed to all the set_* property methods.
* gtk/Window.cs : Fixed hanging GTK namespace ref.
* sample/HelloWorld.cs : Fixed hanging GTK namespace ref.
2001-09-18 Bob Smith <bob@thestuff.net>
* glib/Object.cs : Moved parts of gtk/Object.cs here, and added
static GetObject method and a Data property.
* glib/ObjectManager.cs : New.
* gtk/Object.cs : removed some GObject wrapping code.
* gtk/*.cs : Updated namespace from GTK to Gtk.
2001-09-18 Bob Smith <bob@thestuff.net>
* gtk/Object.cs : Added EventList and Object properties.
* gtk/Widget.cs : Updated event emission logic.
* gtk/Window.cs : added Window(IntPtr) constructor.
* gtk/Button.cs : New. Partial implementation of Button class.
* gtk/Label.cs : New. Partial implementation of Label class.
2001-09-17 Mike Kestner <mkestner@speakeasy.net>
Initial Import. Partial implementation of Object, Widget, Window,
and Application classes and HelloWorld.cs sample app.