|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| atk/ | H | 03-May-2022 | - | 8,173 | 7,174 |
| cairo/ | H | 03-May-2022 | - | 5,674 | 3,331 |
| doc/ | H | 03-May-2022 | - | 356,894 | 353,354 |
| gdk/ | H | 03-May-2022 | - | 14,123 | 12,506 |
| generator/ | H | 03-May-2022 | - | 9,335 | 6,945 |
| glade/ | H | 03-May-2022 | - | 2,731 | 2,353 |
| glib/ | H | 03-May-2022 | - | 9,941 | 6,916 |
| gtk/ | H | 03-May-2022 | - | 38,771 | 35,968 |
| gtkdotnet/ | H | 03-May-2022 | - | 797 | 652 |
| msi/ | H | 03-May-2022 | - | 8,279 | 7,267 |
| pango/ | H | 03-May-2022 | - | 6,531 | 5,472 |
| parser/ | H | 03-May-2022 | - | 2,497 | 2,073 |
| sample/ | H | 03-May-2022 | - | 14,744 | 11,532 |
| sources/ | H | 03-May-2022 | - | 962 | 839 |
| AUTHORS | H A D | 21-Sep-2016 | 605 | 25 | 22 |
| AssemblyInfo.cs.in | H A D | 21-Sep-2016 | 229 | 8 | 6 |
| COPYING | H A D | 21-Sep-2016 | 25.8 KiB | 505 | 418 |
| ChangeLog | H A D | 22-Sep-2016 | 461.4 KiB | 13,442 | 9,367 |
| HACKING | H A D | 21-Sep-2016 | 989 | 26 | 18 |
| Makefile.am | H A D | 25-Oct-2016 | 305 | 15 | 12 |
| Makefile.in | H A D | 03-May-2022 | 26.6 KiB | 874 | 775 |
| Makefile.include | H A D | 22-Sep-2016 | 3.4 KiB | 85 | 68 |
| NEWS | H A D | 21-Sep-2016 | 8 | 2 | 1 |
| README | H A D | 22-Sep-2016 | 4 KiB | 111 | 74 |
| README.generator | H A D | 03-Feb-2016 | 2.9 KiB | 66 | 48 |
| aclocal.m4 | H A D | 21-Jun-2017 | 375.8 KiB | 10,512 | 9,502 |
| compile | H A D | 30-Nov-2016 | 7.2 KiB | 348 | 258 |
| config.guess | H A D | 12-Nov-2016 | 42.9 KiB | 1,463 | 1,270 |
| config.h.in | H A D | 21-Jun-2017 | 1.8 KiB | 71 | 47 |
| config.sub | H A D | 12-Nov-2016 | 35.5 KiB | 1,826 | 1,688 |
| configure | H A D | 21-Jun-2017 | 492.8 KiB | 16,699 | 14,025 |
| configure.in | H A D | 21-Jun-2017 | 8.7 KiB | 339 | 293 |
| depcomp | H A D | 30-Nov-2016 | 23 KiB | 792 | 502 |
| install-sh | H A D | 30-Nov-2016 | 14.8 KiB | 509 | 329 |
| ltmain.sh | H A D | 21-Jun-2017 | 316.8 KiB | 11,157 | 7,986 |
| missing | H A D | 30-Nov-2016 | 6.7 KiB | 216 | 143 |
| policy.config.in | H A D | 03-Feb-2016 | 373 | 11 | 10 |
README
1The Gtk# website can be found at: http://gtk-sharp.sourceforge.net/
2
3Gtk# is a .NET language binding for the GTK+ toolkit and assorted GNOME
4libraries. Gtk# is free software, licensed under the GNU LGPL. The target
5is the 2.6 platform.
6
7Building & Installing Gtk#:
8---------------------------
9
10 Install the gtk-2 development headers first. On Debian, this can be done using:
11 apt-get install libgtk2.0-dev libpango1.0-dev libglade2-dev
12
13 The build is the traditional:
14
15 ./configure
16 make
17 make install
18
19 You may want to consider using configure's prefix option to install
20 Gtk# using the same prefix as Mono. That way all of your .NET assemblies
21 get placed in the same place, and you don't need to do any extra "configuring"
22 to make it so mono (and mint) can find your assemblies. In other words,
23 doing something like:
24
25 ./configure --prefix=/the/path/that/was/used/for/mono
26 make
27 make install
28
29 (Of course, replace "/the/path/that/was/used/for/mono" with whatever path
30 which was used for Mono. This might have been "/usr", "/usr/local", or
31 something similar.)
32
33 If you are compiling from SVN, you will need libtool and the auto* tools
34 and will need to replace the configure above with bootstrap-2.n for whichever
35 API version you are building.
36
37 To build a win32 installer, cygwin is required. Use the mingw-gcc compiler
38 and ensure that the autotools are installed, but do not install any of the
39 gtk+ libraries from cygwin. You will need to get the zip bundles for gtk+
40 and dependencies, along with libglade and libxml2 from:
41
42 ftp.gnome.org/pub/gnome/binaries
43
44 for the platform you are building. Extract all these zips, including the devel
45 zips into a single directory and setup your path so that it can access the
46 pkg-config tool provided. You will also want to edit the lib/pkgconfig/*.pc
47 files to specify the prefix you installed to.
48
49 Once all that is done, configure away.
50
51 There is a special make target which supports the process of building msi
52 installers. You can make installer-bundle to create a subdirectory named
53 gtk-sharp-binaries-<version> which will contain a wxs script and all the
54 binaries from the build. You will also need to copy into this directory the
55 msm modules for gtk+, libglade, and mono-cairo. These can be built
56 from svn trunk module win32-installers. Once those msm's are in place,
57 execute the build-installer script to produce the msi.
58
59Discussion & Support:
60---------------------
61
62 A mailing list for Gtk# discussion is available.
63
64 You can subscribe to the mailing list by visiting:
65
66 http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
67
68 And following the instructions (on that page) to subscribe.
69 Messages are posted on this mailing list by sending them to:
70
71 gtk-sharp-list@ximian.com
72
73 (The mailing list requires you to subscribe in order to post
74 messages.)
75
76 An archive of this mailing list can be found at:
77
78 http://lists.ximian.com/archives/public/gtk-sharp-list/
79
80 Further, a Wiki is available for Gtk#, and can be found at:
81
82 http://www.nullenvoid.com/gtksharp/wiki/
83
84 Also, people can get help with and discuss Gtk# on IRC via the
85 #mono channel on the irc.gnome.org IRC server.
86
87 People looking for general help with C# should visit the
88 #c# channel on irc.freenode.net IRC server.
89
90
91Developers:
92-----------
93
94 For developers wishing to "get started" with Gtk#, they are encouraged
95 to read the Mono Hand Book:
96
97 http://www.go-mono.com/tutorial
98
99 In the Mono Hand Book, Chapter 21 is on Gtk#. (In the Mono Hand Book,
100 the Gtk# .NET bindings are refered to as GNOME.NET.)
101
102
103Hackers:
104--------
105
106 For those who wish to help with the development of Gtk#, they should
107 read the file named: HACKING.
108
109 Also, anyone wishing to hack Gtk# is encouraged to join the Gtk#
110 mailing list. And to visit the #mono IRC channel (on irc.gnome.org).
111
README.generator
1NOTE: This file is out of date. Please refer to http://www.mono-project.com/GAPI for a more complete and up-to-date guide to the GAPI tools included with Gtk#
2
3
4How to use the Gtk# code generator:
5
6Install dependencies:
7
8 * You need to install the XML::LibXML perl bindings and Gtk#.
9
10Parse the library:
11
12 * Create an xml file defining the libraries to be parsed. The
13 format of the XML is:
14
15 <gapi-parser-input>
16 <api filename="../api/atk-api.xml">
17 <library name="libatk-1.0-0.dll">
18 <namespace name="Atk">
19 <dir>atk-1.2.4/atk</dir>
20 </namespace>
21 </library>
22 </api>
23 </gapi-parser-input>
24
25 The api element filename attribute specifies the parser output file location.
26 The name attribute on the library output points to the native library name. If
27 you are creating a cross-platform project, you will want to specify the win32 dll
28 name here and use mono's config mechanism to map the name on other platforms.
29 The dir element points to a src directory to be parsed. Currently all .c and .h
30 files in the directory are parsed.
31
32 All the elements inside the root can have multiples. The source/gtk-sharp-sources.xml
33 file has examples of producing multiple api files with a single parser input file, as
34 well as including muliple libraries in a single output file.
35
36 * Create metadata rules files named <namespace>.metadata in the directory where you invoke
37 the parser. Metadata rules allow you to massage the parsed api if necessary. Examples
38 of rule formats can be found in the sources directory.
39
40 * Execute the parser on your xml input file:
41 gapi-parser <xml-input-filename>
42
43 * Distribute the xml file(s) produced by the parser with your project so that your
44 users don't need to have any native library source, or perl libraries installed in
45 order to build your project.
46
47Within your project directory, do the following:
48
49 * Setup a toplevel subdirectory for each namespace/assembly you
50 are wrapping. Instruct the makefile for this directory to compile,
51 at minimum, generated/*.
52
53 * Run gapi_codegen.exe on the API file(s) you created with the parser. If you depend
54 on any other wrapped libraries (such as gtk-sharp.dll), you need to include their API
55 listings via the --include directive. The code generator, if successful, will have
56 populated the assembly directories with generated/ directories. It is generally helpful
57 to automate this process with makefiles. Gtk# uses the following organization:
58 - sources/: Source directories, .sources listing, .metadata files.
59 developers run make manually here when they want to update the API files.
60 - api/: API files
61 The files are committed to CVS and included in releases for the convenience
62 of the lib user. This dir is included in the build before the namespace dirs
63 and the generator is invoked from this dir.
64
65
66