.NET wrapper for Gtk and other related libraries
e9d1e0b6dc
* 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. svn path=/trunk/gtk-sharp/; revision=6818 |
||
---|---|---|
api | ||
art | ||
atk | ||
codegen | ||
doc | ||
gdk | ||
generator | ||
glade | ||
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.