summaryrefslogtreecommitdiff
path: root/tools/glade/README
blob: e82e4a798a3f80a007be1add83e4c9f6c46966ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
NOTE: this version of GLADE is a fork of glade 2.12.2
made specifically for DeaDBeeF project.
it is NOT THE ORIGINAL VERSION.

main changes:
* builds with latest GTK2 runtime
* generates code which is compatible with both GTK2 and GTK3

=======================================================================

			     Welcome to Glade
                             ================

	 (a user interface builder for the GTK+ toolkit and GNOME)

                 Glade's Home Page : http://glade.gnome.org


Glade 2.12 Release Notes
=======================

Glade 2.12 requires GTK+ 2.8, and GNOME 2.12 (if you want GNOME support). 
Interfaces created with Glade 2.12 will also require GTK+ 2.8 and GNOME 2.12,
so if you want your application to work with previous versions of GTK+ or
GNOME you should use a previous version of Glade.

Compatable Versions:

  Glade 2.12.x - GNOME 2.12.x			(GTK+ 2.8.x)
  Glade 2.10.x - GNOME 2.10.x			(GTK+ 2.6.x)
  Glade 2.6.x  - GNOME 2.6.x/2.8.x		(GTK+ 2.4.x)
  Glade 2.0.x  - GNOME 2.0.x/2.2.x/2.4.x	(GTK+ 2.0.x/2.2.x)

  Glade 0.6.4  - GNOME 1.4.x			(GTK+ 1.2.x) (*Unsupported*)


Glade GTK+ 2 / GNOME 2 Release Notes
====================================

Note that the GTK+ 2 / GNOME 2 version of Glade is called glade-2. This is
so that it can be installed easily alongside the older version of Glade.

Also note that the use of libglade is recommend for large projects, rather
than using the builtin C code generation. libglade loads the Glade XML files
at runtime, and you can keep each window/dialog in a separate XML file,
making it more easily scalable.


General Information
===================

Glade is a RAD tool to enable quick & easy development of user interfaces
for the GTK+ toolkit and the GNOME desktop environment. It also contains
built-in support for generating the C source code needed to recreate the
interfaces.

The user interfaces designed in Glade are stored in XML format,
enabling easy integration with external tools. Several tools are already
available which can turn the XML files into source code in other languages
such as C++, Perl and Python. Other tools such as libglade can load the XML
files and create the interfaces at runtime (see the Languages Supported
section below). The DTD for the XML files is included with libglade,
and is also at http://glade.gnome.org/glade-2.0.dtd.

Glade is primarily aimed at Linux and other Unix variants, though it can be
run on Windows platforms (without the GNOME support). A port to Windows can
be found at http://wingtk.sourceforge.net.


Glade Documentation
===================

A User Guide and FAQ are available from the 'Help' menu in Glade.

See the 'TODO' file for current status & planned future developments.


License
=======

Glade is distributed under the GNU General Public License (GPL), as described
in the COPYING file.

Note that you are free to use whatever license you like for the source code
generated by Glade. (We do not consider the code generated by Glade to be
'a work based on the Program' as described at the start of the GPL.)


Requirements
============

 o GTK+ 2.8.0 or above - http://www.gtk.org
   You also need the glib, pango and atk libraries.
   Make sure you have the devel packages as well, as these will contain the
   header files which you will need to compile C applications.

 o GNOME 2.12.0 or above if you want GNOME support. http://www.gnome.org
   This is comprised of a number of packages and is quite tricky to build,
   so it is better to use the packages from your distribution if possible.

 o gail - provides support for accessibility for GTK+ applications.

 o libgail-gnome - accessibility support for GNOME applications, but I think
   you only need this if you are using Bonobo controls.

 o libxml 2.4.1 - used to parse the XML files. If you have GNOME 2 you
   should already have this.

 o Automake 1.4 - ftp://ftp.gnu.org/pub/gnu/automake
   This is needed to build the C source code generated by Glade.

 o Autoconf 2.52 - ftp://ftp.gnu.org/pub/gnu/autoconf
   This is needed to build the C source code generated by Glade.

 o Gettext 0.10.40 - ftp://ftp.gnu.org/pub/gnu/gettext
   This is needed if you want to build applications with support for gettext.
   It is included in most Linux distributions already.
   (Gettext provides support for translating the strings in your application
    into other languages such as French, German, Spanish etc.)

 o Scrollkeeper 0.3.10 - http://scrollkeeper.sourceforge.net
   This manages the DocBook documentation on a system.



