|
GTK+[1] is a
mature, efficient widget set. It provides a modern look-and-feel
while remaining flexible and efficient. GTK+ provides the application
developer with a powerful object system that has the ability to
dynamically query and modify objects and widgets at run—time. GTK+ is
an extensible toolkit; for example, GNOME has built-in, high-level
widgets to speed up the GNOME application development cycle. The user
will enjoy GTK+ because of the powerful theme engine that allows them
to change the look of all GTK+ applications with one easy-to-use tool.
There are several reasons to use GTK+ including the licensing, the
language bindings, internationalization, and the drag and drop
support. Each of these are explored in more detail here.
The License.
The license covering the GTK+ widget set is the Library General
Public License (LGPL)[2]. This license is very similar to
the General Public License (GPL)[3], except that you
may link any application to the widget set no matter
if that application is free or proprietary software.
Language Bindings.
Because of the open nature of GTK+ development, many people have
contributed language bindings for GTK+. There are already many
languages besides C that can be used to create a GTK+
application. These languages include: C++, Perl, Python, Pascal,
Objective C, Guile, and Ada.
Internationalization.
GTK+ supports international[4] text
display and input by utilizing the X Input Method
extension. Because of such support, your applications can
immediately be used with languages that require non-Roman
character sets, such as those in Asia.
Drag and Drop.
GTK's drag and drop[5] functionality supports both the
Xdnd[6]and Motif[7]drag
and drop protocols which allow for use of drag and drop
functionality with other widget sets that support these
protocols. Applications written in widget sets such as Motif or Qt
that correctly support these protocols will also be able to share
drag and drop functionality with GTK+ applications. This support is
a breakthrough in providing the user backwards compatibility with
their older applications.
Notes
|