.NET wrapper for Gtk and other related libraries
4d92d54b3f
[about 60% of the marshalling patch that I lost. The rest to come tomorrow.] * generator/BoxedGen.cs, StructGen.cs: Move most of this to StructBase, delete large chunks duplicated from ClassBase. * generator/IGeneratable.cs: Add MarshalReturnType, FromNativeReturn. * generator/ClassBase.cs: Move ctor stuff here. Add a CallByName overload with no parameters for the "self" reference. * generator/EnumGen.cs, CallbackGen.cs: Implement new MarshalReturnType, FromNativeReturn. * generator/Method.cs: Use container_type.MarshalType, CallByName, and SymbolTable.FromNativeReturn when generating call and import sigs. * generator/OpaqueGen.cs: Added. * generator/Property.cs: Handle boxed and opaques differently. * generator/SymbolTable.cs: Update for the opaque stuff and the new Return methods. Also change GetClassGen to simply call the as operator. * glib/Boxed.cs: Update for struct usage -- this is now a wrapper for the purposes of using with Value. * glib/Opaque.cs: Added. New base class for opaque structs. * glue/textiter.c, gtk/TextIter.custom: Remove. * gnome/Program.cs: Update for new struct marshalling. * parser/Metadata.pm: Use our own getChildrenByTagName. * parser/README: Update for new requirements (was out of sync with build.pl) * parser/gapi2xml.pl: Hide struct like const in field elements. * parser/gapi_pp.pl: Handle embedded union fields (poorly). * sample/test/TestColorSelection.cs: Comment out null color tests for now. svn path=/trunk/gtk-sharp/; revision=6186 |
||
---|---|---|
atk | ||
codegen | ||
doc | ||
gdk | ||
generator | ||
glib | ||
glue | ||
gnome | ||
gtk | ||
pango | ||
parser | ||
sample | ||
sources | ||
todo | ||
.cvsignore | ||
autogen.sh | ||
ChangeLog | ||
configure.in | ||
HACKING | ||
makefile | ||
makefile.win32 | ||
README |
The Gtk# homepage can be found at gtk-sharp.sourceforge.net. Gtk# is a C# binding for the Gtk+ toolkit (www.gtk.org). The target is the 2.0 platform, and no plans are currently in place to backport to 1.2. The effort essentially boils down to an exercise in PInvoke against the C dynamic libraries. It may end up being slow as hell, but we'll see when we get there and adjust accordingly. Building Gtk#: -------------- To compile Gtk# on Win32 using the .Net framework compiler and libraries, in the top level directory, type: make -f makefile.win32 Currently, the glue library is not built on win32, and it is not possible to run Gtk# on the .Net runtime. The linux build is the traditional: configure make make install If you are compiling from CVS, you will need libtool and the auto* tools and will need to replace the configure above with autogen.sh. Discussion: ----------- A mailing list for Gtk# discussion (gtk-sharp-list@ximian.com) is available. Subscription and archives are available at lists.ximian.com. The list requires subscription in order to post.