.NET wrapper for Gtk and other related libraries
622c360576
a constructor or a ref, unref, or destroy method, then it must be a reference type, so mark it "opaque" but then also mark all of its fields public and writable. * */*-api*.raw: Regen * generator/Parser.cs (ParseNamespace): make the opaque attribute check actually look at the value of the attribute rather than just checking if it's there, so that you can change a struct's opaque attribute from "true" to "false" via metadata and have that work. * generator/BoxedGen.cs (Generate): do not generate the boxed's "Free" method (since it's guaranteed to crash when we pass it a stack pointer). If "Copy" is marked deprecated, create a deprecated no-op for it, otherwise just skip it (since otherwise it will just leak memory when we copy its result onto the stack). * pango/Pango.metadata: deprecate Pango.Color.Copy and Pango.Matrix.Copy. Hide some array fields in Pango.GlyphString that we've never generated correctly. Tweak Pango.LayoutLine fields to be the same as they used to be. * pango/GlyphItem.custom (glyphs, item): * pango/GlyphString.custom (Zero, New): * pango/Item.custom (Zero, New): * pango/LayoutRun.custom (glyphs, item): add deprecated API compat * gdk/Gdk.metadata: undo the parser's new opaquification of Gdk.Font; it's been deprecated since pre-gtk# times, and no one should be using it, so there's no point in fixing it now. Fix up a few other things to match how they used to be. Fix RgbCmap's constructor args. * gdk/RgbCmap.custom (Zero, New): deprecated API compat * gdk/PangoAttrEmbossed.custom: * gdk/PangoAttrStipple.custom (Zero, New, Attr): deprecated API compat (explicit operator ...): allow casting back and forth between Pango.Attribute. (We can't usefully make them real subclasses of Pango.Attribute, because there's no way for Pango.Attribute.GetAttribute() to be able to dtrt with them.) * gtk/Gtk.metadata: deprecate Gtk.Requisition.Copy, Gtk.TextIter.Copy, and Gtk.TreeIter.Copy. Mark the return value of TextView.DefaultAttributes as "owned". Mark TargetList's fields private so it stays how it used to be. * gtk/TextAttributes.custom (Zero, New): deprecated API compat * gnomevfs/Gnomevfs.metadata: remove a bunch of opaque declarations that the parser figures out on its own now. * art/Art.metadata: * glade/Glade.metadata: * rsvg/Rsvg.metadata: un-mark everything the parser marked opaque in these libraries, because all of the structs in question would still be unusably broken, so the API churn would be pointless. svn path=/trunk/gtk-sharp/; revision=48387 |
||
---|---|---|
art | ||
atk | ||
audit | ||
doc | ||
gconf | ||
gdk | ||
generator | ||
glade | ||
glib | ||
gnome | ||
gnomevfs | ||
gtk | ||
gtkdotnet | ||
gtkhtml | ||
pango | ||
parser | ||
rsvg | ||
sample | ||
sources | ||
vte | ||
AssemblyInfo.cs.in | ||
AUTHORS | ||
autogen.sh | ||
bootstrap | ||
bootstrap-2.4 | ||
bootstrap-for-the-insane | ||
ChangeLog | ||
configure.in.in | ||
COPYING | ||
gapi-cdecl-insert | ||
gtk-sharp.snk | ||
HACKING | ||
Makefile.am | ||
Makefile.include | ||
makefile.win32 | ||
NEWS | ||
README | ||
README.generator |
The Gtk# website can be found at: http://gtk-sharp.sourceforge.net/ Gtk# is a .NET language binding for the GTK+ toolkit and assorted GNOME libraries. Gtk# is free software, licensed under the GNU LGPL. The target is the 2.6 platform. Building & Installing Gtk#: --------------------------- To compile Gtk# on Win32 using the .NET framework compiler and libraries, in the top level directory, type: make -f makefile.win32 The Linux build is the traditional: ./configure make make install You may want to consider using configure's prefix option to install Gtk# using the same prefix as Mono. That way all of your .NET assemblies get placed in the same place, and you don't need to do any extra "configuring" to make it so mono (and mint) can find your assemblies. In other words, doing something like: ./configure --prefix=/the/path/that/was/used/for/mono make make install (Of course, replace "/the/path/that/was/used/for/mono" with whatever path which was used for Mono. This might have been "/usr", "/usr/local", or something similar.) If you are compiling from SVN, you will need libtool and the auto* tools and will need to replace the configure above with bootstrap for the 2.5.x version or bootstrap-2.4 for the 1.9.x version. Discussion & Support: --------------------- A mailing list for Gtk# discussion is available. You can subscribe to the mailing list by visiting: http://lists.ximian.com/mailman/listinfo/gtk-sharp-list And following the instructions (on that page) to subscribe. Messages are posted on this mailing list by sending them to: gtk-sharp-list@ximian.com (The mailing list requires you to subscribe in order to post messages.) An archive of this mailing list can be found at: http://lists.ximian.com/archives/public/gtk-sharp-list/ Further, a Wiki is available for Gtk#, and can be found at: http://www.nullenvoid.com/gtksharp/wiki/ Also, people can get help with and discuss Gtk# on IRC via the #mono channel on the irc.gnome.org IRC server. People looking for general help with C# should visit the #c# channel on irc.freenode.net IRC server. Developers: ----------- For developers wishing to "get started" with Gtk#, they are encouraged to read the Mono Hand Book: http://www.go-mono.com/tutorial In the Mono Hand Book, Chapter 21 is on Gtk#. (In the Mono Hand Book, the Gtk# .NET bindings are refered to as GNOME.NET.) Hackers: -------- For those who wish to help with the development of Gtk#, they should read the file named: HACKING. Also, anyone wishing to hack Gtk# is encouraged to join the Gtk# mailing list. And to visit the #mono IRC channel (on irc.gnome.org).