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
svn path=/trunk/gtk-sharp/; revision=8913
Much of this patch from Vlad, with substantial rework by mk.
* */makefile.win32 : introduce mapdllnames.pl, api, and glue
* generator/CallbackGen.cs : rework namespacing for csc compilation
* generator/Parameters.cs : ditto
* generator/Signal.cs : ditto
* generator/SignalHandler.cs : ditto
* glue/win32dll.c : new dll construction source
* glib/Value.cs : new ushort ctor/cast operator
* gtk/Table.custom : comment this out until we add a default ctor tag
* gtk/ThreadNotify.cs : make ReadyEvent public
* sources/Gdk.metadata : mark a Parse() param as ref
svn path=/trunk/gtk-sharp/; revision=8590
* 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.
svn path=/trunk/gtk-sharp/; revision=8066
* parser/Gtk.metadata: Change gtk_label_new to be the
preferred constructor.
* gdk/Event.cs: Add "IsValid" property (sometimes NULL events
get sent in signals).
* sample/GnomeHelloWorld.cs: Check to make sure iconlist event
is valid.
svn path=/trunk/gtk-sharp/; revision=5462
* configure.in, makefile, makefile.win32: add gnome.
* doc/index.html, netdoc.xsl: Add gnome.
* gdk/Event.cs: New manual wrap for GdkEvent.
* generator/ClassBase.cs: Add methods GetProperty,
GetPropertyRecursively, GetMethodRecursively.
Move Parent property here from ObjectGen.cs. Pass this pointer
into Property.
* generator/Ctor.cs: Generate docs.
* generator/Method.cs, Property.cs: Tag method as "new" if a
Method/Property with the same name is found in the class hierarchy.
* generator/SignalHandler.cs: Correctly wrap complex signal argument
types. Add gnome directory.
* generator/SymbolTable.cs: Add manually wrapped types hash
(contains GLib.GSList and Gdk.Event). Add method IsManuallyWrapped.
* glib/SList.cs: Add constructor from IntPtr.
* glue/slist.c, glue/event.c: Added (field accessor glue).
* glue/Makefile.am: Update.
* parser/Gtk.metadata: Add new signal renames for new signals
exposed by GdkEvent changes.
* parser/README, parser/build.pl: Add libgnome, libgnomecanvas,
libgnomeui.
* parser/gapi2xml.pl: Handle literal-length array parameters,
and NULL property doc strings.
* sample/: Add new test GnomeHelloWorld.cs.
* gnome/: Added.
* parser/Gnome.metadata: Added.
svn path=/trunk/gtk-sharp/; revision=5461
* */Makefile.in: Don't allow the shell to do file globbing; makes
--recurse work.
* generator/ObjectGen.cs (GenProperty): We need to cast a GLib.Value
to a GLib.Object and then to whatever it is, because explicit casts
don't work to child classes.
(GenSignal): Append "EventHandler" when generating signal handlers
so we don't get symbol conflicts.
svn path=/trunk/gtk-sharp/; revision=4414
* README : Describe the new make procedure.
* configure.in : Add the new Makefile generation.
* makefile : add the glue dir, make linux the default build,
add an install target
* */makefile.win32 : temp build files for win32
* */Makefile.in : new configurable make system
* */makefile : killed
* generator/BoxedGen.cs : Now uses GLib.Boxed
* generator/ObjectGen.cs : Use Values for Props.
* generator/SymbolTable.cs : Add IsEnum method.
* glib/Boxed.cs : Major overhaul.
* glib/Object.cs : Remove type specific (Get|Set)Property. Now
use GValue based property accessors.
* glib/TypeFundamentals.cs : Update to current values.
* glib/Value.cs : Refactor to use glue.
svn path=/trunk/gtk-sharp/; revision=4236
* */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.
svn path=/trunk/gtk-sharp/; revision=1882
* 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.
svn path=/trunk/gtk-sharp/; revision=1526
* 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.
svn path=/trunk/gtk-sharp/; revision=1437
* 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.
svn path=/trunk/gtk-sharp/; revision=1231
* gdk/SimpleEvent.cs : Temporarily comment 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.
svn path=/trunk/gtk-sharp/; revision=1078
* 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.
svn path=/trunk/gtk-sharp/; revision=1076
*.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.
svn path=/trunk/gtk-sharp/; revision=1008