.NET wrapper for Gtk and other related libraries
Go to file
Dan Winship 622c360576 * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has
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
2005-08-15 15:15:57 +00:00
art * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
atk 2005-07-28 Mike Kestner <mkestner@novell.com> 2005-07-28 21:24:55 +00:00
audit more gda/gnomedb killing 2005-08-09 20:38:06 +00:00
doc * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
gconf 2005-06-23 Mike Kestner <mkestner@novell.com> 2005-06-23 21:52:54 +00:00
gdk * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
generator * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
glade * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
glib * generator/OpaqueGen.cs (Generate): Tweak the generated Ref/Unref 2005-08-09 14:44:32 +00:00
gnome * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
gnomevfs * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
gtk * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
gtkdotnet 2005-04-26 Miguel de Icaza <miguel@novell.com> 2005-04-26 19:54:31 +00:00
gtkhtml * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
pango * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
parser * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
rsvg * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
sample more gda/gnomedb killing 2005-08-09 20:38:06 +00:00
sources the continuing saga of killing off gda/gnomedb 2005-08-09 20:56:40 +00:00
vte 2005-05-16 Mike Kestner <mkestner@novell.com> 2005-05-16 19:07:27 +00:00
AssemblyInfo.cs.in 2005-01-08 Mike Kestner <mkestner@novell.com> 2005-01-09 00:26:45 +00:00
AUTHORS Contributions from wizito@gentelibre.org 2005-01-12 19:35:22 +00:00
autogen.sh 2005-05-04 Mike Kestner <mkestner@novell.com> 2005-05-04 20:53:02 +00:00
bootstrap 2005-08-03 Mike Kestner <mkestner@novell.com> 2005-08-03 21:51:23 +00:00
bootstrap-2.4 2005-08-03 Mike Kestner <mkestner@novell.com> 2005-08-03 21:51:23 +00:00
bootstrap-for-the-insane 2005-08-03 Mike Kestner <mkestner@novell.com> 2005-08-03 21:51:23 +00:00
ChangeLog * parser/gapi2xml.pl (addFuncElems): if a struct or boxed type has 2005-08-15 15:15:57 +00:00
configure.in.in * configure.in.in: kill off all gda/gnomedb references. 2005-08-09 20:10:45 +00:00
COPYING 2003-05-13 Mike Kestner <mkestner@speakeasy.net> 2003-05-14 01:08:40 +00:00
gapi-cdecl-insert 2005-03-23 Mike Kestner <mkestner@novell.com> 2005-03-23 20:35:15 +00:00
gtk-sharp.snk Add gtk-sharp.snk 2004-06-08 17:32:50 +00:00
HACKING 2003-03-13 Charles Iliya Krempeaux <charles@reptile.ca> 2003-03-16 07:03:45 +00:00
Makefile.am * configure.in.in: kill off all gda/gnomedb references. 2005-08-09 20:10:45 +00:00
Makefile.include 2005-06-17 Mike Kestner <mkestner@novell.com> 2005-06-17 18:48:27 +00:00
makefile.win32 2005-05-16 Mike Kestner <mkestner@novell.com> 2005-05-16 19:07:27 +00:00
NEWS 2004-03-12 Mike Kestner <mkestner@ximian.com> 2004-03-12 21:18:11 +00:00
README 2005-05-04 Mike Kestner <mkestner@novell.com> 2005-05-04 20:53:02 +00:00
README.generator 2004-12-30 Alp Toker <alp@atoker.com> 2004-12-30 10:17:14 +00:00

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).