Languages Supported
===================

Note that some of these may not have been updated to handle the latest
versions of GTK+ and GNOME. You'll have to check.

 o C - Glade can generate C code itself.
       The libglade library is also available. It creates the user interface
       at runtime by loading the XML files generated by Glade.
       See http://www.daa.com.au/~james/gnome/
       For large projects, libglade is the preferred method, since it has
       proved to be more easily scalable.

GNOME Platform bindings (these have stable bindings for GTK+ and GNOME):

 o C++ - the Gtkmm C++ bindings for GTK+ include support for libglade.
       See http://www.gtkmm.org/
       Alternatively Glade-- can be used to generate C++ code.
       See http://home.wtal.de/petig/

 o Java - the Java-GNOME bindings include support for libglade.
       See http://java-gnome.sourceforge.net/

 o Perl - the Gtk-Perl bindings include support for libglade.
       See http://www.gtkperl.org/
       Alternatively Glade-Perl can generate Perl code.
       See http://www.glade-perl.connectfree.co.uk/index.html

 o Python - the PyGtk python bindings for GTK+ include support for libglade.
       See http://www.pygtk.org/

Other bindings:

 o C# - the Gtk# bindings include support for libglade.
       See http://gtk-sharp.sourceforge.net/

 o Ada - the GtkAda bindings for GTK+ includes support for generating Ada code.
       See http://libre.act-europe.fr/GtkAda/

 o Pike - the Pike binding for GTK+ includes support for libglade in the
       GTK.GladeXML class. See http://pike.ida.liu.se/

 o Eiffel - eGlade can generate Eiffel code.
       See http://www.lfix.co.uk/eiflib/index.html#eglade

 o Ruby - there are Ruby bindings for libglade.
       See http://www.ruby-lang.org/en/raa-list.rhtml?name=Ruby%2FLibGlade

 o Haskell - the Gtk2Hs Haskell bindings include support for libglade.
       See http://gtk2hs.sourceforge.net/

 o Objective Caml - the LablGTK Objective Caml bindings support libglade.
       See http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html

 o Scheme - the guile-gnome bindings include support for libglade.
       See http://home.gna.org/guile-gnome/

The Glade web site may contain more up-to-date links.
Also see the GTK+ Language Bindings Page at http://www.gtk.org/bindings.html
and the GNOME page at http://developer.gnome.org/arch/lang/.
If a language includes bindings for libglade you can use that.

Please note that these packages are maintained independently of Glade, and
so any bug reports should be sent to the appropriate package maintainer.


Installation
============

See the file 'INSTALL'


Mailing Lists
=============

There are two mailing lists related to Glade:

  glade-users@ximian.com    - For discussions about using Glade to build
			      applications.

  glade-devel@ximian.com    - For discussions about the development of
			      Glade itself.

To subscribe, unsubscribe, or view the archives of the lists go to the
mailman web pages at:

  http://lists.ximian.com/mailman/listinfo/glade-users
  http://lists.ximian.com/mailman/listinfo/glade-devel


Alternatively you can use email to perform commands by mailing:

  glade-users-request@ximian.com
  glade-devel-request@ximian.com

with commands such as 'subscribe' and 'help' in the subject line or
the message body.


There is also a mailing list for the C++ code generator here:
  http://lists.gnome.org/mailman/listinfo/glademm-list


How to report bugs
==================

To report a bug in Glade itself, go to http://bugzilla.gnome.org and fill out
a bug report, specifying 'glade' as the product.

Alternatively send mail to damon@gnome.org, or to the glade-users list
if you are subscribed.

(Please don't send bug reports about the external code generators.
They should be sent to the appropriate package maintainer.)

In the bug report include:

* The version of Glade.

* Information about your system. For instance:

   - What version of GTK+.
   - If you are using the GNOME version of Glade, and if so which version
     of GNOME you are using.
   - What operating system and version.

  And anything else you think is relevant.

* How to reproduce the bug. 

* If you can, send a stack trace. To do that, start gdb with 'gdb glade-2',
  start glade with 'r', do whatever causes the crash, and then type 'bt' in
  the debugger to print a stack trace.
  See http://bugzilla.gnome.org/getting-traces.cgi for more details.


Submitting Patches
==================

Please use diff -ru to create the patch, and send it as an attachment
(gzipped if it is very large). If it entails major changes to Glade, please
discuss it on the glade-devel list first.


Damon Chaplin (damon@gnome.org), 9 Oct 2005