|
Packit |
1470ea |
|
|
Packit |
1470ea |
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-gtk" xml:lang="gl">
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<link type="guide" xref="tech" group="gtk"/>
|
|
Packit |
1470ea |
<revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
Packit |
1470ea |
<name>Shaun McCance</name>
|
|
Packit |
1470ea |
<email its:translate="no">shaunm@gnome.org</email>
|
|
Packit |
1470ea |
<years>2011–2012</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<desc>Widget toolkit for graphical interfaces</desc>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Fran Dieguez</mal:name>
|
|
Packit |
1470ea |
<mal:email>frandieguez@gnome.org</mal:email>
|
|
Packit |
1470ea |
<mal:years>2009-2013.</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Leandro Regueiro</mal:name>
|
|
Packit |
1470ea |
<mal:email>leandro.regueiro@gmail.com</mal:email>
|
|
Packit |
1470ea |
<mal:years>2011.</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>GTK+</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GTK+ is the primary library used to construct user interfaces in GNOME. Its
|
|
Packit |
1470ea |
name stands for "GIMP Tool Kit", as originally it was explicitly
|
|
Packit |
1470ea |
written for that image manipulation program, and later extracted from
|
|
Packit |
1470ea |
it as a stand-alone library. It provides all the user
|
|
Packit |
1470ea |
interface controls, or widgets, used in a common graphical
|
|
Packit |
1470ea |
application. Its object-oriented API allows you to construct user
|
|
Packit |
1470ea |
interfaces without dealing with the low-level details of drawing and
|
|
Packit |
1470ea |
device interaction.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
In addition to basic widgets, such as buttons, check boxes,
|
|
Packit |
1470ea |
and text entries, GTK+ also provides Model-View-Controller
|
|
Packit |
1470ea |
(MVC) APIs for tree views, multi-line text fields, and menu and
|
|
Packit |
1470ea |
toolbar actions.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Widgets in GTK+ are placed on windows using a box-packing model.
|
|
Packit |
1470ea |
Programmers specify only how to pack widgets together in container
|
|
Packit |
1470ea |
boxes, instead of positioning them directly with absolute coordinates.
|
|
Packit |
1470ea |
Thus, GTK+ ensures that windows are sized correctly to fit their contents,
|
|
Packit |
1470ea |
and it automatically handles window resizing. For right-to-left languages like
|
|
Packit |
1470ea |
Arabic and Hebrew, GTK+ automatically reverses the user interface from left
|
|
Packit |
1470ea |
to right so that controls have the expected visual order.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GTK+ allows you to develop custom widgets for use in applications.
|
|
Packit |
1470ea |
Similar to native or stock widgets, these custom widgets can
|
|
Packit |
1470ea |
support all the features that GTK+ has: right-to-left language support,
|
|
Packit |
1470ea |
accessibility interfaces, keyboard navigation, and automatic sizing.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list style="compact">
|
|
Packit |
1470ea |
<item><link href="http://gtk.org/">Official web site</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gnome-devel-demos/stable/">Demo tutorial</link> </item>
|
|
Packit |
1470ea |
<item><link href="http://developer.gnome.org/gtk3/stable/">Reference Manual</link> </item>
|
|
Packit |
1470ea |
<item><link href="https://git.gnome.org/browse/gtk+/">git repository</link> </item>
|
|
Packit |
1470ea |
<item>Mailing lists:
|
|
Packit |
1470ea |
<list style="compact">
|
|
Packit |
1470ea |
<item><link href="https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list">Writing GTK+ applications</link> </item>
|
|
Packit |
1470ea |
<item><link href="https://mail.gnome.org/mailman/listinfo/gtk-list">General discussion about GTK+</link> </item>
|
|
Packit |
1470ea |
<item><link href="https://mail.gnome.org/mailman/listinfo/gtk-devel-list">Development of GTK+</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
</item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
</page>
|