[gtkmm-documentation] Updated Spanish translation
- From: Daniel Mustieles García <dmustieles src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm-documentation] Updated Spanish translation
- Date: Fri, 29 Apr 2011 17:44:06 +0000 (UTC)
commit 0996ce8c8e6be17b7fe21580930424c77b9f0e56
Author: Daniel Mustieles <daniel mustieles gmail com>
Date: Fri Apr 29 19:43:38 2011 +0200
Updated Spanish translation
docs/tutorial/es/es.po | 4230 +++++++++++++++++++++++++++---------------------
1 files changed, 2415 insertions(+), 1815 deletions(-)
---
diff --git a/docs/tutorial/es/es.po b/docs/tutorial/es/es.po
index b6c9a9a..a107cfd 100644
--- a/docs/tutorial/es/es.po
+++ b/docs/tutorial/es/es.po
@@ -10,8 +10,8 @@
msgid ""
msgstr ""
"Project-Id-Version: gtkmm-documentation.tutorial.master\n"
-"POT-Creation-Date: 2011-03-09 11:17+0000\n"
-"PO-Revision-Date: 2011-03-15 09:50+0100\n"
+"POT-Creation-Date: 2011-04-13 13:18+0000\n"
+"PO-Revision-Date: 2011-04-29 16:45+0200\n"
"Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
"Language-Team: Español <gnome-es-list gnome org>\n"
"MIME-Version: 1.0\n"
@@ -21,8 +21,9 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
#: C/gtkmm-tutorial-in.xml:34(title)
-msgid "Programming with <application>gtkmm</application>"
-msgstr "Programar con <application>gtkmm</application>"
+#| msgid "Programming with <application>gtkmm</application>"
+msgid "Programming with <application>gtkmm</application> 3"
+msgstr "Programar con <application>gtkmm</application> 3"
#: C/gtkmm-tutorial-in.xml:38(firstname)
msgid "Murray"
@@ -351,7 +352,7 @@ msgstr "Dependecias"
#: C/gtkmm-tutorial-in.xml:164(para)
msgid ""
-"Before attempting to install <application>gtkmm</application> 2.4, you might "
+"Before attempting to install <application>gtkmm</application> 3.0, you might "
"first need to install these other packages."
msgstr ""
@@ -360,54 +361,63 @@ msgid "libsigc++ 2.0"
msgstr "libsigc++ 2.0"
#: C/gtkmm-tutorial-in.xml:170(application)
-#, fuzzy
#| msgid "GTK+ 2.4"
msgid "GTK+ 3.0"
-msgstr "GTK+ 2.4"
+msgstr "GTK+ 3.0"
#: C/gtkmm-tutorial-in.xml:171(application)
msgid "cairomm"
-msgstr ""
+msgstr "cairomm"
+
+#: C/gtkmm-tutorial-in.xml:172(application)
+#| msgid "Pango"
+msgid "pangomm"
+msgstr "pangomm"
-#: C/gtkmm-tutorial-in.xml:173(para)
+#: C/gtkmm-tutorial-in.xml:173(application)
+#| msgid "gtkmm"
+msgid "atkmm"
+msgstr "atkmm"
+
+#: C/gtkmm-tutorial-in.xml:175(para)
msgid ""
"These dependencies have their own dependencies, including the following "
"applications and libraries:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:178(application)
+#: C/gtkmm-tutorial-in.xml:180(application)
msgid "pkg-config"
msgstr "pkg-config"
-#: C/gtkmm-tutorial-in.xml:179(application)
+#: C/gtkmm-tutorial-in.xml:181(application)
msgid "glib"
msgstr "glib"
-#: C/gtkmm-tutorial-in.xml:180(application)
+#: C/gtkmm-tutorial-in.xml:182(application)
msgid "ATK"
msgstr "ATK"
-#: C/gtkmm-tutorial-in.xml:181(application)
+#: C/gtkmm-tutorial-in.xml:183(application)
msgid "Pango"
msgstr "Pango"
-#: C/gtkmm-tutorial-in.xml:182(application)
+#: C/gtkmm-tutorial-in.xml:184(application)
msgid "cairo"
msgstr "cairo"
-#: C/gtkmm-tutorial-in.xml:183(application)
+#: C/gtkmm-tutorial-in.xml:185(application)
msgid "gdk-pixbuf"
-msgstr ""
+msgstr "gdk-pixbuf"
-#: C/gtkmm-tutorial-in.xml:188(title)
+#: C/gtkmm-tutorial-in.xml:190(title)
msgid "Unix and Linux"
msgstr "Unix y Linux"
-#: C/gtkmm-tutorial-in.xml:191(title)
+#: C/gtkmm-tutorial-in.xml:193(title)
msgid "Prebuilt Packages"
msgstr "Paquetes preconstruidos"
-#: C/gtkmm-tutorial-in.xml:193(para)
+#: C/gtkmm-tutorial-in.xml:195(para)
msgid ""
"Recent versions of <application>gtkmm</application> are packaged by nearly "
"every major Linux distribution these days. So, if you use Linux, you can "
@@ -417,7 +427,7 @@ msgid ""
"Debian, Ubuntu, Red Hat, Fedora, Mandriva, Suse, and many others."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:201(para)
+#: C/gtkmm-tutorial-in.xml:203(para)
msgid ""
"The names of the <application>gtkmm</application> packages vary from "
"distribution to distribution (e.g. <application>libgtkmm3.0-dev</"
@@ -427,20 +437,20 @@ msgid ""
"would any other package."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:209(para)
+#: C/gtkmm-tutorial-in.xml:211(para)
msgid ""
"The package names will not change when new API/ABI-compatible versions of "
"<application>gtkmm</application> are released. Otherwise they would not be "
"API/ABI-compatible. So don't be surprised, for instance, to find "
-"<application>gtkmm</application> 2.8 supplied by Debian's "
-"<application>libgtkmm2.4-dev</application> package."
+"<application>gtkmm</application> 3.2 supplied by Debian's "
+"<application>libgtkmm3.0-dev</application> package."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:219(title)
+#: C/gtkmm-tutorial-in.xml:221(title)
msgid "Installing From Source"
-msgstr ""
+msgstr "Instalar desde las fuentes"
-#: C/gtkmm-tutorial-in.xml:221(para)
+#: C/gtkmm-tutorial-in.xml:223(para)
msgid ""
"If your distribution does not provide a pre-built <application>gtkmm</"
"application> package, or if you want to install a different version than the "
@@ -449,7 +459,7 @@ msgid ""
"application> can be downloaded from <ulink url=\"http://www.gtkmm.org/\"/>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:227(para)
+#: C/gtkmm-tutorial-in.xml:229(para)
msgid ""
"After you've installed all of the dependencies, download the "
"<application>gtkmm</application> source code, unpack it, and change to the "
@@ -457,7 +467,7 @@ msgid ""
"installed with the following sequence of commands:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:232(screen)
+#: C/gtkmm-tutorial-in.xml:234(screen)
#, no-wrap
msgid ""
"\n"
@@ -470,7 +480,7 @@ msgstr ""
"# make\n"
"# make install\n"
-#: C/gtkmm-tutorial-in.xml:238(para)
+#: C/gtkmm-tutorial-in.xml:240(para)
msgid ""
"Remember that on a Unix or Linux operating system, you will probably need to "
"be <literal>root</literal> to install software. The <command>su</command> "
@@ -478,14 +488,14 @@ msgid ""
"have <literal>root</literal> status temporarily."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:245(para)
+#: C/gtkmm-tutorial-in.xml:247(para)
msgid ""
"The <filename>configure</filename> script will check to make sure all of the "
"required dependencies are already installed. If you are missing any "
"dependencies, it will exit and display an error."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:250(para)
+#: C/gtkmm-tutorial-in.xml:252(para)
msgid ""
"By default, <application>gtkmm</application> will be installed under the "
"<filename>/usr/local</filename> directory. On some systems you may need to "
@@ -496,7 +506,7 @@ msgid ""
"</screen>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:261(para)
+#: C/gtkmm-tutorial-in.xml:263(para)
msgid ""
"You should be very careful when installing to standard system prefixes such "
"as <filename>/usr</filename>. Linux distributions install software packages "
@@ -506,7 +516,7 @@ msgid ""
"software you install from source."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:270(para)
+#: C/gtkmm-tutorial-in.xml:272(para)
msgid ""
"If you want to help develop <application>gtkmm</application> or experiment "
"with new features, you can also install <application>gtkmm</application> "
@@ -516,11 +526,11 @@ msgid ""
"link> appendix."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:281(title)
+#: C/gtkmm-tutorial-in.xml:283(title)
msgid "Microsoft Windows"
msgstr "Microsoft Windows"
-#: C/gtkmm-tutorial-in.xml:282(para)
+#: C/gtkmm-tutorial-in.xml:284(para)
msgid ""
"GTK+ and <application>gtkmm</application> were designed to work well with "
"Microsoft Windows, and the developers encourage its use on the win32 "
@@ -530,11 +540,11 @@ msgid ""
"installation instructions and notes."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:289(title)
+#: C/gtkmm-tutorial-in.xml:291(title)
msgid "Basics"
-msgstr ""
+msgstr "Conceptos baÌ?sicos"
-#: C/gtkmm-tutorial-in.xml:291(para)
+#: C/gtkmm-tutorial-in.xml:293(para)
msgid ""
"This chapter will introduce some of the most important aspects of "
"<application>gtkmm</application> coding. These will be demonstrated with "
@@ -542,7 +552,7 @@ msgid ""
"look at the other chapters for more substantial information."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:294(para)
+#: C/gtkmm-tutorial-in.xml:296(para)
msgid ""
"Your existing knowledge of C++ will help you with <application>gtkmm</"
"application> as it would with any library. Unless we state otherwise, you "
@@ -551,62 +561,62 @@ msgid ""
"<application>gtkmm</application> classes."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:299(title) C/gtkmm-tutorial-in.xml:3405(title)
+#: C/gtkmm-tutorial-in.xml:301(title) C/gtkmm-tutorial-in.xml:3408(title)
msgid "Simple Example"
msgstr "Ejemplo simple"
-#: C/gtkmm-tutorial-in.xml:301(para)
+#: C/gtkmm-tutorial-in.xml:303(para)
msgid ""
"To begin our introduction to <application>gtkmm</application>, we'll start "
"with the simplest program possible. This program will create an empty 200 x "
"200 pixel window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:306(ulink) C/gtkmm-tutorial-in.xml:483(ulink)
-#: C/gtkmm-tutorial-in.xml:699(ulink) C/gtkmm-tutorial-in.xml:807(ulink)
-#: C/gtkmm-tutorial-in.xml:916(ulink) C/gtkmm-tutorial-in.xml:1081(ulink)
-#: C/gtkmm-tutorial-in.xml:1135(ulink) C/gtkmm-tutorial-in.xml:1190(ulink)
-#: C/gtkmm-tutorial-in.xml:1237(ulink) C/gtkmm-tutorial-in.xml:1264(ulink)
-#: C/gtkmm-tutorial-in.xml:1289(ulink) C/gtkmm-tutorial-in.xml:1437(ulink)
-#: C/gtkmm-tutorial-in.xml:1503(ulink) C/gtkmm-tutorial-in.xml:1527(ulink)
-#: C/gtkmm-tutorial-in.xml:1558(ulink) C/gtkmm-tutorial-in.xml:1615(ulink)
-#: C/gtkmm-tutorial-in.xml:1656(ulink) C/gtkmm-tutorial-in.xml:1701(ulink)
-#: C/gtkmm-tutorial-in.xml:1736(ulink) C/gtkmm-tutorial-in.xml:1775(ulink)
-#: C/gtkmm-tutorial-in.xml:1913(ulink) C/gtkmm-tutorial-in.xml:2041(ulink)
-#: C/gtkmm-tutorial-in.xml:2084(ulink) C/gtkmm-tutorial-in.xml:2125(ulink)
-#: C/gtkmm-tutorial-in.xml:2284(ulink) C/gtkmm-tutorial-in.xml:2332(ulink)
-#: C/gtkmm-tutorial-in.xml:2372(ulink) C/gtkmm-tutorial-in.xml:2968(ulink)
-#: C/gtkmm-tutorial-in.xml:2987(ulink) C/gtkmm-tutorial-in.xml:3006(ulink)
-#: C/gtkmm-tutorial-in.xml:3028(ulink) C/gtkmm-tutorial-in.xml:3050(ulink)
-#: C/gtkmm-tutorial-in.xml:3123(ulink) C/gtkmm-tutorial-in.xml:3136(ulink)
-#: C/gtkmm-tutorial-in.xml:3170(ulink) C/gtkmm-tutorial-in.xml:3183(ulink)
-#: C/gtkmm-tutorial-in.xml:3414(ulink) C/gtkmm-tutorial-in.xml:3589(ulink)
-#: C/gtkmm-tutorial-in.xml:3602(ulink) C/gtkmm-tutorial-in.xml:3658(ulink)
-#: C/gtkmm-tutorial-in.xml:3916(ulink) C/gtkmm-tutorial-in.xml:3978(ulink)
-#: C/gtkmm-tutorial-in.xml:4005(ulink) C/gtkmm-tutorial-in.xml:4027(ulink)
-#: C/gtkmm-tutorial-in.xml:4050(ulink) C/gtkmm-tutorial-in.xml:4246(ulink)
-#: C/gtkmm-tutorial-in.xml:4343(ulink) C/gtkmm-tutorial-in.xml:4424(ulink)
-#: C/gtkmm-tutorial-in.xml:4592(ulink) C/gtkmm-tutorial-in.xml:4808(ulink)
-#: C/gtkmm-tutorial-in.xml:4968(ulink) C/gtkmm-tutorial-in.xml:4988(ulink)
-#: C/gtkmm-tutorial-in.xml:5366(ulink) C/gtkmm-tutorial-in.xml:5581(ulink)
-#: C/gtkmm-tutorial-in.xml:5715(ulink) C/gtkmm-tutorial-in.xml:5821(ulink)
-#: C/gtkmm-tutorial-in.xml:5918(ulink) C/gtkmm-tutorial-in.xml:5955(ulink)
-#: C/gtkmm-tutorial-in.xml:6306(ulink) C/gtkmm-tutorial-in.xml:6374(ulink)
-#: C/gtkmm-tutorial-in.xml:7019(ulink) C/gtkmm-tutorial-in.xml:7076(ulink)
-#: C/gtkmm-tutorial-in.xml:7825(ulink)
+#: C/gtkmm-tutorial-in.xml:308(ulink) C/gtkmm-tutorial-in.xml:485(ulink)
+#: C/gtkmm-tutorial-in.xml:701(ulink) C/gtkmm-tutorial-in.xml:809(ulink)
+#: C/gtkmm-tutorial-in.xml:918(ulink) C/gtkmm-tutorial-in.xml:1083(ulink)
+#: C/gtkmm-tutorial-in.xml:1137(ulink) C/gtkmm-tutorial-in.xml:1192(ulink)
+#: C/gtkmm-tutorial-in.xml:1239(ulink) C/gtkmm-tutorial-in.xml:1266(ulink)
+#: C/gtkmm-tutorial-in.xml:1291(ulink) C/gtkmm-tutorial-in.xml:1439(ulink)
+#: C/gtkmm-tutorial-in.xml:1505(ulink) C/gtkmm-tutorial-in.xml:1529(ulink)
+#: C/gtkmm-tutorial-in.xml:1560(ulink) C/gtkmm-tutorial-in.xml:1617(ulink)
+#: C/gtkmm-tutorial-in.xml:1658(ulink) C/gtkmm-tutorial-in.xml:1703(ulink)
+#: C/gtkmm-tutorial-in.xml:1738(ulink) C/gtkmm-tutorial-in.xml:1777(ulink)
+#: C/gtkmm-tutorial-in.xml:1915(ulink) C/gtkmm-tutorial-in.xml:2043(ulink)
+#: C/gtkmm-tutorial-in.xml:2086(ulink) C/gtkmm-tutorial-in.xml:2128(ulink)
+#: C/gtkmm-tutorial-in.xml:2287(ulink) C/gtkmm-tutorial-in.xml:2335(ulink)
+#: C/gtkmm-tutorial-in.xml:2375(ulink) C/gtkmm-tutorial-in.xml:2971(ulink)
+#: C/gtkmm-tutorial-in.xml:2990(ulink) C/gtkmm-tutorial-in.xml:3009(ulink)
+#: C/gtkmm-tutorial-in.xml:3031(ulink) C/gtkmm-tutorial-in.xml:3053(ulink)
+#: C/gtkmm-tutorial-in.xml:3126(ulink) C/gtkmm-tutorial-in.xml:3139(ulink)
+#: C/gtkmm-tutorial-in.xml:3173(ulink) C/gtkmm-tutorial-in.xml:3186(ulink)
+#: C/gtkmm-tutorial-in.xml:3417(ulink) C/gtkmm-tutorial-in.xml:3592(ulink)
+#: C/gtkmm-tutorial-in.xml:3605(ulink) C/gtkmm-tutorial-in.xml:3661(ulink)
+#: C/gtkmm-tutorial-in.xml:3919(ulink) C/gtkmm-tutorial-in.xml:3981(ulink)
+#: C/gtkmm-tutorial-in.xml:4008(ulink) C/gtkmm-tutorial-in.xml:4030(ulink)
+#: C/gtkmm-tutorial-in.xml:4053(ulink) C/gtkmm-tutorial-in.xml:4249(ulink)
+#: C/gtkmm-tutorial-in.xml:4346(ulink) C/gtkmm-tutorial-in.xml:4427(ulink)
+#: C/gtkmm-tutorial-in.xml:4595(ulink) C/gtkmm-tutorial-in.xml:4811(ulink)
+#: C/gtkmm-tutorial-in.xml:4971(ulink) C/gtkmm-tutorial-in.xml:4991(ulink)
+#: C/gtkmm-tutorial-in.xml:5365(ulink) C/gtkmm-tutorial-in.xml:5573(ulink)
+#: C/gtkmm-tutorial-in.xml:5707(ulink) C/gtkmm-tutorial-in.xml:5813(ulink)
+#: C/gtkmm-tutorial-in.xml:5910(ulink) C/gtkmm-tutorial-in.xml:5947(ulink)
+#: C/gtkmm-tutorial-in.xml:6298(ulink) C/gtkmm-tutorial-in.xml:6366(ulink)
+#: C/gtkmm-tutorial-in.xml:7011(ulink) C/gtkmm-tutorial-in.xml:7068(ulink)
+#: C/gtkmm-tutorial-in.xml:7817(ulink)
msgid "Source Code"
msgstr "Código fuente"
-#: C/gtkmm-tutorial-in.xml:308(para)
+#: C/gtkmm-tutorial-in.xml:310(para)
msgid "We will now explain each line of the example"
-msgstr ""
+msgstr "Ahora se explicará cada liÌ?nea del ejemplo"
-#: C/gtkmm-tutorial-in.xml:309(programlisting)
+#: C/gtkmm-tutorial-in.xml:311(programlisting)
#, no-wrap
msgid "#include <gtkmm.h>"
-msgstr ""
+msgstr "#include <gtkmm.h>"
-#: C/gtkmm-tutorial-in.xml:310(para)
+#: C/gtkmm-tutorial-in.xml:312(para)
msgid ""
"All <application>gtkmm</application> programs must include certain "
"<application>gtkmm</application> headers; <literal>gtkmm.h</literal> "
@@ -615,12 +625,12 @@ msgid ""
"simple programs, it suffices."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:320(programlisting)
+#: C/gtkmm-tutorial-in.xml:322(programlisting)
#, no-wrap
msgid "Gtk::Main kit(argc, argv);"
msgstr "Gtk::Main kit(argc, argv);"
-#: C/gtkmm-tutorial-in.xml:317(para)
+#: C/gtkmm-tutorial-in.xml:319(para)
msgid ""
"The next line: <placeholder-1/> creates a <classname>Gtk::Main</classname> "
"object. This is needed in all <application>gtkmm</application> applications. "
@@ -633,33 +643,33 @@ msgid ""
"standard arguments."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:330(para)
+#: C/gtkmm-tutorial-in.xml:332(para)
msgid "The next two lines of code create and display a window:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:333(programlisting)
+#: C/gtkmm-tutorial-in.xml:335(programlisting)
#, no-wrap
msgid "Gtk::Window window;"
-msgstr ""
+msgstr "Gtk::Window window;"
-#: C/gtkmm-tutorial-in.xml:334(para)
+#: C/gtkmm-tutorial-in.xml:336(para)
msgid ""
"The last line shows the window and enters the <application>gtkmm</"
"application> main processing loop, which will finish when the window is "
"closed."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:338(programlisting)
+#: C/gtkmm-tutorial-in.xml:340(programlisting)
#, no-wrap
msgid "Gtk::Main::run(window);"
msgstr "Gtk::Main::run(window);"
-#: C/gtkmm-tutorial-in.xml:342(programlisting)
+#: C/gtkmm-tutorial-in.xml:344(programlisting)
#, no-wrap
-msgid "g++ simple.cc -o simple `pkg-config gtkmm-2.4 --cflags --libs`"
-msgstr ""
+msgid "g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`"
+msgstr "g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`"
-#: C/gtkmm-tutorial-in.xml:340(para)
+#: C/gtkmm-tutorial-in.xml:342(para)
msgid ""
"After putting the source code in <literal>simple.cc</literal> you can "
"compile the above program with gcc using: <placeholder-1/> Note that you "
@@ -668,11 +678,11 @@ msgid ""
"the command's output as part of the command line."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:351(title)
+#: C/gtkmm-tutorial-in.xml:353(title)
msgid "Headers and Linking"
msgstr "Cabeceras y enlazado"
-#: C/gtkmm-tutorial-in.xml:352(para)
+#: C/gtkmm-tutorial-in.xml:354(para)
msgid ""
"Although we have shown the compilation command for the simple example, you "
"really should use the automake and autoconf tools, as described in "
@@ -683,7 +693,7 @@ msgid ""
"literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:355(para)
+#: C/gtkmm-tutorial-in.xml:357(para)
msgid ""
"To simplify compilation, we use <literal>pkg-config</literal>, which is "
"present in all (properly installed) <application>gtkmm</application> "
@@ -696,12 +706,13 @@ msgid ""
"shell-prompt to see the results on your system."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:368(programlisting)
+#: C/gtkmm-tutorial-in.xml:370(programlisting)
#, no-wrap
-msgid "PKG_CHECK_MODULES([MYAPP], [gtkmm-2.4 >= 2.8.0])"
-msgstr "PKG_CHECK_MODULES([MYAPP], [gtkmm-2.4 >= 2.8.0])"
+#| msgid "PKG_CHECK_MODULES([MYAPP], [gtkmm-2.4 >= 2.8.0])"
+msgid "PKG_CHECK_MODULES([MYAPP], [gtkmm-3.0 >= 3.0.0])"
+msgstr "PKG_CHECK_MODULES([MYAPP], [gtkmm-3.0 >= 3.0.0])"
-#: C/gtkmm-tutorial-in.xml:365(para)
+#: C/gtkmm-tutorial-in.xml:367(para)
msgid ""
"However, this is even simpler when using the <function>PKG_CHECK_MODULES()</"
"function> macro in a standard configure.ac file with autoconf and automake. "
@@ -709,34 +720,34 @@ msgid ""
"defines MYAPP_LIBS and MYAPP_CFLAGS for use in your Makefile.am files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:371(para)
+#: C/gtkmm-tutorial-in.xml:373(para)
msgid ""
-"gtkmm-2.4 is the name of the current stable API. There was an older API "
-"called gtkmm-2-0 which installs in parallel when it is available. There are "
-"several versions of gtkmm-2.4, such as gtkmm 2.10. Note that the API name "
-"does not change for every version because that would be an incompatible API "
-"and ABI break. Theoretically, there might be a future gtkmm-3.0 API which "
-"would install in parallel with gtkmm-2.4 without affecting existing "
-"applications."
+"gtkmm-3.0 is the name of the current stable API. There was an older API "
+"called gtkmm-2-4 which installs in parallel when it is available. There were "
+"several versions of gtkmm-2.4, such as gtkmm 2.10 and there will be several "
+"versions of the gtkmm-3.0 API. Note that the API name does not change for "
+"every version because that would be an incompatible API and ABI break. "
+"Theoretically, there might be a future gtkmm-4.0 API which would install in "
+"parallel with gtkmm-3.0 without affecting existing applications."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:374(para)
+#: C/gtkmm-tutorial-in.xml:376(para)
msgid ""
-"Note that if you mention extra modules in addition to gtkmm-2.4, they should "
+"Note that if you mention extra modules in addition to gtkmm-3.0, they should "
"be separated by spaces, not commas."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:376(para)
+#: C/gtkmm-tutorial-in.xml:378(para)
msgid ""
"Openismus has more <ulink url=\"http://www.openismus.com/documents/linux/"
"automake/automake.shtml\">basic help with automake and autoconf</ulink>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:383(title) C/gtkmm-tutorial-in.xml:5978(title)
+#: C/gtkmm-tutorial-in.xml:385(title) C/gtkmm-tutorial-in.xml:5970(title)
msgid "Widgets"
msgstr "Widgets"
-#: C/gtkmm-tutorial-in.xml:384(para)
+#: C/gtkmm-tutorial-in.xml:386(para)
msgid ""
"<application>gtkmm</application> applications consist of windows containing "
"widgets, such as buttons and text boxes. In some other systems, widgets are "
@@ -745,7 +756,7 @@ msgid ""
"of the widget's class to affect the visible widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:386(programlisting)
+#: C/gtkmm-tutorial-in.xml:388(programlisting)
#, no-wrap
msgid ""
"m_box.pack_start(m_Button1);\n"
@@ -754,12 +765,12 @@ msgstr ""
"m_box.pack_start(m_Button1);\n"
"m_box.pack_start(m_Button2);"
-#: C/gtkmm-tutorial-in.xml:389(programlisting)
+#: C/gtkmm-tutorial-in.xml:391(programlisting)
#, no-wrap
msgid "m_frame.add(m_box);"
msgstr "m_frame.add(m_box);"
-#: C/gtkmm-tutorial-in.xml:385(para)
+#: C/gtkmm-tutorial-in.xml:387(para)
msgid ""
"Widgets are arranged inside container widgets such as frames and notebooks, "
"in a hierarchy of widgets within widgets. Some of these container widgets, "
@@ -772,14 +783,14 @@ msgid ""
"<placeholder-2/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:391(para)
+#: C/gtkmm-tutorial-in.xml:393(para)
msgid ""
"Most of the chapters in this book deal with specific widgets. See the <link "
"linkend=\"chapter-container-widgets\">Container Widgets</link> section for "
"more details about adding widgets to container widgets."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:395(para)
+#: C/gtkmm-tutorial-in.xml:397(para)
msgid ""
"Although you can specify the layout and appearance of windows and widgets "
"with C++ code, you will probably find it more convenient to design your user "
@@ -788,7 +799,7 @@ msgid ""
"\">Glade and Gtk::Builder</link> chapter."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:398(para)
+#: C/gtkmm-tutorial-in.xml:400(para)
msgid ""
"Although <application>gtkmm</application> widget instances have lifetimes "
"and scopes just like those of other C++ classes, <application>gtkmm</"
@@ -801,13 +812,13 @@ msgid ""
"memory\">Memory Management chapter</link>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:404(title) C/gtkmm-tutorial-in.xml:703(title)
-#: C/gtkmm-tutorial-in.xml:4726(title) C/gtkmm-tutorial-in.xml:5021(title)
-#: C/gtkmm-tutorial-in.xml:7361(title)
+#: C/gtkmm-tutorial-in.xml:406(title) C/gtkmm-tutorial-in.xml:705(title)
+#: C/gtkmm-tutorial-in.xml:4729(title) C/gtkmm-tutorial-in.xml:5020(title)
+#: C/gtkmm-tutorial-in.xml:7353(title)
msgid "Signals"
msgstr "Señales"
-#: C/gtkmm-tutorial-in.xml:406(para)
+#: C/gtkmm-tutorial-in.xml:408(para)
msgid ""
"<application>gtkmm</application>, like most GUI toolkits, is <emphasis>event-"
"driven</emphasis>. When an event occurs, such as the press of a mouse "
@@ -817,7 +828,7 @@ msgid ""
"<emphasis>signal handler</emphasis> to catch the button's \"clicked\" signal."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:414(programlisting)
+#: C/gtkmm-tutorial-in.xml:416(programlisting)
#, no-wrap
msgid ""
"m_button1.signal_clicked().connect( sigc::mem_fun(*this,\n"
@@ -826,7 +837,7 @@ msgstr ""
"m_button1.signal_clicked().connect( sigc::mem_fun(*this,\n"
" &HelloWorld::on_button_clicked) );"
-#: C/gtkmm-tutorial-in.xml:413(para)
+#: C/gtkmm-tutorial-in.xml:415(para)
msgid ""
"<application>gtkmm</application> uses the libsigc++ library to implement "
"signals. Here is an example line of code that connects a Gtk::Button's "
@@ -834,24 +845,24 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:418(para)
+#: C/gtkmm-tutorial-in.xml:420(para)
msgid ""
"For more detailed information about signals, see the <link linkend=\"chapter-"
"signals\">appendix</link>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:419(para)
+#: C/gtkmm-tutorial-in.xml:421(para)
msgid ""
"For information about implementing your own signals rather than just "
"connecting to the existing <application>gtkmm</application> signals, see the "
"<link linkend=\"chapter-custom-signals\">appendix</link>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:425(title) C/gtkmm-tutorial-in.xml:8909(classname)
+#: C/gtkmm-tutorial-in.xml:427(title) C/gtkmm-tutorial-in.xml:8901(classname)
msgid "Glib::ustring"
msgstr "Glib::ustring"
-#: C/gtkmm-tutorial-in.xml:426(para)
+#: C/gtkmm-tutorial-in.xml:428(para)
msgid ""
"You might be surprised to learn that <application>gtkmm</application> "
"doesn't use <classname>std::string</classname> in it its interfaces. Instead "
@@ -861,7 +872,7 @@ msgid ""
"read on if you want to use languages other than English in your application."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:427(para)
+#: C/gtkmm-tutorial-in.xml:429(para)
msgid ""
"std::string uses 8 bit per character, but 8 bits aren't enough to encode "
"languages such as Arabic, Chinese, and Japanese. Although the encodings for "
@@ -872,7 +883,7 @@ msgid ""
"along with automatic conversions to and from std::string."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:428(para)
+#: C/gtkmm-tutorial-in.xml:430(para)
msgid ""
"One of the benefits of UTF-8 is that you don't need to use it unless you "
"want to, so you don't need to retrofit all of your code at once. "
@@ -883,7 +894,7 @@ msgid ""
"instead."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:429(para)
+#: C/gtkmm-tutorial-in.xml:431(para)
msgid ""
"Note that UTF-8 isn't compatible with 8-bit encodings like ISO-8859-1. For "
"instance, German umlauts are not in the ASCII range and need more than 1 "
@@ -892,7 +903,7 @@ msgid ""
"would be \"Gr\\xC3\\xBC\\xC3\\x9F Gott\")."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:430(para)
+#: C/gtkmm-tutorial-in.xml:432(para)
msgid ""
"You should avoid C-style pointer arithmetic, and functions such as strlen(). "
"In UTF-8, each character might need anywhere from 1 to 6 bytes, so it's not "
@@ -902,50 +913,50 @@ msgid ""
"characters instead of bytes."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:432(para)
+#: C/gtkmm-tutorial-in.xml:434(para)
msgid ""
"Unlike the Windows UCS-2 Unicode solution, this does not require any special "
"compiler options to process string literals, and it does not result in "
"Unicode executables and libraries which are incompatible with ASCII ones."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:434(ulink) C/gtkmm-tutorial-in.xml:683(ulink)
-#: C/gtkmm-tutorial-in.xml:781(ulink) C/gtkmm-tutorial-in.xml:796(ulink)
-#: C/gtkmm-tutorial-in.xml:899(ulink) C/gtkmm-tutorial-in.xml:953(ulink)
-#: C/gtkmm-tutorial-in.xml:971(ulink) C/gtkmm-tutorial-in.xml:1017(ulink)
-#: C/gtkmm-tutorial-in.xml:1119(ulink) C/gtkmm-tutorial-in.xml:1174(ulink)
-#: C/gtkmm-tutorial-in.xml:1220(ulink) C/gtkmm-tutorial-in.xml:1420(ulink)
-#: C/gtkmm-tutorial-in.xml:1468(ulink) C/gtkmm-tutorial-in.xml:1516(ulink)
-#: C/gtkmm-tutorial-in.xml:1604(ulink) C/gtkmm-tutorial-in.xml:1645(ulink)
-#: C/gtkmm-tutorial-in.xml:1686(ulink) C/gtkmm-tutorial-in.xml:1719(ulink)
-#: C/gtkmm-tutorial-in.xml:1759(ulink) C/gtkmm-tutorial-in.xml:2005(ulink)
-#: C/gtkmm-tutorial-in.xml:2072(ulink) C/gtkmm-tutorial-in.xml:2266(ulink)
-#: C/gtkmm-tutorial-in.xml:2321(ulink) C/gtkmm-tutorial-in.xml:2361(ulink)
-#: C/gtkmm-tutorial-in.xml:2408(ulink) C/gtkmm-tutorial-in.xml:2424(ulink)
-#: C/gtkmm-tutorial-in.xml:2442(ulink) C/gtkmm-tutorial-in.xml:2550(ulink)
-#: C/gtkmm-tutorial-in.xml:3069(ulink) C/gtkmm-tutorial-in.xml:3222(ulink)
-#: C/gtkmm-tutorial-in.xml:3250(ulink) C/gtkmm-tutorial-in.xml:3279(ulink)
-#: C/gtkmm-tutorial-in.xml:3331(ulink) C/gtkmm-tutorial-in.xml:3351(ulink)
-#: C/gtkmm-tutorial-in.xml:3399(ulink) C/gtkmm-tutorial-in.xml:3898(ulink)
-#: C/gtkmm-tutorial-in.xml:3955(ulink) C/gtkmm-tutorial-in.xml:3966(ulink)
-#: C/gtkmm-tutorial-in.xml:3993(ulink) C/gtkmm-tutorial-in.xml:4015(ulink)
-#: C/gtkmm-tutorial-in.xml:4038(ulink) C/gtkmm-tutorial-in.xml:4836(ulink)
-#: C/gtkmm-tutorial-in.xml:5111(ulink) C/gtkmm-tutorial-in.xml:5143(ulink)
-#: C/gtkmm-tutorial-in.xml:7229(ulink)
+#: C/gtkmm-tutorial-in.xml:436(ulink) C/gtkmm-tutorial-in.xml:685(ulink)
+#: C/gtkmm-tutorial-in.xml:783(ulink) C/gtkmm-tutorial-in.xml:798(ulink)
+#: C/gtkmm-tutorial-in.xml:901(ulink) C/gtkmm-tutorial-in.xml:955(ulink)
+#: C/gtkmm-tutorial-in.xml:973(ulink) C/gtkmm-tutorial-in.xml:1019(ulink)
+#: C/gtkmm-tutorial-in.xml:1121(ulink) C/gtkmm-tutorial-in.xml:1176(ulink)
+#: C/gtkmm-tutorial-in.xml:1222(ulink) C/gtkmm-tutorial-in.xml:1422(ulink)
+#: C/gtkmm-tutorial-in.xml:1470(ulink) C/gtkmm-tutorial-in.xml:1518(ulink)
+#: C/gtkmm-tutorial-in.xml:1606(ulink) C/gtkmm-tutorial-in.xml:1647(ulink)
+#: C/gtkmm-tutorial-in.xml:1688(ulink) C/gtkmm-tutorial-in.xml:1721(ulink)
+#: C/gtkmm-tutorial-in.xml:1761(ulink) C/gtkmm-tutorial-in.xml:2007(ulink)
+#: C/gtkmm-tutorial-in.xml:2074(ulink) C/gtkmm-tutorial-in.xml:2111(ulink)
+#: C/gtkmm-tutorial-in.xml:2269(ulink) C/gtkmm-tutorial-in.xml:2324(ulink)
+#: C/gtkmm-tutorial-in.xml:2364(ulink) C/gtkmm-tutorial-in.xml:2411(ulink)
+#: C/gtkmm-tutorial-in.xml:2427(ulink) C/gtkmm-tutorial-in.xml:2445(ulink)
+#: C/gtkmm-tutorial-in.xml:2553(ulink) C/gtkmm-tutorial-in.xml:3072(ulink)
+#: C/gtkmm-tutorial-in.xml:3225(ulink) C/gtkmm-tutorial-in.xml:3253(ulink)
+#: C/gtkmm-tutorial-in.xml:3282(ulink) C/gtkmm-tutorial-in.xml:3334(ulink)
+#: C/gtkmm-tutorial-in.xml:3354(ulink) C/gtkmm-tutorial-in.xml:3402(ulink)
+#: C/gtkmm-tutorial-in.xml:3901(ulink) C/gtkmm-tutorial-in.xml:3958(ulink)
+#: C/gtkmm-tutorial-in.xml:3969(ulink) C/gtkmm-tutorial-in.xml:3996(ulink)
+#: C/gtkmm-tutorial-in.xml:4018(ulink) C/gtkmm-tutorial-in.xml:4041(ulink)
+#: C/gtkmm-tutorial-in.xml:4839(ulink) C/gtkmm-tutorial-in.xml:5110(ulink)
+#: C/gtkmm-tutorial-in.xml:5142(ulink) C/gtkmm-tutorial-in.xml:7221(ulink)
msgid "Reference"
msgstr "Referencia"
-#: C/gtkmm-tutorial-in.xml:436(para)
+#: C/gtkmm-tutorial-in.xml:438(para)
msgid ""
"See the <link linkend=\"chapter-internationalization\">Internationalization</"
"link> section for information about providing the UTF-8 string literals."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:441(title)
+#: C/gtkmm-tutorial-in.xml:443(title)
msgid "Intermediate types"
-msgstr ""
+msgstr "Tipos intermedios"
-#: C/gtkmm-tutorial-in.xml:444(para)
+#: C/gtkmm-tutorial-in.xml:446(para)
msgid ""
"<classname>Glib::StringArrayHandle</classname> or <classname>Glib::"
"ArrayHandle<Glib::ustring></classname>: Use <classname>std::vector<"
@@ -953,21 +964,21 @@ msgid ""
"classname>, <type>const char*[]</type>, etc."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:445(para)
+#: C/gtkmm-tutorial-in.xml:447(para)
msgid ""
"<classname>Glib::ListHandle<Gtk::Widget*></classname>: Use "
"<classname>std::vector<Gtk::Widget*></classname>, <classname>std::"
"list<Gtk::Widget*></classname>, etc."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:446(para)
+#: C/gtkmm-tutorial-in.xml:448(para)
msgid ""
"<classname>Glib::SListHandle<Gtk::Widget*></classname>: Use "
"<classname>std::vector<Gtk::Widget*></classname>, <classname>std::"
"list<Gtk::Widget*></classname>, etc."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:442(para)
+#: C/gtkmm-tutorial-in.xml:444(para)
msgid ""
"Some parts of the <application>gtkmm</application> API use intermediate data "
"containers, such as <classname>Glib::StringArrayHandle</classname> instead "
@@ -978,11 +989,11 @@ msgid ""
"Here are some of these intermediate types: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:454(title)
+#: C/gtkmm-tutorial-in.xml:456(title)
msgid "Mixing C and C++ APIs"
msgstr "Mezclando las API de C y C++"
-#: C/gtkmm-tutorial-in.xml:455(para)
+#: C/gtkmm-tutorial-in.xml:457(para)
msgid ""
"You can use C APIs which do not yet have convenient C++ interfaces. It is "
"generally not a problem to use C APIs from C++, and <application>gtkmm</"
@@ -991,14 +1002,14 @@ msgid ""
"provided that the C API is also based on the GObject system."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:457(para)
+#: C/gtkmm-tutorial-in.xml:459(para)
msgid ""
"To use a <application>gtkmm</application> instance with a C function that "
"requires a C GObject instance, use the <function>gobj()</function> function "
"to obtain a pointer to the underlying GObject instance. For instance"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:460(programlisting)
+#: C/gtkmm-tutorial-in.xml:462(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -1009,13 +1020,13 @@ msgstr ""
"Gtk::Button* button = new Gtk::Button(\"example\");\n"
"gtk_button_do_something_new(button->gobj());\n"
-#: C/gtkmm-tutorial-in.xml:466(para)
+#: C/gtkmm-tutorial-in.xml:468(para)
msgid ""
"To obtain a <application>gtkmm</application> instance from a C GObject "
"instance, use the Glib::wrap() function. For instance"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:468(programlisting)
+#: C/gtkmm-tutorial-in.xml:470(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -1026,34 +1037,34 @@ msgstr ""
"GtkButton* cbutton = get_a_button();\n"
"Gtk::Button* button = Glib::wrap(cbutton);\n"
-#: C/gtkmm-tutorial-in.xml:476(title)
+#: C/gtkmm-tutorial-in.xml:478(title)
msgid "Hello World in <application>gtkmm</application>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:478(para)
+#: C/gtkmm-tutorial-in.xml:480(para)
msgid ""
"We've now learned enough to look at a real example. In accordance with an "
"ancient tradition of computer science, we now introduce Hello World, a la "
"<application>gtkmm</application>:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:485(para)
+#: C/gtkmm-tutorial-in.xml:487(para)
msgid ""
"Try to compile and run it before going on. You should see something like "
"this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:490(title)
+#: C/gtkmm-tutorial-in.xml:492(title)
msgid "Hello World"
msgstr "Hola mundo"
-#: C/gtkmm-tutorial-in.xml:496(para)
+#: C/gtkmm-tutorial-in.xml:498(para)
msgid ""
"Pretty thrilling, eh? Let's examine the code. First, the "
"<classname>HelloWorld</classname> class:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:501(programlisting)
+#: C/gtkmm-tutorial-in.xml:503(programlisting)
#, no-wrap
msgid ""
"class HelloWorld : public Gtk::Window\n"
@@ -1086,7 +1097,7 @@ msgstr ""
" Gtk::Button m_button;\n"
"};"
-#: C/gtkmm-tutorial-in.xml:516(para)
+#: C/gtkmm-tutorial-in.xml:518(para)
msgid ""
"This class implements the \"Hello World\" window. It's derived from "
"<classname>Gtk::Window</classname>, and has a single <classname>Gtk::Button</"
@@ -1095,7 +1106,7 @@ msgid ""
"it is, with the comments omitted:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:525(programlisting)
+#: C/gtkmm-tutorial-in.xml:527(programlisting)
#, no-wrap
msgid ""
"HelloWorld::HelloWorld()\n"
@@ -1109,28 +1120,38 @@ msgid ""
" m_button.show();\n"
"}"
msgstr ""
+"HolaMundo::HolaMundo()\n"
+":\n"
+" m_button (\"Hola mundo\")\n"
+"{\n"
+" set_border_width(10);\n"
+" m_button.signal_clicked().connect(sigc::mem_fun(*this,\n"
+" &HolaMundo::on_button_clicked));\n"
+" add(m_button);.\n"
+" m_button.show();\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:536(para)
+#: C/gtkmm-tutorial-in.xml:538(para)
msgid ""
"Notice that we've used an initialiser statement to give the "
"<literal>m_button</literal> object the label \"Hello World\"."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:541(para)
+#: C/gtkmm-tutorial-in.xml:543(para)
msgid ""
"Next we call the Window's <methodname>set_border_width()</methodname> "
"method. This sets the amount of space between the sides of the window and "
"the widget it contains."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:547(para)
+#: C/gtkmm-tutorial-in.xml:549(para)
msgid ""
"We then hook up a signal handler to <literal>m_button</literal>'s "
"<literal>clicked</literal> signal. This prints our friendly greeting to "
"<literal>stdout</literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:552(para)
+#: C/gtkmm-tutorial-in.xml:554(para)
msgid ""
"Next, we use the Window's <methodname>add()</methodname> method to put "
"<literal>m_button</literal> in the Window. (<methodname>add()</methodname> "
@@ -1142,13 +1163,13 @@ msgid ""
"methodname> method, which is what we do in the next line."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:562(para)
+#: C/gtkmm-tutorial-in.xml:564(para)
msgid ""
"Now let's look at our program's <function>main()</function> function. Here "
"it is, without comments:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:567(programlisting)
+#: C/gtkmm-tutorial-in.xml:569(programlisting)
#, no-wrap
msgid ""
"int main(int argc, char** argv)\n"
@@ -1171,7 +1192,7 @@ msgstr ""
" return 0;\n"
"}"
-#: C/gtkmm-tutorial-in.xml:577(para)
+#: C/gtkmm-tutorial-in.xml:579(para)
msgid ""
"First we instantiate an object called <literal>kit</literal>. This is of "
"type <classname>Gtk::Main</classname>. Every <application>gtkmm</"
@@ -1180,7 +1201,7 @@ msgid ""
"you the rest, as we described earlier."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:584(para)
+#: C/gtkmm-tutorial-in.xml:586(para)
msgid ""
"Next we make an object of our <classname>HelloWorld</classname> class, whose "
"constructor takes no arguments, but it isn't visible yet. When we call Gtk::"
@@ -1192,19 +1213,19 @@ msgid ""
"to executed. The application will then finish."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:594(title)
+#: C/gtkmm-tutorial-in.xml:596(title)
msgid "Buttons"
msgstr "Botones"
-#: C/gtkmm-tutorial-in.xml:596(para)
+#: C/gtkmm-tutorial-in.xml:598(para)
msgid "<application>gtkmm</application> provides four basic types of buttons:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:603(term)
+#: C/gtkmm-tutorial-in.xml:605(term)
msgid "Push-Buttons"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:605(para)
+#: C/gtkmm-tutorial-in.xml:607(para)
msgid ""
"<ulink url=\"http://library.gnome.org/devel/gtkmm/unstable/"
"classGtk_1_1Button.html\"><classname>Gtk::Button</classname></ulink>. "
@@ -1213,11 +1234,11 @@ msgid ""
"section."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:612(term)
+#: C/gtkmm-tutorial-in.xml:614(term)
msgid "Toggle buttons"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:614(para)
+#: C/gtkmm-tutorial-in.xml:616(para)
msgid ""
"<ulink url=\"http://library.gnome.org/devel/gtkmm/unstable/"
"classGtk_1_1ToggleButton.html\"><classname>Gtk::ToggleButton</classname></"
@@ -1226,11 +1247,11 @@ msgid ""
"the <link linkend=\"sec-toggle-buttons\">ToggleButton</link> section."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:622(term)
+#: C/gtkmm-tutorial-in.xml:624(term)
msgid "Checkboxes"
msgstr "Casillas de verificación"
-#: C/gtkmm-tutorial-in.xml:624(para)
+#: C/gtkmm-tutorial-in.xml:626(para)
msgid ""
"<ulink url=\"http://library.gnome.org/devel/gtkmm/unstable/"
"classGtk_1_1CheckButton.html\"><classname>Gtk::CheckButton</classname></"
@@ -1240,11 +1261,11 @@ msgid ""
"\">CheckBox</link> section."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:634(term)
+#: C/gtkmm-tutorial-in.xml:636(term)
msgid "Radio buttons"
msgstr "Botones de radio"
-#: C/gtkmm-tutorial-in.xml:636(para)
+#: C/gtkmm-tutorial-in.xml:638(para)
msgid ""
"<ulink url=\"http://library.gnome.org/devel/gtkmm/unstable/"
"classGtk_1_1RadioButton.html\"><classname>Gtk::RadioButton</classname></"
@@ -1256,46 +1277,46 @@ msgid ""
"section."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:650(para)
+#: C/gtkmm-tutorial-in.xml:652(para)
msgid ""
"Note that, due to GTK+'s theming system, the appearance of these widgets "
"will vary. In the case of checkboxes and radio buttons, they may vary "
"considerably."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:657(title)
+#: C/gtkmm-tutorial-in.xml:659(title)
msgid "Button"
msgstr "Botón"
-#: C/gtkmm-tutorial-in.xml:659(title)
+#: C/gtkmm-tutorial-in.xml:661(title)
msgid "Constructors"
msgstr "Constructores"
-#: C/gtkmm-tutorial-in.xml:661(para)
+#: C/gtkmm-tutorial-in.xml:663(para)
msgid ""
"There are two ways to create a Button. You can specify a label string in the "
"<classname>Gtk::Button</classname> constructor, or set it later with "
"<methodname>set_label()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:667(para)
+#: C/gtkmm-tutorial-in.xml:669(para)
msgid ""
"To define an accelerator key for keyboard navigation, place an underscore "
"before one of the label's characters and specify <literal>true</literal> for "
"the optional <literal>mnemonic</literal> parameter. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:669(programlisting)
+#: C/gtkmm-tutorial-in.xml:671(programlisting)
#, no-wrap
msgid "Gtk::Button* pButton = new Gtk::Button(\"_Something\", true);"
-msgstr ""
+msgstr "Gtk::Button* pButton = new Gtk::Button(\"_Algo\", true);"
-#: C/gtkmm-tutorial-in.xml:673(programlisting)
+#: C/gtkmm-tutorial-in.xml:675(programlisting)
#, no-wrap
msgid "Gtk::Button* pButton = new Gtk::Button(Gtk::Stock::OK);"
-msgstr ""
+msgstr "Gtk::Button* pButton = new Gtk::Button(Gtk::Stock::OK);"
-#: C/gtkmm-tutorial-in.xml:671(para)
+#: C/gtkmm-tutorial-in.xml:673(para)
msgid ""
"Wherever possible you should use Stock items, to ensure consistency with "
"other applications, and to improve the appearance of your applications by "
@@ -1303,99 +1324,99 @@ msgid ""
"all languages, with standard keyboard accelerators, with a standard icon."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:677(para)
+#: C/gtkmm-tutorial-in.xml:679(para)
msgid ""
"<classname>Gtk::Button</classname> is also a container so you could put any "
"other widget, such as a <classname>Gtk::Image</classname> into it."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:686(title) C/gtkmm-tutorial-in.xml:798(title)
-#: C/gtkmm-tutorial-in.xml:903(title) C/gtkmm-tutorial-in.xml:1064(title)
-#: C/gtkmm-tutorial-in.xml:1121(title) C/gtkmm-tutorial-in.xml:1424(title)
-#: C/gtkmm-tutorial-in.xml:1494(title) C/gtkmm-tutorial-in.xml:1518(title)
-#: C/gtkmm-tutorial-in.xml:1549(title) C/gtkmm-tutorial-in.xml:1606(title)
-#: C/gtkmm-tutorial-in.xml:1647(title) C/gtkmm-tutorial-in.xml:1688(title)
-#: C/gtkmm-tutorial-in.xml:1722(title) C/gtkmm-tutorial-in.xml:1762(title)
-#: C/gtkmm-tutorial-in.xml:2037(title) C/gtkmm-tutorial-in.xml:2075(title)
-#: C/gtkmm-tutorial-in.xml:2110(title) C/gtkmm-tutorial-in.xml:2270(title)
-#: C/gtkmm-tutorial-in.xml:2323(title) C/gtkmm-tutorial-in.xml:2363(title)
-#: C/gtkmm-tutorial-in.xml:3901(title) C/gtkmm-tutorial-in.xml:3969(title)
-#: C/gtkmm-tutorial-in.xml:3996(title) C/gtkmm-tutorial-in.xml:4018(title)
-#: C/gtkmm-tutorial-in.xml:4041(title) C/gtkmm-tutorial-in.xml:4208(title)
-#: C/gtkmm-tutorial-in.xml:4331(title) C/gtkmm-tutorial-in.xml:4411(title)
-#: C/gtkmm-tutorial-in.xml:4798(title) C/gtkmm-tutorial-in.xml:5347(title)
-#: C/gtkmm-tutorial-in.xml:6300(title) C/gtkmm-tutorial-in.xml:6369(title)
-#: C/gtkmm-tutorial-in.xml:7006(title) C/gtkmm-tutorial-in.xml:7065(title)
-#: C/gtkmm-tutorial-in.xml:7819(title)
+#: C/gtkmm-tutorial-in.xml:688(title) C/gtkmm-tutorial-in.xml:800(title)
+#: C/gtkmm-tutorial-in.xml:905(title) C/gtkmm-tutorial-in.xml:1066(title)
+#: C/gtkmm-tutorial-in.xml:1123(title) C/gtkmm-tutorial-in.xml:1426(title)
+#: C/gtkmm-tutorial-in.xml:1496(title) C/gtkmm-tutorial-in.xml:1520(title)
+#: C/gtkmm-tutorial-in.xml:1551(title) C/gtkmm-tutorial-in.xml:1608(title)
+#: C/gtkmm-tutorial-in.xml:1649(title) C/gtkmm-tutorial-in.xml:1690(title)
+#: C/gtkmm-tutorial-in.xml:1724(title) C/gtkmm-tutorial-in.xml:1764(title)
+#: C/gtkmm-tutorial-in.xml:2039(title) C/gtkmm-tutorial-in.xml:2077(title)
+#: C/gtkmm-tutorial-in.xml:2113(title) C/gtkmm-tutorial-in.xml:2273(title)
+#: C/gtkmm-tutorial-in.xml:2326(title) C/gtkmm-tutorial-in.xml:2366(title)
+#: C/gtkmm-tutorial-in.xml:3904(title) C/gtkmm-tutorial-in.xml:3972(title)
+#: C/gtkmm-tutorial-in.xml:3999(title) C/gtkmm-tutorial-in.xml:4021(title)
+#: C/gtkmm-tutorial-in.xml:4044(title) C/gtkmm-tutorial-in.xml:4211(title)
+#: C/gtkmm-tutorial-in.xml:4334(title) C/gtkmm-tutorial-in.xml:4414(title)
+#: C/gtkmm-tutorial-in.xml:4801(title) C/gtkmm-tutorial-in.xml:5346(title)
+#: C/gtkmm-tutorial-in.xml:6292(title) C/gtkmm-tutorial-in.xml:6361(title)
+#: C/gtkmm-tutorial-in.xml:6998(title) C/gtkmm-tutorial-in.xml:7057(title)
+#: C/gtkmm-tutorial-in.xml:7811(title)
msgid "Example"
msgstr "Ejemplo"
-#: C/gtkmm-tutorial-in.xml:688(para)
+#: C/gtkmm-tutorial-in.xml:690(para)
msgid "This example creates a button with a picture and a label."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:693(title)
+#: C/gtkmm-tutorial-in.xml:695(title)
msgid "buttons example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:705(para)
+#: C/gtkmm-tutorial-in.xml:707(para)
msgid ""
"The <classname>Gtk::Button</classname> widget has the following signals, but "
"most of the time you will just handle the <literal>clicked</literal> signal:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:713(literal)
+#: C/gtkmm-tutorial-in.xml:715(literal)
msgid "pressed"
msgstr "pulsado"
-#: C/gtkmm-tutorial-in.xml:715(para)
+#: C/gtkmm-tutorial-in.xml:717(para)
msgid "Emitted when the button is pressed."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:721(literal)
+#: C/gtkmm-tutorial-in.xml:723(literal)
msgid "released"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:723(para)
+#: C/gtkmm-tutorial-in.xml:725(para)
msgid "Emitted when the button is released."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:729(literal)
+#: C/gtkmm-tutorial-in.xml:731(literal)
msgid "clicked"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:731(para)
+#: C/gtkmm-tutorial-in.xml:733(para)
msgid "Emitted when the button is pressed and released."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:737(literal)
+#: C/gtkmm-tutorial-in.xml:739(literal)
msgid "enter"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:739(para)
+#: C/gtkmm-tutorial-in.xml:741(para)
msgid "Emitted when the mouse pointer moves over the button's window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:745(literal)
+#: C/gtkmm-tutorial-in.xml:747(literal)
msgid "leave"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:747(para)
+#: C/gtkmm-tutorial-in.xml:749(para)
msgid "Emitted when the mouse pointer leaves the button's window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:759(title)
+#: C/gtkmm-tutorial-in.xml:761(title)
msgid "ToggleButton"
msgstr "Botón Conmutable"
-#: C/gtkmm-tutorial-in.xml:761(para)
+#: C/gtkmm-tutorial-in.xml:763(para)
msgid ""
"<classname>ToggleButton</classname>s are like normal <classname>Button</"
"classname>s, but when clicked they remain activated, or pressed, until "
"clicked again."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:763(para)
+#: C/gtkmm-tutorial-in.xml:765(para)
msgid ""
"To retrieve the state of the <classname>ToggleButton</classname>, you can "
"use the <methodname>get_active()</methodname> method. This returns "
@@ -1405,25 +1426,25 @@ msgid ""
"\" signal to be emitted. This is usually what you want."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:770(para)
+#: C/gtkmm-tutorial-in.xml:772(para)
msgid ""
"You can use the <methodname>toggled()</methodname> method to toggle the "
"button, rather than forcing it to be up or down: This switches the button's "
"state, and causes the <literal>toggled</literal> signal to be emitted."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:775(para)
+#: C/gtkmm-tutorial-in.xml:777(para)
msgid ""
"<classname>Gtk::ToggleButton</classname> is most useful as a base class for "
"the <classname>Gtk::CheckButton</classname> and <classname>Gtk::RadioButton</"
"classname> classes."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:786(title) C/gtkmm-tutorial-in.xml:801(title)
+#: C/gtkmm-tutorial-in.xml:788(title) C/gtkmm-tutorial-in.xml:803(title)
msgid "CheckButton"
-msgstr ""
+msgstr "CheckButton"
-#: C/gtkmm-tutorial-in.xml:788(para)
+#: C/gtkmm-tutorial-in.xml:790(para)
msgid ""
"<classname>Gtk::CheckButton</classname> inherits from <classname>Gtk::"
"ToggleButton</classname>. The only real difference between the two is "
@@ -1432,22 +1453,22 @@ msgid ""
"ToggleButton</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:813(title) C/gtkmm-tutorial-in.xml:910(title)
+#: C/gtkmm-tutorial-in.xml:815(title) C/gtkmm-tutorial-in.xml:912(title)
msgid "RadioButton"
msgstr "Botón de radio"
-#: C/gtkmm-tutorial-in.xml:815(para)
+#: C/gtkmm-tutorial-in.xml:817(para)
msgid ""
"Like checkboxes, radio buttons also inherit from <classname>Gtk::"
"ToggleButton</classname>, but these work in groups, and only one RadioButton "
"in a group can be selected at any one time."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:821(title)
+#: C/gtkmm-tutorial-in.xml:823(title)
msgid "Groups"
msgstr "Grupos"
-#: C/gtkmm-tutorial-in.xml:822(para)
+#: C/gtkmm-tutorial-in.xml:824(para)
msgid ""
"There are two ways to set up a group of radio buttons. The first way is to "
"create the buttons, and set up their groups afterwards. Only the first two "
@@ -1456,7 +1477,7 @@ msgid ""
"in it:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:830(programlisting)
+#: C/gtkmm-tutorial-in.xml:832(programlisting)
#, no-wrap
msgid ""
"class RadioButtons : public Gtk::Window\n"
@@ -1497,7 +1518,7 @@ msgstr ""
" m_rb3.set_group(group);\n"
"}"
-#: C/gtkmm-tutorial-in.xml:848(para)
+#: C/gtkmm-tutorial-in.xml:850(para)
msgid ""
"We told <application>gtkmm</application> to put all three "
"<classname>RadioButton</classname>s in the same group by obtaining the group "
@@ -1506,24 +1527,24 @@ msgid ""
"that group."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:857(programlisting)
+#: C/gtkmm-tutorial-in.xml:859(programlisting)
#, no-wrap
msgid "m_rb2.set_group(m_rb1.get_group()); //doesn't work"
-msgstr ""
+msgstr "m_rb2.set_group(m_rb1.get_group()); //no funciona"
-#: C/gtkmm-tutorial-in.xml:855(para)
+#: C/gtkmm-tutorial-in.xml:857(para)
msgid ""
"Note that you can't just do <placeholder-1/> because the group is modified "
"by <methodname>set_group()</methodname> and therefore non-const."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:863(para)
+#: C/gtkmm-tutorial-in.xml:865(para)
msgid ""
"The second way to set up radio buttons is to make a group first, and then "
"add radio buttons to it. Here's an example:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:867(programlisting)
+#: C/gtkmm-tutorial-in.xml:869(programlisting)
#, no-wrap
msgid ""
"class RadioButtons : public Gtk::Window\n"
@@ -1543,8 +1564,24 @@ msgid ""
" new Gtk::RadioButton(group,\"button3\"));\n"
"}"
msgstr ""
+"class RadioButtons : public Gtk::Window\n"
+"{\n"
+"public:\n"
+" RadioButtons();\n"
+"};\n"
+"\n"
+"RadioButtons::RadioButtons()\n"
+"{\n"
+" Gtk::RadioButton::Group group;\n"
+" Gtk::RadioButton *m_rb1 = Gtk::manage(\n"
+" new Gtk::RadioButton(group,\"boton1\"));\n"
+" Gtk::RadioButton *m_rb2 = manage(\n"
+" new Gtk::RadioButton(group,\"boton2\"));\n"
+" Gtk::RadioButton *m_rb3 = manage(\n"
+" new Gtk::RadioButton(group,\"boton3\"));\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:884(para)
+#: C/gtkmm-tutorial-in.xml:886(para)
msgid ""
"We made a new group by simply declaring a variable, <literal>group</"
"literal>, of type <classname>Gtk::RadioButton::Group</classname>. Then we "
@@ -1552,29 +1589,29 @@ msgid ""
"<literal>group</literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:892(title) C/gtkmm-tutorial-in.xml:1374(title)
-#: C/gtkmm-tutorial-in.xml:4669(title)
+#: C/gtkmm-tutorial-in.xml:894(title) C/gtkmm-tutorial-in.xml:1376(title)
+#: C/gtkmm-tutorial-in.xml:4672(title)
msgid "Methods"
msgstr "Métodos"
-#: C/gtkmm-tutorial-in.xml:893(para)
+#: C/gtkmm-tutorial-in.xml:895(para)
msgid ""
"<classname>RadioButtons</classname> are \"off\" when created; this means "
"that when you first make a group of them, they will all be off. Don't forget "
"to turn one of them on using <methodname>set_active()</methodname>:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:904(para)
+#: C/gtkmm-tutorial-in.xml:906(para)
msgid ""
"The following example demonstrates the use of <classname>RadioButton</"
"classname>s:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:926(title) C/gtkmm-tutorial-in.xml:1075(title)
+#: C/gtkmm-tutorial-in.xml:928(title) C/gtkmm-tutorial-in.xml:1077(title)
msgid "Range Widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:928(para)
+#: C/gtkmm-tutorial-in.xml:930(para)
msgid ""
"<classname>Gtk::Scale</classname> and <classname>Gtk::Scrollbar</classname> "
"both inherit from <classname>Gtk::Range</classname> and share much "
@@ -1586,7 +1623,7 @@ msgid ""
"familiar scrollbar behaviour."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:939(para)
+#: C/gtkmm-tutorial-in.xml:941(para)
msgid ""
"As will be explained in the <link linkend=\"chapter-adjustment\">Adjustment</"
"link> section, all Range widgets are associated with a "
@@ -1601,11 +1638,11 @@ msgid ""
"further details."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:956(title)
+#: C/gtkmm-tutorial-in.xml:958(title)
msgid "Scrollbar Widgets"
msgstr "Widgets de barras de desplazamiento"
-#: C/gtkmm-tutorial-in.xml:958(para)
+#: C/gtkmm-tutorial-in.xml:960(para)
msgid ""
"These are standard scrollbars. They should be used only to scroll another "
"widget, such as, a <classname>Gtk::Entry</classname>, or a <classname>Gtk::"
@@ -1613,17 +1650,17 @@ msgid ""
"ScrolledWindow</classname> widget in most cases."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:965(para)
+#: C/gtkmm-tutorial-in.xml:967(para)
msgid ""
"There are horizontal and vertical scrollbar classes - <classname>Gtk::"
"HScrollbar</classname> and <classname>Gtk::VScrollbar</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:976(title)
+#: C/gtkmm-tutorial-in.xml:978(title)
msgid "Scale Widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:978(para)
+#: C/gtkmm-tutorial-in.xml:980(para)
msgid ""
"<classname>Gtk::Scale</classname> widgets (or \"sliders\") allow the user to "
"visually select and manipulate a value within a specific range. You might "
@@ -1632,7 +1669,7 @@ msgid ""
"number of minutes of inactivity before a screensaver takes over the screen."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:987(para)
+#: C/gtkmm-tutorial-in.xml:989(para)
msgid ""
"As with <classname>Scrollbar</classname>s, there are separate widget types "
"for horizontal and vertical widgets - <classname>Gtk::HScale</classname> and "
@@ -1642,18 +1679,18 @@ msgid ""
"<classname>Adjustment</classname> details to get meaningful behaviour."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:997(title)
+#: C/gtkmm-tutorial-in.xml:999(title)
msgid "Useful methods"
msgstr "Métodos útiles"
-#: C/gtkmm-tutorial-in.xml:999(para)
+#: C/gtkmm-tutorial-in.xml:1001(para)
msgid ""
"<classname>Scale</classname> widgets can display their current value as a "
"number next to the trough. By default they show the value, but you can "
"change this with the <methodname>set_draw_value()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1005(para)
+#: C/gtkmm-tutorial-in.xml:1007(para)
msgid ""
"The value displayed by a scale widget is rounded to one decimal point by "
"default, as is the <literal>value</literal> field in its <classname>Gtk::"
@@ -1661,38 +1698,38 @@ msgid ""
"</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1012(para)
+#: C/gtkmm-tutorial-in.xml:1014(para)
msgid ""
"Also, the value can be drawn in different positions relative to the trough, "
"specified by the <methodname>set_value_pos()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1023(title)
+#: C/gtkmm-tutorial-in.xml:1025(title)
msgid "Update Policies"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1035(para)
+#: C/gtkmm-tutorial-in.xml:1037(para)
msgid ""
"<literal>Gtk::UPDATE_CONTINUOUS</literal> - This is the default. The "
"<literal>value_changed</literal> signal is emitted continuously, i.e. "
"whenever the slider is moved by even the tiniest amount."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1043(para)
+#: C/gtkmm-tutorial-in.xml:1045(para)
msgid ""
"<literal>Gtk::UPDATE_DISCONTINUOUS</literal> - The <literal>value_changed</"
"literal> signal is only emitted once the slider has stopped moving and the "
"user has released the mouse button."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1051(para)
+#: C/gtkmm-tutorial-in.xml:1053(para)
msgid ""
"<literal>Gtk::UPDATE_DELAYED</literal> - The <literal>value_changed</"
"literal> signal is emitted when the user releases the mouse button, or if "
"the slider stops moving for a short period of time."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1025(para)
+#: C/gtkmm-tutorial-in.xml:1027(para)
msgid ""
"The <emphasis>update policy</emphasis> of a <classname>Range</classname> "
"widget defines at what points during user interaction it will change the "
@@ -1702,7 +1739,7 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1066(para)
+#: C/gtkmm-tutorial-in.xml:1068(para)
msgid ""
"This example displays a window with three range widgets all connected to the "
"same adjustment, along with a couple of controls for adjusting some of the "
@@ -1710,15 +1747,15 @@ msgid ""
"how they affect the way these widgets work for the user."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1088(title)
+#: C/gtkmm-tutorial-in.xml:1090(title)
msgid "Miscellaneous Widgets"
msgstr "Widgets de miscelánea"
-#: C/gtkmm-tutorial-in.xml:1091(title) C/gtkmm-tutorial-in.xml:1129(title)
+#: C/gtkmm-tutorial-in.xml:1093(title) C/gtkmm-tutorial-in.xml:1131(title)
msgid "Label"
msgstr "Etiqueta"
-#: C/gtkmm-tutorial-in.xml:1093(para)
+#: C/gtkmm-tutorial-in.xml:1095(para)
msgid ""
"Labels are the main method of placing non-editable text in windows, for "
"instance to place a title next to a <classname>Entry</classname> widget. You "
@@ -1726,20 +1763,20 @@ msgid ""
"<methodname>set_text()</methodname> or set_markup() methods."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1100(para)
+#: C/gtkmm-tutorial-in.xml:1102(para)
msgid ""
"The width of the label will be adjusted automatically. You can produce multi-"
"line labels by putting line breaks (\"\\n\") in the label string."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1104(para)
+#: C/gtkmm-tutorial-in.xml:1106(para)
msgid ""
"The label text can be justified using the <methodname>set_justify()</"
"methodname> method. The widget is also capable of word-wrapping, which can "
"be activated with <methodname>set_line_wrap()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1110(para)
+#: C/gtkmm-tutorial-in.xml:1112(para)
msgid ""
"Gtk::Label support some simple formatting, for instance allowing you to make "
"some text bold, colored, or larger. You can do this by providing a string to "
@@ -1749,43 +1786,43 @@ msgid ""
"strikethrough text</s> </code> ."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1122(para)
+#: C/gtkmm-tutorial-in.xml:1124(para)
msgid ""
"Below is a short example to illustrate these functions. This example makes "
"use of the Frame widget to better demonstrate the label styles. (The Frame "
"widget is explained in the <link linkend=\"sec-frame\">Frame</link> section.)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1142(title) C/gtkmm-tutorial-in.xml:1184(title)
+#: C/gtkmm-tutorial-in.xml:1144(title) C/gtkmm-tutorial-in.xml:1186(title)
msgid "Entry"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1145(title)
+#: C/gtkmm-tutorial-in.xml:1147(title)
msgid "Simple Use"
msgstr "Uso simple"
-#: C/gtkmm-tutorial-in.xml:1147(para)
+#: C/gtkmm-tutorial-in.xml:1149(para)
msgid ""
"Entry widgets allow the user to enter text. You can change the contents with "
"the <methodname>set_text()</methodname> method, and read the current "
"contents with the <methodname>get_text()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1152(para)
+#: C/gtkmm-tutorial-in.xml:1154(para)
msgid ""
"Occasionally you might want to make an <classname>Entry</classname> widget "
"read-only. This can be done by passing <literal>false</literal> to the "
"<methodname>set_editable()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1158(para)
+#: C/gtkmm-tutorial-in.xml:1160(para)
msgid ""
"For the input of passwords, passphrases and other information you don't want "
"echoed on the screen, calling <methodname>set_visibility()</methodname> with "
"<literal>false</literal> will cause the text to be hidden."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1164(para)
+#: C/gtkmm-tutorial-in.xml:1166(para)
msgid ""
"You might want to be notified whenever the user types in a text entry "
"widget. <classname>Gtk::Entry</classname> provides two signals, "
@@ -1796,36 +1833,36 @@ msgid ""
"or filter the text the user types."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1176(title)
+#: C/gtkmm-tutorial-in.xml:1178(title)
msgid "Simple Entry Example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1177(para)
+#: C/gtkmm-tutorial-in.xml:1179(para)
msgid ""
"This example uses <classname>Gtk::Entry</classname>. It also has two "
"<classname>CheckButton</classname>s, with which you can toggle the editable "
"and visible flags."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1197(title) C/gtkmm-tutorial-in.xml:1231(title)
+#: C/gtkmm-tutorial-in.xml:1199(title) C/gtkmm-tutorial-in.xml:1233(title)
msgid "Entry Completion"
msgstr "Entrada de autocompletado"
-#: C/gtkmm-tutorial-in.xml:1198(para)
+#: C/gtkmm-tutorial-in.xml:1200(para)
msgid ""
"A <classname>Entry</classname> widget can offer a drop-down list of pre-"
"existing choices based on the first few characters typed by the user. For "
"instance, a search dialog could suggest text from previous searches."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1203(para)
+#: C/gtkmm-tutorial-in.xml:1205(para)
msgid ""
"To enable this functionality, you must create a <classname>EntryCompletion</"
"classname> object, and provide it to the <classname>Entry</classname> widget "
"via the <methodname>set_completion()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1208(para)
+#: C/gtkmm-tutorial-in.xml:1210(para)
msgid ""
"The <classname>EntryCompletion</classname> may use a <classname>TreeModel</"
"classname> containing possible entries, specified with <methodname>set_model"
@@ -1834,7 +1871,7 @@ msgid ""
"possible text entries."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1214(para)
+#: C/gtkmm-tutorial-in.xml:1216(para)
msgid ""
"Alternatively, if a complete list of possible entries would be too large or "
"too inconvenient to generate, a callback slot may instead be specified with "
@@ -1843,11 +1880,11 @@ msgid ""
"start."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1222(title)
+#: C/gtkmm-tutorial-in.xml:1224(title)
msgid "Entry Completion Example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1223(para)
+#: C/gtkmm-tutorial-in.xml:1225(para)
msgid ""
"This example creates a <classname>Gtk::EntryCompletion</classname> and "
"associates it with a <classname>Gtk::Entry</classname> widget. The "
@@ -1855,11 +1892,11 @@ msgid ""
"and some additional actions."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1243(title)
+#: C/gtkmm-tutorial-in.xml:1245(title)
msgid "Entry Icons"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1244(para)
+#: C/gtkmm-tutorial-in.xml:1246(para)
msgid ""
"An <classname>Entry</classname> widget can show an icon at the start or end "
"of the text area. The icon can be specifed by methods such as "
@@ -1869,25 +1906,25 @@ msgid ""
"methodname> signal."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1251(title)
+#: C/gtkmm-tutorial-in.xml:1253(title)
msgid "Entry Icon Example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1252(para)
+#: C/gtkmm-tutorial-in.xml:1254(para)
msgid ""
"This example shows a <classname>Gtk::Entry</classname> widget with a stock "
"search icon, and prints text to the terminal when the icon is pressed."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1258(title)
+#: C/gtkmm-tutorial-in.xml:1260(title)
msgid "Entry with Icon"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1270(title)
+#: C/gtkmm-tutorial-in.xml:1272(title)
msgid "Entry Progress"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1271(para)
+#: C/gtkmm-tutorial-in.xml:1273(para)
msgid ""
"An <classname>Entry</classname> widget can show a progress bar inside the "
"text area, under the entered text. The progress bar will be shown if the "
@@ -1895,25 +1932,25 @@ msgid ""
"<methodname>set_progress_pulse_step()</methodname> methods are called."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1276(title)
+#: C/gtkmm-tutorial-in.xml:1278(title)
msgid "Entry Progress Example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1277(para)
+#: C/gtkmm-tutorial-in.xml:1279(para)
msgid ""
"This example shows a <classname>Gtk::Entry</classname> widget with a "
"progress bar."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1283(title)
+#: C/gtkmm-tutorial-in.xml:1285(title)
msgid "Entry with Progress Bar"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1297(title) C/gtkmm-tutorial-in.xml:1431(title)
+#: C/gtkmm-tutorial-in.xml:1299(title) C/gtkmm-tutorial-in.xml:1433(title)
msgid "SpinButton"
msgstr "Botón contador"
-#: C/gtkmm-tutorial-in.xml:1299(para)
+#: C/gtkmm-tutorial-in.xml:1301(para)
msgid ""
"A <classname>SpinButton</classname> allows the user to select a value from a "
"range of numeric values. It has an Entry widget with up and down arrow "
@@ -1922,7 +1959,7 @@ msgid ""
"widget may also be used to enter a value directly."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1307(para)
+#: C/gtkmm-tutorial-in.xml:1309(para)
msgid ""
"The value can have an adjustable number of decimal places, and the step size "
"is configurable. <classname>SpinButton</classname>s have an 'auto-repeat' "
@@ -1930,35 +1967,35 @@ msgid ""
"value to change more quickly the longer the arrow is held down."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1322(para)
+#: C/gtkmm-tutorial-in.xml:1324(para)
msgid "<literal>value</literal>: value for the Spin Button"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1328(para)
+#: C/gtkmm-tutorial-in.xml:1330(para)
msgid "<literal>lower</literal>: lower range value"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1334(para)
+#: C/gtkmm-tutorial-in.xml:1336(para)
msgid "<literal>upper</literal>: upper range value"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1339(para)
+#: C/gtkmm-tutorial-in.xml:1341(para)
msgid ""
"<literal>step_increment</literal>: value to increment/decrement when "
"pressing mouse button 1 on a button"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1346(para)
+#: C/gtkmm-tutorial-in.xml:1348(para)
msgid ""
"<literal>page_increment</literal>: value to increment/decrement when "
"pressing mouse button 2 on a button"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1353(para)
+#: C/gtkmm-tutorial-in.xml:1355(para)
msgid "<literal>page_size</literal>: unused"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1314(para)
+#: C/gtkmm-tutorial-in.xml:1316(para)
msgid ""
"<classname>SpinButton</classname>s use an <link linkend=\"chapter-adjustment"
"\">Adjustment</link> object to hold information about the range of values. "
@@ -1966,13 +2003,13 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1361(para)
+#: C/gtkmm-tutorial-in.xml:1363(para)
msgid ""
"Additionally, mouse button 3 can be used to jump directly to the "
"<literal>upper</literal> or <literal>lower</literal> values."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1366(para)
+#: C/gtkmm-tutorial-in.xml:1368(para)
msgid ""
"The <classname>SpinButton</classname> can create a default "
"<classname>Adjustment</classname>, which you can access via the "
@@ -1980,20 +2017,20 @@ msgid ""
"existing <classname>Adjustment</classname> in the constructor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1376(para)
+#: C/gtkmm-tutorial-in.xml:1378(para)
msgid ""
"The number of decimal places can be altered using the <methodname>set_digits"
"()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1381(para)
+#: C/gtkmm-tutorial-in.xml:1383(para)
msgid ""
"You can set the spinbutton's value using the <methodname>set_value()</"
"methodname> method, and retrieve it with <methodname>get_value()</"
"methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1386(para)
+#: C/gtkmm-tutorial-in.xml:1388(para)
msgid ""
"The <methodname>spin()</methodname> method 'spins' the "
"<classname>SpinButton</classname>, as if one of its arrows had been clicked. "
@@ -2001,26 +2038,26 @@ msgid ""
"direction or new position."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1393(para)
+#: C/gtkmm-tutorial-in.xml:1395(para)
msgid ""
"To prevent the user from typing non-numeric characters into the entry box, "
"pass <literal>true</literal> to the <methodname>set_numeric()</methodname> "
"method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1398(para)
+#: C/gtkmm-tutorial-in.xml:1400(para)
msgid ""
"To make the <classname>SpinButton</classname> 'wrap' between its upper and "
"lower bounds, use the <methodname>set_wrap()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1403(para)
+#: C/gtkmm-tutorial-in.xml:1405(para)
msgid ""
"To force it to snap to the nearest <literal>step_increment</literal>, use "
"<methodname>set_snap_to_ticks()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1408(para)
+#: C/gtkmm-tutorial-in.xml:1410(para)
msgid ""
"You can modify the update policy using the <methodname>set_update_policy()</"
"methodname> method, specifying either <literal>Gtk::UPDATE_ALWAYS</literal> "
@@ -2032,45 +2069,45 @@ msgid ""
"<methodname>update()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1426(para)
+#: C/gtkmm-tutorial-in.xml:1428(para)
msgid "Here's an example of a <classname>SpinButton</classname> in action:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1444(title) C/gtkmm-tutorial-in.xml:1497(title)
+#: C/gtkmm-tutorial-in.xml:1446(title) C/gtkmm-tutorial-in.xml:1499(title)
msgid "ProgressBar"
-msgstr ""
+msgstr "ProgressBar"
-#: C/gtkmm-tutorial-in.xml:1446(para)
+#: C/gtkmm-tutorial-in.xml:1448(para)
msgid ""
"Progress bars are used to show the status of an ongoing operation. For "
"instance, a <classname>ProgressBar</classname> can show how much of a task "
"has been completed."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1452(para)
+#: C/gtkmm-tutorial-in.xml:1454(para)
msgid ""
"To change the value shown, use the <methodname>set_fraction()</methodname> "
"method, passing a double between 0 and 1 to provide the new percentage."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1457(para)
+#: C/gtkmm-tutorial-in.xml:1459(para)
msgid ""
"where <literal>percentage</literal> is a number, from 0 to 1, indicating "
"what fraction of the bar should be filled."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1462(para)
+#: C/gtkmm-tutorial-in.xml:1464(para)
msgid ""
"A <classname>ProgressBar</classname>is horizontal and left-to-right by "
"default, but you can change it to a vertical progress bar by using the "
"<methodname>set_orientation()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1471(title)
+#: C/gtkmm-tutorial-in.xml:1473(title)
msgid "Activity Mode"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1472(para)
+#: C/gtkmm-tutorial-in.xml:1474(para)
msgid ""
"Besides indicating the amount of progress that has occured, the progress bar "
"can also be used to indicate that there is some activity; this is done by "
@@ -2081,25 +2118,25 @@ msgid ""
"unknown length)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1482(para)
+#: C/gtkmm-tutorial-in.xml:1484(para)
msgid ""
"To do this, you need to call the <methodname>pulse()</methodname> method at "
"regular intervals. You can also choose the step size, with the "
"<methodname>set_pulse_step()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1488(para)
+#: C/gtkmm-tutorial-in.xml:1490(para)
msgid ""
"When in continuous mode, the progress bar can also display a configurable "
"text string within its trough, using the <methodname>set_text()</methodname> "
"method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1511(title) C/gtkmm-tutorial-in.xml:1521(title)
+#: C/gtkmm-tutorial-in.xml:1513(title) C/gtkmm-tutorial-in.xml:1523(title)
msgid "InfoBar"
-msgstr ""
+msgstr "InfoBar"
-#: C/gtkmm-tutorial-in.xml:1513(para)
+#: C/gtkmm-tutorial-in.xml:1515(para)
msgid ""
"An <classname>InfoBar</classname> may show small items of information or to "
"ask brief questions. Unlike a <classname>Dialog</classname>, it appears at "
@@ -2107,11 +2144,11 @@ msgid ""
"very similar to the <link linkend=\"chapter-dialogs\">Gtk::Dialog</link> API."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1534(title)
+#: C/gtkmm-tutorial-in.xml:1536(title)
msgid "Tooltips"
msgstr "Consejos"
-#: C/gtkmm-tutorial-in.xml:1536(para)
+#: C/gtkmm-tutorial-in.xml:1538(para)
msgid ""
"Tooltips are the little information windows that pop up when you leave your "
"pointer over a widget for a few seconds. Use <methodname>set_tooltip_text()</"
@@ -2122,25 +2159,24 @@ msgid ""
"an image as well as text."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1546(ulink)
+#: C/gtkmm-tutorial-in.xml:1548(ulink)
msgid "Widget Reference"
msgstr "Referencia de widgets"
-#: C/gtkmm-tutorial-in.xml:1547(ulink)
+#: C/gtkmm-tutorial-in.xml:1549(ulink)
msgid "Tooltip Reference"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1552(title)
-#, fuzzy
+#: C/gtkmm-tutorial-in.xml:1554(title)
#| msgid "Tooltips"
msgid "Tooltip"
-msgstr "Consejos"
+msgstr "Consejo"
-#: C/gtkmm-tutorial-in.xml:1567(title)
+#: C/gtkmm-tutorial-in.xml:1569(title)
msgid "Container Widgets"
msgstr "Widgets contenedores"
-#: C/gtkmm-tutorial-in.xml:1569(para)
+#: C/gtkmm-tutorial-in.xml:1571(para)
msgid ""
"All container widgets derive from <classname>Gtk::Container</classname>, not "
"always directly. Some container widgets, such as <classname>Gtk::Table</"
@@ -2149,11 +2185,11 @@ msgid ""
"one child widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1578(title)
+#: C/gtkmm-tutorial-in.xml:1580(title)
msgid "Single-item Containers"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1580(para)
+#: C/gtkmm-tutorial-in.xml:1582(para)
msgid ""
"The single-item container widgets derive from <classname>Gtk::Bin</"
"classname>, which provides the <methodname>add()</methodname> and "
@@ -2163,18 +2199,18 @@ msgid ""
"elsewhere."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1588(para)
+#: C/gtkmm-tutorial-in.xml:1590(para)
msgid ""
"We also discuss the <classname>Gtk::Paned</classname> widget, which allows "
"you to divide a window into two separate \"panes\". This widget actually "
"contains two child widgets, but the number is fixed so it seems appropriate."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1595(title) C/gtkmm-tutorial-in.xml:1609(title)
+#: C/gtkmm-tutorial-in.xml:1597(title) C/gtkmm-tutorial-in.xml:1611(title)
msgid "Frame"
msgstr "Marco"
-#: C/gtkmm-tutorial-in.xml:1597(para)
+#: C/gtkmm-tutorial-in.xml:1599(para)
msgid ""
"Frames can enclose one or a group of widgets within a box, optionally with a "
"title. For instance, you might place a group of <classname>RadioButton</"
@@ -2182,11 +2218,11 @@ msgid ""
"classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1623(title) C/gtkmm-tutorial-in.xml:1650(title)
+#: C/gtkmm-tutorial-in.xml:1625(title) C/gtkmm-tutorial-in.xml:1652(title)
msgid "Paned"
msgstr "En panel de ventana"
-#: C/gtkmm-tutorial-in.xml:1625(para)
+#: C/gtkmm-tutorial-in.xml:1627(para)
msgid ""
"Panes divide a widget into two halves, separated by a moveable divider. "
"There are two such widgets: <classname>Gtk::HPaned</classname> adds a "
@@ -2195,7 +2231,7 @@ msgid ""
"between the two."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1632(para)
+#: C/gtkmm-tutorial-in.xml:1634(para)
msgid ""
"Unlike the other widgets in this chapter, pane widgets contain not one but "
"two child widgets, one in each pane. Therefore, you should use "
@@ -2203,17 +2239,17 @@ msgid ""
"of the <methodname>add()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1639(para)
+#: C/gtkmm-tutorial-in.xml:1641(para)
msgid ""
"You can adjust the position of the divider using the <methodname>set_position"
"()</methodname> method, and you will probably need to do so."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1663(title) C/gtkmm-tutorial-in.xml:1695(title)
+#: C/gtkmm-tutorial-in.xml:1665(title) C/gtkmm-tutorial-in.xml:1697(title)
msgid "ScrolledWindow"
-msgstr ""
+msgstr "ScrolledWindow"
-#: C/gtkmm-tutorial-in.xml:1665(para)
+#: C/gtkmm-tutorial-in.xml:1667(para)
msgid ""
"<classname>ScrolledWindow</classname> widgets create a scrollable area. You "
"can insert any type of widget into a <classname>ScrolledWindow</classname> "
@@ -2222,7 +2258,7 @@ msgid ""
"<classname>Gtk::Window</classname> despite the slightly misleading name."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1674(para)
+#: C/gtkmm-tutorial-in.xml:1676(para)
msgid ""
"Scrolled windows have <emphasis>scrollbar policies</emphasis> which "
"determine whether the <classname>Scrollbar</classname>s will be displayed. "
@@ -2234,17 +2270,17 @@ msgid ""
"POLICY_ALWAYS</literal> will cause the scrollbar to be displayed always."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1690(para)
+#: C/gtkmm-tutorial-in.xml:1692(para)
msgid ""
"Here is a simple example that packs 100 toggle buttons into a "
"ScrolledWindow. Try resizing the window to see the scrollbars react."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1708(title) C/gtkmm-tutorial-in.xml:1730(title)
+#: C/gtkmm-tutorial-in.xml:1710(title) C/gtkmm-tutorial-in.xml:1732(title)
msgid "AspectFrame"
-msgstr ""
+msgstr "AspectFrame"
-#: C/gtkmm-tutorial-in.xml:1710(para)
+#: C/gtkmm-tutorial-in.xml:1712(para)
msgid ""
"The <classname>AspectFrame</classname> widget looks like a <classname>Frame</"
"classname> widget, but it also enforces the <emphasis>aspect ratio</"
@@ -2254,25 +2290,25 @@ msgid ""
"vertically while resizing."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1723(para)
+#: C/gtkmm-tutorial-in.xml:1725(para)
msgid ""
"The following program uses a <classname>Gtk::AspectFrame</classname> to "
"present a drawing area whose aspect ratio will always be 2:1, no matter how "
"the user resizes the top-level window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1743(title) C/gtkmm-tutorial-in.xml:1769(title)
+#: C/gtkmm-tutorial-in.xml:1745(title) C/gtkmm-tutorial-in.xml:1771(title)
msgid "Alignment"
msgstr "Alineación"
-#: C/gtkmm-tutorial-in.xml:1745(para)
+#: C/gtkmm-tutorial-in.xml:1747(para)
msgid ""
"The <classname>Alignment</classname> widget allows you to place a widget at "
"a position and size relative to the size of the <classname>Alignment</"
"classname> widget itself. For instance, it might be used to center a widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1751(para)
+#: C/gtkmm-tutorial-in.xml:1753(para)
msgid ""
"You need to specify the <classname>Alignment</classname>'s characteristics "
"to the constructor, or to the <methodname>set()</methodname> method. In "
@@ -2282,23 +2318,23 @@ msgid ""
"fill all available space."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1763(para)
+#: C/gtkmm-tutorial-in.xml:1765(para)
msgid ""
"This example right-aligns a button in a window by using an "
"<classname>Alignment</classname> widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1777(para)
+#: C/gtkmm-tutorial-in.xml:1779(para)
msgid ""
"See the <link linkend=\"sec-progressbar\">ProgressBar</link> section for "
"another example that uses an <classname>Alignment</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1789(title)
+#: C/gtkmm-tutorial-in.xml:1791(title)
msgid "Multiple-item widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1791(para)
+#: C/gtkmm-tutorial-in.xml:1793(para)
msgid ""
"Multiple-item widgets inherit from <classname>Gtk::Container</classname>; "
"just as with <classname>Gtk::Bin</classname>, you use the <methodname>add()</"
@@ -2308,32 +2344,32 @@ msgid ""
"Container</classname> takes an argument, specifiying which widget to remove."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1801(title)
+#: C/gtkmm-tutorial-in.xml:1803(title)
msgid "Packing"
msgstr "Empaquetado"
-#: C/gtkmm-tutorial-in.xml:1802(para)
+#: C/gtkmm-tutorial-in.xml:1804(para)
msgid ""
"You've probably noticed that <application>gtkmm</application> windows seem "
"\"elastic\" - they can usually be stretched in many different ways. This is "
"due to the <emphasis>widget packing</emphasis> system."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1807(para)
+#: C/gtkmm-tutorial-in.xml:1809(para)
msgid ""
"Many GUI toolkits require you to precisely place widgets in a window, using "
"absolute positioning, often using a visual editor. This leads to several "
"problems:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1814(para)
+#: C/gtkmm-tutorial-in.xml:1816(para)
msgid ""
"The widgets don't rearrange themselves when the window is resized. Some "
"widgets are hidden when the window is made smaller, and lots of useless "
"space appears when the window is made larger."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1818(para)
+#: C/gtkmm-tutorial-in.xml:1820(para)
msgid ""
"It's impossible to predict the amount of space necessary for text after it "
"has been translated to other languages, or displayed in a different font. On "
@@ -2341,14 +2377,14 @@ msgid ""
"window manager."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1822(para)
+#: C/gtkmm-tutorial-in.xml:1824(para)
msgid ""
"Changing the layout of a window \"on the fly\", to make some extra widgets "
"appear, for instance, is complex. It requires tedious recalculation of every "
"widget's position."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1828(para)
+#: C/gtkmm-tutorial-in.xml:1830(para)
msgid ""
"<application>gtkmm</application> uses the packing system to solve these "
"problems. Rather than specifying the position and size of each widget in the "
@@ -2364,7 +2400,7 @@ msgid ""
"the user manipulates the window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1837(para)
+#: C/gtkmm-tutorial-in.xml:1839(para)
msgid ""
"<application>gtkmm</application> arranges widgets hierarchically, using "
"<emphasis>containers</emphasis>. A Container widget contains other widgets. "
@@ -2377,7 +2413,7 @@ msgid ""
"classname>, including <classname>Gtk::Window</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1848(para)
+#: C/gtkmm-tutorial-in.xml:1850(para)
msgid ""
"Yes, that's correct: a Window can contain at most one widget. How, then, can "
"we use a window for anything useful? By placing a multiple-child container "
@@ -2386,14 +2422,14 @@ msgid ""
"classname>, and <classname>Gtk::Table</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1860(para)
+#: C/gtkmm-tutorial-in.xml:1862(para)
msgid ""
"<classname>Gtk::Grid</classname> arranges its child widgets in rows and "
"columns. Use <methodname>attach()</methodname>, <methodname>attach_next_to()"
"</methodname> and <methodname>add()</methodname> to insert child widgets."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1869(para)
+#: C/gtkmm-tutorial-in.xml:1871(para)
msgid ""
"<classname>Gtk::VBox</classname> and <classname>Gtk::HBox</classname> "
"arrange their child widgets vertically and horizontally, respectively. Use "
@@ -2401,38 +2437,38 @@ msgid ""
"methodname> to insert child widgets."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1878(para)
+#: C/gtkmm-tutorial-in.xml:1880(para)
msgid ""
"<classname>Gtk::Table</classname> arranges its widgets in a grid. Use "
"<methodname>attach()</methodname> to insert widgets."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1886(para)
+#: C/gtkmm-tutorial-in.xml:1888(para)
msgid "There are several other containers, which we will also discuss."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1890(para)
+#: C/gtkmm-tutorial-in.xml:1892(para)
msgid ""
"If you've never used a packing toolkit before, it can take some getting used "
"to. You'll probably find, however, that you don't need to rely on visual "
"form editors quite as much as you might with other toolkits."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1900(title)
+#: C/gtkmm-tutorial-in.xml:1902(title)
msgid "An improved Hello World"
-msgstr ""
+msgstr "Un «Hola mundo» mejorado"
-#: C/gtkmm-tutorial-in.xml:1902(para)
+#: C/gtkmm-tutorial-in.xml:1904(para)
msgid ""
"Let's take a look at a slightly improved <literal>helloworld</literal>, "
"showing what we've learnt."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1907(title)
+#: C/gtkmm-tutorial-in.xml:1909(title)
msgid "Hello World 2"
-msgstr ""
+msgstr "Hola mundo 2"
-#: C/gtkmm-tutorial-in.xml:1915(para)
+#: C/gtkmm-tutorial-in.xml:1917(para)
msgid ""
"After building and running this program, try resizing the window to see the "
"behaviour. Also, try playing with the options to <methodname>pack_start()</"
@@ -2440,11 +2476,11 @@ msgid ""
"section."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1925(title)
+#: C/gtkmm-tutorial-in.xml:1927(title)
msgid "Boxes"
msgstr "Cajas"
-#: C/gtkmm-tutorial-in.xml:1927(para)
+#: C/gtkmm-tutorial-in.xml:1929(para)
msgid ""
"Most packing uses boxes as in the above example. These are invisible "
"containers into which we can pack our widgets. When packing widgets into a "
@@ -2455,15 +2491,15 @@ msgid ""
"boxes inside or beside other boxes to create the desired effect."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1938(title) C/gtkmm-tutorial-in.xml:2171(title)
+#: C/gtkmm-tutorial-in.xml:1940(title) C/gtkmm-tutorial-in.xml:2174(title)
msgid "Adding widgets"
msgstr "Añadir widgets"
-#: C/gtkmm-tutorial-in.xml:1939(title)
+#: C/gtkmm-tutorial-in.xml:1941(title)
msgid "Per-child packing options"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1940(para)
+#: C/gtkmm-tutorial-in.xml:1942(para)
msgid ""
"The <methodname>pack_start()</methodname> and <methodname>pack_end()</"
"methodname> methods place widgets inside these containers. The "
@@ -2476,7 +2512,7 @@ msgid ""
"<methodname>pack_start()</methodname> in most of our examples."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1953(para)
+#: C/gtkmm-tutorial-in.xml:1955(para)
msgid ""
"There are several options governing how widgets are to be packed, and this "
"can be confusing at first. If you have difficulties then it is sometimes a "
@@ -2485,15 +2521,15 @@ msgid ""
"Builder</application> API to load your GUI at runtime."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1961(para)
+#: C/gtkmm-tutorial-in.xml:1963(para)
msgid "There are basically five different styles, as shown in this picture:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1967(title)
+#: C/gtkmm-tutorial-in.xml:1969(title)
msgid "Box Packing 1"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1973(para)
+#: C/gtkmm-tutorial-in.xml:1975(para)
msgid ""
"Each line contains one horizontal box (<classname>HBox</classname>) with "
"several buttons. Each of the buttons on a line is packed into the "
@@ -2501,12 +2537,12 @@ msgid ""
"<methodname>pack_start()</methodname> method)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1980(para)
+#: C/gtkmm-tutorial-in.xml:1982(para)
msgid ""
"This is the declaration of the <methodname>pack_start()</methodname> method:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1983(programlisting)
+#: C/gtkmm-tutorial-in.xml:1985(programlisting)
#, no-wrap
msgid ""
"void pack_start(Gtk::Widget& child,\n"
@@ -2517,53 +2553,53 @@ msgstr ""
" PackOptions options = PACK_EXPAND_WIDGET,\n"
" guint padding = 0);"
-#: C/gtkmm-tutorial-in.xml:1987(para)
+#: C/gtkmm-tutorial-in.xml:1989(para)
msgid ""
"The first argument is the widget you're packing. In our example these are "
"all <classname>Button</classname>s."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1994(para)
+#: C/gtkmm-tutorial-in.xml:1996(para)
msgid ""
"<literal>PACK_SHRINK</literal>: Space is contracted to the child widget "
"size. The widget will take up just-enough space and never expand."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1995(para)
+#: C/gtkmm-tutorial-in.xml:1997(para)
msgid ""
"<literal>PACK_EXPAND_PADDING</literal>: Extra space is filled with padding. "
"The widgets will be spaced out evenly, but their sizes won't change - there "
"will be empty space between the widgets instead."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1996(para)
+#: C/gtkmm-tutorial-in.xml:1998(para)
msgid ""
"<literal>PACK_EXPAND_WIDGET</literal>: Extra space is taken up by increasing "
"the child widget size, without changing the amount of space between widgets."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:1991(para)
+#: C/gtkmm-tutorial-in.xml:1993(para)
msgid ""
"The <parameter>options</parameter> argument can take one of these three "
"options: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2000(para)
+#: C/gtkmm-tutorial-in.xml:2002(para)
msgid ""
"The <parameter>padding</parameter> argument specifies the width of an extra "
"border area to leave around the packed widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2009(title)
+#: C/gtkmm-tutorial-in.xml:2011(title)
msgid "Per-container packing options"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2012(programlisting)
+#: C/gtkmm-tutorial-in.xml:2014(programlisting)
#, no-wrap
msgid "Gtk::Box(bool homogeneous = false, int spacing = 0);"
-msgstr ""
+msgstr "Gtk::Box(bool homogeneous = false, int spacing = 0);"
-#: C/gtkmm-tutorial-in.xml:2010(para)
+#: C/gtkmm-tutorial-in.xml:2012(para)
msgid ""
"Here's the constructor for the box widgets: <placeholder-1/> Passing "
"<literal>true</literal> for <parameter>homogeneous</parameter> will cause "
@@ -2571,7 +2607,7 @@ msgid ""
"parameter> is a (minimum) number of pixels to leave between each widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2019(para)
+#: C/gtkmm-tutorial-in.xml:2021(para)
msgid ""
"What's the difference between spacing (set when the box is created) and "
"padding (set when elements are packed)? Spacing is added between objects, "
@@ -2579,22 +2615,22 @@ msgid ""
"make it clearer:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2027(title)
+#: C/gtkmm-tutorial-in.xml:2029(title)
msgid "Box Packing 2"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2038(para)
+#: C/gtkmm-tutorial-in.xml:2040(para)
msgid ""
"Here is the source code for the example that produced the screenshots above. "
"When you run this example, provide a number between 1 and 3 as a command-"
"line option, to see different packing options in use."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2047(title)
+#: C/gtkmm-tutorial-in.xml:2049(title)
msgid "ButtonBoxes"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2049(para)
+#: C/gtkmm-tutorial-in.xml:2051(para)
msgid ""
"Button boxes are a convenient way to quickly arrange a group of buttons. "
"They come in both horizontal (<classname>Gtk::HButtonBox</classname>) and "
@@ -2602,86 +2638,89 @@ msgid ""
"alike, except in name and orientation."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2056(para)
+#: C/gtkmm-tutorial-in.xml:2058(para)
msgid ""
"<classname>ButtonBox</classname>es help to make applications appear "
"consistent because they use standard settings, such as inter-button spacing "
"and packing."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2061(para)
+#: C/gtkmm-tutorial-in.xml:2063(para)
msgid ""
"Buttons are added to a <classname>ButtonBox</classname> with the "
"<methodname>add()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2066(para)
+#: C/gtkmm-tutorial-in.xml:2068(para)
msgid ""
"Button boxes support several layout styles. The style can be retrieved and "
"changed using <methodname>get_layout()</methodname> and "
"<methodname>set_layout()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2078(title)
+#: C/gtkmm-tutorial-in.xml:2080(title)
msgid "ButtonBox"
-msgstr ""
+msgstr "ButtonBox"
-#: C/gtkmm-tutorial-in.xml:2091(title) C/gtkmm-tutorial-in.xml:2119(title)
+#: C/gtkmm-tutorial-in.xml:2093(title) C/gtkmm-tutorial-in.xml:2122(title)
msgid "Grid"
-msgstr ""
+msgstr "Grid"
-#: C/gtkmm-tutorial-in.xml:2093(para)
+#: C/gtkmm-tutorial-in.xml:2095(para)
msgid ""
-"<classname>Grid</classname> allows us to place widgets in a grid. The grid "
-"dynamically lays out child widgets, so the dimensions of the grid do not "
-"need to be specified in the constructor."
+"A <classname>Grid</classname> dynamically lays out child widgets in rows and "
+"columns. The dimensions of the grid do not need to be specified in the "
+"constructor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2099(para)
+#: C/gtkmm-tutorial-in.xml:2100(para)
msgid ""
-"Children can span multiple rows or columns, using <methodname>attach()</"
+"Child widgets can span multiple rows or columns, using <methodname>attach()</"
"methodname>, or added next to an existing widget inside the grid with "
"<methodname>attach_next_to()</methodname>. Individual rows and columns of "
"the grid can be set to have uniform height or width with "
"<methodname>set_row_homogeneous()</methodname> and "
-"<methodname>set_column_homogeneous()</methodname>. Set the <emphasis>margin</"
-"emphasis> and <emphasis>expand</emphasis> properties of the "
-"<classname>Widget</classname>s that are added to the grid, in order to "
-"control the geometry management."
+"<methodname>set_column_homogeneous()</methodname>."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:2107(para)
+msgid ""
+"You can set the <emphasis>margin</emphasis> and <emphasis>expand</emphasis> "
+"properties of the child <classname>Widget</classname>s to control their "
+"spacing and their behaviour when the Grid is resized."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2111(para)
+#: C/gtkmm-tutorial-in.xml:2114(para)
msgid ""
-"In the following example, we make a window with three buttons in a grid. The "
-"first two buttons will be placed in the upper row, from left to right. A "
-"third button is attached underneath the first buttion, in a new lower row, "
-"spanning two columns."
+"This example creates a window with three buttons in a grid. The first two "
+"buttons are in the upper row, from left to right. A third button is attached "
+"underneath the first button, in a new lower row, spanning two columns."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2132(title) C/gtkmm-tutorial-in.xml:2278(title)
+#: C/gtkmm-tutorial-in.xml:2135(title) C/gtkmm-tutorial-in.xml:2281(title)
msgid "Table"
msgstr "Tabla"
-#: C/gtkmm-tutorial-in.xml:2134(para)
+#: C/gtkmm-tutorial-in.xml:2137(para)
msgid ""
"Tables allows us to place widgets in a grid, similar to <classname>Gtk::"
"Grid</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2138(title)
+#: C/gtkmm-tutorial-in.xml:2141(title)
msgid "Constructor"
-msgstr ""
+msgstr "Constructor"
-#: C/gtkmm-tutorial-in.xml:2139(para)
+#: C/gtkmm-tutorial-in.xml:2142(para)
msgid "The grid's dimensions need to be specified in the constructor:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2142(programlisting)
+#: C/gtkmm-tutorial-in.xml:2145(programlisting)
#, no-wrap
msgid "Gtk::Table(int rows = 1, int columns = 1, bool homogeneous = false);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2144(para)
+#: C/gtkmm-tutorial-in.xml:2147(para)
msgid ""
"The first argument is the number of rows to make in the table, while the "
"second, obviously, is the number of columns. If <parameter>homogeneous</"
@@ -2689,14 +2728,14 @@ msgid ""
"size (the size of the largest widget in the table)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2151(para)
+#: C/gtkmm-tutorial-in.xml:2154(para)
msgid ""
"The rows and columns are indexed starting at 0. If you specify "
"<parameter>rows</parameter> = 2 and <parameter>columns</parameter> = 2, the "
"layout would look something like this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2157(programlisting)
+#: C/gtkmm-tutorial-in.xml:2160(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -2707,16 +2746,23 @@ msgid ""
" | | |\n"
"2+----------+----------+\n"
msgstr ""
+"\n"
+" 0 1 2\n"
+"0+----------+----------+\n"
+" | | |\n"
+"1+----------+----------+\n"
+" | | |\n"
+"2+----------+----------+\n"
-#: C/gtkmm-tutorial-in.xml:2166(para)
+#: C/gtkmm-tutorial-in.xml:2169(para)
msgid "Note that the coordinate system starts in the upper left hand corner."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2172(para)
+#: C/gtkmm-tutorial-in.xml:2175(para)
msgid "To place a widget into a box, use the following method:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2175(programlisting)
+#: C/gtkmm-tutorial-in.xml:2178(programlisting)
#, no-wrap
msgid ""
"void Gtk::Table::attach(Gtk::Widget& child,\n"
@@ -2726,12 +2772,18 @@ msgid ""
" guint yoptions = Gtk::FILL | Gtk::EXPAND,\n"
" guint xpadding = 0, guint ypadding = 0);"
msgstr ""
+"void Gtk::Table::attach(Gtk::Widget& child,\n"
+" guint left_attach, guint right_attach,\n"
+" guint top_attach, guint bottom_attach,\n"
+" guint xoptions = Gtk::FILL | Gtk::EXPAND,\n"
+" guint yoptions = Gtk::FILL | Gtk::EXPAND,\n"
+" guint xpadding = 0, guint ypadding = 0);"
-#: C/gtkmm-tutorial-in.xml:2181(para)
+#: C/gtkmm-tutorial-in.xml:2184(para)
msgid "The first argument is the widget you wish to place in the table."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2185(para)
+#: C/gtkmm-tutorial-in.xml:2188(para)
msgid ""
"The <parameter>left_attach</parameter> and <parameter>right_attach</"
"parameter> arguments specify where to place the widget, and how many boxes "
@@ -2746,28 +2798,28 @@ msgid ""
"parameter> = 1."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2201(para)
+#: C/gtkmm-tutorial-in.xml:2204(para)
msgid ""
"<parameter>xoptions</parameter> and <parameter>yoptions</parameter> are used "
"to specify packing options and may be bitwise ORed together to allow "
"multiple options. These options are:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2211(literal)
+#: C/gtkmm-tutorial-in.xml:2214(literal)
msgid "Gtk::FILL"
-msgstr ""
+msgstr "Gtk::FILL"
-#: C/gtkmm-tutorial-in.xml:2213(para)
+#: C/gtkmm-tutorial-in.xml:2216(para)
msgid ""
"If the table box is larger than the widget, and <literal>Gtk::FILL</literal> "
"is specified, the widget will expand to use all the room available."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2221(literal)
+#: C/gtkmm-tutorial-in.xml:2224(literal)
msgid "Gtk::SHRINK"
-msgstr ""
+msgstr "Gtk::SHRINK"
-#: C/gtkmm-tutorial-in.xml:2223(para)
+#: C/gtkmm-tutorial-in.xml:2226(para)
msgid ""
"If the table widget is allocated less space than it requested (because the "
"user resized the window), then the widgets will normally just disappear off "
@@ -2775,27 +2827,27 @@ msgid ""
"the widgets will shrink with the table."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2234(literal)
+#: C/gtkmm-tutorial-in.xml:2237(literal)
msgid "Gtk::EXPAND"
-msgstr ""
+msgstr "Gtk::EXPAND"
-#: C/gtkmm-tutorial-in.xml:2236(para)
+#: C/gtkmm-tutorial-in.xml:2239(para)
msgid ""
"This will cause the table to expand to use up anyremaining space in the "
"window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2244(para)
+#: C/gtkmm-tutorial-in.xml:2247(para)
msgid ""
"The padding arguments work just as they do for <methodname>pack_start()</"
"methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2250(title)
+#: C/gtkmm-tutorial-in.xml:2253(title)
msgid "Other methods"
-msgstr ""
+msgstr "Otros métodos"
-#: C/gtkmm-tutorial-in.xml:2252(para)
+#: C/gtkmm-tutorial-in.xml:2255(para)
msgid ""
"<methodname>set_row_spacing()</methodname> and <methodname>set_col_spacing()"
"</methodname> set the spacing between the rows at the specified row or "
@@ -2803,7 +2855,7 @@ msgid ""
"and for rows, the space goes below the row."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2259(para)
+#: C/gtkmm-tutorial-in.xml:2262(para)
msgid ""
"You can also set a consistent spacing for all rows and/or columns with "
"<methodname>set_row_spacings()</methodname> and <methodname>set_col_spacings"
@@ -2811,18 +2863,18 @@ msgid ""
"not get any spacing."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2271(para)
+#: C/gtkmm-tutorial-in.xml:2274(para)
msgid ""
"In the following example, we make a window with three buttons in a 2 x 2 "
"table. The first two buttons will be placed in the upper row. A third button "
"is placed in the lower row, spanning both columns."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2291(title) C/gtkmm-tutorial-in.xml:2326(title)
+#: C/gtkmm-tutorial-in.xml:2294(title) C/gtkmm-tutorial-in.xml:2329(title)
msgid "Notebook"
msgstr "Cuaderno"
-#: C/gtkmm-tutorial-in.xml:2293(para)
+#: C/gtkmm-tutorial-in.xml:2296(para)
msgid ""
"A <classname>Notebook</classname> has a set of stacked <literal>pages</"
"literal>, each of which contains widgets. Labelled <literal>tabs</literal> "
@@ -2831,7 +2883,7 @@ msgid ""
"page at a time. For instance, they are often used in preferences dialogs."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2302(para)
+#: C/gtkmm-tutorial-in.xml:2305(para)
msgid ""
"Use the <methodname>append_page()</methodname>, <methodname>prepend_page()</"
"methodname> and <methodname>insert_page()</methodname> methods to add tabbed "
@@ -2839,7 +2891,7 @@ msgid ""
"name for the tab."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2309(para)
+#: C/gtkmm-tutorial-in.xml:2312(para)
msgid ""
"To discover the currently visible page, use the <methodname>get_current_page"
"()</methodname> method. This returns the page number, and then calling "
@@ -2847,17 +2899,17 @@ msgid ""
"pointer to the actual child widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2316(para)
+#: C/gtkmm-tutorial-in.xml:2319(para)
msgid ""
"To programmatically change the selected page, use the "
"<methodname>set_current_page()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2339(title) C/gtkmm-tutorial-in.xml:2366(title)
+#: C/gtkmm-tutorial-in.xml:2342(title) C/gtkmm-tutorial-in.xml:2369(title)
msgid "Assistant"
msgstr "Asistente"
-#: C/gtkmm-tutorial-in.xml:2341(para)
+#: C/gtkmm-tutorial-in.xml:2344(para)
msgid ""
"An <classname>Assistant</classname> splits a complex operation into steps. "
"Each step is a page, containing a header, a child widget and an action area. "
@@ -2866,7 +2918,7 @@ msgid ""
"<methodname>set_page_type()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2345(para)
+#: C/gtkmm-tutorial-in.xml:2348(para)
msgid ""
"Use the <methodname>append_page()</methodname>, <methodname>prepend_page</"
"methodname> and <methodname>insert_page()</methodname> methods to add pages "
@@ -2874,7 +2926,7 @@ msgid ""
"page."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2349(para)
+#: C/gtkmm-tutorial-in.xml:2352(para)
msgid ""
"To determine the currently-visible page, use the <methodname>get_current_page"
"()</methodname> method, and pass the result to <methodname>get_nth_page()</"
@@ -2883,7 +2935,7 @@ msgid ""
"<methodname>set_current_page()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2353(para)
+#: C/gtkmm-tutorial-in.xml:2356(para)
msgid ""
"To set the title of a page, use the <methodname>set_page_title()</"
"methodname> method. The header and side images of a page can be set with the "
@@ -2891,28 +2943,28 @@ msgid ""
"<methodname>set_page_side_image()</methodname> methods."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2357(para)
+#: C/gtkmm-tutorial-in.xml:2360(para)
msgid ""
"To add widgets to the action area, use the <methodname>add_action_widget()</"
"methodname> method. They will be packed alongside the default buttons. Use "
"the <methodname>remove_action_widget()</methodname> method to remove widgets."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2384(title)
+#: C/gtkmm-tutorial-in.xml:2387(title)
msgid "The TreeView widget"
-msgstr ""
+msgstr "El widget TreeView"
-#: C/gtkmm-tutorial-in.xml:2385(para)
+#: C/gtkmm-tutorial-in.xml:2388(para)
msgid ""
"The <classname>Gtk::TreeView</classname> widget can contain lists or trees "
"of data, in columns."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2391(title)
+#: C/gtkmm-tutorial-in.xml:2394(title)
msgid "The Model"
-msgstr ""
+msgstr "El modelo"
-#: C/gtkmm-tutorial-in.xml:2392(para)
+#: C/gtkmm-tutorial-in.xml:2395(para)
msgid ""
"Each <classname>Gtk::TreeView</classname> has an associated <classname>Gtk::"
"TreeModel</classname>, which contains the data displayed by the "
@@ -2924,46 +2976,46 @@ msgid ""
"\"views\") might show different fields from the same database table."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2402(para)
+#: C/gtkmm-tutorial-in.xml:2405(para)
msgid ""
"Although you can theoretically implement your own Model, you will normally "
"use either the <classname>ListStore</classname> or <classname>TreeStore</"
"classname> model classes."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2411(title)
+#: C/gtkmm-tutorial-in.xml:2414(title)
msgid "ListStore, for rows"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2412(para)
+#: C/gtkmm-tutorial-in.xml:2415(para)
msgid ""
"The <classname>ListStore</classname> contains simple rows of data, and each "
"row has no children."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2418(title) C/gtkmm-tutorial-in.xml:2962(title)
+#: C/gtkmm-tutorial-in.xml:2421(title) C/gtkmm-tutorial-in.xml:2965(title)
msgid "TreeView - ListStore"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2429(title)
+#: C/gtkmm-tutorial-in.xml:2432(title)
msgid "TreeStore, for a hierarchy"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2430(para)
+#: C/gtkmm-tutorial-in.xml:2433(para)
msgid ""
"The <classname>TreeStore</classname> contains rows of data, and each row may "
"have child rows."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2436(title) C/gtkmm-tutorial-in.xml:2981(title)
+#: C/gtkmm-tutorial-in.xml:2439(title) C/gtkmm-tutorial-in.xml:2984(title)
msgid "TreeView - TreeStore"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2447(title)
+#: C/gtkmm-tutorial-in.xml:2450(title)
msgid "Model Columns"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2448(para)
+#: C/gtkmm-tutorial-in.xml:2451(para)
msgid ""
"The <classname>TreeModelColumnRecord</classname> class is used to keep track "
"of the columns and their data types. You add <classname>TreeModelColumn</"
@@ -2974,7 +3026,7 @@ msgid ""
"<classname>TreeModelColumn</classname> instances as member data."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2459(programlisting)
+#: C/gtkmm-tutorial-in.xml:2462(programlisting)
#, no-wrap
msgid ""
"class ModelColumns : public Gtk::TreeModelColumnRecord\n"
@@ -2990,132 +3042,150 @@ msgid ""
"\n"
"ModelColumns m_Columns;"
msgstr ""
+"class ModelColumns : public Gtk::TreeModelColumnRecord\n"
+"{\n"
+"public:\n"
+"\n"
+" ModelColumns()\n"
+" { add(m_col_text); add(m_col_number); }\n"
+"\n"
+" Gtk::TreeModelColumn<Glib::ustring> m_col_text;\n"
+" Gtk::TreeModelColumn<int> m_col_number;\n"
+"};\n"
+"\n"
+"ModelColumns m_Columns;"
-#: C/gtkmm-tutorial-in.xml:2472(para)
+#: C/gtkmm-tutorial-in.xml:2475(para)
msgid ""
"You specify the <classname>ColumnRecord</classname> when creating the Model, "
"like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2476(programlisting)
+#: C/gtkmm-tutorial-in.xml:2479(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::ListStore> refListStore =\n"
" Gtk::ListStore::create(m_Columns);"
msgstr ""
+"Glib::RefPtr<Gtk::ListStore> refListStore =\n"
+" Gtk::ListStore::create(m_Columns);"
-#: C/gtkmm-tutorial-in.xml:2478(para)
+#: C/gtkmm-tutorial-in.xml:2481(para)
msgid ""
"Note that the instance (such as m_Columns here) should usually not be "
"static, because it often needs to be instantiated after glibmm has been "
"instantiated."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2483(title)
+#: C/gtkmm-tutorial-in.xml:2486(title)
msgid "Adding Rows"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2484(para)
+#: C/gtkmm-tutorial-in.xml:2487(para)
msgid ""
"Add rows to the model with the <methodname>append()</methodname>, "
"<methodname>prepend()</methodname>, or <methodname>insert()</methodname> "
"methods."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2488(programlisting)
+#: C/gtkmm-tutorial-in.xml:2491(programlisting)
#, no-wrap
msgid "Gtk::TreeModel::iterator iter = m_refListStore->append();"
-msgstr ""
+msgstr "Gtk::TreeModel::iterator iter = m_refListStore->append();"
-#: C/gtkmm-tutorial-in.xml:2489(para)
+#: C/gtkmm-tutorial-in.xml:2492(para)
msgid "You can dereference the iterator to get the Row:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2491(programlisting)
+#: C/gtkmm-tutorial-in.xml:2494(programlisting)
#, no-wrap
msgid "Gtk::TreeModel::Row row = *iter;"
-msgstr ""
+msgstr "Gtk::TreeModel::Row row = *iter;"
-#: C/gtkmm-tutorial-in.xml:2492(title)
+#: C/gtkmm-tutorial-in.xml:2495(title)
msgid "Adding child rows"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2493(para)
+#: C/gtkmm-tutorial-in.xml:2496(para)
msgid ""
"<classname>Gtk::TreeStore</classname> models can have child items. Add them "
"with the <methodname>append()</methodname>, <methodname>prepend()</"
"methodname>, or <methodname>insert()</methodname> methods, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2498(programlisting)
+#: C/gtkmm-tutorial-in.xml:2501(programlisting)
#, no-wrap
msgid ""
"Gtk::TreeModel::iterator iter_child =\n"
" m_refListStore->append(row.children());"
msgstr ""
+"Gtk::TreeModel::iterator iter_child =\n"
+" m_refListStore->append(row.children());"
-#: C/gtkmm-tutorial-in.xml:2505(title)
+#: C/gtkmm-tutorial-in.xml:2508(title)
msgid "Setting values"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2506(para)
+#: C/gtkmm-tutorial-in.xml:2509(para)
msgid ""
"You can use the <methodname>operator[]</methodname> override to set the data "
"for a particular column in the row, specifying the "
"<classname>TreeModelColumn</classname> used to create the model."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2511(programlisting)
+#: C/gtkmm-tutorial-in.xml:2514(programlisting)
#, no-wrap
msgid "row[m_Columns.m_col_text] = \"sometext\";"
-msgstr ""
+msgstr "row[m_Columns.m_col_text] = \"texto\";"
-#: C/gtkmm-tutorial-in.xml:2515(title)
+#: C/gtkmm-tutorial-in.xml:2518(title)
msgid "Getting values"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2516(para)
+#: C/gtkmm-tutorial-in.xml:2519(para)
msgid ""
"You can use the <methodname>operator[]</methodname> override to get the data "
"in a particular column in a row, specifiying the <classname>TreeModelColumn</"
"classname> used to create the model."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2521(programlisting)
+#: C/gtkmm-tutorial-in.xml:2524(programlisting)
#, no-wrap
msgid ""
"Glib::ustring strText = row[m_Columns.m_col_text];\n"
"int number = row[m_Columns.m_col_number];"
msgstr ""
+"Glib::ustring strText = row[m_Columns.m_col_text];\n"
+"int number = row[m_Columns.m_col_number];"
-#: C/gtkmm-tutorial-in.xml:2523(para)
+#: C/gtkmm-tutorial-in.xml:2526(para)
msgid ""
"The compiler will complain if you use an inappropriate type. For instance, "
"this would generate a compiler error:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2527(programlisting)
+#: C/gtkmm-tutorial-in.xml:2530(programlisting)
#, no-wrap
msgid ""
"//compiler error - no conversion from ustring to int.\n"
"int number = row[m_Columns.m_col_text];"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2532(title)
+#: C/gtkmm-tutorial-in.xml:2535(title)
msgid "\"Hidden\" Columns"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2533(para)
+#: C/gtkmm-tutorial-in.xml:2536(para)
msgid ""
"You might want to associate extra data with each row. If so, just add it as "
"a Model column, but don't add it to the View."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2542(title) C/gtkmm-tutorial-in.xml:3336(title)
+#: C/gtkmm-tutorial-in.xml:2545(title) C/gtkmm-tutorial-in.xml:3339(title)
msgid "The View"
-msgstr ""
+msgstr "La vista"
-#: C/gtkmm-tutorial-in.xml:2543(para)
+#: C/gtkmm-tutorial-in.xml:2546(para)
msgid ""
"The View is the actual widget (<classname>Gtk::TreeView</classname>) that "
"displays the model (<classname>Gtk::TreeModel</classname>) data and allows "
@@ -3123,39 +3193,39 @@ msgid ""
"or just some, and it can show them in various ways."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2553(title)
+#: C/gtkmm-tutorial-in.xml:2556(title)
msgid "Using a Model"
-msgstr ""
+msgstr "Usar un modelo"
-#: C/gtkmm-tutorial-in.xml:2554(para)
+#: C/gtkmm-tutorial-in.xml:2557(para)
msgid ""
"You can specify a <classname>Gtk::TreeModel</classname> when constructing "
"the <classname>Gtk::TreeView</classname>, or you can use the "
"<methodname>set_model()</methodname> method, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2559(programlisting)
+#: C/gtkmm-tutorial-in.xml:2562(programlisting)
#, no-wrap
msgid "m_TreeView.set_model(m_refListStore);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2563(title)
+#: C/gtkmm-tutorial-in.xml:2566(title)
msgid "Adding View Columns"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2564(para)
+#: C/gtkmm-tutorial-in.xml:2567(para)
msgid ""
"You can use the <methodname>append_column()</methodname> method to tell the "
"View that it should display certain Model columns, in a certain order, with "
"a certain column title."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2569(programlisting)
+#: C/gtkmm-tutorial-in.xml:2572(programlisting)
#, no-wrap
msgid "m_TreeView.append_column(\"Messages\", m_Columns.m_col_text);"
-msgstr ""
+msgstr "m_TreeView.append_column(\"Messages\", m_Columns.m_col_text);"
-#: C/gtkmm-tutorial-in.xml:2570(para)
+#: C/gtkmm-tutorial-in.xml:2573(para)
msgid ""
"When using this simple <methodname>append_column()</methodname> override, "
"the <classname>TreeView</classname> will display the model data with an "
@@ -3170,18 +3240,18 @@ msgid ""
"as the column type instead."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2586(title)
+#: C/gtkmm-tutorial-in.xml:2589(title)
msgid "More than one Model Column per View Column"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2587(para)
+#: C/gtkmm-tutorial-in.xml:2590(para)
msgid ""
"To render more than one model column in a view column, you need to create "
"the <classname>TreeView::Column</classname> widget manually, and use "
"<methodname>pack_start()</methodname> to add the model columns to it."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2593(para)
+#: C/gtkmm-tutorial-in.xml:2596(para)
msgid ""
"Then use <methodname>append_column()</methodname> to add the view Column to "
"the View. Notice that <methodname>Gtk::View::append_column()</methodname> is "
@@ -3191,13 +3261,13 @@ msgid ""
"widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2600(para)
+#: C/gtkmm-tutorial-in.xml:2603(para)
msgid ""
"Here is some example code from <filename>demos/gtk-demo/example_stockbrowser."
"cc</filename>, which has a pixbuf icon and a text name in the same column:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2605(programlisting)
+#: C/gtkmm-tutorial-in.xml:2608(programlisting)
#, no-wrap
msgid ""
"Gtk::TreeView::Column* pColumn =\n"
@@ -3210,12 +3280,21 @@ msgid ""
"\n"
"m_TreeView.append_column(*pColumn);"
msgstr ""
+"Gtk::TreeView::Column* pColumn =\n"
+" Gtk::manage( new Gtk::TreeView::Column(\"Symbol\") );\n"
+"\n"
+"// m_columns.icon y m_columns.symbol son columnas en el modelo.\n"
+"// pColumn ies la columna en el TreeView:\n"
+"pColumn->pack_start(m_columns.icon, false); //false = don't expand.\n"
+"pColumn->pack_start(m_columns.symbol);\n"
+"\n"
+"m_TreeView.append_column(*pColumn);"
-#: C/gtkmm-tutorial-in.xml:2617(title)
+#: C/gtkmm-tutorial-in.xml:2620(title)
msgid "Specifying CellRenderer details"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2618(para)
+#: C/gtkmm-tutorial-in.xml:2621(para)
msgid ""
"The default <classname>CellRenderers</classname> and their default behaviour "
"will normally suffice, but you might occasionally need finer control. For "
@@ -3225,7 +3304,7 @@ msgid ""
"columns through various aspects of its appearance."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2626(programlisting)
+#: C/gtkmm-tutorial-in.xml:2629(programlisting)
#, no-wrap
msgid ""
"Gtk::CellRendererToggle* pRenderer =\n"
@@ -3241,14 +3320,26 @@ msgid ""
" pColumn->add_attribute(pRenderer->property_activatable(),\n"
" m_columns.world);"
msgstr ""
+"Gtk::CellRendererToggle* pRenderer =\n"
+" Gtk::manage( new Gtk::CellRendererToggle() );\n"
+"int cols_count = m_TreeView.append_column(\"Alex\", *pRenderer);\n"
+"Gtk::TreeViewColumn* pColumn = m_TreeView.get_column(cols_count-1);\n"
+"if(pColumn)\n"
+"{\n"
+" pColumn->add_attribute(pRenderer->property_active(),\n"
+" m_columns.alex);\n"
+" pColumn->add_attribute(pRenderer->property_visible(),\n"
+" m_columns.visible);\n"
+" pColumn->add_attribute(pRenderer->property_activatable(),\n"
+" m_columns.world);"
-#: C/gtkmm-tutorial-in.xml:2639(para)
+#: C/gtkmm-tutorial-in.xml:2642(para)
msgid ""
"You can also connect to <classname>CellRenderer</classname> signals to "
"detect user actions. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2643(programlisting)
+#: C/gtkmm-tutorial-in.xml:2646(programlisting)
#, no-wrap
msgid ""
"Gtk::CellRendererToggle* pRenderer =\n"
@@ -3258,16 +3349,22 @@ msgid ""
" &Example_TreeView_TreeStore::on_cell_toggled), m_columns.dave)\n"
");"
msgstr ""
+"Gtk::CellRendererToggle* pRenderer =\n"
+" Gtk::manage( new Gtk::CellRendererToggle() );\n"
+"pRenderer->signal_toggled().connect(\n"
+" sigc::bind( sigc::mem_fun(*this,\n"
+" &Example_TreeView_TreeStore::on_cell_toggled), m_columns.dave)\n"
+");"
-#: C/gtkmm-tutorial-in.xml:2652(title) C/gtkmm-tutorial-in.xml:2991(title)
+#: C/gtkmm-tutorial-in.xml:2655(title) C/gtkmm-tutorial-in.xml:2994(title)
msgid "Editable Cells"
-msgstr ""
+msgstr "Celdas editables"
-#: C/gtkmm-tutorial-in.xml:2655(title)
+#: C/gtkmm-tutorial-in.xml:2658(title)
msgid "Automatically-stored editable cells."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2656(para)
+#: C/gtkmm-tutorial-in.xml:2659(para)
msgid ""
"Cells in a <classname>TreeView</classname> can be edited in-place by the "
"user. To allow this, use the <classname>Gtk::TreeView</"
@@ -3280,18 +3377,18 @@ msgid ""
"ustring</classname>, int, and long."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2670(title)
+#: C/gtkmm-tutorial-in.xml:2673(title)
msgid "Implementing custom logic for editable cells."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2671(para)
+#: C/gtkmm-tutorial-in.xml:2674(para)
msgid ""
"However, you might not want the new values to be stored immediately. For "
"instance, maybe you want to restrict the input to certain characters or "
"ranges of values."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2676(para)
+#: C/gtkmm-tutorial-in.xml:2679(para)
msgid ""
"To achieve this, you should use the normal <classname>Gtk::TreeView</"
"classname><methodname>insert_column()</methodname> and "
@@ -3300,31 +3397,31 @@ msgid ""
"<classname>Gtk::CellRenderer</classname> used by that column."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2682(para)
+#: C/gtkmm-tutorial-in.xml:2685(para)
msgid ""
"You should then cast that <classname>Gtk::CellRenderer*</classname> to the "
"specific <classname>CellRenderer</classname> that you expect, so you can use "
"specific API."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2686(para)
+#: C/gtkmm-tutorial-in.xml:2689(para)
msgid ""
"For instance, for a CellRendererText, you would set the cell's "
"<emphasis>editable</emphasis> property to true, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2689(programlisting)
+#: C/gtkmm-tutorial-in.xml:2692(programlisting)
#, no-wrap
msgid "cell.property_editable() = true;"
-msgstr ""
+msgstr "cell.property_editable() = true;"
-#: C/gtkmm-tutorial-in.xml:2690(para)
+#: C/gtkmm-tutorial-in.xml:2693(para)
msgid ""
"For a CellRendererToggle, you would set the <emphasis>activatable</emphasis> "
"property instead."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2694(para)
+#: C/gtkmm-tutorial-in.xml:2697(para)
msgid ""
"You can then connect to the appropriate \"edited\" signal. For instance, "
"connect to <methodname>Gtk::CellRendererText::signal_edited()</methodname>, "
@@ -3335,17 +3432,17 @@ msgid ""
"Column."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2702(para)
+#: C/gtkmm-tutorial-in.xml:2705(para)
msgid ""
"In your signal handler, you should examine the new value and then store it "
"in the Model if that is appropriate for your application."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2714(title)
+#: C/gtkmm-tutorial-in.xml:2717(title)
msgid "Iterating over Model Rows"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2715(para)
+#: C/gtkmm-tutorial-in.xml:2718(para)
msgid ""
"<classname>Gtk::TreeModel</classname> provides a C++ Standard Library-style "
"container of its children, via the <methodname>children()</methodname> "
@@ -3353,7 +3450,7 @@ msgid ""
"<methodname>end()</methodname> methods iterator incrementing, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2721(programlisting)
+#: C/gtkmm-tutorial-in.xml:2724(programlisting)
#, no-wrap
msgid ""
"typedef Gtk::TreeModel::Children type_children; //minimise code length.\n"
@@ -3366,16 +3463,16 @@ msgid ""
"}"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2731(title)
+#: C/gtkmm-tutorial-in.xml:2734(title)
msgid "Row children"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2736(programlisting)
+#: C/gtkmm-tutorial-in.xml:2739(programlisting)
#, no-wrap
msgid "Gtk::TreeModel::Children children = row.children();"
-msgstr ""
+msgstr "Gtk::TreeModel::Children children = row.children();"
-#: C/gtkmm-tutorial-in.xml:2732(para)
+#: C/gtkmm-tutorial-in.xml:2735(para)
msgid ""
"When using a <classname>Gtk::TreeStore</classname>, the rows can have child "
"rows, which can have their own children in turn. Use <methodname>Gtk::"
@@ -3383,50 +3480,52 @@ msgid ""
"<classname>Row</classname>s: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2743(title)
+#: C/gtkmm-tutorial-in.xml:2746(title)
msgid "The Selection"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2744(para)
+#: C/gtkmm-tutorial-in.xml:2747(para)
msgid ""
"To find out what rows the user has selected, get the <classname>Gtk::"
"TreeView::Selection</classname> object from the <classname>TreeView</"
"classname>, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2749(programlisting)
+#: C/gtkmm-tutorial-in.xml:2752(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::TreeSelection> refTreeSelection =\n"
" m_TreeView.get_selection();"
msgstr ""
+"Glib::RefPtr<Gtk::TreeSelection> refTreeSelection =\n"
+" m_TreeView.get_selection();"
-#: C/gtkmm-tutorial-in.xml:2753(title)
+#: C/gtkmm-tutorial-in.xml:2756(title)
msgid "Single or multiple selection"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2757(programlisting)
+#: C/gtkmm-tutorial-in.xml:2760(programlisting)
#, no-wrap
msgid "refTreeSelection->set_mode(Gtk::SELECTION_MULTIPLE);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2754(para)
+#: C/gtkmm-tutorial-in.xml:2757(para)
msgid ""
"By default, only single rows can be selected, but you can allow multiple "
"selection by setting the mode, like so: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2762(title)
+#: C/gtkmm-tutorial-in.xml:2765(title)
msgid "The selected rows"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2763(para)
+#: C/gtkmm-tutorial-in.xml:2766(para)
msgid ""
"For single-selection, you can just call <methodname>get_selected()</"
"methodname>, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2767(programlisting)
+#: C/gtkmm-tutorial-in.xml:2770(programlisting)
#, no-wrap
msgid ""
"TreeModel::iterator iter = refTreeSelection->get_selected();\n"
@@ -3436,8 +3535,14 @@ msgid ""
" //Do something with the row.\n"
"}"
msgstr ""
+"TreeModel::iterator iter = refTreeSelection->get_selected();\n"
+"if(iter) //Si hay algo seleccionado\n"
+"{\n"
+" TreeModel::Row row = *iter;\n"
+" //Hacer algo con la fila.\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:2774(para)
+#: C/gtkmm-tutorial-in.xml:2777(para)
msgid ""
"For multiple-selection, you need to define a callback, and give it to "
"<methodname>selected_foreach()</methodname>, "
@@ -3445,7 +3550,7 @@ msgid ""
"<methodname>selected_foreach_iter()</methodname>, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2780(programlisting)
+#: C/gtkmm-tutorial-in.xml:2783(programlisting)
#, no-wrap
msgid ""
"refTreeSelection->selected_foreach_iter(\n"
@@ -3458,55 +3563,69 @@ msgid ""
" //Do something with the row.\n"
"}"
msgstr ""
+"refTreeSelection->selected_foreach_iter(\n"
+" sigc::mem_fun(*this, &TheClass::selected_row_callback) );\n"
+"\n"
+"void TheClass::selected_row_callback(\n"
+" const Gtk::TreeModel::iterator& iter)\n"
+"{\n"
+" TreeModel::Row row = *iter;\n"
+" //Hacer algo con la fila.\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:2793(title)
+#: C/gtkmm-tutorial-in.xml:2796(title)
msgid "The \"changed\" signal"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2794(para)
+#: C/gtkmm-tutorial-in.xml:2797(para)
msgid ""
"To respond to the user clicking on a row or range of rows, connect to the "
"signal like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2798(programlisting)
+#: C/gtkmm-tutorial-in.xml:2801(programlisting)
#, no-wrap
msgid ""
"refTreeSelection->signal_changed().connect(\n"
" sigc::mem_fun(*this, &Example_StockBrowser::on_selection_changed)\n"
");"
msgstr ""
+"refTreeSelection->signal_changed().connect(\n"
+" sigc::mem_fun(*this, &Example_StockBrowser::on_selection_changed)\n"
+");"
-#: C/gtkmm-tutorial-in.xml:2804(title)
+#: C/gtkmm-tutorial-in.xml:2807(title)
msgid "Preventing row selection"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2805(para)
+#: C/gtkmm-tutorial-in.xml:2808(para)
msgid ""
"Maybe the user should not be able to select every item in your list or tree. "
"For instance, in the gtk-demo, you can select a demo to see the source code, "
"but it doesn't make any sense to select a demo category."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2810(para)
+#: C/gtkmm-tutorial-in.xml:2813(para)
msgid ""
"To control which rows can be selected, use the "
"<methodname>set_select_function()</methodname> method, providing a "
"<classname>sigc::slot</classname> callback. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2815(programlisting)
+#: C/gtkmm-tutorial-in.xml:2818(programlisting)
#, no-wrap
msgid ""
"m_refTreeSelection->set_select_function( sigc::mem_fun(*this,\n"
" &DemoWindow::select_function) );"
msgstr ""
+"m_refTreeSelection->set_select_function( sigc::mem_fun(*this,\n"
+" &DemoWindow::select_function) );"
-#: C/gtkmm-tutorial-in.xml:2817(para)
+#: C/gtkmm-tutorial-in.xml:2820(para)
msgid "and then"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2820(programlisting)
+#: C/gtkmm-tutorial-in.xml:2823(programlisting)
#, no-wrap
msgid ""
"bool DemoWindow::select_function(\n"
@@ -3518,41 +3637,47 @@ msgid ""
"}"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2830(title)
+#: C/gtkmm-tutorial-in.xml:2833(title)
msgid "Changing the selection"
-msgstr ""
+msgstr "Cambiar la selección"
-#: C/gtkmm-tutorial-in.xml:2831(para)
+#: C/gtkmm-tutorial-in.xml:2834(para)
msgid ""
"To change the selection, specify a <classname>Gtk::TreeModel::iterator</"
"classname> or <classname>Gtk::TreeModel::Row</classname>, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2836(programlisting)
+#: C/gtkmm-tutorial-in.xml:2839(programlisting)
#, no-wrap
msgid ""
"Gtk::TreeModel::Row row = m_refModel->children()[5]; //The fifth row.\n"
"if(row)\n"
" refTreeSelection->select(row);"
msgstr ""
+"Gtk::TreeModel::Row row = m_refModel->children()[5]; //La quinta fila.\n"
+"if(row)\n"
+" refTreeSelection->select(row);"
-#: C/gtkmm-tutorial-in.xml:2839(para)
+#: C/gtkmm-tutorial-in.xml:2842(para)
msgid "or"
msgstr "o"
-#: C/gtkmm-tutorial-in.xml:2842(programlisting)
+#: C/gtkmm-tutorial-in.xml:2845(programlisting)
#, no-wrap
msgid ""
"Gtk::TreeModel::iterator iter = m_refModel->children().begin()\n"
"if(iter)\n"
" refTreeSelection->select(iter);"
msgstr ""
+"Gtk::TreeModel::iterator iter = m_refModel->children().begin()\n"
+"if(iter)\n"
+" refTreeSelection->select(iter);"
-#: C/gtkmm-tutorial-in.xml:2851(title)
+#: C/gtkmm-tutorial-in.xml:2854(title)
msgid "Sorting"
msgstr "Ordenar"
-#: C/gtkmm-tutorial-in.xml:2852(para)
+#: C/gtkmm-tutorial-in.xml:2855(para)
msgid ""
"The standard tree models (<classname>TreeStore</classname> and "
"<classname>ListStore</classname> derive from <classname>TreeSortable</"
@@ -3562,15 +3687,15 @@ msgid ""
"()</methodname> to implement a more complicated sorting algorithm."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2856(ulink)
+#: C/gtkmm-tutorial-in.xml:2859(ulink)
msgid "TreeSortable Reference"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2859(title)
+#: C/gtkmm-tutorial-in.xml:2862(title)
msgid "Sorting by clicking on columns"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2860(para)
+#: C/gtkmm-tutorial-in.xml:2863(para)
msgid ""
"So that a user can click on a <classname>TreeView</classname>'s column "
"header to sort the <classname>TreeView</classname>'s contents, call "
@@ -3579,19 +3704,22 @@ msgid ""
"For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2863(programlisting)
+#: C/gtkmm-tutorial-in.xml:2866(programlisting)
#, no-wrap
msgid ""
"Gtk::TreeView::Column* pColumn = treeview.get_column(0);\n"
"if(pColumn)\n"
" pColumn->set_sort_column(m_columns.m_col_id);"
msgstr ""
+"Gtk::TreeView::Column* pColumn = treeview.get_column(0);\n"
+"if(pColumn)\n"
+" pColumn->set_sort_column(m_columns.m_col_id);"
-#: C/gtkmm-tutorial-in.xml:2869(title)
+#: C/gtkmm-tutorial-in.xml:2872(title)
msgid "Independently sorted views of the same model"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2870(para)
+#: C/gtkmm-tutorial-in.xml:2873(para)
msgid ""
"The <classname>TreeView</classname> already allows you to show the same "
"<classname>TreeModel</classname> in two <classname>TreeView</classname> "
@@ -3604,7 +3732,7 @@ msgid ""
"<classname>TreeView</classname> like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2873(programlisting)
+#: C/gtkmm-tutorial-in.xml:2876(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::TreeModelSort> sorted_model =\n"
@@ -3612,15 +3740,19 @@ msgid ""
"sorted_model->set_sort_column(columns.m_col_name, Gtk::SORT_ASCENDING);\n"
"treeview.set_model(sorted_model);"
msgstr ""
+"Glib::RefPtr<Gtk::TreeModelSort> sorted_model =\n"
+" Gtk::TreeModelSort::create(model);\n"
+"sorted_model->set_sort_column(columns.m_col_name, Gtk::SORT_ASCENDING);\n"
+"treeview.set_model(sorted_model);"
-#: C/gtkmm-tutorial-in.xml:2878(para)
+#: C/gtkmm-tutorial-in.xml:2881(para)
msgid ""
"Note, however, that the TreeView will provide iterators to the sorted model. "
"You must convert them to iterators to the underlying child model in order to "
"perform actions on that model. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2880(programlisting)
+#: C/gtkmm-tutorial-in.xml:2883(programlisting)
#, no-wrap
msgid ""
"void ExampleWindow::on_button_delete()\n"
@@ -3640,18 +3772,34 @@ msgid ""
" }\n"
"}"
msgstr ""
+"void VentanaEjemplo::on_button_delete()\n"
+"{\n"
+" Glib::RefPtr<Gtk::TreeSelection> refTreeSelection =\n"
+" m_treeview.get_selection();\n"
+" if(refTreeSelection)\n"
+" {\n"
+" Gtk::TreeModel::iterator sorted_iter =\n"
+" m_refTreeSelection->get_selected();\n"
+" if(sorted_iter)\n"
+" {\n"
+" Gtk::TreeModel::iterator iter =\n"
+" m_refModelSort->convert_iter_to_child_iter(sorted_iter);\n"
+" m_refModel->erase(iter);\n"
+" }\n"
+" }\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:2897(ulink)
+#: C/gtkmm-tutorial-in.xml:2900(ulink)
msgid "TreeModelSort Reference"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2903(title) C/gtkmm-tutorial-in.xml:3010(title)
-#: C/gtkmm-tutorial-in.xml:3642(title) C/gtkmm-tutorial-in.xml:4640(title)
-#: C/gtkmm-tutorial-in.xml:4802(title)
+#: C/gtkmm-tutorial-in.xml:2906(title) C/gtkmm-tutorial-in.xml:3013(title)
+#: C/gtkmm-tutorial-in.xml:3645(title) C/gtkmm-tutorial-in.xml:4643(title)
+#: C/gtkmm-tutorial-in.xml:4805(title)
msgid "Drag and Drop"
msgstr "Arrastrar y soltar"
-#: C/gtkmm-tutorial-in.xml:2904(para)
+#: C/gtkmm-tutorial-in.xml:2907(para)
msgid ""
"<classname>Gtk::TreeView</classname> already implments simple drag-and-drop "
"when used with the <classname>Gtk::ListStore</classname> or <classname>Gtk::"
@@ -3660,18 +3808,18 @@ msgid ""
"<link linkend=\"chapter-draganddrop\">Drag and Drop</link> API."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2913(title)
+#: C/gtkmm-tutorial-in.xml:2916(title)
msgid "Reorderable rows"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2914(para)
+#: C/gtkmm-tutorial-in.xml:2917(para)
msgid ""
"If you call <methodname>Gtk::TreeView::set_reorderable()</methodname> then "
"your TreeView's items can be moved within the treeview itself. This is "
"demonstrated in the <classname>TreeStore</classname> example."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2919(para)
+#: C/gtkmm-tutorial-in.xml:2922(para)
msgid ""
"However, this does not allow you any control of which items can be dragged, "
"and where they can be dropped. If you need that extra control then you might "
@@ -3684,15 +3832,15 @@ msgid ""
"literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2920(para)
+#: C/gtkmm-tutorial-in.xml:2923(para)
msgid "This is demonstrated in the drag_and_drop example."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2926(title) C/gtkmm-tutorial-in.xml:3032(title)
+#: C/gtkmm-tutorial-in.xml:2929(title) C/gtkmm-tutorial-in.xml:3035(title)
msgid "Popup Context Menu"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2927(para)
+#: C/gtkmm-tutorial-in.xml:2930(para)
msgid ""
"Lots of people need to implement right-click context menus for "
"<classname>TreeView</classname>'s so we will explain how to do that here to "
@@ -3701,11 +3849,11 @@ msgid ""
"\">menus chapter</link>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2936(title)
+#: C/gtkmm-tutorial-in.xml:2939(title)
msgid "Handling <literal>button_press_event</literal>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2937(para)
+#: C/gtkmm-tutorial-in.xml:2940(para)
msgid ""
"To detect a click of the right mouse button, you need to handle the "
"<literal>button_press_event</literal> signal, and check exactly which button "
@@ -3718,48 +3866,48 @@ msgid ""
"first."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2947(para)
+#: C/gtkmm-tutorial-in.xml:2950(para)
msgid "This is demonstrated in the Popup Custom Menu example."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2952(title) C/gtkmm-tutorial-in.xml:3403(title)
-#: C/gtkmm-tutorial-in.xml:3578(title) C/gtkmm-tutorial-in.xml:4951(title)
+#: C/gtkmm-tutorial-in.xml:2955(title) C/gtkmm-tutorial-in.xml:3406(title)
+#: C/gtkmm-tutorial-in.xml:3581(title) C/gtkmm-tutorial-in.xml:4954(title)
msgid "Examples"
msgstr "Ejemplos"
-#: C/gtkmm-tutorial-in.xml:2954(title)
+#: C/gtkmm-tutorial-in.xml:2957(title)
msgid "ListStore"
-msgstr ""
+msgstr "ListStore"
-#: C/gtkmm-tutorial-in.xml:2955(para)
+#: C/gtkmm-tutorial-in.xml:2958(para)
msgid ""
"This example has a <classname>Gtk::TreeView</classname> widget, with a "
"<classname>Gtk::ListStore</classname> model."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2972(title)
+#: C/gtkmm-tutorial-in.xml:2975(title)
msgid "TreeStore"
-msgstr ""
+msgstr "TreeStore"
-#: C/gtkmm-tutorial-in.xml:2974(para)
+#: C/gtkmm-tutorial-in.xml:2977(para)
msgid ""
"This example is very similar to the <classname>ListStore</classname> "
"example, but uses a <classname>Gtk::TreeStore</classname> model instead, and "
"adds children to the rows."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:2993(para)
+#: C/gtkmm-tutorial-in.xml:2996(para)
msgid ""
"This example is identical to the <classname>ListStore</classname> example, "
"but it uses <methodname>TreeView::append_column_editable()</methodname> "
"instead of <methodname>TreeView::append_column()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3000(title)
+#: C/gtkmm-tutorial-in.xml:3003(title)
msgid "TreeView - Editable Cells"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3012(para)
+#: C/gtkmm-tutorial-in.xml:3015(para)
msgid ""
"This example is much like the <classname>TreeStore</classname> example, but "
"has 2 extra columns to indicate whether the row can be dragged, and whether "
@@ -3769,11 +3917,11 @@ msgid ""
"section.."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3022(title)
+#: C/gtkmm-tutorial-in.xml:3025(title)
msgid "TreeView - Drag And Drop"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3034(para)
+#: C/gtkmm-tutorial-in.xml:3037(para)
msgid ""
"This example is much like the <classname>ListStore</classname> example, but "
"derives a custom <classname>TreeView</classname> in order to override the "
@@ -3782,15 +3930,15 @@ msgid ""
"contextmenu\">TreeView Popup Context Menu</link> section."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3044(title)
+#: C/gtkmm-tutorial-in.xml:3047(title)
msgid "TreeView - Popup Context Menu"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3061(title)
+#: C/gtkmm-tutorial-in.xml:3064(title)
msgid "Combo Boxes"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3063(para)
+#: C/gtkmm-tutorial-in.xml:3066(para)
msgid ""
"The <classname>ComboBox</classname> widgets offers a list (or tree) of "
"choices in a dropdown menu. If appropriate, it can show extra information "
@@ -3801,7 +3949,7 @@ msgid ""
"available choices are suitable."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3066(para)
+#: C/gtkmm-tutorial-in.xml:3069(para)
msgid ""
"The list is provided via a <classname>TreeModel</classname>, and columns "
"from this model are added to the ComboBox's view with the "
@@ -3811,18 +3959,18 @@ msgid ""
"flexibility is not required."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3072(title)
+#: C/gtkmm-tutorial-in.xml:3075(title)
msgid "The model"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3073(para)
+#: C/gtkmm-tutorial-in.xml:3076(para)
msgid ""
"The model for a ComboBox can be defined and filled exactly as for a "
"<classname>TreeView</classname>. For instance, you might derive a ComboBox "
"class with one integer and one text columns, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3075(programlisting)
+#: C/gtkmm-tutorial-in.xml:3078(programlisting)
#, no-wrap
msgid ""
"ModelColumns()\n"
@@ -3834,8 +3982,16 @@ msgid ""
"\n"
"ModelColumns m_columns;"
msgstr ""
+"ModelColumns()\n"
+"{ add(m_col_id); add(m_col_name); }\n"
+"\n"
+" Gtk::TreeModelColumn<int> m_col_id;\n"
+" Gtk::TreeModelColumn<Glib::ustring> m_col_name;\n"
+"};\n"
+"\n"
+"ModelColumns m_columns;"
-#: C/gtkmm-tutorial-in.xml:3084(para)
+#: C/gtkmm-tutorial-in.xml:3087(para)
msgid ""
"After appending rows to this model, you should provide the model to the "
"<classname>ComboBox</classname> with the <methodname>set_model()</"
@@ -3850,11 +4006,11 @@ msgid ""
"in the <classname>CellLayout</classname> base class."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3088(title)
+#: C/gtkmm-tutorial-in.xml:3091(title)
msgid "The chosen item"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3089(para)
+#: C/gtkmm-tutorial-in.xml:3092(para)
msgid ""
"To discover what item, if any, the user has chosen from the ComboBox, call "
"<methodname>ComboBox::get_active()</methodname>. This returns a "
@@ -3865,7 +4021,7 @@ msgid ""
"instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3091(programlisting)
+#: C/gtkmm-tutorial-in.xml:3094(programlisting)
#, no-wrap
msgid ""
"Gtk::TreeModel::iterator iter = m_Combo.get_active();\n"
@@ -3882,74 +4038,76 @@ msgid ""
" set_nothing_chosen(); //Your own function."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3106(title)
+#: C/gtkmm-tutorial-in.xml:3109(title)
msgid "Responding to changes"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3107(para)
+#: C/gtkmm-tutorial-in.xml:3110(para)
msgid ""
"You might need to react to every change of selection in the ComboBox, for "
"instance to update other widgets. To do so, you should handle the \"changed"
"\" signal. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3110(programlisting)
+#: C/gtkmm-tutorial-in.xml:3113(programlisting)
#, no-wrap
msgid ""
"m_combo.signal_changed().connect( sigc::mem_fun(*this,\n"
" &ExampleWindow::on_combo_changed) );"
msgstr ""
+"m_combo.signal_changed().connect( sigc::mem_fun(*this,\n"
+" &ExampleWindow::on_combo_changed) );"
-#: C/gtkmm-tutorial-in.xml:3114(title) C/gtkmm-tutorial-in.xml:3161(title)
+#: C/gtkmm-tutorial-in.xml:3117(title) C/gtkmm-tutorial-in.xml:3164(title)
msgid "Full Example"
-msgstr ""
+msgstr "Ejemplo completo"
-#: C/gtkmm-tutorial-in.xml:3117(title) C/gtkmm-tutorial-in.xml:3130(title)
+#: C/gtkmm-tutorial-in.xml:3120(title) C/gtkmm-tutorial-in.xml:3133(title)
msgid "ComboBox"
-msgstr ""
+msgstr "ComboBox"
-#: C/gtkmm-tutorial-in.xml:3127(title) C/gtkmm-tutorial-in.xml:3174(title)
+#: C/gtkmm-tutorial-in.xml:3130(title) C/gtkmm-tutorial-in.xml:3177(title)
msgid "Simple Text Example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3141(title)
+#: C/gtkmm-tutorial-in.xml:3144(title)
msgid "ComboBox with an Entry"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3143(para)
+#: C/gtkmm-tutorial-in.xml:3146(para)
msgid ""
"A <classname>ComboBox</classname> may contain an <classname>Entry</"
"classname> widget for entering of arbitrary text, by specifying true for the "
"constructor's <literal>has_entry</literal> parameter."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3146(title)
+#: C/gtkmm-tutorial-in.xml:3149(title)
msgid "The text column"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3148(programlisting)
+#: C/gtkmm-tutorial-in.xml:3151(programlisting)
#, no-wrap
msgid "m_combo.set_text_column(m_columns.m_col_name);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3147(para)
+#: C/gtkmm-tutorial-in.xml:3150(para)
msgid ""
"So that the Entry can interact with the drop-down list of choices, you must "
-"specify which of your model columns are the text column, with "
+"specify which of your model columns is the text column, with "
"<methodname>set_text_column()</methodname>. For instance: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3150(para)
+#: C/gtkmm-tutorial-in.xml:3153(para)
msgid ""
"When you select a choice from the drop-down menu, the value from this column "
"will be placed in the <classname>Entry</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3156(title)
+#: C/gtkmm-tutorial-in.xml:3159(title)
msgid "The entry"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3157(para)
+#: C/gtkmm-tutorial-in.xml:3160(para)
msgid ""
"Because the user may enter arbitrary text, an active model row isn't enough "
"to tell us what text the user has inputted. Therefore, you should retrieve "
@@ -3958,19 +4116,19 @@ msgid ""
"on that."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3164(title)
+#: C/gtkmm-tutorial-in.xml:3167(title)
msgid "ComboBoxEntry"
-msgstr ""
+msgstr "ComboBoxEntry"
-#: C/gtkmm-tutorial-in.xml:3177(title)
+#: C/gtkmm-tutorial-in.xml:3180(title)
msgid "ComboBoxEntryText"
-msgstr ""
+msgstr "ComboBoxEntryText"
-#: C/gtkmm-tutorial-in.xml:3196(title) C/gtkmm-tutorial-in.xml:3408(title)
+#: C/gtkmm-tutorial-in.xml:3199(title) C/gtkmm-tutorial-in.xml:3411(title)
msgid "TextView"
-msgstr ""
+msgstr "TextView"
-#: C/gtkmm-tutorial-in.xml:3197(para)
+#: C/gtkmm-tutorial-in.xml:3200(para)
msgid ""
"The <classname>TextView</classname> widget can be used to display and edit "
"large amounts of formatted text. Like the <classname>TreeView</classname>, "
@@ -3978,11 +4136,11 @@ msgid ""
"classname> is the model."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3205(title)
+#: C/gtkmm-tutorial-in.xml:3208(title)
msgid "The Buffer"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3206(para)
+#: C/gtkmm-tutorial-in.xml:3209(para)
msgid ""
"<classname>Gtk::TextBuffer</classname> is a model containing the data for "
"the <classname>Gtk::TextView</classname>, like the <classname>Gtk::"
@@ -3994,26 +4152,26 @@ msgid ""
"different times in the same <classname>Gtk::TextView</classname> widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3216(para)
+#: C/gtkmm-tutorial-in.xml:3219(para)
msgid ""
"The <classname>TextView</classname> creates its own default "
"<classname>TextBuffer</classname>, which you can access via the "
"<methodname>get_buffer()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3225(title)
+#: C/gtkmm-tutorial-in.xml:3228(title)
msgid "Iterators"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3231(title)
+#: C/gtkmm-tutorial-in.xml:3234(title)
msgid "Tags and Formatting"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3234(title)
+#: C/gtkmm-tutorial-in.xml:3237(title)
msgid "Tags"
msgstr "Etiquetas"
-#: C/gtkmm-tutorial-in.xml:3235(para)
+#: C/gtkmm-tutorial-in.xml:3238(para)
msgid ""
"To specify that some text in the buffer should have specific formatting, you "
"must define a tag to hold that formatting information, and then apply that "
@@ -4021,29 +4179,32 @@ msgid ""
"properties:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3238(programlisting)
+#: C/gtkmm-tutorial-in.xml:3241(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::TextBuffer::Tag> refTagMatch =\n"
" Gtk::TextBuffer::Tag::create();\n"
"refTagMatch->property_background() = \"orange\";"
msgstr ""
+"Glib::RefPtr<Gtk::TextBuffer::Tag> refTagMatch =\n"
+" Gtk::TextBuffer::Tag::create();\n"
+"refTagMatch->property_background() = \"orange\";"
-#: C/gtkmm-tutorial-in.xml:3241(para)
+#: C/gtkmm-tutorial-in.xml:3244(para)
msgid ""
"You can specify a name for the <classname>Tag</classname> when using the "
"<methodname>create()</methodname> method, but it is not necessary."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3246(para)
+#: C/gtkmm-tutorial-in.xml:3249(para)
msgid "The <classname>Tag</classname> class has many other properties."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3255(title)
+#: C/gtkmm-tutorial-in.xml:3258(title)
msgid "TagTable"
-msgstr ""
+msgstr "TagTable"
-#: C/gtkmm-tutorial-in.xml:3257(para)
+#: C/gtkmm-tutorial-in.xml:3260(para)
msgid ""
"Each <classname>Gtk::TextBuffer</classname> uses a <classname>Gtk::"
"TextBuffer::TagTable</classname>, which contains the <classname>Tag</"
@@ -4053,7 +4214,7 @@ msgid ""
"classname>. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3265(programlisting)
+#: C/gtkmm-tutorial-in.xml:3268(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::TextBuffer::TagTable> refTagTable =\n"
@@ -4064,19 +4225,26 @@ msgid ""
"Glib::RefPtr<Gtk::TextBuffer> refBuffer =\n"
" Gtk::TextBuffer::create(refTagTable);"
msgstr ""
+"Glib::RefPtr<Gtk::TextBuffer::TagTable> refTagTable =\n"
+" Gtk::TextBuffer::TagTable::create();\n"
+"refTagTable->add(refTagMatch);\n"
+"//Posiblemente, la siguiente versión de <application>gtkmm</application> tenga un método set_tag_table(),\n"
+"//para usarlo después de la creación del búfer.\n"
+"Glib::RefPtr<Gtk::TextBuffer> refBuffer =\n"
+" Gtk::TextBuffer::create(refTagTable);"
-#: C/gtkmm-tutorial-in.xml:3273(para)
+#: C/gtkmm-tutorial-in.xml:3276(para)
msgid ""
"You can also use <methodname>get_tag_table()</methodname> to get, and maybe "
"modify, the <classname>TextBuffer</classname>'s default <classname>TagTable</"
"classname> instead of creating one explicitly."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3284(title)
+#: C/gtkmm-tutorial-in.xml:3287(title)
msgid "Applying Tags"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3285(para)
+#: C/gtkmm-tutorial-in.xml:3288(para)
msgid ""
"If you have created a <classname>Tag</classname> and added it to the "
"<classname>TagTable</classname>, you may apply that tag to part of the "
@@ -4085,18 +4253,18 @@ msgid ""
"specifying <classname>Gtk::TextBuffer::iterator</classname>s. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3292(programlisting)
+#: C/gtkmm-tutorial-in.xml:3295(programlisting)
#, no-wrap
msgid "refBuffer->apply_tag(refTagMatch, iterRangeStart, iterRangeStop);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3293(para)
+#: C/gtkmm-tutorial-in.xml:3296(para)
msgid ""
"Or you could specify the tag when first inserting the text: refBuffer->"
"insert_with_tag(iter, \"Some text\", refTagMatch);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3298(para)
+#: C/gtkmm-tutorial-in.xml:3301(para)
msgid ""
"You can apply more than one <classname>Tag</classname> to the same text, by "
"using <methodname>apply_tag()</methodname> more than once, or by using "
@@ -4105,31 +4273,33 @@ msgid ""
"these conflicts by using <methodname>Tag::set_priority()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3310(title)
+#: C/gtkmm-tutorial-in.xml:3313(title)
msgid "Marks"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3311(para)
+#: C/gtkmm-tutorial-in.xml:3314(para)
msgid ""
"<classname>TextBuffer</classname> iterators are generally invalidated when "
"the text changes, but you can use a <classname>Gtk::TextBuffer::Mark</"
"classname> to remember a position in these situations. For instance,"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3316(programlisting)
+#: C/gtkmm-tutorial-in.xml:3319(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::TextBuffer::Mark> refMark =\n"
" refBuffer->create_mark(iter);"
msgstr ""
+"Glib::RefPtr<Gtk::TextBuffer::Mark> refMark =\n"
+" refBuffer->create_mark(iter);"
-#: C/gtkmm-tutorial-in.xml:3319(para)
+#: C/gtkmm-tutorial-in.xml:3322(para)
msgid ""
"You can then use the <methodname>get_iter()</methodname> method later to "
"create an iterator for the <classname>Mark</classname>'s new position."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3324(para)
+#: C/gtkmm-tutorial-in.xml:3327(para)
msgid ""
"There are two built-in <classname>Mark</classname>s - <literal>insert</"
"literal> and <literal>select_bound</literal>, which you can access with "
@@ -4137,14 +4307,14 @@ msgid ""
"and <methodname>get_selection_bound()</methodname> methods."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3337(para)
+#: C/gtkmm-tutorial-in.xml:3340(para)
msgid ""
"As mentioned above, each <classname>TextView</classname> has a "
"<classname>TextBuffer</classname>, and one or more <classname>TextView</"
"classname> can share the same <classname>TextBuffer</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3344(para)
+#: C/gtkmm-tutorial-in.xml:3347(para)
msgid ""
"Like the <classname>TreeView</classname>, you should probably put your "
"<classname>TextView</classname> inside a <classname>ScrolledWindow</"
@@ -4152,11 +4322,11 @@ msgid ""
"scrollbars."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3354(title)
+#: C/gtkmm-tutorial-in.xml:3357(title)
msgid "Default formatting"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3355(para)
+#: C/gtkmm-tutorial-in.xml:3358(para)
msgid ""
"<classname>TextView</classname> has various methods which allow you to "
"change the presentation of the buffer for this particular view. Some of "
@@ -4166,11 +4336,11 @@ msgid ""
"methodname>, <methodname>set_indent()</methodname>, etc."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3366(title)
+#: C/gtkmm-tutorial-in.xml:3369(title)
msgid "Scrolling"
msgstr "Desplazamiento"
-#: C/gtkmm-tutorial-in.xml:3367(para)
+#: C/gtkmm-tutorial-in.xml:3370(para)
msgid ""
"<classname>Gtk::TextView</classname> has various <methodname>scroll_to_*()</"
"methodname> methods. These allow you to ensure that a particular part of the "
@@ -4179,11 +4349,11 @@ msgid ""
"found text."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3382(title)
+#: C/gtkmm-tutorial-in.xml:3385(title)
msgid "Widgets and ChildAnchors"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3383(para)
+#: C/gtkmm-tutorial-in.xml:3386(para)
msgid ""
"You can embed widgets, such as <classname>Gtk::Button</classname>s, in the "
"text. Each such child widget needs a <classname>ChildAnchor</classname>. "
@@ -4192,29 +4362,31 @@ msgid ""
"<methodname>Gtk::TextBuffer::create_child_anchor()</methodname>:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3390(programlisting)
+#: C/gtkmm-tutorial-in.xml:3393(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::TextChildAnchor> refAnchor =\n"
" refBuffer->create_child_anchor(iter);"
msgstr ""
+"Glib::RefPtr<Gtk::TextChildAnchor> refAnchor =\n"
+" refBuffer->create_child_anchor(iter);"
-#: C/gtkmm-tutorial-in.xml:3393(para)
+#: C/gtkmm-tutorial-in.xml:3396(para)
msgid ""
"Then, to add a widget at that position, use <methodname>Gtk::TextView::"
"add_child_at_anchor()</methodname>:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3397(programlisting)
+#: C/gtkmm-tutorial-in.xml:3400(programlisting)
#, no-wrap
msgid "m_TextView.add_child_at_anchor(m_Button, refAnchor);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3423(title)
+#: C/gtkmm-tutorial-in.xml:3426(title)
msgid "Menus and Toolbars"
msgstr "Menús y barras de herramientas"
-#: C/gtkmm-tutorial-in.xml:3425(para)
+#: C/gtkmm-tutorial-in.xml:3428(para)
msgid ""
"There are specific APIs for Menus and toolbars, but you should usually deal "
"with them together, using the <classname>UIManager</classname> to define "
@@ -4224,7 +4396,7 @@ msgid ""
"disable both the menu and toolbar item via the action."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3433(para)
+#: C/gtkmm-tutorial-in.xml:3436(para)
msgid ""
"This involves the use of the <classname>Gtk::ActionGroup</classname>, "
"<classname>Gtk::Action</classname>, and <classname>UIManager</classname> "
@@ -4232,18 +4404,18 @@ msgid ""
"methodname> methods, which return <classname>RefPtr</classname>s."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3442(title)
+#: C/gtkmm-tutorial-in.xml:3445(title)
msgid "Actions"
msgstr "Acciones"
-#: C/gtkmm-tutorial-in.xml:3443(para)
+#: C/gtkmm-tutorial-in.xml:3446(para)
msgid ""
"First create the <classname>Action</classname>s and add them to an "
"<classname>ActionGroup</classname>, with <methodname>ActionGroup::add()</"
"methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3449(para)
+#: C/gtkmm-tutorial-in.xml:3452(para)
msgid ""
"The arguments to <methodname>Action::create()</methodname> specify the "
"action's name and how it will appear in menus and toolbars. Use stock items "
@@ -4251,22 +4423,22 @@ msgid ""
"icon, and tooltips, and so you can use pre-existing translations."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3455(para)
+#: C/gtkmm-tutorial-in.xml:3458(para)
msgid ""
"You can also specify a signal handler when calling <methodname>ActionGroup::"
"add()</methodname>. This signal handler will be called when the action is "
"activated via either a menu item or a toolbar button."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3460(para)
+#: C/gtkmm-tutorial-in.xml:3463(para)
msgid "Note that you must specify actions for sub menus as well as menu items."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3462(para)
+#: C/gtkmm-tutorial-in.xml:3465(para)
msgid "For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3464(programlisting)
+#: C/gtkmm-tutorial-in.xml:3467(programlisting)
#, no-wrap
msgid ""
"m_refActionGroup = Gtk::ActionGroup::create();\n"
@@ -4280,7 +4452,7 @@ msgid ""
" sigc::mem_fun(*this, &ExampleWindow::on_action_file_quit) );"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3474(para)
+#: C/gtkmm-tutorial-in.xml:3477(para)
msgid ""
"Note that this is where we specify the names of the actions as they will be "
"seen by users in menus and toolbars. Therefore, this is where you should "
@@ -4288,11 +4460,11 @@ msgid ""
"the Gtk::Stock items, of course, translations are automatically available."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3479(title)
+#: C/gtkmm-tutorial-in.xml:3482(title)
msgid "UIManager"
-msgstr ""
+msgstr "UIManager"
-#: C/gtkmm-tutorial-in.xml:3480(para)
+#: C/gtkmm-tutorial-in.xml:3483(para)
msgid ""
"Next you should create a <classname>UIManager</classname> and add the "
"<classname>ActionGroup</classname> to the <classname>UIManager</classname> "
@@ -4301,11 +4473,11 @@ msgid ""
"shortcuts, by using <methodname>add_accel_group()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3488(para) C/gtkmm-tutorial-in.xml:4869(para)
+#: C/gtkmm-tutorial-in.xml:3491(para) C/gtkmm-tutorial-in.xml:4872(para)
msgid "For instance,"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3490(programlisting)
+#: C/gtkmm-tutorial-in.xml:3493(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::UIManager> m_refUIManager =\n"
@@ -4313,8 +4485,12 @@ msgid ""
"m_refUIManager->insert_action_group(m_refActionGroup);\n"
"add_accel_group(m_refUIManager->get_accel_group());"
msgstr ""
+"Glib::RefPtr<Gtk::UIManager> m_refUIManager =\n"
+" Gtk::UIManager::create();\n"
+"m_refUIManager->insert_action_group(m_refActionGroup);\n"
+"add_accel_group(m_refUIManager->get_accel_group());"
-#: C/gtkmm-tutorial-in.xml:3494(para)
+#: C/gtkmm-tutorial-in.xml:3497(para)
msgid ""
"Then, you can define the actual visible layout of the menus and toolbars, "
"and add the UI layout to the <classname>UIManager</classname>. This \"ui "
@@ -4322,7 +4498,7 @@ msgid ""
"actions that you have already created. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3500(programlisting)
+#: C/gtkmm-tutorial-in.xml:3503(programlisting)
#, no-wrap
msgid ""
"Glib::ustring ui_info =\n"
@@ -4349,7 +4525,7 @@ msgid ""
"m_refUIManager->add_ui_from_string(ui_info);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3523(para)
+#: C/gtkmm-tutorial-in.xml:3526(para)
msgid ""
"Remember that these names are just the identifiers that we used when "
"creating the actions. They are not the text that the user will see in the "
@@ -4357,7 +4533,7 @@ msgid ""
"the actions."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3524(para)
+#: C/gtkmm-tutorial-in.xml:3527(para)
msgid ""
"To instantiate a <classname>Gtk::MenuBar</classname> or <classname>Gtk::"
"Toolbar</classname> which you can actually show, you should use the "
@@ -4365,18 +4541,20 @@ msgid ""
"widget to a container. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3530(programlisting)
+#: C/gtkmm-tutorial-in.xml:3533(programlisting)
#, no-wrap
msgid ""
"Gtk::Widget* pMenubar = m_refUIManager->get_widget(\"/MenuBar\");\n"
"pBox->add(*pMenuBar, Gtk::PACK_SHRINK);"
msgstr ""
+"Gtk::Widget* pMenubar = m_refUIManager->get_widget(\"/MenuBar\");\n"
+"pBox->add(*pMenuBar, Gtk::PACK_SHRINK);"
-#: C/gtkmm-tutorial-in.xml:3536(title)
+#: C/gtkmm-tutorial-in.xml:3539(title)
msgid "Popup Menus"
-msgstr ""
+msgstr "MenuÌ?s emergentes"
-#: C/gtkmm-tutorial-in.xml:3537(para)
+#: C/gtkmm-tutorial-in.xml:3540(para)
msgid ""
"<classname>Menus</classname> are normally just added to a window, but they "
"can also be displayed temporarily as the result of a mouse button click. For "
@@ -4384,13 +4562,13 @@ msgid ""
"mouse button."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3544(para)
+#: C/gtkmm-tutorial-in.xml:3547(para)
msgid ""
"The UI layout for a popup menu should use the <literal>popup</literal> node. "
"For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3546(programlisting)
+#: C/gtkmm-tutorial-in.xml:3549(programlisting)
#, no-wrap
msgid ""
"Glib::ustring ui_info =\n"
@@ -4405,7 +4583,7 @@ msgid ""
"m_refUIManager->add_ui_from_string(ui_info);"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3557(para)
+#: C/gtkmm-tutorial-in.xml:3560(para)
msgid ""
"To show the popup menu, use <classname>Gtk::Menu</classname>'s "
"<methodname>popup()</methodname> method, providing the button identifier and "
@@ -4413,7 +4591,7 @@ msgid ""
"literal> signal, which you will need to handle anyway. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3563(programlisting)
+#: C/gtkmm-tutorial-in.xml:3566(programlisting)
#, no-wrap
msgid ""
"bool ExampleWindow::on_button_press_event(GdkEventButton* event)\n"
@@ -4429,27 +4607,27 @@ msgid ""
"}"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3580(title)
+#: C/gtkmm-tutorial-in.xml:3583(title)
msgid "Main Menu example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3583(title)
+#: C/gtkmm-tutorial-in.xml:3586(title)
msgid "Main Menu"
msgstr "Menú principal"
-#: C/gtkmm-tutorial-in.xml:3593(title)
+#: C/gtkmm-tutorial-in.xml:3596(title)
msgid "Popup Menu example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3596(title)
+#: C/gtkmm-tutorial-in.xml:3599(title)
msgid "Popup Menu"
msgstr "Menú emergente"
-#: C/gtkmm-tutorial-in.xml:3611(title) C/gtkmm-tutorial-in.xml:3652(title)
+#: C/gtkmm-tutorial-in.xml:3614(title) C/gtkmm-tutorial-in.xml:3655(title)
msgid "ToolPalette"
-msgstr ""
+msgstr "ToolPalette"
-#: C/gtkmm-tutorial-in.xml:3613(para)
+#: C/gtkmm-tutorial-in.xml:3616(para)
msgid ""
"A <classname>ToolPalette</classname> is similar to a <classname>Toolbar</"
"classname> but can contain a grid of items, categorized into groups. The "
@@ -4457,7 +4635,7 @@ msgid ""
"displayed as only icons, as only text, or as icons with text."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3615(para)
+#: C/gtkmm-tutorial-in.xml:3618(para)
msgid ""
"The <classname>ToolPalette</classname>'s items might be dragged or simply "
"activated. For instance, the user might drag objects to a canvas to create "
@@ -4465,14 +4643,14 @@ msgid ""
"size in a drawing application."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3616(para)
+#: C/gtkmm-tutorial-in.xml:3619(para)
msgid ""
"<classname>ToolItemGroup</classname>s should be added to the tool pallete "
"via the base class's <function>Gtk::Container::add()</function> method, for "
"instance like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3619(programlisting)
+#: C/gtkmm-tutorial-in.xml:3622(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -4480,14 +4658,18 @@ msgid ""
" Gtk::manage(new Gtk::ToolItemGroup(\"Brushes\"));\n"
"m_ToolPalette.add(*group_brushes);\n"
msgstr ""
+"\n"
+"Gtk::ToolItemGroup* group_brushes =\n"
+" Gtk::manage(new Gtk::ToolItemGroup(\"Brushes\"));\n"
+"m_ToolPalette.add(*group_brushes);\n"
-#: C/gtkmm-tutorial-in.xml:3625(para)
+#: C/gtkmm-tutorial-in.xml:3628(para)
msgid ""
"<classname>Gtk::ToolItem</classname>s can then be added to the group. For "
"instance, like so:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3629(programlisting)
+#: C/gtkmm-tutorial-in.xml:3632(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -4495,8 +4677,12 @@ msgid ""
"button->set_tooltip_text(\"Big Brush);\n"
"group_brushes->insert(*button);\n"
msgstr ""
+"\n"
+"Gtk::ToolButton* button = Gtk::manage(new Gtk::ToolButton(icon, \"Big\"));\n"
+"button->set_tooltip_text(\"Pincel grande);\n"
+"group_brushes->insert(*button);\n"
-#: C/gtkmm-tutorial-in.xml:3635(para)
+#: C/gtkmm-tutorial-in.xml:3638(para)
msgid ""
"You might then handle the <classname>ToolButton</classname>'s "
"<literal>clicked</literal> signal. Alternatively, you could allow the item "
@@ -4506,19 +4692,19 @@ msgid ""
"<literal>drag_data_received</literal> signal handler."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3637(ulink)
+#: C/gtkmm-tutorial-in.xml:3640(ulink)
msgid "ToolPalette Reference"
-msgstr ""
+msgstr "Referencia de ToolPalette"
-#: C/gtkmm-tutorial-in.xml:3638(ulink)
+#: C/gtkmm-tutorial-in.xml:3641(ulink)
msgid "ToolItemGroup Reference"
-msgstr ""
+msgstr "Referencia de ToolItemGroup"
-#: C/gtkmm-tutorial-in.xml:3639(ulink)
+#: C/gtkmm-tutorial-in.xml:3642(ulink)
msgid "ToolItem Reference"
-msgstr ""
+msgstr "Referencia de ToolItem"
-#: C/gtkmm-tutorial-in.xml:3643(para)
+#: C/gtkmm-tutorial-in.xml:3646(para)
msgid ""
"Call <methodname>add_drag_dest()</methodname> to allow items or groups to be "
"dragged from the tool palette to a particular destination widget. You can "
@@ -4529,17 +4715,17 @@ msgid ""
"to add a dropped item, or to show a suitable icon while dragging."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3644(para)
+#: C/gtkmm-tutorial-in.xml:3647(para)
msgid ""
"See the <link linkend=\"chapter-draganddrop\">Drag and Drop</link> chapter "
"for general advice about Drag and Drop with gtkmm."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3647(title)
+#: C/gtkmm-tutorial-in.xml:3650(title)
msgid "ToolPalette Example"
-msgstr ""
+msgstr "Ejemplo de ToolPalette"
-#: C/gtkmm-tutorial-in.xml:3649(para)
+#: C/gtkmm-tutorial-in.xml:3652(para)
msgid ""
"This example adds a <classname>ToolPalette</classname> and a "
"<classname>DrawingArea</classname> to a window and allows the user to drag "
@@ -4548,11 +4734,11 @@ msgid ""
"and orientation of the tool palette."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3665(title)
+#: C/gtkmm-tutorial-in.xml:3668(title)
msgid "Adjustments"
msgstr "Ajustes"
-#: C/gtkmm-tutorial-in.xml:3667(para)
+#: C/gtkmm-tutorial-in.xml:3670(para)
msgid ""
"<application>gtkmm</application> has various widgets that can be visually "
"adjusted using the mouse or the keyboard, such as the <classname>Range</"
@@ -4563,7 +4749,7 @@ msgid ""
"objects that express this common part of their API."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3677(para)
+#: C/gtkmm-tutorial-in.xml:3680(para)
msgid ""
"So that applications can react to changes, for instance when a user moves a "
"scrollbar, <classname>Gtk::Adjustment</classname> has a <literal>changed</"
@@ -4571,15 +4757,15 @@ msgid ""
"method to discover the new value."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3685(title)
+#: C/gtkmm-tutorial-in.xml:3688(title)
msgid "Creating an Adjustment"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3687(para)
+#: C/gtkmm-tutorial-in.xml:3690(para)
msgid "The <classname>Gtk::Adjustment</classname> constructor is as follows:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3691(programlisting)
+#: C/gtkmm-tutorial-in.xml:3694(programlisting)
#, no-wrap
msgid ""
"Gtk::Adjustment(float value,\n"
@@ -4589,8 +4775,14 @@ msgid ""
" float page_increment = 10,\n"
" float page_size = 0);"
msgstr ""
+"Gtk::Adjustment(float value,\n"
+" float lower,\n"
+" float upper,\n"
+" float step_increment = 1,\n"
+" float page_increment = 10,\n"
+" float page_size = 0);"
-#: C/gtkmm-tutorial-in.xml:3698(para)
+#: C/gtkmm-tutorial-in.xml:3701(para)
msgid ""
"The <parameter>value</parameter> argument is the initial value of the "
"adjustment, usually corresponding to the topmost or leftmost position of an "
@@ -4605,18 +4797,18 @@ msgid ""
"panning widget's child."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3717(title)
+#: C/gtkmm-tutorial-in.xml:3720(title)
msgid "Using Adjustments the Easy Way"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3719(para)
+#: C/gtkmm-tutorial-in.xml:3722(para)
msgid ""
"The adjustable widgets can be roughly divided into those which use and "
"require specific units for these values, and those which treat them as "
"arbitrary numbers."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3724(para)
+#: C/gtkmm-tutorial-in.xml:3727(para)
msgid ""
"The group which treats the values as arbitrary numbers includes the "
"<classname>Range</classname> widgets (<classname>Scrollbars</classname> and "
@@ -4629,7 +4821,7 @@ msgid ""
"the <parameter>value</parameter> of an adjustment."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3736(para)
+#: C/gtkmm-tutorial-in.xml:3739(para)
msgid ""
"The other group includes the <classname>Viewport</classname> widget and the "
"<classname>ScrolledWindow</classname> widget. All of these widgets use pixel "
@@ -4639,14 +4831,14 @@ msgid ""
"this particular category of widgets create its own adjustments."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3745(para)
+#: C/gtkmm-tutorial-in.xml:3748(para)
msgid ""
"If you share an adjustment object between a Scrollbar and a TextView widget, "
"manipulating the scrollbar will automagically adjust the TextView widget. "
"You can set it up like this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3750(programlisting)
+#: C/gtkmm-tutorial-in.xml:3753(programlisting)
#, no-wrap
msgid ""
"// creates its own adjustments\n"
@@ -4655,11 +4847,11 @@ msgid ""
"Gtk::VScrollbar vscrollbar (*(textview.get_vadjustment()));"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3758(title)
+#: C/gtkmm-tutorial-in.xml:3761(title)
msgid "Adjustment Internals"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3760(para)
+#: C/gtkmm-tutorial-in.xml:3763(para)
msgid ""
"OK, you say, that's nice, but what if I want to create my own handlers to "
"respond when the user adjusts a <classname>Range</classname> widget or a "
@@ -4668,7 +4860,7 @@ msgid ""
"and <methodname>set_value()</methodname> methods:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3768(para)
+#: C/gtkmm-tutorial-in.xml:3771(para)
msgid ""
"As mentioned earlier, <classname>Gtk::Adjustment</classname> can emit "
"signals. This is, of course, how updates happen automatically when you share "
@@ -4678,14 +4870,14 @@ msgid ""
"signal, as can your program."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3777(para)
+#: C/gtkmm-tutorial-in.xml:3780(para)
msgid ""
"So, for example, if you have a <classname>Scale</classname> widget, and you "
"want to change the rotation of a picture whenever its value changes, you "
"would create a signal handler like this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3782(programlisting)
+#: C/gtkmm-tutorial-in.xml:3785(programlisting)
#, no-wrap
msgid ""
"void cb_rotate_picture (Gtk::Widget *picture)\n"
@@ -4693,19 +4885,25 @@ msgid ""
" picture->set_rotation (adj->value);\n"
"..."
msgstr ""
+"void cb_rotate_picture (Gtk::Widget *picture)\n"
+"{\n"
+" picture->set_rotation (adj->value);\n"
+"..."
-#: C/gtkmm-tutorial-in.xml:3786(para)
+#: C/gtkmm-tutorial-in.xml:3789(para)
msgid "and connect it to the scale widget's adjustment like this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3789(programlisting)
+#: C/gtkmm-tutorial-in.xml:3792(programlisting)
#, no-wrap
msgid ""
"adj.value_changed.connect(sigc::bind<Widget*>(sigc::mem_fun(*this,\n"
" &cb_rotate_picture), picture));"
msgstr ""
+"adj.value_changed.connect(sigc::bind<Widget*>(sigc::mem_fun(*this,\n"
+" &cb_rotate_picture), picture));"
-#: C/gtkmm-tutorial-in.xml:3792(para)
+#: C/gtkmm-tutorial-in.xml:3795(para)
msgid ""
"What if a widget reconfigures the <parameter>upper</parameter> or "
"<parameter>lower</parameter> fields of its <classname>Adjustment</"
@@ -4713,7 +4911,7 @@ msgid ""
"case, it emits the <literal>changed</literal> signal."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3799(para)
+#: C/gtkmm-tutorial-in.xml:3802(para)
msgid ""
"<classname>Range</classname> widgets typically connect a handler to this "
"signal, which changes their appearance to reflect the change - for example, "
@@ -4722,22 +4920,22 @@ msgid ""
"<parameter>upper</parameter> values of its <classname>Adjustment</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3808(para)
+#: C/gtkmm-tutorial-in.xml:3811(para)
msgid ""
"You probably won't ever need to attach a handler to this signal, unless "
"you're writing a new type of range widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3812(programlisting)
+#: C/gtkmm-tutorial-in.xml:3815(programlisting)
#, no-wrap
msgid "adjustment->changed();"
-msgstr ""
+msgstr "adjustment->changed();"
-#: C/gtkmm-tutorial-in.xml:3819(title)
+#: C/gtkmm-tutorial-in.xml:3822(title)
msgid "Widgets Without X-Windows"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3821(para)
+#: C/gtkmm-tutorial-in.xml:3824(para)
msgid ""
"Some Widgets do not have an associated X-Window, so they therefore do not "
"receive X events. This means that the signals described in the <link linkend="
@@ -4747,11 +4945,11 @@ msgid ""
"linkend=\"sec-eventbox\">EventBox</link> section."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3830(para)
+#: C/gtkmm-tutorial-in.xml:3833(para)
msgid "Here is a list of some of these Widgets:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3833(programlisting)
+#: C/gtkmm-tutorial-in.xml:3836(programlisting)
#, no-wrap
msgid ""
"Gtk::Alignment\n"
@@ -4781,19 +4979,45 @@ msgid ""
"Gtk::VSeparator\n"
"Gtk::HSeparator"
msgstr ""
+"Gtk::Alignment\n"
+"Gtk::Arrow\n"
+"Gtk::Bin\n"
+"Gtk::Box\n"
+"Gtk::Button\n"
+"Gtk::CheckButton\n"
+"Gtk::Fixed\n"
+"Gtk::Image\n"
+"Gtk::Item\n"
+"Gtk::Label\n"
+"Gtk::MenuItem\n"
+"Gtk::Notebook\n"
+"Gtk::Paned\n"
+"Gtk::Pixmap\n"
+"Gtk::RadioButton\n"
+"Gtk::Range\n"
+"Gtk::ScrolledWindow\n"
+"Gtk::Separator\n"
+"Gtk::Table\n"
+"Gtk::Toolbar\n"
+"Gtk::AspectFrame\n"
+"Gtk::Frame\n"
+"Gtk::VBox\n"
+"Gtk::HBox\n"
+"Gtk::VSeparator\n"
+"Gtk::HSeparator"
-#: C/gtkmm-tutorial-in.xml:3860(para)
+#: C/gtkmm-tutorial-in.xml:3863(para)
msgid ""
"These widgets are mainly used for decoration or layout, so you won't often "
"need to capture events on them. They are intended to have no X-Window in "
"order to improve performance."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3866(title) C/gtkmm-tutorial-in.xml:3910(title)
+#: C/gtkmm-tutorial-in.xml:3869(title) C/gtkmm-tutorial-in.xml:3913(title)
msgid "EventBox"
-msgstr ""
+msgstr "EventBox"
-#: C/gtkmm-tutorial-in.xml:3868(para)
+#: C/gtkmm-tutorial-in.xml:3871(para)
msgid ""
"Some <application>gtkmm</application> widgets don't have associated X "
"windows; they draw on their parents' windows. Because of this, they cannot "
@@ -4804,7 +5028,7 @@ msgid ""
"showing it."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3876(para)
+#: C/gtkmm-tutorial-in.xml:3879(para)
msgid ""
"Although the name <classname>EventBox</classname> emphasises the event-"
"handling method, the widget can also be used for clipping (and more; see the "
@@ -4814,26 +5038,26 @@ msgstr ""
#. <para>TODO: Why don't they have X Windows - explain clipping.
#. Also, how does this affect platform such as Windows and MacOS that don't use X.
#. </para>
-#: C/gtkmm-tutorial-in.xml:3886(para)
+#: C/gtkmm-tutorial-in.xml:3889(para)
msgid "The constructor for <classname>Gtk::EventBox</classname> is:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3890(programlisting)
+#: C/gtkmm-tutorial-in.xml:3893(programlisting)
#, no-wrap
msgid "Gtk::EventBox();"
-msgstr ""
+msgstr "Gtk::EventBox();"
-#: C/gtkmm-tutorial-in.xml:3892(para)
+#: C/gtkmm-tutorial-in.xml:3895(para)
msgid ""
"A child widget can be added to the <classname>EventBox</classname> using:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3896(programlisting)
+#: C/gtkmm-tutorial-in.xml:3899(programlisting)
#, no-wrap
msgid "event_box.add(child_widget);"
-msgstr ""
+msgstr "event_box.add(child_widget);"
-#: C/gtkmm-tutorial-in.xml:3902(para)
+#: C/gtkmm-tutorial-in.xml:3905(para)
msgid ""
"The following example demonstrates both uses of an <classname>EventBox</"
"classname> - a label is created that is clipped to a small box, and set up "
@@ -4841,11 +5065,11 @@ msgid ""
"window reveals varying amounts of the label."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3924(title)
+#: C/gtkmm-tutorial-in.xml:3927(title)
msgid "Dialogs"
msgstr "Diálogos"
-#: C/gtkmm-tutorial-in.xml:3926(para)
+#: C/gtkmm-tutorial-in.xml:3929(para)
msgid ""
"Dialogs are used as secondary windows, to provide specific information or to "
"ask questions. <classname>Gtk::Dialog</classname> windows contain a few pre-"
@@ -4853,7 +5077,7 @@ msgid ""
"method which blocks until the user dismisses the dialog."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3933(para)
+#: C/gtkmm-tutorial-in.xml:3936(para)
msgid ""
"There are several derived <classname>Dialog</classname> classes which you "
"might find useful. <classname>Gtk::MessageDialog</classname> is used for "
@@ -4861,7 +5085,7 @@ msgid ""
"own dialog class to provide more complex functionality."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3940(para)
+#: C/gtkmm-tutorial-in.xml:3943(para)
msgid ""
"To pack widgets into a custom dialog, you should pack them into the "
"<classname>Gtk::VBox</classname>, available via <methodname>get_vbox()</"
@@ -4870,7 +5094,7 @@ msgid ""
"</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3948(para)
+#: C/gtkmm-tutorial-in.xml:3951(para)
msgid ""
"The <methodname>run()</methodname> method returns an <literal>int</literal>. "
"This may be a value from the <literal>Gtk::ResponseType</literal> if the "
@@ -4879,11 +5103,11 @@ msgid ""
"</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3957(title) C/gtkmm-tutorial-in.xml:3972(title)
+#: C/gtkmm-tutorial-in.xml:3960(title) C/gtkmm-tutorial-in.xml:3975(title)
msgid "MessageDialog"
-msgstr ""
+msgstr "MessageDialog"
-#: C/gtkmm-tutorial-in.xml:3958(para)
+#: C/gtkmm-tutorial-in.xml:3961(para)
msgid ""
"<classname>MessageDialog</classname> is a convenience class, used to create "
"simple, standard message dialogs, with a message, an icon, and buttons for "
@@ -4892,51 +5116,51 @@ msgid ""
"ButtonsType</literal> enum."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3983(title)
+#: C/gtkmm-tutorial-in.xml:3986(title)
msgid "FileChooserDialog"
-msgstr ""
+msgstr "FileChooserDialog"
-#: C/gtkmm-tutorial-in.xml:3984(para)
+#: C/gtkmm-tutorial-in.xml:3987(para)
msgid ""
"The <classname>FileChooserDialog</classname> is suitable for use with \"Open"
"\" or \"Save\" menu items."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3988(para)
+#: C/gtkmm-tutorial-in.xml:3991(para)
msgid ""
"Most of the useful member methods for this class are actually in the "
"<classname>Gtk::FileChooser</classname> base class."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:3999(title)
+#: C/gtkmm-tutorial-in.xml:4002(title)
msgid "FileChooser"
msgstr "Selector de archivos"
-#: C/gtkmm-tutorial-in.xml:4009(title) C/gtkmm-tutorial-in.xml:4021(title)
+#: C/gtkmm-tutorial-in.xml:4012(title) C/gtkmm-tutorial-in.xml:4024(title)
msgid "ColorSelectionDialog"
-msgstr ""
+msgstr "ColorSelectionDialog"
-#: C/gtkmm-tutorial-in.xml:4010(para)
+#: C/gtkmm-tutorial-in.xml:4013(para)
msgid ""
"The <classname>ColorSelectionDialog</classname> allows the user to choose a "
"color."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4032(title) C/gtkmm-tutorial-in.xml:4044(title)
+#: C/gtkmm-tutorial-in.xml:4035(title) C/gtkmm-tutorial-in.xml:4047(title)
msgid "FontSelectionDialog"
-msgstr ""
+msgstr "FontSelectionDialog"
-#: C/gtkmm-tutorial-in.xml:4033(para)
+#: C/gtkmm-tutorial-in.xml:4036(para)
msgid ""
"The <classname>FontSelectionDialog</classname> allows the user to choose a "
"font."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4059(title)
+#: C/gtkmm-tutorial-in.xml:4062(title)
msgid "The Drawing Area Widget"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4060(para)
+#: C/gtkmm-tutorial-in.xml:4063(para)
msgid ""
"The <classname>DrawingArea</classname> widget is a blank window that gives "
"you the freedom to create any graphic you desire. Along with that freedom "
@@ -4949,14 +5173,14 @@ msgid ""
"methodname> member function."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4072(para)
+#: C/gtkmm-tutorial-in.xml:4075(para)
msgid ""
"GTK+ uses the <ulink url=\"http://cairographics.org\">Cairo</ulink> drawing "
"API. With gtkmm, you may use the <ulink url=\"http://www.cairographics.org/"
"cairomm/\">cairomm</ulink> C++ API for cairo."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4077(para)
+#: C/gtkmm-tutorial-in.xml:4080(para)
msgid ""
"You can draw very sophisticated shapes using Cairo, but the methods to do so "
"are quite basic. Cairo provides methods for drawing straight lines, curved "
@@ -4967,11 +5191,11 @@ msgid ""
"text."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4087(title)
+#: C/gtkmm-tutorial-in.xml:4090(title)
msgid "Cairo and Pango"
-msgstr ""
+msgstr "Cairo y Pango"
-#: C/gtkmm-tutorial-in.xml:4088(para)
+#: C/gtkmm-tutorial-in.xml:4091(para)
msgid ""
"Although Cairo can render text, it's not meant to be a replacement for "
"Pango. Pango is a better choice if you need to perform more advanced text "
@@ -4979,7 +5203,7 @@ msgid ""
"should only be done if the text is part of a graphic."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4093(para)
+#: C/gtkmm-tutorial-in.xml:4096(para)
msgid ""
"In this section of the tutorial, we'll cover the basic Cairo drawing model, "
"describe each of the basic drawing elements in some detail (with examples), "
@@ -4987,17 +5211,17 @@ msgid ""
"widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4100(title)
+#: C/gtkmm-tutorial-in.xml:4103(title)
msgid "The Cairo Drawing Model"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4101(para)
+#: C/gtkmm-tutorial-in.xml:4104(para)
msgid ""
"The basic concept of drawing in Cairo involves defining 'invisible' paths "
"and then stroking or filling them to make them visible."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4105(para)
+#: C/gtkmm-tutorial-in.xml:4108(para)
msgid ""
"To do any drawing in <application>gtkmm</application> with Cairo, you must "
"first create a <classname>Cairo::Context</classname> object. This class "
@@ -5011,14 +5235,14 @@ msgid ""
"<classname>Cairo::RefPtr<Cairo::Context></classname> object."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4118(para)
+#: C/gtkmm-tutorial-in.xml:4121(para)
msgid ""
"The following example shows how to set up a Cairo context with a foreground "
"color of red and a width of 2. Any drawing functions that use this context "
"will use these settings."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4123(programlisting)
+#: C/gtkmm-tutorial-in.xml:4126(programlisting)
#, no-wrap
msgid ""
"Gtk::DrawingArea myArea;\n"
@@ -5026,8 +5250,12 @@ msgid ""
"myContext->set_source_rgb(1.0, 0.0, 0.0);\n"
"myContext->set_line_width(2.0);"
msgstr ""
+"Gtk::DrawingArea myArea;\n"
+"Cairo::RefPtr<Cairo::Context> myContext = myArea.get_window()->create_cairo_context();\n"
+"myContext->set_source_rgb(1.0, 0.0, 0.0);\n"
+"myContext->set_line_width(2.0);"
-#: C/gtkmm-tutorial-in.xml:4127(para)
+#: C/gtkmm-tutorial-in.xml:4130(para)
msgid ""
"Each <classname>Cairo::Context</classname> is associated with a particular "
"<classname>Gdk::Window</classname>, so the first line of the above example "
@@ -5037,7 +5265,7 @@ msgid ""
"graphics state of the context."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4136(para)
+#: C/gtkmm-tutorial-in.xml:4139(para)
msgid ""
"There are a number of graphics state variables that can be set for a Cairo "
"context. The most common context attributes are color (using "
@@ -5054,7 +5282,7 @@ msgid ""
"cairographics.org/cairomm/\">cairomm</ulink> API documentation."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4168(para)
+#: C/gtkmm-tutorial-in.xml:4171(para)
msgid ""
"It is good practice to put all modifications to the graphics state between "
"<methodname>save()</methodname>/<methodname>restore()</methodname> function "
@@ -5063,7 +5291,7 @@ msgid ""
"follows:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4174(programlisting)
+#: C/gtkmm-tutorial-in.xml:4177(programlisting)
#, no-wrap
msgid ""
"void doSomething(Cairo::RefPtr<Cairo::Context> context, int x)\n"
@@ -5074,8 +5302,15 @@ msgid ""
" context->restore();\n"
"}"
msgstr ""
+"void hacerAlgo(Cairo::RefPtr<Cairo::Context> context, int x)\n"
+"{\n"
+" context->save();\n"
+" // change graphics state\n"
+" // peform drawing operations\n"
+" context->restore();\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:4151(para)
+#: C/gtkmm-tutorial-in.xml:4154(para)
msgid ""
"The current state of a <classname>Cairo::Context</classname> can be saved to "
"an internal stack of saved states and later be restored to the state it was "
@@ -5092,11 +5327,11 @@ msgid ""
"paired <methodname>save()</methodname>. <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4185(title)
+#: C/gtkmm-tutorial-in.xml:4188(title)
msgid "Drawing Straight Lines"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4194(para)
+#: C/gtkmm-tutorial-in.xml:4197(para)
msgid ""
"Since the Cairo graphics library was written with support for multiple "
"output targets (the X window system, PNG images, OpenGL, etc), there is a "
@@ -5109,7 +5344,7 @@ msgid ""
"the <methodname>Cairo::Context::scale()</methodname> function."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4186(para)
+#: C/gtkmm-tutorial-in.xml:4189(para)
msgid ""
"Now that we understand the basics of the Cairo graphics library, we're "
"almost ready to start drawing. We'll start with the simplest of drawing "
@@ -5119,7 +5354,7 @@ msgid ""
"right and positive y values going down. <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4209(para)
+#: C/gtkmm-tutorial-in.xml:4212(para)
msgid ""
"In this example, we'll construct a small but fully functional "
"<application>gtkmm</application> program and draw some lines into the "
@@ -5132,7 +5367,7 @@ msgid ""
"between two points, use the <methodname>line_to()</methodname> function."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4221(para)
+#: C/gtkmm-tutorial-in.xml:4224(para)
msgid ""
"After you've finished creating your path, you still haven't drawn anything "
"visible yet. To make the path visible, you must use the function "
@@ -5142,7 +5377,7 @@ msgid ""
"you can start on your next path."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4230(para)
+#: C/gtkmm-tutorial-in.xml:4233(para)
msgid ""
"Many Cairo drawing functions have a <methodname>_preserve()</methodname> "
"variant. Normally drawing functions such as <methodname>clip()</methodname>, "
@@ -5152,11 +5387,11 @@ msgid ""
"with the next drawing function."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4240(title) C/gtkmm-tutorial-in.xml:4337(title)
+#: C/gtkmm-tutorial-in.xml:4243(title) C/gtkmm-tutorial-in.xml:4340(title)
msgid "Drawing Area - Lines"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4248(para)
+#: C/gtkmm-tutorial-in.xml:4251(para)
msgid ""
"This program contains a single class, <classname>MyArea</classname>, which "
"is a subclass of <classname>Gtk::DrawingArea</classname> and contains an "
@@ -5179,46 +5414,46 @@ msgid ""
"<methodname>stroke()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4272(title)
+#: C/gtkmm-tutorial-in.xml:4275(title)
msgid "Drawing with relative coordinates"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4273(para)
+#: C/gtkmm-tutorial-in.xml:4276(para)
msgid ""
"In the example above we drew everything using absolute coordinates. You can "
"also draw using relative coordinates. For a straight line, this is done with "
"the function <methodname>Cairo::Context::rel_line_to()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4279(title)
+#: C/gtkmm-tutorial-in.xml:4282(title)
msgid "Line styles"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4280(para)
+#: C/gtkmm-tutorial-in.xml:4283(para)
msgid ""
"In addition to drawing basic straight lines, there are a number of things "
"that you can customize about a line. You've already seen examples of setting "
"a line's color and width, but there are others as well."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4286(para)
+#: C/gtkmm-tutorial-in.xml:4289(para)
msgid ""
"If you've drawn a series of lines that form a path, you may want them to "
"join together in a certain way. Cairo offers three different ways to join "
"lines together: Miter, Bevel, and Round. These are show below:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4293(title)
+#: C/gtkmm-tutorial-in.xml:4296(title)
msgid "Different join types in Cairo"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4298(para)
+#: C/gtkmm-tutorial-in.xml:4301(para)
msgid ""
"The line join style is set using the function <methodname>Cairo::Context::"
"set_line_join()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4302(para)
+#: C/gtkmm-tutorial-in.xml:4305(para)
msgid ""
"Line ends can have different styles as well. The default style is for the "
"line to start and stop exactly at the destination points of the line. This "
@@ -5228,18 +5463,18 @@ msgid ""
"the function <methodname>Cairo::Context::set_line_cap()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4312(para)
+#: C/gtkmm-tutorial-in.xml:4315(para)
msgid ""
"There are other things you can customize as well, including creating dashed "
"lines and other things. For more information , see the Cairo API "
"documentation."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4320(title)
+#: C/gtkmm-tutorial-in.xml:4323(title)
msgid "Drawing Curved Lines"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4321(para)
+#: C/gtkmm-tutorial-in.xml:4324(para)
msgid ""
"In addition to drawing straight lines Cairo allows you to easily draw curved "
"lines (technically a cubic Bézier spline) using the <methodname>Cairo::"
@@ -5249,20 +5484,20 @@ msgid ""
"best explained using an example, so let's dive in."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4332(para)
+#: C/gtkmm-tutorial-in.xml:4335(para)
msgid ""
"This simple application draws a curve with Cairo and displays the control "
"points for each end of the curve."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4344(para)
+#: C/gtkmm-tutorial-in.xml:4347(para)
msgid ""
"The only difference between this example and the straight line example is in "
"the <methodname>on_expose_event()</methodname> function, but there are a few "
"new concepts and functions introduced here, so let's examine them briefly."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4350(para)
+#: C/gtkmm-tutorial-in.xml:4353(para)
msgid ""
"Note that we clip to the area that needs re-exposing just as we did in the "
"last example. After clipping, however, we make a call to <methodname>Cairo::"
@@ -5273,7 +5508,7 @@ msgid ""
"it can make drawing operations easier."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4360(para)
+#: C/gtkmm-tutorial-in.xml:4363(para)
msgid ""
"The call to <methodname>Cairo::Context::curve_to()</methodname> should be "
"fairly self-explanatory. The first pair of coordinates define the control "
@@ -5288,11 +5523,11 @@ msgid ""
"value of the color (valid values are between 0 and 1)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4378(title)
+#: C/gtkmm-tutorial-in.xml:4381(title)
msgid "Drawing Arcs and Circles"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4379(para)
+#: C/gtkmm-tutorial-in.xml:4382(para)
msgid ""
"With Cairo, the same function is used to draw arcs, circles, or ellipses: "
"<methodname>Cairo::Context::arc()</methodname>. This function takes five "
@@ -5307,7 +5542,7 @@ msgid ""
"transformation matrix, angles increase in a clockwise direction."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4400(programlisting)
+#: C/gtkmm-tutorial-in.xml:4403(programlisting)
#, no-wrap
msgid ""
"context->save();\n"
@@ -5316,8 +5551,13 @@ msgid ""
"context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);\n"
"context->restore();"
msgstr ""
+"context->save();\n"
+"context->translate(x, y);\n"
+"context->scale(width / 2.0, height / 2.0);\n"
+"context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);\n"
+"context->restore();"
-#: C/gtkmm-tutorial-in.xml:4393(para)
+#: C/gtkmm-tutorial-in.xml:4396(para)
msgid ""
"To draw an ellipse, you can scale the current transformation matrix by "
"different amounts in the X and Y directions. For example, to draw an ellipse "
@@ -5328,17 +5568,17 @@ msgid ""
"documentation</ulink>, but it seems to work."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4412(para)
+#: C/gtkmm-tutorial-in.xml:4415(para)
msgid ""
"Here's an example of a simple program that draws an arc, a circle and an "
"ellipse into a drawing area."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4417(title)
+#: C/gtkmm-tutorial-in.xml:4420(title)
msgid "Drawing Area - Arcs"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4426(para)
+#: C/gtkmm-tutorial-in.xml:4429(para)
msgid ""
"There are a couple of things to note about this example code. Again, the "
"only real difference between this example and the previous ones is the "
@@ -5347,7 +5587,7 @@ msgid ""
"nearly identical to the previous examples, so we'll skip that portion."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4434(para)
+#: C/gtkmm-tutorial-in.xml:4437(para)
msgid ""
"Note that in this case, we've expressed nearly everything in terms of the "
"height and width of the window, including the width of the lines. Because of "
@@ -5357,7 +5597,7 @@ msgid ""
"methodname> pair so that we're back at a known state after each drawing."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4443(para)
+#: C/gtkmm-tutorial-in.xml:4446(para)
msgid ""
"The section for drawing an arc introduces one new function, "
"<methodname>close_path()</methodname>. This function will in effect draw a "
@@ -5369,26 +5609,26 @@ msgid ""
"lines will end at the same point, but Cairo won't do any special joining."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4456(title)
+#: C/gtkmm-tutorial-in.xml:4459(title)
msgid "Drawing counter-clockwise"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4457(para)
+#: C/gtkmm-tutorial-in.xml:4460(para)
msgid ""
"The function <methodname>Cairo::Context::arc_negative()</methodname> is "
"exactly the same as <methodname>Cairo::Context::arc()</methodname> but the "
"angles go the opposite direction."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4469(title)
+#: C/gtkmm-tutorial-in.xml:4472(title)
msgid "Drawing Text"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4471(title)
+#: C/gtkmm-tutorial-in.xml:4474(title)
msgid "Drawing Text with Pango"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4472(para)
+#: C/gtkmm-tutorial-in.xml:4475(para)
msgid ""
"Text is drawn via Pango Layouts. The easiest way to create a "
"<classname>Pango::Layout</classname> is to use "
@@ -5400,15 +5640,15 @@ msgid ""
"layout itself."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4494(title)
+#: C/gtkmm-tutorial-in.xml:4497(title)
msgid "Drawing Images"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4496(title)
+#: C/gtkmm-tutorial-in.xml:4499(title)
msgid "Drawing Images with Gdk"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4497(para)
+#: C/gtkmm-tutorial-in.xml:4500(para)
msgid ""
"There are a couple of drawing methods for putting image data into a drawing "
"area. <methodname>draw_pixmap()</methodname> can copy the contents of a "
@@ -5419,7 +5659,7 @@ msgid ""
"two colors."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4506(para)
+#: C/gtkmm-tutorial-in.xml:4509(para)
msgid ""
"For all of these methods, the first argument is the <classname>Gdk::GC</"
"classname>. The second argument is the object of the appropriate type to "
@@ -5430,7 +5670,7 @@ msgid ""
"and height of the area to copy."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4517(para)
+#: C/gtkmm-tutorial-in.xml:4520(para)
msgid ""
"There is also a method for drawing from a <classname>Gdk::Pixbuf</"
"classname>. A <classname>Gdk::Pixbuf</classname> buffer is a useful wrapper "
@@ -5438,14 +5678,14 @@ msgid ""
"in various ways."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4524(para)
+#: C/gtkmm-tutorial-in.xml:4527(para)
msgid ""
"Probably the most common way of creating <classname>Gdk::Pixbuf</classname>s "
"is to use <methodname>Gdk::Pixbuf::create_from_file()</methodname>, which "
"can read an image file, such as a png file into a pixbuf ready for rendering."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4531(para)
+#: C/gtkmm-tutorial-in.xml:4534(para)
msgid ""
"The <classname>Gdk::Pixbuf</classname> can be rendered with "
"<methodname>render_to_drawable</methodname>, which takes quite a few "
@@ -5462,14 +5702,14 @@ msgid ""
"dither type, then the dither offset parameters can both be 0."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4548(para)
+#: C/gtkmm-tutorial-in.xml:4551(para)
msgid ""
"Here is a small bit of code to tie it all together: (Note that usually you "
"wouldn't load the image every time in the expose event handler! It's just "
"shown here to keep it all together)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4553(programlisting)
+#: C/gtkmm-tutorial-in.xml:4556(programlisting)
#, no-wrap
msgid ""
"bool myarea::on_expose_event(GdkEventExpose* ev)\n"
@@ -5481,12 +5721,20 @@ msgid ""
"return true;\n"
"}"
msgstr ""
+"bool myarea::on_expose_event(GdkEventExpose* ev)\n"
+"{\n"
+"Glib::RefPtr<Gdk::Pixbuf> image = Gdk::Pixbuf::create_from_file(\"myimage.png\");\n"
+"image->render_to_drawable(get_window(), get_style()->get_black_gc(),\n"
+"0, 0, 100, 80, image->get_width(), image->get_height(), // draw the whole image (from 0,0 to the full width,height) at 100,80 in the window\n"
+"Gdk::RGB_DITHER_NONE, 0, 0);\n"
+"return true;\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:4580(title)
+#: C/gtkmm-tutorial-in.xml:4583(title)
msgid "Example Application: Creating a Clock with Cairo"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4581(para)
+#: C/gtkmm-tutorial-in.xml:4584(para)
msgid ""
"Now that we've covered the basics of drawing with Cairo, let's try to put it "
"all together and create a simple application that actually does something. "
@@ -5495,7 +5743,7 @@ msgid ""
"hand, and updates itself every second."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4593(para)
+#: C/gtkmm-tutorial-in.xml:4596(para)
msgid ""
"As before, almost all of the interesting stuff is done in the expose event "
"handler <methodname>on_expose_event()</methodname>. Before we dig into the "
@@ -5508,7 +5756,7 @@ msgid ""
"forced to redraw it."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4604(para)
+#: C/gtkmm-tutorial-in.xml:4607(para)
msgid ""
"Now let's take a look at the code that performs the actual drawing. The "
"first section of <methodname>on_expose_event()</methodname> should be pretty "
@@ -5522,7 +5770,7 @@ msgid ""
"in the very center of the window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4617(para)
+#: C/gtkmm-tutorial-in.xml:4620(para)
msgid ""
"The function <methodname>Cairo::Context::paint()</methodname> is used here "
"to set the background color of the window. This function takes no arguments "
@@ -5535,7 +5783,7 @@ msgid ""
"outside the outline of the clock."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4629(para)
+#: C/gtkmm-tutorial-in.xml:4632(para)
msgid ""
"After drawing the outline, we go around the clock and draw ticks for every "
"hour, with a larger tick at 12, 3, 6, and 9. Now we're finally ready to "
@@ -5544,17 +5792,17 @@ msgid ""
"hands at the correct angles."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4641(para)
+#: C/gtkmm-tutorial-in.xml:4644(para)
msgid ""
"<classname>Gtk::Widget</classname> has several methods and signals which are "
"prefixed with \"drag_\". These are used for Drag and Drop."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4646(title)
+#: C/gtkmm-tutorial-in.xml:4649(title)
msgid "Sources and Destinations"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4647(para)
+#: C/gtkmm-tutorial-in.xml:4650(para)
msgid ""
"Things are dragged from <literal>sources</literal> to be dropped on "
"<literal>destinations</literal>. Each source and destination has infomation "
@@ -5566,42 +5814,44 @@ msgid ""
"was used."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4660(para)
+#: C/gtkmm-tutorial-in.xml:4663(para)
msgid "target: A name, such as \"STRING\""
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4661(para)
+#: C/gtkmm-tutorial-in.xml:4664(para)
msgid ""
"info: An identifier which will be sent to your signals to tell you which "
"TargetEntry was used."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4662(para)
+#: C/gtkmm-tutorial-in.xml:4665(para)
msgid ""
"flags: Used only for drag and drop, this specifies whether the data may be "
"dragged to other widgets and applications, or only to the same ones."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4657(para)
+#: C/gtkmm-tutorial-in.xml:4660(para)
msgid ""
"<classname>Gtk::TargetEntry</classname> objects contain this information: "
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4670(para)
+#: C/gtkmm-tutorial-in.xml:4673(para)
msgid ""
"<classname>Widgets</classname> can be identified as sources or destinations "
"using these <classname>Gtk::Widget</classname> methods:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4674(programlisting)
+#: C/gtkmm-tutorial-in.xml:4677(programlisting)
#, no-wrap
msgid ""
"void drag_source_set(const ArrayHandle_TargetEntry& targets,\n"
" GdkModifierType start_button_mask, GdkDragAction actions);"
msgstr ""
+"void drag_source_set(const ArrayHandle_TargetEntry& targets,\n"
+" GdkModifierType start_button_mask, GdkDragAction actions);"
-#: C/gtkmm-tutorial-in.xml:4679(para)
+#: C/gtkmm-tutorial-in.xml:4682(para)
msgid ""
"<literal>targets</literal> is a container of <classname>Gtk::TargetEntry</"
"classname> (<classname>std::list<Gtk::TargetEntry></classname> or "
@@ -5609,13 +5859,13 @@ msgid ""
"elements."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4688(para)
+#: C/gtkmm-tutorial-in.xml:4691(para)
msgid ""
"<literal>start_button_mask</literal> is an ORed combination of values, which "
"specify which modifier key or mouse button must be pressed to start the drag."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4695(para)
+#: C/gtkmm-tutorial-in.xml:4698(para)
msgid ""
"<literal>actions</literal> is an ORed combination of values, which specified "
"which Drag and Drop operations will be possible from this source - for "
@@ -5625,26 +5875,28 @@ msgid ""
"by a different cursor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4706(programlisting)
+#: C/gtkmm-tutorial-in.xml:4709(programlisting)
#, no-wrap
msgid ""
"void drag_dest_set(const ArrayHandle_TargetEntry& targets,\n"
" GtkDestDefaults flags, GdkDragAction actions);"
msgstr ""
+"void drag_dest_set(const ArrayHandle_TargetEntry& targets,\n"
+" GtkDestDefaults flags, GdkDragAction actions);"
-#: C/gtkmm-tutorial-in.xml:4711(para)
+#: C/gtkmm-tutorial-in.xml:4714(para)
msgid ""
"<literal>flags</literal> is an ORed combination of values which indicates "
"how the widget will respond visually to Drag and Drop items."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4717(para)
+#: C/gtkmm-tutorial-in.xml:4720(para)
msgid ""
"<literal>actions</literal> indicates the Drag and Drop actions which this "
"destination can receive - see the description above."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4727(para)
+#: C/gtkmm-tutorial-in.xml:4730(para)
msgid ""
"When a drop destination has accepted a dragged item, certain signals will be "
"emitted, depending on what action has been selected. For instance, the user "
@@ -5655,42 +5907,42 @@ msgid ""
"</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4738(title) C/gtkmm-tutorial-in.xml:4861(title)
+#: C/gtkmm-tutorial-in.xml:4741(title) C/gtkmm-tutorial-in.xml:4864(title)
msgid "Copy"
msgstr "Copiar"
-#: C/gtkmm-tutorial-in.xml:4742(para)
+#: C/gtkmm-tutorial-in.xml:4745(para)
msgid "<literal>drag_begin</literal>: Provides DragContext."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4743(para)
+#: C/gtkmm-tutorial-in.xml:4746(para)
msgid ""
"<literal>drag_motion</literal>: Provides DragContext and coordinates. You "
"can call the drag_status() method of the DragContext to indicate which "
"target will be accepted."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4744(para)
+#: C/gtkmm-tutorial-in.xml:4747(para)
msgid ""
"<literal>drag_get</literal>: Provides <literal>info</literal> about the "
"dragged data format, and a <literal>GtkSelectionData</literal> structure, in "
"which you should put the requested data."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4745(para)
+#: C/gtkmm-tutorial-in.xml:4748(para)
msgid "<literal>drag_drop</literal>: Provides DragContext and coordinates."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4746(para)
+#: C/gtkmm-tutorial-in.xml:4749(para)
msgid "<literal>drag_end</literal>: Provides DragContext."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4739(para)
+#: C/gtkmm-tutorial-in.xml:4742(para)
msgid ""
"The source widget will emit these signals, in this order: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4753(para)
+#: C/gtkmm-tutorial-in.xml:4756(para)
msgid ""
"<literal>drag_data_received</literal>: Provides <literal>info</literal> "
"about the dragged data format, and a <literal>GtkSelectionData</literal> "
@@ -5699,33 +5951,33 @@ msgid ""
"literal> to indicate whether the operation was successful."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4749(para)
+#: C/gtkmm-tutorial-in.xml:4752(para)
msgid ""
"The destination widget will emit this signal, after the source destination "
"has emitted the <literal>drag_get</literal> signal: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4768(title)
+#: C/gtkmm-tutorial-in.xml:4771(title)
msgid "Move"
msgstr "Mover"
-#: C/gtkmm-tutorial-in.xml:4771(para)
+#: C/gtkmm-tutorial-in.xml:4774(para)
msgid ""
"<literal>drag_delete</literal>: Gives the source the opportunity to delete "
"the original data if that's appropriate."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4769(para)
+#: C/gtkmm-tutorial-in.xml:4772(para)
msgid ""
"During a <literal>move</literal>, the source widget will also emit this "
"signal: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4785(title)
+#: C/gtkmm-tutorial-in.xml:4788(title)
msgid "DragContext"
-msgstr ""
+msgstr "DragContext"
-#: C/gtkmm-tutorial-in.xml:4786(para)
+#: C/gtkmm-tutorial-in.xml:4789(para)
msgid ""
"The drag and drop signals provide a DragContext, which contains some "
"information about the drag and drop operation and can be used to influence "
@@ -5736,21 +5988,21 @@ msgid ""
"handler to indicate whether the drop was successful."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4799(para)
+#: C/gtkmm-tutorial-in.xml:4802(para)
msgid ""
"Here is a very simple example, demonstrating a drag and drop <literal>Copy</"
"literal> operation:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4810(para)
+#: C/gtkmm-tutorial-in.xml:4813(para)
msgid "There is a more complex example in examples/dnd."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4819(title)
+#: C/gtkmm-tutorial-in.xml:4822(title)
msgid "The Clipboard"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4820(para)
+#: C/gtkmm-tutorial-in.xml:4823(para)
msgid ""
"Simple text copy-paste functionality is provided for free by widgets such as "
"Gtk::Entry and Gtk::TextView, but you might need special code to deal with "
@@ -5758,13 +6010,13 @@ msgid ""
"code to allow copy and paste within a view, or between documents."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4822(para)
+#: C/gtkmm-tutorial-in.xml:4825(para)
msgid ""
"<classname>Gtk::Clipboard</classname> is a singleton. You can get the one "
"and only instance with <methodname>Gtk::Clipboard::get()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4827(para)
+#: C/gtkmm-tutorial-in.xml:4830(para)
msgid ""
"So your application doesn't need to wait for clipboard operations, "
"particularly between the time when the user chooses Copy and then later "
@@ -5774,18 +6026,18 @@ msgid ""
"either providing the requested data, or asking for data."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4839(title)
+#: C/gtkmm-tutorial-in.xml:4842(title)
msgid "Targets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4840(para)
+#: C/gtkmm-tutorial-in.xml:4843(para)
msgid ""
"Different applications contain different types of data, and they might make "
"that data available in a variety of formats. <application>gtkmm</"
"application> calls these data types <literal>target</literal>s."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4844(para)
+#: C/gtkmm-tutorial-in.xml:4847(para)
msgid ""
"For instance, gedit can supply and receive the <literal>\"UTF8_STRING\"</"
"literal> target, so you can paste data into gedit from any application that "
@@ -5795,7 +6047,7 @@ msgid ""
"will be able to copy data from one to the other."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4848(para)
+#: C/gtkmm-tutorial-in.xml:4851(para)
msgid ""
"A target can be in a variety of binary formats. This chapter, and the "
"examples, assume that the data is 8-bit text. This would allow us to use an "
@@ -5805,14 +6057,14 @@ msgid ""
"detail if necessary."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4857(para)
+#: C/gtkmm-tutorial-in.xml:4860(para)
msgid ""
"The <link linkend=\"chapter-draganddrop\">Drag and Drop</link> API uses the "
"same mechanism. You should probably use the same data targets and formats "
"for both Clipboard and Drag and Drap operations."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4862(para)
+#: C/gtkmm-tutorial-in.xml:4865(para)
msgid ""
"When the user asks to copy some data, you should tell the "
"<classname>Clipboard</classname> what targets are available, and provide the "
@@ -5821,7 +6073,7 @@ msgid ""
"callback method in repsonse to a paste."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4871(programlisting)
+#: C/gtkmm-tutorial-in.xml:4874(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::Clipboard> refClipboard = Gtk::Clipboard::get();\n"
@@ -5835,14 +6087,24 @@ msgid ""
" sigc::mem_fun(*this, &ExampleWindow::on_clipboard_get),\n"
" sigc::mem_fun(*this, &ExampleWindow::on_clipboard_clear) );"
msgstr ""
+"Glib::RefPtr<Gtk::Clipboard> refClipboard = Gtk::Clipboard::get();\n"
+"\n"
+"//Targets:\n"
+"std::list<Gtk::TargetEntry> listTargets;\n"
+"listTargets.push_back( Gtk::TargetEntry(\"example_custom_target\") );\n"
+"listTargets.push_back( Gtk::TargetEntry(\"UTF8_STRING\") );\n"
+"\n"
+"refClipboard->set( listTargets,\n"
+" sigc::mem_fun(*this, &ExampleWindow::on_clipboard_get),\n"
+" sigc::mem_fun(*this, &ExampleWindow::on_clipboard_clear) );"
-#: C/gtkmm-tutorial-in.xml:4882(para)
+#: C/gtkmm-tutorial-in.xml:4885(para)
msgid ""
"Your callback will then provide the store data when the user chooses to "
"paste the data. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4884(programlisting)
+#: C/gtkmm-tutorial-in.xml:4887(programlisting)
#, no-wrap
msgid ""
"void ExampleWindow::on_clipboard_get(\n"
@@ -5854,42 +6116,52 @@ msgid ""
" selection_data.set(\"example_custom_target\", m_ClipboardStore);\n"
"}"
msgstr ""
+"void ExampleWindow::on_clipboard_get(\n"
+" Gtk::SelectionData& selection_data, guint info)\n"
+"{\n"
+" const Glib::ustring target = selection_data.get_target();\n"
+"\n"
+" if(target == \"example_custom_target\")\n"
+" selection_data.set(\"example_custom_target\", m_ClipboardStore);\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:4892(para)
+#: C/gtkmm-tutorial-in.xml:4895(para)
msgid ""
"The <literal>ideal</literal> example below can supply more than one "
"clipboard target."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4896(para)
+#: C/gtkmm-tutorial-in.xml:4899(para)
msgid ""
"The clear callback allows you to free the memory used by your stored data "
"when the clipboard replaces its data with something else."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4902(title)
+#: C/gtkmm-tutorial-in.xml:4905(title)
msgid "Paste"
msgstr "Pegar"
-#: C/gtkmm-tutorial-in.xml:4903(para)
+#: C/gtkmm-tutorial-in.xml:4906(para)
msgid ""
"When the user asks to paste data from the <classname>Clipboard</classname>, "
"you should request a specific format and provide a callback method which "
"will be called with the actual data. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4908(programlisting)
+#: C/gtkmm-tutorial-in.xml:4911(programlisting)
#, no-wrap
msgid ""
"refClipboard->request_contents(\"example_custom_target\",\n"
" sigc::mem_fun(*this, &ExampleWindow::on_clipboard_received) );"
msgstr ""
+"refClipboard->request_contents(\"example_custom_target\",\n"
+" sigc::mem_fun(*this, &ExampleWindow::on_clipboard_received) );"
-#: C/gtkmm-tutorial-in.xml:4911(para)
+#: C/gtkmm-tutorial-in.xml:4914(para)
msgid "Here is an example callback method:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4913(programlisting)
+#: C/gtkmm-tutorial-in.xml:4916(programlisting)
#, no-wrap
msgid ""
"void ExampleWindow::on_clipboard_received(\n"
@@ -5899,12 +6171,18 @@ msgid ""
" //Do something with the pasted data.\n"
"}"
msgstr ""
+"void ExampleWindow::on_clipboard_received(\n"
+" const Gtk::SelectionData& selection_data)\n"
+"{\n"
+" Glib::ustring clipboard_data = selection_data.get_data_as_string();\n"
+" //Hacer algo con los datos pegados.\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:4921(title)
+#: C/gtkmm-tutorial-in.xml:4924(title)
msgid "Discovering the available targets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4922(para)
+#: C/gtkmm-tutorial-in.xml:4925(para)
msgid ""
"To find out what targets are currently available on the "
"<classname>Clipboard</classname> for pasting, call the "
@@ -5912,21 +6190,21 @@ msgid ""
"called with the information. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4928(programlisting)
+#: C/gtkmm-tutorial-in.xml:4931(programlisting)
#, no-wrap
msgid ""
"refClipboard->request_targets( sigc::mem_fun(*this,\n"
" &ExampleWindow::on_clipboard_received_targets) );"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4931(para)
+#: C/gtkmm-tutorial-in.xml:4934(para)
msgid ""
"In your callback, compare the list of available targets with those that your "
"application supports for pasting. You could enable or disable a Paste menu "
"item, depending on whether pasting is currently possible. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4934(programlisting)
+#: C/gtkmm-tutorial-in.xml:4937(programlisting)
#, no-wrap
msgid ""
"void ExampleWindow::on_clipboard_received_targets(\n"
@@ -5944,11 +6222,11 @@ msgid ""
"}"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4953(title) C/gtkmm-tutorial-in.xml:5350(title)
+#: C/gtkmm-tutorial-in.xml:4956(title) C/gtkmm-tutorial-in.xml:5349(title)
msgid "Simple"
msgstr "Simple"
-#: C/gtkmm-tutorial-in.xml:4954(para)
+#: C/gtkmm-tutorial-in.xml:4957(para)
msgid ""
"This example allows copy and pasting of application-specific data, using the "
"standard text target. Although this is simple, it's not ideal because it "
@@ -5956,52 +6234,46 @@ msgid ""
"particular type."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4962(title)
+#: C/gtkmm-tutorial-in.xml:4965(title)
msgid "Clipboard - Simple"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4972(title)
+#: C/gtkmm-tutorial-in.xml:4975(title)
msgid "Ideal"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4975(simpara)
+#: C/gtkmm-tutorial-in.xml:4978(simpara)
msgid ""
"Defines a custom clipboard target, though the format of that target is still "
"text."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4976(simpara)
+#: C/gtkmm-tutorial-in.xml:4979(simpara)
msgid ""
"It supports pasting of 2 targets - both the custom one and a text one that "
"creates an arbitrary text representation of the custom data."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4977(simpara)
+#: C/gtkmm-tutorial-in.xml:4980(simpara)
msgid ""
"It uses <methodname>request_targets()</methodname> and the "
"<literal>owner_change</literal> signal and disables the Paste button if it "
"can't use anything on the clipboard."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4973(para)
+#: C/gtkmm-tutorial-in.xml:4976(para)
msgid "This is like the simple example, but it <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4982(title)
+#: C/gtkmm-tutorial-in.xml:4985(title)
msgid "Clipboard - Ideal"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:4998(title)
+#: C/gtkmm-tutorial-in.xml:5001(title)
msgid "Printing"
msgstr "Impresión"
-#: C/gtkmm-tutorial-in.xml:5001(para)
-msgid ""
-"Printing support is available in <application>gtkmm</application> version "
-"2.10 and later."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:5004(para)
+#: C/gtkmm-tutorial-in.xml:5003(para)
msgid ""
"At the application development level, <application>gtkmm</application>'s "
"printing API provides dialogs that are consistent across applications and "
@@ -6010,11 +6282,11 @@ msgid ""
"printer-specific drivers are used."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5010(title)
+#: C/gtkmm-tutorial-in.xml:5009(title)
msgid "PrintOperation"
-msgstr ""
+msgstr "PrintOperation"
-#: C/gtkmm-tutorial-in.xml:5012(para)
+#: C/gtkmm-tutorial-in.xml:5011(para)
msgid ""
"The primary object is <classname>Gtk::PrintOperation</classname>, allocated "
"for each print operation. To handle page drawing connect to its signals, or "
@@ -6023,7 +6295,7 @@ msgid ""
"affecting the print loop."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5029(para)
+#: C/gtkmm-tutorial-in.xml:5028(para)
msgid ""
"<literal>begin_print</literal>: You must handle this signal, because this is "
"where you create and set up a <classname>Pango::Layout</classname> using the "
@@ -6031,21 +6303,21 @@ msgid ""
"printing output into pages."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5039(para)
+#: C/gtkmm-tutorial-in.xml:5038(para)
msgid ""
"<literal>paginate</literal>: Pagination is potentially slow so if you need "
"to monitor it you can call the <methodname>PrintOperation::set_show_progress"
"()</methodname> method and handle this signal."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5053(para)
+#: C/gtkmm-tutorial-in.xml:5052(para)
msgid ""
"<literal>request_page_setup</literal>: Provides a <classname>PrintContext</"
"classname>, page number and <classname>Gtk::PageSetup</classname>. Handle "
"this signal if you need to modify page setup on a per-page basis."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5062(para)
+#: C/gtkmm-tutorial-in.xml:5061(para)
msgid ""
"<literal>draw_page</literal>: You must handle this signal, which provides a "
"<classname>PrintContext</classname> and a page number. The "
@@ -6055,13 +6327,13 @@ msgid ""
"you created in the <literal>begin_print</literal> handler."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5048(para)
+#: C/gtkmm-tutorial-in.xml:5047(para)
msgid ""
"For each page that needs to be rendered, the following signals are emitted: "
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5077(para)
+#: C/gtkmm-tutorial-in.xml:5076(para)
msgid ""
"<literal>end_print</literal>: A handler for it is a safe place to free any "
"resources related to a <classname>PrintOperation</classname>. If you have "
@@ -6069,7 +6341,7 @@ msgid ""
"it is naturally simpler to do it in the destructor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5087(para)
+#: C/gtkmm-tutorial-in.xml:5086(para)
msgid ""
"<literal>done</literal>: This signal is emitted when printing is finished, "
"meaning when the print data is spooled. Note that the provided <literal>Gtk::"
@@ -6077,7 +6349,7 @@ msgid ""
"case you probably want to notify the user about the final status."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5097(para)
+#: C/gtkmm-tutorial-in.xml:5096(para)
msgid ""
"<literal>status_changed</literal>: Emitted whenever a print job's status "
"changes, until it is finished. Call the <methodname>PrintOperation::"
@@ -6086,17 +6358,17 @@ msgid ""
"<methodname>get_status_string()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5023(para)
+#: C/gtkmm-tutorial-in.xml:5022(para)
msgid ""
"The <methodname>PrintOperation::run()</methodname> method starts the print "
"loop, during which various signals are emitted: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5119(title)
+#: C/gtkmm-tutorial-in.xml:5118(title)
msgid "Page setup"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5121(para)
+#: C/gtkmm-tutorial-in.xml:5120(para)
msgid ""
"The <classname>PrintOperation</classname> class has a method called "
"<methodname>set_default_page_setup()</methodname> which selects the default "
@@ -6108,13 +6380,13 @@ msgid ""
"<literal>Gtk::PageOrientation</literal> and printer-specific margins."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5131(para)
+#: C/gtkmm-tutorial-in.xml:5130(para)
msgid ""
"You should save the chosen <classname>Gtk::PageSetup</classname> so you can "
"use it again if the page setup dialog is shown again."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5135(programlisting)
+#: C/gtkmm-tutorial-in.xml:5134(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -6123,12 +6395,12 @@ msgid ""
"m_refPageSetup = new_page_setup;\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5134(para) C/gtkmm-tutorial-in.xml:5199(para)
-#: C/gtkmm-tutorial-in.xml:9041(para)
+#: C/gtkmm-tutorial-in.xml:5133(para) C/gtkmm-tutorial-in.xml:5198(para)
+#: C/gtkmm-tutorial-in.xml:9033(para)
msgid "For instance, <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5146(para)
+#: C/gtkmm-tutorial-in.xml:5145(para)
msgid ""
"The Cairo coordinate system, in the <literal>draw_page</literal> handler, is "
"automatically rotated to the current page orientation. It is normally within "
@@ -6138,11 +6410,11 @@ msgid ""
"<methodname>PrintOperation::set_unit()</methodname> method."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5158(title)
+#: C/gtkmm-tutorial-in.xml:5157(title)
msgid "Rendering text"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5160(para)
+#: C/gtkmm-tutorial-in.xml:5159(para)
msgid ""
"Text rendering is done using Pango. The <classname>Pango::Layout</classname> "
"object for printing should be created by calling the "
@@ -6157,17 +6429,17 @@ msgid ""
"page number."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5175(para)
+#: C/gtkmm-tutorial-in.xml:5174(para)
msgid ""
"See <link linkend=\"sec-printing-example-simple\">an example</link> of "
"exactly how this can be done."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5183(title)
+#: C/gtkmm-tutorial-in.xml:5182(title)
msgid "Asynchronous operations"
-msgstr ""
+msgstr "Operaciones asÃncronas"
-#: C/gtkmm-tutorial-in.xml:5185(para)
+#: C/gtkmm-tutorial-in.xml:5184(para)
msgid ""
"By default, <methodname>PrintOperation::run()</methodname> returns when a "
"print operation is completed. If you need to run a non-blocking print "
@@ -6176,7 +6448,7 @@ msgid ""
"platforms, however the <literal>done</literal> signal will still be emitted."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5192(para)
+#: C/gtkmm-tutorial-in.xml:5191(para)
msgid ""
"<methodname>run()</methodname> may return "
"<literal>PRINT_OPERATION_RESULT_IN_PROGRESS</literal>. To track status and "
@@ -6184,7 +6456,7 @@ msgid ""
"<literal>done</literal> and <literal>status_changed</literal> signals:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5200(programlisting)
+#: C/gtkmm-tutorial-in.xml:5199(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -6195,7 +6467,7 @@ msgid ""
"// run the op\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5210(programlisting)
+#: C/gtkmm-tutorial-in.xml:5209(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -6211,13 +6483,13 @@ msgid ""
"}\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5209(para)
+#: C/gtkmm-tutorial-in.xml:5208(para)
msgid ""
"Second, check for an error and connect to the <literal>status_changed</"
"literal> signal. For instance: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5225(programlisting)
+#: C/gtkmm-tutorial-in.xml:5224(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -6232,15 +6504,15 @@ msgid ""
"}\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5224(para)
+#: C/gtkmm-tutorial-in.xml:5223(para)
msgid "Finally, check the status. For instance, <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5241(title)
+#: C/gtkmm-tutorial-in.xml:5240(title)
msgid "Export to PDF"
-msgstr ""
+msgstr "Exportar a PDF"
-#: C/gtkmm-tutorial-in.xml:5245(programlisting)
+#: C/gtkmm-tutorial-in.xml:5244(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -6250,18 +6522,18 @@ msgid ""
"Gtk::PrintOperationResult res = op->run(Gtk::PRINT_OPERATION_ACTION_EXPORT);\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5242(para)
+#: C/gtkmm-tutorial-in.xml:5241(para)
msgid ""
"The 'Print to file' option is available in the print dialog, without the "
"need for extra implementation. However, it is sometimes useful to generate a "
"pdf file directly from code. For instance, <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5257(title)
+#: C/gtkmm-tutorial-in.xml:5256(title)
msgid "Extending the print dialog"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5264(para)
+#: C/gtkmm-tutorial-in.xml:5263(para)
msgid ""
"Set the title of the tab via <methodname>PrintOperation::set_custom_tab_label"
"()</methodname>, create a new widget and return it from the "
@@ -6269,17 +6541,17 @@ msgid ""
"this to be a container widget, packed with some others."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5274(para)
+#: C/gtkmm-tutorial-in.xml:5273(para)
msgid ""
"Get the data from the widgets in the <literal>custom_widget_apply</literal> "
"signal handler."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5259(para)
+#: C/gtkmm-tutorial-in.xml:5258(para)
msgid "You may add a custom tab to the print dialog: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5289(programlisting)
+#: C/gtkmm-tutorial-in.xml:5288(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -6306,8 +6578,31 @@ msgid ""
" //...\n"
"}\n"
msgstr ""
+"\n"
+"Gtk::Widget* CustomPrintOperation::on_create_custom_widget()\n"
+"{\n"
+" set_custom_tab_label(\"Mi pestaña personalizada\");\n"
+"\n"
+" Gtk::HBox* hbox = new Gtk::HBox(false, 8);\n"
+" hbox->set_border_width(6);\n"
+"\n"
+" Gtk::Label* label = Gtk::manage(new Gtk::Label(\"Introducir texto: \"));\n"
+" hbox->pack_start(*label, false, false);\n"
+" label->show();\n"
+"\n"
+" hbox->pack_start(m_Entry, false, false);\n"
+" m_Entry.show();\n"
+"\n"
+" return hbox;\n"
+"}\n"
+"\n"
+"void CustomPrintOperation::on_custom_widget_apply(Gtk::Widget* /* widget */)\n"
+"{\n"
+" Glib::ustring user_input = m_Entry.get_text();\n"
+" //...\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:5282(para)
+#: C/gtkmm-tutorial-in.xml:5281(para)
msgid ""
"Although the <literal>custom_widget_apply</literal> signal provides the "
"widget you previously created, to simplify things you can keep the widgets "
@@ -6317,15 +6612,15 @@ msgid ""
"class: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5316(para)
+#: C/gtkmm-tutorial-in.xml:5315(para)
msgid "The example in examples/book/printing/advanced demonstrates this."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5323(title)
+#: C/gtkmm-tutorial-in.xml:5322(title)
msgid "Preview"
msgstr "Vista previa"
-#: C/gtkmm-tutorial-in.xml:5329(programlisting)
+#: C/gtkmm-tutorial-in.xml:5328(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -6335,13 +6630,13 @@ msgid ""
"op->run(Gtk::PRINT_OPERATION_ACTION_PREVIEW, *this);\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5325(para)
+#: C/gtkmm-tutorial-in.xml:5324(para)
msgid ""
"The native GTK+ print dialog has a preview button, but you may also start a "
"preview directly from an application: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5337(para)
+#: C/gtkmm-tutorial-in.xml:5336(para)
msgid ""
"On Unix, the default preview handler uses an external viewer program. On "
"Windows, the native preview dialog will be shown. If necessary you may "
@@ -6349,7 +6644,7 @@ msgid ""
"located in /examples/book/printing/advanced."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5352(para)
+#: C/gtkmm-tutorial-in.xml:5351(para)
msgid ""
"The following example demonstrates how to print some input from a user "
"interface. It shows how to implement <literal>on_begin_print</literal> and "
@@ -6357,21 +6652,15 @@ msgid ""
"update the print settings."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5360(title)
+#: C/gtkmm-tutorial-in.xml:5359(title)
msgid "Printing - Simple"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5375(title)
+#: C/gtkmm-tutorial-in.xml:5374(title)
msgid "Recently Used Documents"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5377(para) C/gtkmm-tutorial-in.xml:5533(para)
-msgid ""
-"Recent Files support is available in <application>gtkmm</application> "
-"version 2.10 and later"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:5380(para)
+#: C/gtkmm-tutorial-in.xml:5376(para)
msgid ""
"<application>gtkmm</application> provides an easy way to manage recently "
"used documents. The classes involved in implementing this functionality are "
@@ -6381,7 +6670,7 @@ msgid ""
"classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5389(para)
+#: C/gtkmm-tutorial-in.xml:5385(para)
msgid ""
"Each item in the list of recently used files is identified by its URI, and "
"can have associated metadata. The metadata can be used to specify how the "
@@ -6390,18 +6679,18 @@ msgid ""
"application, and several other things."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5397(title)
+#: C/gtkmm-tutorial-in.xml:5393(title)
msgid "RecentManager"
-msgstr ""
+msgstr "RecentManager"
-#: C/gtkmm-tutorial-in.xml:5398(para)
+#: C/gtkmm-tutorial-in.xml:5394(para)
msgid ""
"<classname>RecentManager</classname> acts as the central database of "
"recently used files. You use this class to register new files, remove files "
"from the list, or look up recently used files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5403(para)
+#: C/gtkmm-tutorial-in.xml:5399(para)
msgid ""
"You can create a new <classname>RecentManager</classname>, but you'll most "
"likely just want to use the default one. You can get a reference to the "
@@ -6409,24 +6698,26 @@ msgid ""
"methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5410(title)
+#: C/gtkmm-tutorial-in.xml:5406(title)
msgid "Adding Items to the List of Recent Files"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5411(para)
+#: C/gtkmm-tutorial-in.xml:5407(para)
msgid ""
"To add a new file to the list of recent documents, in the simplest case, you "
"only need to provide the URI. For example:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5415(programlisting)
+#: C/gtkmm-tutorial-in.xml:5411(programlisting)
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::RecentManager> recent_manager = Gtk::RecentManager::get_default();\n"
"recent_manager->add_item(uri);"
msgstr ""
+"Glib::RefPtr<Gtk::RecentManager> recent_manager = Gtk::RecentManager::get_default();\n"
+"recent_manager->add_item(uri);"
-#: C/gtkmm-tutorial-in.xml:5417(para)
+#: C/gtkmm-tutorial-in.xml:5413(para)
msgid ""
"If you want to register a file with metadata, you can pass a "
"<classname>RecentManager::Data</classname> parameter to <methodname>add_item"
@@ -6434,32 +6725,32 @@ msgid ""
"as follows:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5425(para)
+#: C/gtkmm-tutorial-in.xml:5421(para)
msgid ""
"<varname>app_exec</varname>: The command line to be used to launch this "
"resource. This string may contain the \"f\" and \"u\" escape characters "
"which will be expanded to the resource file path and URI respectively"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5431(para)
+#: C/gtkmm-tutorial-in.xml:5427(para)
msgid ""
"<varname>app_name</varname>: The name of the application that registered the "
"resource"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5435(para)
+#: C/gtkmm-tutorial-in.xml:5431(para)
msgid ""
"<varname>description</varname>: A short description of the resource as a UTF-"
"8 encoded string"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5439(para)
+#: C/gtkmm-tutorial-in.xml:5435(para)
msgid ""
"<varname>display_name</varname>: The name of the resource to be used for "
"display as a UTF-8 encoded string"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5443(para)
+#: C/gtkmm-tutorial-in.xml:5439(para)
msgid ""
"<varname>groups</varname>: A list of groups associated with this item. "
"Groups are essentially arbitrary strings associated with a particular "
@@ -6467,27 +6758,27 @@ msgid ""
"\"graphics\", etc) or tags for the resource."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5449(para)
+#: C/gtkmm-tutorial-in.xml:5445(para)
msgid ""
"<varname>is_private</varname>: Whether this resource should be visible only "
"to applications that have registered it or not"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5453(para)
+#: C/gtkmm-tutorial-in.xml:5449(para)
msgid "<varname>mime_type</varname>: The MIME type of the resource"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5456(para)
+#: C/gtkmm-tutorial-in.xml:5452(para)
msgid ""
"In addition to adding items to the list, you can also look up items from the "
"list and modify or remove items."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5462(title)
+#: C/gtkmm-tutorial-in.xml:5458(title)
msgid "Looking up Items in the List of Recent Files"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5463(para)
+#: C/gtkmm-tutorial-in.xml:5459(para)
msgid ""
"To look up recently used files, <classname>RecentManager</classname> "
"provides several functions. To look up a specific item by its URI, you can "
@@ -6499,7 +6790,7 @@ msgid ""
"used to test for validity. For example:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5474(programlisting)
+#: C/gtkmm-tutorial-in.xml:5470(programlisting)
#, no-wrap
msgid ""
"Gtk::RecentInfo info = recent_manager->lookup_item(uri);\n"
@@ -6508,8 +6799,13 @@ msgid ""
" // item was found\n"
"}"
msgstr ""
+"Gtk::RecentInfo info = recent_manager->lookup_item(uri);\n"
+"if (info)\n"
+"{\n"
+" // se encontró el elemento\n"
+"}"
-#: C/gtkmm-tutorial-in.xml:5479(para)
+#: C/gtkmm-tutorial-in.xml:5475(para)
msgid ""
"A <classname>RecentInfo</classname> object is essentially an object "
"containing all of the metadata about a single recently-used file. You can "
@@ -6517,7 +6813,7 @@ msgid ""
"cross-reference."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5485(para)
+#: C/gtkmm-tutorial-in.xml:5481(para)
msgid ""
"If you don't want to look for a specific URI, but instead want to get a list "
"of all recently used items, <classname>RecentManager</classname> provides "
@@ -6529,22 +6825,22 @@ msgid ""
"list of recently-used files:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5496(programlisting)
+#: C/gtkmm-tutorial-in.xml:5492(programlisting)
#, no-wrap
msgid "std::vector<Gtk::RecentInfo> info_list = recent_manager->get_items();"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5497(para)
+#: C/gtkmm-tutorial-in.xml:5493(para)
msgid ""
"The limit on the number of items returned can be set by <methodname>set_limit"
"()</methodname>, and queried with <methodname>get_limit()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5504(title)
+#: C/gtkmm-tutorial-in.xml:5500(title)
msgid "Modifying the List of Recent Files"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5505(para)
+#: C/gtkmm-tutorial-in.xml:5501(para)
msgid ""
"There may be times when you need to modify the list of recent files. For "
"instance, if a file is moved or renamed, you may need to update the file's "
@@ -6553,7 +6849,7 @@ msgid ""
"</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5512(para)
+#: C/gtkmm-tutorial-in.xml:5508(para)
msgid ""
"In addition to changing a file's URI, you can also remove items from the "
"list, either one at a time or by clearint them all at once. The former is "
@@ -6561,7 +6857,7 @@ msgid ""
"<methodname>purge_items()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5519(para)
+#: C/gtkmm-tutorial-in.xml:5515(para)
msgid ""
"The functions <methodname>move_item()</methodname>, <methodname>remove_item()"
"</methodname> and <methodname>purge_items()</methodname> have no effect on "
@@ -6569,11 +6865,11 @@ msgid ""
"of recent files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5531(title)
+#: C/gtkmm-tutorial-in.xml:5527(title)
msgid "RecentChooser"
-msgstr ""
+msgstr "RecentChooser"
-#: C/gtkmm-tutorial-in.xml:5536(para)
+#: C/gtkmm-tutorial-in.xml:5528(para)
msgid ""
"<classname>RecentChooser</classname> is an interface that can be implemented "
"by widgets displaying the list of recently used files. <application>gtkmm</"
@@ -6583,7 +6879,7 @@ msgid ""
"<classname>RecentChooserMenu</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5544(para)
+#: C/gtkmm-tutorial-in.xml:5536(para)
msgid ""
"<classname>RecentChooserWidget</classname> is a simple widget for displaying "
"a list of recently used files. <classname>RecentChooserWidget</classname> is "
@@ -6591,18 +6887,18 @@ msgid ""
"you can embed it into your user interface if you want to."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5551(para)
+#: C/gtkmm-tutorial-in.xml:5543(para)
msgid ""
"The last class that implements the <classname>RecentChooser</classname> "
"interface is <classname>RecentChooserMenu</classname>. This class allows you "
"to list recently used files as a menu."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5557(title)
+#: C/gtkmm-tutorial-in.xml:5549(title)
msgid "Simple RecentChooserWidget example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5558(para)
+#: C/gtkmm-tutorial-in.xml:5550(para)
msgid ""
"Shown below is a simple example of how to use the "
"<classname>RecentChooserDialog</classname> class in a program. This simple "
@@ -6611,20 +6907,20 @@ msgid ""
"files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5566(para)
+#: C/gtkmm-tutorial-in.xml:5558(para)
msgid ""
"If this is the first time you're using a program that uses the Recent Files "
"framework, the dialog may be empty at first. Otherwise it should show the "
"list of recently used documents registered by other applications."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5573(para)
+#: C/gtkmm-tutorial-in.xml:5565(para)
msgid ""
"After selecting the <guimenuitem>Recent Files Dialog</guimenuitem> menu "
"item, you should see something similar to the following window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5582(para)
+#: C/gtkmm-tutorial-in.xml:5574(para)
msgid ""
"The constructor for <classname>ExampleWindow</classname> creates the menu "
"using <classname>UIManager</classname> (see <xref linkend=\"chapter-menus-"
@@ -6632,11 +6928,11 @@ msgid ""
"toolbar to the window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5590(title)
+#: C/gtkmm-tutorial-in.xml:5582(title)
msgid "Filtering Recent Files"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5591(para)
+#: C/gtkmm-tutorial-in.xml:5583(para)
msgid ""
"For any of the <classname>RecentChooser</classname> classes, if you don't "
"wish to display all of the items in the list of recent files, you can filter "
@@ -6650,22 +6946,22 @@ msgid ""
"the file was modified and which groups it belongs to."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5604(para)
+#: C/gtkmm-tutorial-in.xml:5596(para)
msgid ""
"After you've created and set up the filter to match only the items you want, "
"you can apply a filter to a chooser widget with the "
"<methodname>RecentChooser::add_filter()</methodname> function."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5614(title)
+#: C/gtkmm-tutorial-in.xml:5606(title)
msgid "Plugs and Sockets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5616(title)
+#: C/gtkmm-tutorial-in.xml:5608(title)
msgid "Overview"
msgstr "Vista general"
-#: C/gtkmm-tutorial-in.xml:5617(para)
+#: C/gtkmm-tutorial-in.xml:5609(para)
msgid ""
"From time to time, it may be useful to be able to embed a widget from "
"another application within your application. <application>gtkmm</"
@@ -6676,7 +6972,7 @@ msgid ""
"completely different process, these classes can be very helpful."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5626(para)
+#: C/gtkmm-tutorial-in.xml:5618(para)
msgid ""
"The communication between a <classname>Socket</classname> and a "
"<classname>Plug</classname> follows the XEmbed protocol. This protocol has "
@@ -6684,7 +6980,7 @@ msgid ""
"level of integration when embedding a Qt widget in GTK+ or vice versa."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5632(para)
+#: C/gtkmm-tutorial-in.xml:5624(para)
msgid ""
"The way that <classname>Sockets</classname> and <classname>Plugs</classname> "
"work together is through their window ids. Both a <classname>Socket</"
@@ -6694,22 +6990,22 @@ msgid ""
"sockets\"/>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5641(title)
+#: C/gtkmm-tutorial-in.xml:5633(title)
msgid "Sockets"
-msgstr ""
+msgstr "Sockets"
-#: C/gtkmm-tutorial-in.xml:5642(para)
+#: C/gtkmm-tutorial-in.xml:5634(para)
msgid ""
"A <classname>Socket</classname> is a special kind of container widget that "
"provides the ability to embed widgets from one process into another process "
"in a way that is transparent to the user."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5649(title)
+#: C/gtkmm-tutorial-in.xml:5641(title)
msgid "Plugs"
-msgstr ""
+msgstr "Plugs"
-#: C/gtkmm-tutorial-in.xml:5650(para)
+#: C/gtkmm-tutorial-in.xml:5642(para)
msgid ""
"A <classname>Plug</classname> is a special kind of Window that can be "
"plugged into a <classname>Socket</classname>. Besides the normal properties "
@@ -6719,18 +7015,18 @@ msgid ""
"into the <classname>Socket</classname> that matches that ID."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5659(para)
+#: C/gtkmm-tutorial-in.xml:5651(para)
msgid ""
"Since a <classname>Plug</classname> is just a special type of "
"<classname>Gtk::Window</classname> class, you can add containers or widgets "
"to it like you would to any other window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5666(title)
+#: C/gtkmm-tutorial-in.xml:5658(title)
msgid "Connecting Plugs and Sockets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5667(para)
+#: C/gtkmm-tutorial-in.xml:5659(para)
msgid ""
"After a <classname>Socket</classname> or <classname>Plug</classname> object "
"is realized, you can obtain its ID with its <methodname>get_id()</"
@@ -6738,7 +7034,7 @@ msgid ""
"that other processes know how to connect to eachother."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5678(para)
+#: C/gtkmm-tutorial-in.xml:5670(para)
msgid ""
"Create a <classname>Socket</classname> object in one process and pass the ID "
"of that <classname>Socket</classname> to another process so that it can "
@@ -6749,7 +7045,7 @@ msgid ""
"classname> ID to the <classname>Plug</classname>'s constructor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5691(para)
+#: C/gtkmm-tutorial-in.xml:5683(para)
msgid ""
"Create a <classname>Plug</classname> independantly from any particular "
"<classname>Socket</classname> and pass the ID of the <classname>Plug</"
@@ -6759,15 +7055,15 @@ msgid ""
"methodname> function. This is the approach used in the example below."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5674(para)
+#: C/gtkmm-tutorial-in.xml:5666(para)
msgid "There are two basic strategies that can be used: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5706(title)
+#: C/gtkmm-tutorial-in.xml:5698(title)
msgid "Plugs and Sockets Example"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5707(para)
+#: C/gtkmm-tutorial-in.xml:5699(para)
msgid ""
"The following is a simple example of using sockets and plugs. The method of "
"communication between processes is deliberately kept very simple: The "
@@ -6777,7 +7073,7 @@ msgid ""
"method of inter-process communication."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5716(para)
+#: C/gtkmm-tutorial-in.xml:5708(para)
msgid ""
"This example creates two executable programs: <filename>socket</filename> "
"and <filename>plug</filename>. The idea is that <filename>socket</filename> "
@@ -6788,49 +7084,49 @@ msgid ""
"within the example directory:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5725(para)
+#: C/gtkmm-tutorial-in.xml:5717(para)
msgid ""
"Start the <filename>plug</filename> program and send it to the background "
"(or just use a different terminal)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5729(screen)
+#: C/gtkmm-tutorial-in.xml:5721(screen)
#, no-wrap
msgid "$ ./plug &"
-msgstr ""
+msgstr "$ ./plug &"
-#: C/gtkmm-tutorial-in.xml:5730(para)
+#: C/gtkmm-tutorial-in.xml:5722(para)
msgid "After which you should see something like the following:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5733(screen)
+#: C/gtkmm-tutorial-in.xml:5725(screen)
#, no-wrap
msgid "The window ID is: 69206019"
-msgstr ""
+msgstr "El ID de la ventana es: 69206019"
-#: C/gtkmm-tutorial-in.xml:5734(para)
+#: C/gtkmm-tutorial-in.xml:5726(para)
msgid "Then start the <filename>socket</filename> program:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5735(screen)
+#: C/gtkmm-tutorial-in.xml:5727(screen)
#, no-wrap
msgid "$ ./socket"
-msgstr ""
+msgstr "$ ./socket"
-#: C/gtkmm-tutorial-in.xml:5736(para)
+#: C/gtkmm-tutorial-in.xml:5728(para)
msgid ""
"After starting <filename>socket</filename>, you should see the following "
"output in the terminal:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5740(screen)
+#: C/gtkmm-tutorial-in.xml:5732(screen)
#, no-wrap
msgid ""
"I've been embedded.\n"
"A plug was added"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5742(para)
+#: C/gtkmm-tutorial-in.xml:5734(para)
msgid ""
"The first line of output is from <filename>plug</filename>, after it has "
"been notified that it has been embedded inside of a <classname>Socket</"
@@ -6840,21 +7136,21 @@ msgid ""
"look roughly like the following:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5754(para)
+#: C/gtkmm-tutorial-in.xml:5746(para)
msgid ""
"If for some reason the <classname>Socket</classname> couldn't attach the "
"<classname>Plug</classname>, the window would look something like this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5765(title)
+#: C/gtkmm-tutorial-in.xml:5757(title)
msgid "Timeouts, I/O and Idle Functions"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5768(title)
+#: C/gtkmm-tutorial-in.xml:5760(title)
msgid "Timeouts"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5770(para)
+#: C/gtkmm-tutorial-in.xml:5762(para)
msgid ""
"You may be wondering how to make <application>gtkmm</application> do useful "
"work while it's idling along (well, sleeping actually) in <methodname>Gtk::"
@@ -6863,14 +7159,16 @@ msgid ""
"few milliseconds."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5778(programlisting)
+#: C/gtkmm-tutorial-in.xml:5770(programlisting)
#, no-wrap
msgid ""
"\n"
"sigc::connection Glib::SignalTimeout::connect(const sigc::slot<bool>& slot, unsigned int interval, int priority = Glib::PRIORITY_DEFAULT);\n"
msgstr ""
+"\n"
+"sigc::connection Glib::SignalTimeout::connect(const sigc::slot<bool>& slot, unsigned int interval, int priority = Glib::PRIORITY_DEFAULT);\n"
-#: C/gtkmm-tutorial-in.xml:5783(para)
+#: C/gtkmm-tutorial-in.xml:5775(para)
msgid ""
"The first argument is a <classname>slot</classname> you wish to have called "
"when the timeout occurs. The second argument is the number of milliseconds "
@@ -6879,21 +7177,25 @@ msgid ""
"<methodname>disconnect()</methodname> method:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5793(programlisting)
+#: C/gtkmm-tutorial-in.xml:5785(programlisting)
#, no-wrap
msgid ""
"\n"
"my_connection.disconnect();\n"
msgstr ""
+"\n"
+"mi_conexion.disconnect();\n"
-#: C/gtkmm-tutorial-in.xml:5805(programlisting)
+#: C/gtkmm-tutorial-in.xml:5797(programlisting)
#, no-wrap
msgid ""
"\n"
"bool MyCallback() { std::cout << \"Hello World!\\n\" << std::endl; return true; }\n"
msgstr ""
+"\n"
+"bool MyCallback() { std::cout << \"Hola Mundo\\n\" << std::endl; return true; }\n"
-#: C/gtkmm-tutorial-in.xml:5798(para)
+#: C/gtkmm-tutorial-in.xml:5790(para)
msgid ""
"Another way of destroying the connection is your signal handler. It has to "
"be of the type <classname>sigc::slot<bool></classname>. As you see "
@@ -6902,22 +7204,22 @@ msgid ""
"this: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5811(para)
+#: C/gtkmm-tutorial-in.xml:5803(para)
msgid ""
"You can stop the timeout method by returning <literal>false</literal> from "
"your signal handler. Therefore, if you want your method to be called "
"repeatedly, it should return <literal>true</literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5817(para)
+#: C/gtkmm-tutorial-in.xml:5809(para)
msgid "Here's an example of this technique:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5826(title)
+#: C/gtkmm-tutorial-in.xml:5818(title)
msgid "Monitoring I/O"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5828(para)
+#: C/gtkmm-tutorial-in.xml:5820(para)
msgid ""
"A nifty feature of Glib (one of the libraries underlying <application>gtkmm</"
"application>) is the ability to have it check for data on a file descriptor "
@@ -6925,7 +7227,7 @@ msgid ""
"following method is used to do this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5836(programlisting)
+#: C/gtkmm-tutorial-in.xml:5828(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -6933,8 +7235,12 @@ msgid ""
" int fd, Glib::IOCondition condition,\n"
" int priority = Glib::PRIORITY_DEFAULT);\n"
msgstr ""
+"\n"
+"sigc::connection Glib::SignalInput::connect(const sigc::slot<bool,Glib::IOCondition>& slot,\n"
+" int fd, Glib::IOCondition condition,\n"
+" int priority = Glib::PRIORITY_DEFAULT);\n"
-#: C/gtkmm-tutorial-in.xml:5843(para)
+#: C/gtkmm-tutorial-in.xml:5835(para)
msgid ""
"The first argument is a slot you wish to have called when then the specified "
"event (see argument 3) occurs on the file descriptor you specify using "
@@ -6942,37 +7248,37 @@ msgid ""
"of:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5853(para)
+#: C/gtkmm-tutorial-in.xml:5845(para)
msgid ""
"Glib::IO_IN - Call your method when there is data ready for reading on your "
"file descriptor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5861(para)
+#: C/gtkmm-tutorial-in.xml:5853(para)
msgid ""
"Glib::IO_OUT - Call your method when the file descriptor is ready for "
"writing."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5869(para)
+#: C/gtkmm-tutorial-in.xml:5861(para)
msgid ""
"Glib::IO_PRI - Call your method when the file descriptor has urgent data to "
"be read."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5876(para)
+#: C/gtkmm-tutorial-in.xml:5868(para)
msgid ""
"Glib::IO_ERR - Call your method when an error has occurred on the file "
"descriptor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5883(para)
+#: C/gtkmm-tutorial-in.xml:5875(para)
msgid ""
"Glib::IO_HUP - Call your method when hung up (the connection has been broken "
"usually for pipes and sockets)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5890(para)
+#: C/gtkmm-tutorial-in.xml:5882(para)
msgid ""
"The return value is a <classname>sigc::connection</classname> that may be "
"used to stop monitoring this file descriptor using its <methodname>disconnect"
@@ -6980,14 +7286,16 @@ msgid ""
"should be declared as follows:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5897(programlisting)
+#: C/gtkmm-tutorial-in.xml:5889(programlisting)
#, no-wrap
msgid ""
"\n"
"bool input_callback(Glib::IOCondition condition);\n"
msgstr ""
+"\n"
+"bool input_callback(Glib::IOCondition condition);\n"
-#: C/gtkmm-tutorial-in.xml:5902(para)
+#: C/gtkmm-tutorial-in.xml:5894(para)
msgid ""
"where <parameter>condition</parameter> is as specified above. As usual the "
"slot is created with <function>sigc::mem_fun()</function> (for a member "
@@ -6995,7 +7303,7 @@ msgid ""
"function)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5909(para)
+#: C/gtkmm-tutorial-in.xml:5901(para)
msgid ""
"A little example follows. To use the example just execute it from a "
"terminal; it doesn't create a window. It will create a pipe named "
@@ -7005,24 +7313,26 @@ msgid ""
"> testfifo</literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5923(title)
+#: C/gtkmm-tutorial-in.xml:5915(title)
msgid "Idle Functions"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5925(para)
+#: C/gtkmm-tutorial-in.xml:5917(para)
msgid ""
"If you want to specify a method that gets called when nothing else is "
"happening, use the following:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5930(programlisting)
+#: C/gtkmm-tutorial-in.xml:5922(programlisting)
#, no-wrap
msgid ""
"\n"
"sigc::connection Glib::SignalIdle::connect(const sigc::slot<bool>& slot, int priority = Glib::PRIORITY_DEFAULT_IDLE);\n"
msgstr ""
+"\n"
+"sigc::connection Glib::SignalIdle::connect(const sigc::slot<bool>& slot, int priority = Glib::PRIORITY_DEFAULT_IDLE);\n"
-#: C/gtkmm-tutorial-in.xml:5935(para)
+#: C/gtkmm-tutorial-in.xml:5927(para)
msgid ""
"This causes <application>gtkmm</application> to call the specified method "
"whenever nothing else is happening. You can add a priority (lower numbers "
@@ -7032,20 +7342,22 @@ msgid ""
"signal handler, which should be declared as follows:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5945(programlisting)
+#: C/gtkmm-tutorial-in.xml:5937(programlisting)
#, no-wrap
msgid ""
"\n"
"bool idleFunc();\n"
msgstr ""
+"\n"
+"bool idleFunc();\n"
-#: C/gtkmm-tutorial-in.xml:5950(para)
+#: C/gtkmm-tutorial-in.xml:5942(para)
msgid ""
"Since this is very similar to the methods above this explanation should be "
"sufficient to understand what's going on. However, here's a little example:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5957(para)
+#: C/gtkmm-tutorial-in.xml:5949(para)
msgid ""
"This example points out the difference of idle and timeout methods a little. "
"If you need methods that are called periodically, and speed is not very "
@@ -7054,21 +7366,21 @@ msgid ""
"use idle methods."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5965(para)
+#: C/gtkmm-tutorial-in.xml:5957(para)
msgid ""
"Try executing the example and increasing the system load. The upper progress "
"bar will increase steadily; the lower one will slow down."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5975(title)
+#: C/gtkmm-tutorial-in.xml:5967(title)
msgid "Memory management"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5981(title)
+#: C/gtkmm-tutorial-in.xml:5973(title)
msgid "Normal C++ memory management"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5983(para)
+#: C/gtkmm-tutorial-in.xml:5975(para)
msgid ""
"<application>gtkmm</application> allows the programmer to control the "
"lifetime (that is, the construction and destruction) of any widget in the "
@@ -7081,15 +7393,15 @@ msgid ""
"subset of C++'s memory management features."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5995(para)
+#: C/gtkmm-tutorial-in.xml:5987(para)
msgid "Here are some examples of normal C++ memory management:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:5998(title)
+#: C/gtkmm-tutorial-in.xml:5990(title)
msgid "Class Scope widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6000(para)
+#: C/gtkmm-tutorial-in.xml:5992(para)
msgid ""
"If a programmer does not need dynamic memory allocation, automatic widgets "
"in class scope may be used. One advantage of automatic widgets in class "
@@ -7097,7 +7409,7 @@ msgid ""
"not risk memory leaks from failing to <literal>delete</literal> a widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6007(para)
+#: C/gtkmm-tutorial-in.xml:5999(para)
msgid ""
"The primary disadvantages of using class scope widgets are revealing the "
"class implementation rather than the class interface in the class header. "
@@ -7105,7 +7417,7 @@ msgid ""
"same disadvantages as any other class scope automatic variable."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6015(programlisting)
+#: C/gtkmm-tutorial-in.xml:6007(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -7117,12 +7429,20 @@ msgid ""
" // will be destroyed when the Foo object is destroyed\n"
"};\n"
msgstr ""
+"\n"
+"#include <gtkmm/button.h>\n"
+"class Foo\n"
+"{\n"
+"private:\n"
+" Gtk::Button theButton;\n"
+" // se destruirá cuando se destruya el objeto Foo\n"
+"};\n"
-#: C/gtkmm-tutorial-in.xml:6028(title)
+#: C/gtkmm-tutorial-in.xml:6020(title)
msgid "Function scope widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6036(programlisting)
+#: C/gtkmm-tutorial-in.xml:6028(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -7133,19 +7453,26 @@ msgid ""
" kit.run();\n"
"}\n"
msgstr ""
+"\n"
+"{\n"
+" Gtk::Button aButton;\n"
+" aButton.show();\n"
+" ...\n"
+" kit.run();\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:6030(para)
+#: C/gtkmm-tutorial-in.xml:6022(para)
msgid ""
"If a programmer does not need a class scope widget, a function scope widget "
"may also be used. The advantages to function scope over class scope are the "
"increased data hiding and reduced dependencies. <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6048(title)
+#: C/gtkmm-tutorial-in.xml:6040(title)
msgid "Dynamic allocation with new and delete"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6050(para)
+#: C/gtkmm-tutorial-in.xml:6042(para)
msgid ""
"Although, in most cases, the programmer will prefer to allow containers to "
"automatically destroy their children using <function>manage()</function> "
@@ -7154,7 +7481,7 @@ msgid ""
"literal> operators may also be used."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6060(programlisting)
+#: C/gtkmm-tutorial-in.xml:6052(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -7164,18 +7491,24 @@ msgid ""
"\n"
"delete pButton;\n"
msgstr ""
+"\n"
+"Gtk::Button* pButton = new Gtk::Button(\"Test\");\n"
+"\n"
+"// hacer algo útil con pButton\n"
+"\n"
+"delete pButton;\n"
-#: C/gtkmm-tutorial-in.xml:6058(para)
+#: C/gtkmm-tutorial-in.xml:6050(para)
msgid ""
"<placeholder-1/> Here, the programmer deletes pButton to prevent a memory "
"leak."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6075(title)
+#: C/gtkmm-tutorial-in.xml:6067(title)
msgid "Managed Widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6077(para)
+#: C/gtkmm-tutorial-in.xml:6069(para)
msgid ""
"Alternatively, you can let a widget's container control when the widget is "
"destroyed. In most cases, you want a widget to last only as long as the "
@@ -7185,11 +7518,11 @@ msgid ""
"be destroyed whenever its container is destroyed."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6087(title)
+#: C/gtkmm-tutorial-in.xml:6079(title)
msgid "Dynamic allocation with manage() and add()"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6089(para)
+#: C/gtkmm-tutorial-in.xml:6081(para)
msgid ""
"<application>gtkmm</application> provides the <function>manage()</function> "
"function and <methodname>add()</methodname> methods to create and destroy "
@@ -7199,7 +7532,7 @@ msgid ""
"container, the container becomes responsible for deleting the widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6099(programlisting)
+#: C/gtkmm-tutorial-in.xml:6091(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -7209,8 +7542,14 @@ msgid ""
" add(*pButton); //add aButton to MyWidget\n"
"}\n"
msgstr ""
+"\n"
+"MyWidget::MyWidget()\n"
+"{\n"
+" Gtk::Button* pButton = manage(new Gtk::Button(\"Test\"));\n"
+" add(*pButton); //añadir un botón a MyWidget\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:6098(para)
+#: C/gtkmm-tutorial-in.xml:6090(para)
msgid ""
"<placeholder-1/> Now, when objects of type <classname>MyWidget</classname> "
"are destroyed, the button will also be deleted. It is no longer necessary to "
@@ -7218,26 +7557,26 @@ msgid ""
"to the <classname>MyWidget</classname> object."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6113(para)
+#: C/gtkmm-tutorial-in.xml:6105(para)
msgid ""
"<application>gtkmm</application> also provides the <methodname>set_manage()</"
"methodname> method for all widgets. This can be used to generate the same "
"result as <function>manage()</function>, but is more tedious:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6119(para)
+#: C/gtkmm-tutorial-in.xml:6111(para)
msgid "foo.add( (w=new Gtk::Label(\"Hello\"), w->set_manage(), &w) );"
-msgstr ""
+msgstr "foo.add( (w=new Gtk::Label(\"Hola\"), w->set_manage(), &w) );"
-#: C/gtkmm-tutorial-in.xml:6123(para)
+#: C/gtkmm-tutorial-in.xml:6115(para)
msgid "is the same as"
-msgstr ""
+msgstr "es lo mismo que"
-#: C/gtkmm-tutorial-in.xml:6127(para)
+#: C/gtkmm-tutorial-in.xml:6119(para)
msgid "foo.add( manage(new Gtk::Label(\"Hello\")) );"
-msgstr ""
+msgstr "foo.add( manage(new Gtk::Label(\"Hola\")) );"
-#: C/gtkmm-tutorial-in.xml:6131(para)
+#: C/gtkmm-tutorial-in.xml:6123(para)
msgid ""
"Of course, a top level container will not be added to another container. The "
"programmer is responsible for destroying the top level container using one "
@@ -7245,11 +7584,11 @@ msgid ""
"just be an instance in your <function>main()</function> function.."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6143(title)
+#: C/gtkmm-tutorial-in.xml:6135(title)
msgid "Shared resources"
-msgstr ""
+msgstr "Recursos compartidos"
-#: C/gtkmm-tutorial-in.xml:6145(para)
+#: C/gtkmm-tutorial-in.xml:6137(para)
msgid ""
"Some objects, such as <classname>Gdk::Pixmap</classname>s and "
"<classname>Pango::Font</classname>s, are obtained from a shared store. "
@@ -7259,21 +7598,23 @@ msgid ""
"uses the <classname>RefPtr<></classname> smartpointer."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6157(programlisting)
+#: C/gtkmm-tutorial-in.xml:6149(programlisting)
#, no-wrap
msgid ""
"\n"
"Glib::RefPtr<Gdk::Bitmap> bitmap = Gdk::Bitmap::create(window, data, width, height);\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gdk::Bitmap> bitmap = Gdk::Bitmap::create(window, data, width, height);\n"
-#: C/gtkmm-tutorial-in.xml:6154(para)
+#: C/gtkmm-tutorial-in.xml:6146(para)
msgid ""
"Objects such as <classname>Gdk::Bitmap</classname> can only be instantiated "
"with a <methodname>create()</methodname> function. For instance, "
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6166(programlisting)
+#: C/gtkmm-tutorial-in.xml:6158(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -7282,15 +7623,20 @@ msgid ""
" int depth = bitmap->get_depth().\n"
"}\n"
msgstr ""
+"\n"
+"if(bitmap)\n"
+"{\n"
+" int depth = bitmap->get_depth().\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:6162(para)
+#: C/gtkmm-tutorial-in.xml:6154(para)
msgid ""
"You have no way of getting a bare <classname>Gdk::Bitmap</classname>. In the "
"example, <varname>bitmap</varname> is a smart pointer, so you can do this, "
"much like a normal pointer: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6174(para)
+#: C/gtkmm-tutorial-in.xml:6166(para)
msgid ""
"When <varname>bitmap</varname> goes out of scope an <methodname>unref()</"
"methodname> will happen in the background and you don't need to worry about "
@@ -7298,14 +7644,16 @@ msgid ""
"literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6182(programlisting)
+#: C/gtkmm-tutorial-in.xml:6174(programlisting)
#, no-wrap
msgid ""
"\n"
"Glib::RefPtr<Gdk::Bitmap> bitmap2 = bitmap.\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gdk::Bitmap> bitmap2 = bitmap.\n"
-#: C/gtkmm-tutorial-in.xml:6180(para)
+#: C/gtkmm-tutorial-in.xml:6172(para)
msgid ""
"If you copy a <classname>RefPtr</classname>, for instance <placeholder-1/> , "
"or if you pass it as a method argument or a return type, then "
@@ -7314,31 +7662,31 @@ msgid ""
"classname> has gone out of scope."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6190(para)
+#: C/gtkmm-tutorial-in.xml:6182(para)
msgid ""
"See the <link linkend=\"chapter-refptr\">appendix</link> for detailed "
"information about RefPtr."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6195(para)
+#: C/gtkmm-tutorial-in.xml:6187(para)
msgid "Bjarne Stroustrup, \"The C++ Programming Language\" - section 14.4.2"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6198(para)
+#: C/gtkmm-tutorial-in.xml:6190(para)
msgid "Nicolai M. Josuttis, \"The C++ Standard Library\" - section 4.2"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6191(para)
+#: C/gtkmm-tutorial-in.xml:6183(para)
msgid ""
"If you wish to learn more about smartpointers, you might look in these "
"books: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6209(title)
+#: C/gtkmm-tutorial-in.xml:6201(title)
msgid "Glade and Gtk::Builder"
-msgstr ""
+msgstr "Glade y Gtk::Builder"
-#: C/gtkmm-tutorial-in.xml:6210(para)
+#: C/gtkmm-tutorial-in.xml:6202(para)
msgid ""
"Although you can use C++ code to instantiate and arrange widgets, this can "
"soon become tedious and repetitive. And it requires a recompilation to show "
@@ -7349,41 +7697,43 @@ msgid ""
"specifically named widget instances."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6223(simpara)
+#: C/gtkmm-tutorial-in.xml:6215(simpara)
msgid "Less C++ code is required."
-msgstr ""
+msgstr "Se requiere menos código en C++"
-#: C/gtkmm-tutorial-in.xml:6224(simpara)
+#: C/gtkmm-tutorial-in.xml:6216(simpara)
msgid "UI changes can be seen more quickly, so UIs are able to improve."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6225(simpara)
+#: C/gtkmm-tutorial-in.xml:6217(simpara)
msgid "Designers without programming skills can create and edit UIs."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6220(para)
+#: C/gtkmm-tutorial-in.xml:6212(para)
msgid "This has the following advantages: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6229(para)
+#: C/gtkmm-tutorial-in.xml:6221(para)
msgid ""
"You still need C++ code to deal with User Interface changes triggered by "
"user actions, but using <application>Gtk::Builder</application> for the "
"widget layout allows you to focus on implementing that functionality."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6236(title)
+#: C/gtkmm-tutorial-in.xml:6228(title)
msgid "Loading the .glade file"
-msgstr ""
+msgstr "Cargar el archivo .glade"
-#: C/gtkmm-tutorial-in.xml:6241(programlisting)
+#: C/gtkmm-tutorial-in.xml:6233(programlisting)
#, no-wrap
msgid ""
"\n"
"Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file(\"basico.glade\");\n"
-#: C/gtkmm-tutorial-in.xml:6237(para)
+#: C/gtkmm-tutorial-in.xml:6229(para)
msgid ""
"<classname>Gtk::Builder</classname> must be used via a <classname>Glib::"
"RefPtr</classname>. Like all such classes, you need to use a "
@@ -7394,34 +7744,39 @@ msgid ""
"application>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6250(programlisting)
+#: C/gtkmm-tutorial-in.xml:6242(programlisting)
#, no-wrap
msgid ""
"\n"
"Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file(\"basico.glade\", \"treeview_products\");\n"
-#: C/gtkmm-tutorial-in.xml:6249(para)
+#: C/gtkmm-tutorial-in.xml:6241(para)
msgid ""
"To instantiate just one window, or just one of the child widgets, you can "
"specify the name of a widget as the second parameter. For instance, "
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6258(title)
+#: C/gtkmm-tutorial-in.xml:6250(title)
msgid "Accessing widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6266(programlisting)
+#: C/gtkmm-tutorial-in.xml:6258(programlisting)
#, no-wrap
msgid ""
"\n"
"Gtk::Dialog* pDialog = 0;\n"
"builder->get_widget(\"DialogBasic\", pDialog);\n"
msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:6260(para)
-msgid ""
+"\n"
+"Gtk::Dialog* pDialog = 0;\n"
+"builder->get_widget(\"DialogBasic\", pDialog);\n"
+
+#: C/gtkmm-tutorial-in.xml:6252(para)
+msgid ""
"To access a widget, for instance to <methodname>show()</methodname> a "
"dialog, use the <methodname>get_widget()</methodname> method, providing the "
"widget's name. This name should be specified in the <application>Glade</"
@@ -7429,14 +7784,14 @@ msgid ""
"the wrong type, then the pointer will be set to 0. <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6272(para)
+#: C/gtkmm-tutorial-in.xml:6264(para)
msgid ""
"<application>Gtk::Builder</application> checks for a null pointer, and "
"checks that the widget is of the expected type, and will show warnings on "
"the command line about these."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6278(para)
+#: C/gtkmm-tutorial-in.xml:6270(para)
msgid ""
"Remember that you are not instantiating a widget with <methodname>get_widget"
"()</methodname>, you are just obtaining a pointer to one that already "
@@ -7446,7 +7801,7 @@ msgid ""
"<methodname>Gtk::Builder::create_from_file()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6287(para)
+#: C/gtkmm-tutorial-in.xml:6279(para)
msgid ""
"<methodname>get_widget()</methodname> returns child widgets that are "
"<function>manage()</function>ed (see the <link linkend=\"chapter-memory"
@@ -7459,18 +7814,18 @@ msgid ""
"them at some point."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6301(para)
+#: C/gtkmm-tutorial-in.xml:6293(para)
msgid ""
"This simple example shows how to load a <application>Glade</application> "
"file at runtime and access the widgets with <application>Gtk::Builder</"
"application>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6314(title)
+#: C/gtkmm-tutorial-in.xml:6306(title)
msgid "Using derived widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6315(para)
+#: C/gtkmm-tutorial-in.xml:6307(para)
msgid ""
"You can use <application>Glade</application> to layout your own custom "
"widgets derived from <application>gtkmm</application> widget classes. This "
@@ -7481,21 +7836,24 @@ msgid ""
"class."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6324(programlisting)
+#: C/gtkmm-tutorial-in.xml:6316(programlisting)
#, no-wrap
msgid ""
"\n"
"DerivedDialog* pDialog = 0;\n"
"builder->get_widget_derived(\"DialogBasic\", pDialog);\n"
msgstr ""
+"\n"
+"DerivedDialog* pDialog = 0;\n"
+"builder->get_widget_derived(\"DialogBasic\", pDialog);\n"
-#: C/gtkmm-tutorial-in.xml:6323(para)
+#: C/gtkmm-tutorial-in.xml:6315(para)
msgid ""
"Use <methodname>Gtk::Builder::get_widget_derived()</methodname> like so: "
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6330(para)
+#: C/gtkmm-tutorial-in.xml:6322(para)
msgid ""
"Your derived class must have a constructor that takes a pointer to the "
"underlying C type, and the <classname>Gtk::Builder</classname> instance. All "
@@ -7505,7 +7863,7 @@ msgid ""
"<type>GtkDialog</type>, for instance)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6340(programlisting)
+#: C/gtkmm-tutorial-in.xml:6332(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -7514,14 +7872,19 @@ msgid ""
"{\n"
"}\n"
msgstr ""
+"\n"
+"DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder)\n"
+": Gtk::Dialog(cobject)\n"
+"{\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:6337(para)
+#: C/gtkmm-tutorial-in.xml:6329(para)
msgid ""
"You must call the base class's constructor in the initialization list, "
"providing the C pointer. For instance, <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6352(programlisting)
+#: C/gtkmm-tutorial-in.xml:6344(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -7539,7 +7902,7 @@ msgid ""
"}\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6348(para)
+#: C/gtkmm-tutorial-in.xml:6340(para)
msgid ""
"You could then encapsulate the manipulation of the child widgets in the "
"constructor of the derived class, maybe using <methodname>get_widget()</"
@@ -7547,17 +7910,17 @@ msgid ""
"instance, <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6370(para)
+#: C/gtkmm-tutorial-in.xml:6362(para)
msgid ""
"This example shows how to load a <application>Glade</application> file at "
"runtime and access the widgets via a derived class."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6383(title)
+#: C/gtkmm-tutorial-in.xml:6375(title)
msgid "Internationalization and Localization"
msgstr "Internacionalización y localización"
-#: C/gtkmm-tutorial-in.xml:6385(para)
+#: C/gtkmm-tutorial-in.xml:6377(para)
msgid ""
"<application>gtkmm</application> applications can easily support multiple "
"languages, including non-European languages such as Chinese and right-to-"
@@ -7566,14 +7929,14 @@ msgid ""
"language at runtime based on the user's environment."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6391(para)
+#: C/gtkmm-tutorial-in.xml:6383(para)
msgid ""
"You might not anticipate the need to support additional languages, but you "
"can never rule it out. And it's easier to develop the application properly "
"in the first place rather than retrofitting later."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6397(para)
+#: C/gtkmm-tutorial-in.xml:6389(para)
msgid ""
"The process of writing source code that allows for translation is called "
"<literal>internationalization</literal>, often abbreviated to <literal>i18n</"
@@ -7582,7 +7945,7 @@ msgid ""
"based on that source code."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6405(para)
+#: C/gtkmm-tutorial-in.xml:6397(para)
msgid ""
"The main activity in the internationalization process is finding strings "
"seen by users and marking them for translation. You do not need to do it all "
@@ -7591,7 +7954,7 @@ msgid ""
"covered."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6413(para)
+#: C/gtkmm-tutorial-in.xml:6405(para)
msgid ""
"String literals should be typed in the source code in English, but "
"surrounded by a macro. The <application>gettext</application> (or intltool) "
@@ -7599,11 +7962,11 @@ msgid ""
"the translated text at runtime."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6421(title)
+#: C/gtkmm-tutorial-in.xml:6413(title)
msgid "Preparing your project"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6424(para)
+#: C/gtkmm-tutorial-in.xml:6416(para)
msgid ""
"In the instructions below we will assume that you will not be using "
"<application>gettext</application> directly, but <application>intltool</"
@@ -7616,7 +7979,7 @@ msgid ""
"application><filename>.pot/.po</filename> files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6435(para)
+#: C/gtkmm-tutorial-in.xml:6427(para)
msgid ""
"We also assume that you are using autotools (e.g. <application>automake</"
"application> and <application>autoconf</application>) to build your project, "
@@ -7626,7 +7989,7 @@ msgid ""
"takes care of some <application>intltool</application> initialization."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6448(para)
+#: C/gtkmm-tutorial-in.xml:6440(para)
msgid ""
"Create a sub-directory named <literal>po</literal> in your project's root "
"directory. This directory will eventually contain all of your translations. "
@@ -7636,7 +7999,7 @@ msgid ""
"that translators can keep track of translation changes."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6458(para)
+#: C/gtkmm-tutorial-in.xml:6450(para)
msgid ""
"<literal>LINGUAS</literal> contains an alphabetically sorted list of codes "
"identifying the languages for which your program is translated (comment "
@@ -7646,22 +8009,25 @@ msgid ""
"translations, your <literal>LINGUAS</literal> file would look like this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6467(programlisting)
+#: C/gtkmm-tutorial-in.xml:6459(programlisting)
#, no-wrap
msgid ""
"# keep this file sorted alphabetically, one language code per line\n"
"de\n"
"ja"
msgstr ""
+"# mantenga este archivo ordenado alfabéticamente, un código de idioma por lÃnea\n"
+"de\n"
+"ja"
-#: C/gtkmm-tutorial-in.xml:6470(para)
+#: C/gtkmm-tutorial-in.xml:6462(para)
msgid ""
"(In addition, you'd have the files <literal>ja.po</literal> and <literal>de."
"po</literal> in your <literal>po</literal> directory which contain the "
"German and Japanese translations, respectively.)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6477(para)
+#: C/gtkmm-tutorial-in.xml:6469(para)
msgid ""
"<literal>POTFILES.in</literal> is a list of paths to all files which contain "
"strings marked up for translation, starting from the project root directory. "
@@ -7671,14 +8037,16 @@ msgid ""
"like this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6486(programlisting)
+#: C/gtkmm-tutorial-in.xml:6478(programlisting)
#, no-wrap
msgid ""
"src/main.cc\n"
"src/other.cc"
msgstr ""
+"src/main.cc\n"
+"src/other.cc"
-#: C/gtkmm-tutorial-in.xml:6489(para)
+#: C/gtkmm-tutorial-in.xml:6481(para)
msgid ""
"If you are using <application>gettext</application> directly, you can only "
"mark strings for translation if they are in source code file. However, if "
@@ -7691,7 +8059,7 @@ msgid ""
"filename> files to the list in <literal>POTFILES.in</literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6502(para)
+#: C/gtkmm-tutorial-in.xml:6494(para)
msgid ""
"Now that there is a place to put your translations, you need to initialize "
"<application>intltool</application> and <application>gettext</application>. "
@@ -7699,7 +8067,7 @@ msgid ""
"'programname' with the name of your program:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6509(programlisting)
+#: C/gtkmm-tutorial-in.xml:6501(programlisting)
#, no-wrap
msgid ""
"IT_PROG_INTLTOOL([0.35.0])\n"
@@ -7713,41 +8081,54 @@ msgid ""
"PROGRAMNAME_LOCALEDIR=[${datadir}/locale]\n"
"AC_SUBST(PROGRAMNAME_LOCALEDIR)"
msgstr ""
+"IT_PROG_INTLTOOL([0.35.0])\n"
+"\n"
+"GETTEXT_PACKAGE=nombre_programa\n"
+"AC_SUBST(GETTEXT_PACKAGE)\n"
+"AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], [\"$GETTEXT_PACKAGE\"],\n"
+" [El dominio que usar con gettext])\n"
+"AM_GLIB_GNU_GETTEXT\n"
+"\n"
+"PROGRAMNAME_LOCALEDIR=[${datadir}/locale]\n"
+"AC_SUBST(PROGRAMNAME_LOCALEDIR)"
-#: C/gtkmm-tutorial-in.xml:6520(para)
+#: C/gtkmm-tutorial-in.xml:6512(para)
msgid ""
"This <varname>PROGRAMNAME_LOCALEDIR</varname> variable will be used later in "
"the <literal>Makefile.am</literal> file, to define a macro that will be used "
"when you initialize <application>gettext</application> in your source code."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6531(para)
+#: C/gtkmm-tutorial-in.xml:6523(para)
msgid ""
"Add <literal>po</literal> to the <literal>SUBDIRS</literal> variable. "
"Without this, your translations won't get built and installed when you build "
"the program"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6538(programlisting)
+#: C/gtkmm-tutorial-in.xml:6530(programlisting)
#, no-wrap
msgid ""
"INTLTOOL_FILES = intltool-extract.in \\\n"
" intltool-merge.in \\\n"
" intltool-update.in"
msgstr ""
+"INTLTOOL_FILES = intltool-extract.in \\\n"
+" intltool-merge.in \\\n"
+" intltool-update.in"
-#: C/gtkmm-tutorial-in.xml:6536(para)
+#: C/gtkmm-tutorial-in.xml:6528(para)
msgid "Define <literal>INTLTOOL_FILES</literal> as: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6544(para)
+#: C/gtkmm-tutorial-in.xml:6536(para)
msgid ""
"Add <literal>INTLTOOL_FILES</literal> to the <literal>EXTRA_DIST</literal> "
"list of files. This ensures that when you do a <command>make dist</command>, "
"these commands will be included in the source tarball."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6554(programlisting)
+#: C/gtkmm-tutorial-in.xml:6546(programlisting)
#, no-wrap
msgid ""
"DISTCLEANFILES = ... intltool-extract \\\n"
@@ -7755,38 +8136,42 @@ msgid ""
" intltool-update \\\n"
" po/.intltool-merge-cache"
msgstr ""
+"DISTCLEANFILES = ... intltool-extract \\\n"
+" intltool-merge \\\n"
+" intltool-update \\\n"
+" po/.intltool-merge-cache"
-#: C/gtkmm-tutorial-in.xml:6552(para)
+#: C/gtkmm-tutorial-in.xml:6544(para)
msgid "Update your <literal>DISTCLEANFILES</literal>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6527(para)
+#: C/gtkmm-tutorial-in.xml:6519(para)
msgid "In the top-level Makefile.am: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6563(para)
+#: C/gtkmm-tutorial-in.xml:6555(para)
msgid ""
"In your <literal>src/Makefile.am</literal>, update your "
"<literal>AM_CPPFLAGS</literal> to add the following preprocessor macro "
"definition:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6568(programlisting)
+#: C/gtkmm-tutorial-in.xml:6560(programlisting)
#, no-wrap
msgid "AM_CPPFLAGS = ... -DPROGRAMNAME_LOCALEDIR=\\\"${PROGRAMNAME_LOCALEDIR}\\\""
-msgstr ""
+msgstr "AM_CPPFLAGS = ... -DPROGRAMNAME_LOCALEDIR=\\\"${PROGRAMNAME_LOCALEDIR}\\\""
-#: C/gtkmm-tutorial-in.xml:6569(para)
+#: C/gtkmm-tutorial-in.xml:6561(para)
msgid ""
"This macro will be used when you initialize <literal>gettext</literal> in "
"your source code."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6576(title)
+#: C/gtkmm-tutorial-in.xml:6568(title)
msgid "Marking strings for translation"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6578(para)
+#: C/gtkmm-tutorial-in.xml:6570(para)
msgid ""
"String literals should be typed in the source code in English, but they "
"should be surrounded by a call to the <function>gettext()</function> "
@@ -7794,24 +8179,24 @@ msgid ""
"translations may be used at runtime instead of the original English strings."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6586(para)
+#: C/gtkmm-tutorial-in.xml:6578(para)
msgid ""
"The <application>GNU gettext</application> package allows you to mark "
"strings in source code, extract those strings for translation, and use the "
"translated strings in your application."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6598(programlisting)
+#: C/gtkmm-tutorial-in.xml:6590(programlisting)
#, no-wrap
msgid "display_message(\"Getting ready for i18n.\");"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6600(programlisting)
+#: C/gtkmm-tutorial-in.xml:6592(programlisting)
#, no-wrap
msgid "display_message(_(\"Getting ready for i18n.\"));"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6592(para)
+#: C/gtkmm-tutorial-in.xml:6584(para)
msgid ""
"However, <application>Glib</application> defines <function>gettext()</"
"function> support macros which are shorter wrappers in an easy-to-use form. "
@@ -7819,12 +8204,12 @@ msgid ""
"then, for example, substitute: <placeholder-1/> with: <placeholder-2/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6611(programlisting)
+#: C/gtkmm-tutorial-in.xml:6603(programlisting)
#, no-wrap
msgid "xgettext -a -o my-strings --omit-header *.cc *.h"
-msgstr ""
+msgstr "xgettext -a -o my-strings --omit-header *.cc *.h"
-#: C/gtkmm-tutorial-in.xml:6603(para)
+#: C/gtkmm-tutorial-in.xml:6595(para)
msgid ""
"For reference, it is possible to generate a file which contains all strings "
"which appear in your code, even if they are not marked for translation, "
@@ -7833,26 +8218,29 @@ msgid ""
"the source code directory: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6618(programlisting)
+#: C/gtkmm-tutorial-in.xml:6610(programlisting)
#, no-wrap
msgid ""
"bindtextdomain(GETTEXT_PACKAGE, PROGRAMNAME_LOCALEDIR);\n"
"bind_textdomain_codeset(GETTEXT_PACKAGE, \"UTF-8\");\n"
"textdomain(GETTEXT_PACKAGE);"
msgstr ""
+"bindtextdomain(GETTEXT_PACKAGE, PROGRAMNAME_LOCALEDIR);\n"
+"bind_textdomain_codeset(GETTEXT_PACKAGE, \"UTF-8\");\n"
+"textdomain(GETTEXT_PACKAGE);"
-#: C/gtkmm-tutorial-in.xml:6614(para)
+#: C/gtkmm-tutorial-in.xml:6606(para)
msgid ""
"Finally, to let you program use the translation for the current locale, add "
"this code to the beginning of your <filename>main.cc</filename> file, to "
"initialize gettext. <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6624(title)
+#: C/gtkmm-tutorial-in.xml:6616(title)
msgid "How gettext works"
-msgstr ""
+msgstr "Cómo funciona gettext"
-#: C/gtkmm-tutorial-in.xml:6626(para)
+#: C/gtkmm-tutorial-in.xml:6618(para)
msgid ""
"<application>intltool</application> / <application>xgettext</application> "
"script extracts the strings and puts them in a <filename>mypackage.pot</"
@@ -7865,7 +8253,7 @@ msgid ""
"files from the regenerated <filename>.pot</filename> file."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6640(para)
+#: C/gtkmm-tutorial-in.xml:6632(para)
msgid ""
"At install time, the <filename>.po</filename> files are converted to a "
"binary format (with the extension <filename>.mo</filename>) and placed in a "
@@ -7873,7 +8261,7 @@ msgid ""
"locale/</filename>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6647(para)
+#: C/gtkmm-tutorial-in.xml:6639(para)
msgid ""
"When the application runs, the <application>gettext</application> library "
"checks the system-wide directory to see if there is a <filename>.mo</"
@@ -7884,16 +8272,16 @@ msgid ""
"used."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6659(title)
+#: C/gtkmm-tutorial-in.xml:6651(title)
msgid "Testing and adding translations"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6666(programlisting)
+#: C/gtkmm-tutorial-in.xml:6658(programlisting)
#, no-wrap
msgid "intltool-update --pot"
-msgstr ""
+msgstr "intltool-update --pot"
-#: C/gtkmm-tutorial-in.xml:6661(para)
+#: C/gtkmm-tutorial-in.xml:6653(para)
msgid ""
"To convince yourself that you've done well, you may wish to add a "
"translation for a new locale. In order to do that, go to the <filename>po</"
@@ -7901,7 +8289,7 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6669(para)
+#: C/gtkmm-tutorial-in.xml:6661(para)
msgid ""
"That will create a file named <filename>programname.pot</filename>. Now copy "
"that file to <filename>languagecode.po</filename>, such as <filename>de.po</"
@@ -7913,7 +8301,7 @@ msgid ""
"<literal>UTF-8</literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6682(para)
+#: C/gtkmm-tutorial-in.xml:6674(para)
msgid ""
"It's possible that certain strings will be marked as <literal>fuzzy</"
"literal> in the <filename>.po</filename> file. These translations will not "
@@ -7921,49 +8309,49 @@ msgid ""
"<literal>fuzzy</literal> tag."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6692(title)
+#: C/gtkmm-tutorial-in.xml:6684(title)
msgid "Resources"
msgstr "Recursos"
-#: C/gtkmm-tutorial-in.xml:6701(ulink)
+#: C/gtkmm-tutorial-in.xml:6693(ulink)
msgid "Internationalizing GNOME applications"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6708(ulink)
+#: C/gtkmm-tutorial-in.xml:6700(ulink)
msgid "Intltool README"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6714(ulink)
+#: C/gtkmm-tutorial-in.xml:6706(ulink)
msgid "How to use GNOME CVS as a Translator"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6720(ulink)
+#: C/gtkmm-tutorial-in.xml:6712(ulink)
msgid "gettext manual"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6726(literal)
+#: C/gtkmm-tutorial-in.xml:6718(literal)
msgid "gtkmm_hello"
-msgstr ""
+msgstr "gtkmm_hello"
-#: C/gtkmm-tutorial-in.xml:6726(ulink) C/gtkmm-tutorial-in.xml:6732(ulink)
+#: C/gtkmm-tutorial-in.xml:6718(ulink) C/gtkmm-tutorial-in.xml:6724(ulink)
msgid "<placeholder-1/> example package"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6732(literal)
+#: C/gtkmm-tutorial-in.xml:6724(literal)
msgid "gnomemm_hello"
-msgstr ""
+msgstr "gnomemm_hello"
-#: C/gtkmm-tutorial-in.xml:6694(para)
+#: C/gtkmm-tutorial-in.xml:6686(para)
msgid ""
"More information about what lies behind the internationalization and "
"localization process is presented and demonstrated in: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6742(title)
+#: C/gtkmm-tutorial-in.xml:6734(title)
msgid "Expecting UTF8"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6743(para)
+#: C/gtkmm-tutorial-in.xml:6735(para)
msgid ""
"A properly internationalized application will not make assumptions about the "
"number of bytes in a character. That means that you shouldn't use pointer "
@@ -7972,7 +8360,7 @@ msgid ""
"such as <function>strlen()</function> because they make the same assumption."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6750(para)
+#: C/gtkmm-tutorial-in.xml:6742(para)
msgid ""
"However, you probably already avoid bare char* arrays and pointer arithmetic "
"by using <classname>std::string</classname>, so you just need to start using "
@@ -7981,11 +8369,11 @@ msgid ""
"classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6758(title)
+#: C/gtkmm-tutorial-in.xml:6750(title)
msgid "Glib::ustring and std::iostreams"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6775(programlisting)
+#: C/gtkmm-tutorial-in.xml:6767(programlisting)
#, no-wrap
msgid ""
"std::ostringstream output;\n"
@@ -7993,9 +8381,13 @@ msgid ""
"output << percentage << \" % done\";\n"
"label->set_text(Glib::locale_to_utf8(output.str()));"
msgstr ""
+"std::ostringstream output;\n"
+"output.imbue(std::locale(\"\")); // usar la configuración regional del usuario para este flujo\n"
+"output << percentage << \" % done\";\n"
+"label->set_text(Glib::locale_to_utf8(output.str()));"
#. <para>TODO: This section is not clear - it needs to spell things out more clearly and obviously.</para>
-#: C/gtkmm-tutorial-in.xml:6760(para)
+#: C/gtkmm-tutorial-in.xml:6752(para)
msgid ""
"Unfortunately, the integration with the standard iostreams is not completely "
"foolproof. <application>gtkmm</application> converts <classname>Glib::"
@@ -8015,28 +8407,28 @@ msgid ""
"1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6785(title)
+#: C/gtkmm-tutorial-in.xml:6777(title)
msgid "Pitfalls"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6787(para)
+#: C/gtkmm-tutorial-in.xml:6779(para)
msgid ""
"There are a few common mistakes that you would discover eventually yourself. "
"But this section might help you to avoid them."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6790(title)
+#: C/gtkmm-tutorial-in.xml:6782(title)
msgid "Same strings, different semantics"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6792(para)
+#: C/gtkmm-tutorial-in.xml:6784(para)
msgid ""
"Sometimes two english strings are identical but have different meanings in "
"different contexts, so they would probably not be identical when translated. "
"Since the English strings are used as look-up keys, this causes problems."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6796(para)
+#: C/gtkmm-tutorial-in.xml:6788(para)
msgid ""
"In these cases, you should add extra characters to the strings. For "
"instance, use <literal>\"jumps[noun]\"</literal> and <literal>\"jumps[verb]"
@@ -8047,7 +8439,7 @@ msgid ""
"<filename>.po</filename> files. For instance:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6806(programlisting)
+#: C/gtkmm-tutorial-in.xml:6798(programlisting)
#, no-wrap
msgid ""
"// note to translators: don't translate the \"[noun]\" part - it is\n"
@@ -8055,11 +8447,11 @@ msgid ""
"text = strip(gettext(\"jumps[noun]\"), \"[noun]\");"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6812(title)
+#: C/gtkmm-tutorial-in.xml:6804(title)
msgid "Composition of strings"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6814(para)
+#: C/gtkmm-tutorial-in.xml:6806(para)
msgid ""
"C programmers use <function>sprintf()</function> to compose and concatenate "
"strings. C++ favours streams, but unfortunately, this approach makes "
@@ -8068,11 +8460,11 @@ msgid ""
"the grammar of the language."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6821(para)
+#: C/gtkmm-tutorial-in.xml:6813(para)
msgid "For instance, this code would be problematic:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6823(programlisting)
+#: C/gtkmm-tutorial-in.xml:6815(programlisting)
#, no-wrap
msgid ""
"std::cout << _(\"Current amount: \") << amount\n"
@@ -8081,7 +8473,7 @@ msgid ""
"label.set_text(_(\"Really delete \") + filename + _(\" now?\"));"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6828(para)
+#: C/gtkmm-tutorial-in.xml:6820(para)
msgid ""
"So you should either avoid this situation or revert to the C-style "
"<function>sprintf()</function>. One possible solution is the <ulink url="
@@ -8089,16 +8481,16 @@ msgid ""
"supports syntax such as:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6835(programlisting)
+#: C/gtkmm-tutorial-in.xml:6827(programlisting)
#, no-wrap
msgid "label.set_text(compose(_(\"Really delete %1 now?\"), filename));"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6839(title)
+#: C/gtkmm-tutorial-in.xml:6831(title)
msgid "Assuming the displayed size of strings"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6841(para)
+#: C/gtkmm-tutorial-in.xml:6833(para)
msgid ""
"You never know how much space a string will take on screen when translated. "
"It might very possibly be twice the size of the original English string. "
@@ -8106,29 +8498,29 @@ msgid ""
"runtime to the required size."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6845(title)
+#: C/gtkmm-tutorial-in.xml:6837(title)
msgid "Unusual words"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6847(para)
+#: C/gtkmm-tutorial-in.xml:6839(para)
msgid ""
"You should avoid cryptic abbreviations, slang, or jargon. They are usually "
"difficult to translate, and are often difficult for even native speakers to "
"understand. For instance, prefer \"application\" to \"app\""
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6853(title)
+#: C/gtkmm-tutorial-in.xml:6845(title)
msgid "Using non-ASCII characters in strings"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6855(para)
+#: C/gtkmm-tutorial-in.xml:6847(para)
msgid ""
"Currently, <application>gettext</application> does not support non-ASCII "
"characters (i.e. any characters with a code above 127) in source code. For "
"instance, you cannot use the copyright sign (©)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6861(para)
+#: C/gtkmm-tutorial-in.xml:6853(para)
msgid ""
"To work around this, you could write a comment in the source code just "
"before the string, telling the translators to use the special character if "
@@ -8137,11 +8529,11 @@ msgid ""
"special charactger."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6869(title)
+#: C/gtkmm-tutorial-in.xml:6861(title)
msgid "Getting help with translations"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6871(para)
+#: C/gtkmm-tutorial-in.xml:6863(para)
msgid ""
"If your program is free software, there is a whole <literal>GNOME</literal> "
"subproject devoted to helping you make translations, the <ulink url=\"http://"
@@ -8149,7 +8541,7 @@ msgid ""
"Project</ulink>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6876(para)
+#: C/gtkmm-tutorial-in.xml:6868(para)
msgid ""
"The way it works is that you contact the gnome-i18n mailing list to find out "
"how the translators can access your <filename>po/</filename> subdirectory, "
@@ -8157,7 +8549,7 @@ msgid ""
"projects/gtp/status/\">status tables</ulink>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6883(para)
+#: C/gtkmm-tutorial-in.xml:6875(para)
msgid ""
"Then you make sure you update the file <filename>POTFILES.in</filename> in "
"the <filename>po/</filename> subdirectory (<command>intltool-update -M</"
@@ -8169,7 +8561,7 @@ msgid ""
"<filename>languagename.po</filename> files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6895(para)
+#: C/gtkmm-tutorial-in.xml:6887(para)
msgid ""
"Note that most language teams only consist of 1-3 persons, so if your "
"program contains a lot of strings, it might last a while before anyone has "
@@ -8179,11 +8571,11 @@ msgid ""
"being maintained) they may decide to spend their time on some other project."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6907(title) C/gtkmm-tutorial-in.xml:7025(title)
+#: C/gtkmm-tutorial-in.xml:6899(title) C/gtkmm-tutorial-in.xml:7017(title)
msgid "Custom Widgets"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6909(para)
+#: C/gtkmm-tutorial-in.xml:6901(para)
msgid ""
"<application>gtkmm</application> makes it very easy to derive new widgets by "
"inheriting from an existing widget class, either by deriving from a "
@@ -8193,77 +8585,77 @@ msgid ""
"widget from scratch."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6916(title)
+#: C/gtkmm-tutorial-in.xml:6908(title)
msgid "Custom Containers"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6919(para)
+#: C/gtkmm-tutorial-in.xml:6911(para)
msgid ""
"<methodname>get_request_mode_vfunc()</methodname>: Return what <literal>Gtk::"
"SizeRequestMode</literal> is preferred by the container."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6920(para)
+#: C/gtkmm-tutorial-in.xml:6912(para)
msgid ""
"<methodname>get_preferred_width_vfunc()</methodname>: Calculate the minimum "
"and natural width of the container."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6921(para)
+#: C/gtkmm-tutorial-in.xml:6913(para)
msgid ""
"<methodname>get_preferred_height_vfunc()</methodname>: Calculate the minimum "
"and natural height of the container."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6922(para)
+#: C/gtkmm-tutorial-in.xml:6914(para)
msgid ""
"<methodname>get_preferred_width_for_height_vfunc()</methodname>: Calculate "
"the minimum and natural width of the container, if it would be given the "
"specified height."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6923(para)
+#: C/gtkmm-tutorial-in.xml:6915(para)
msgid ""
"<methodname>get_preferred_height_for_width_vfunc()</methodname>: Calculate "
"the minimum and natural height of the container, if it would be given the "
"specified width."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6924(para)
+#: C/gtkmm-tutorial-in.xml:6916(para)
msgid ""
"<methodname>on_size_allocate()</methodname>: Position the child widgets, "
"given the height and width that the container has actually been given."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6925(para)
+#: C/gtkmm-tutorial-in.xml:6917(para)
msgid ""
"<methodname>forall_vfunc()</methodname>: Call the same callback for each of "
"the children."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6926(para)
+#: C/gtkmm-tutorial-in.xml:6918(para)
msgid "<methodname>on_add()</methodname>: Add a child widget to the container."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6927(para)
+#: C/gtkmm-tutorial-in.xml:6919(para)
msgid ""
"<methodname>on_remove()</methodname>: Remove a child widget from the "
"container."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6928(para)
+#: C/gtkmm-tutorial-in.xml:6920(para)
msgid ""
"<methodname>child_type_vfunc()</methodname>: Return what type of child can "
"be added."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6917(para)
+#: C/gtkmm-tutorial-in.xml:6909(para)
msgid ""
"When deriving from <classname>Gtk::Container</classname>, you should "
"override the following virtual methods: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6932(para)
+#: C/gtkmm-tutorial-in.xml:6924(para)
msgid ""
"The <methodname>get_request_mode_vfunc()</methodname>, "
"<methodname>get_preferred_width_vfunc()</methodname>, "
@@ -8284,7 +8676,7 @@ msgid ""
"eventually decide the size of the top-level window."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6952(para)
+#: C/gtkmm-tutorial-in.xml:6944(para)
msgid ""
"You are not guaranteed to get the <literal>Gtk::SizeRequestMode</literal> "
"that you request. Therefore all four of the "
@@ -8292,7 +8684,7 @@ msgid ""
"sensible values."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6957(para)
+#: C/gtkmm-tutorial-in.xml:6949(para)
msgid ""
"<methodname>on_size_allocate()</methodname> receives the actual height and "
"width that the parent container has decided to give to your widget. This "
@@ -8306,7 +8698,7 @@ msgid ""
"the allocated space that has been offered by the parent container."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6969(para)
+#: C/gtkmm-tutorial-in.xml:6961(para)
msgid ""
"Unless your container is a top-level window that derives from "
"<classname>Gtk::Window</classname>, you should probably also call "
@@ -8324,7 +8716,7 @@ msgid ""
"performance."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6985(para)
+#: C/gtkmm-tutorial-in.xml:6977(para)
msgid ""
"By overriding <methodname>forall_vfunc()</methodname> you can allow "
"applications to operate on all of the container's child widgets. For "
@@ -8332,7 +8724,7 @@ msgid ""
"the child widgets and show them."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6990(para)
+#: C/gtkmm-tutorial-in.xml:6982(para)
msgid ""
"Although your container might have its own method to set the child widgets, "
"you should still provide an implementation for the virtual <methodname>on_add"
@@ -8341,7 +8733,7 @@ msgid ""
"appropriate if they are called."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:6996(para)
+#: C/gtkmm-tutorial-in.xml:6988(para)
msgid ""
"Your implementation of the <methodname>child_type_vfunc()</methodname> "
"method should report the type of widget that may be added to your container, "
@@ -8352,18 +8744,18 @@ msgid ""
"literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7008(para)
+#: C/gtkmm-tutorial-in.xml:7000(para)
msgid ""
"This example implements a container with two child widgets, one above the "
"other. Of course, in this case it would be far simpler just to use a "
"<classname>Gtk::VBox</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7013(title)
+#: C/gtkmm-tutorial-in.xml:7005(title)
msgid "Custom Container"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7026(para)
+#: C/gtkmm-tutorial-in.xml:7018(para)
msgid ""
"By deriving directly from <classname>Gtk::Widget</classname> you can do all "
"the drawing for your widget directly, instead of just arranging child "
@@ -8371,71 +8763,71 @@ msgid ""
"the label, but does not do this by using other widgets."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7037(para)
+#: C/gtkmm-tutorial-in.xml:7029(para)
msgid ""
"<methodname>get_request_mode_vfunc()</methodname>: (optional) Return what "
"<literal>Gtk::SizeRequestMode</literal> is preferred by the widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7038(para)
+#: C/gtkmm-tutorial-in.xml:7030(para)
msgid ""
"<methodname>get_preferred_width_vfunc()</methodname>: Calculate the minimum "
"and natural width of the widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7039(para)
+#: C/gtkmm-tutorial-in.xml:7031(para)
msgid ""
"<methodname>get_preferred_height_vfunc()</methodname>: Calculate the minimum "
"and natural height of the widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7040(para)
+#: C/gtkmm-tutorial-in.xml:7032(para)
msgid ""
"<methodname>get_preferred_width_for_height_vfunc()</methodname>: Calculate "
"the minimum and natural width of the widget, if it would be given the "
"specified height."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7041(para)
+#: C/gtkmm-tutorial-in.xml:7033(para)
msgid ""
"<methodname>get_preferred_height_for_width_vfunc()</methodname>: Calculate "
"the minimum and natural height of the widget, if it would be given the "
"specified width."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7042(para)
+#: C/gtkmm-tutorial-in.xml:7034(para)
msgid ""
"<methodname>on_size_allocate()</methodname>: Position the widget, given the "
"height and width that it has actually been given."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7043(para)
+#: C/gtkmm-tutorial-in.xml:7035(para)
msgid ""
"<methodname>on_realize()</methodname>: Associate a <classname>Gdk::Window</"
"classname> with the widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7044(para)
+#: C/gtkmm-tutorial-in.xml:7036(para)
msgid ""
"<methodname>on_unrealize()</methodname>: (optional) Break the association "
"with the <classname>Gdk::Window</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7045(para)
+#: C/gtkmm-tutorial-in.xml:7037(para)
msgid "<methodname>on_map()</methodname>: (optional)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7046(para)
+#: C/gtkmm-tutorial-in.xml:7038(para)
msgid "<methodname>on_unmap()</methodname>: (optional)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7047(para)
+#: C/gtkmm-tutorial-in.xml:7039(para)
msgid ""
"<methodname>on_draw()</methodname>: Draw on the supplied <classname>Cairo::"
"Context</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7032(para)
+#: C/gtkmm-tutorial-in.xml:7024(para)
msgid ""
"When deriving from <classname>Gtk::Widget</classname>, you should override "
"the following virtual methods. The methods marked (optional) need not be "
@@ -8443,14 +8835,14 @@ msgid ""
"appropriate. <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7051(para)
+#: C/gtkmm-tutorial-in.xml:7043(para)
msgid ""
"The first 6 methods in the previous table are also overridden in custom "
"containers. They are briefly described in the <link linkend=\"sec-custom-"
"containers\">Custom Containers</link> section."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7056(para)
+#: C/gtkmm-tutorial-in.xml:7048(para)
msgid ""
"Most custom widgets need their own <classname>Gdk::Window</classname> to "
"draw on. Then you can call <methodname>Gtk::Widget::set_has_window(true)</"
@@ -8461,25 +8853,25 @@ msgid ""
"methodname> from there."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7067(para)
+#: C/gtkmm-tutorial-in.xml:7059(para)
msgid "This example implements a widget which draws a Penrose triangle."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7070(title)
+#: C/gtkmm-tutorial-in.xml:7062(title)
msgid "Custom Widget"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7086(title)
+#: C/gtkmm-tutorial-in.xml:7078(title)
msgid "Recommended Techniques"
-msgstr ""
+msgstr "Técnicas recomendadas"
-#: C/gtkmm-tutorial-in.xml:7088(para)
+#: C/gtkmm-tutorial-in.xml:7080(para)
msgid ""
"This section is simply a gathering of wisdom, general style guidelines and "
"hints for creating <application>gtkmm</application> applications."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7092(para)
+#: C/gtkmm-tutorial-in.xml:7084(para)
msgid ""
"Use GNU <application>autoconf</application> and <application>automake</"
"application>! They are your friends :) <application>Automake</application> "
@@ -8490,14 +8882,14 @@ msgid ""
"increase portability.."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7102(para)
+#: C/gtkmm-tutorial-in.xml:7094(para)
msgid ""
"Subclass Widgets to better organize your code. You should probably subclass "
"your main <classname>Window</classname> at least. Then you can make your "
"child Widgets and signal handlers members of that class."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7107(para)
+#: C/gtkmm-tutorial-in.xml:7099(para)
msgid ""
"Create your own signals instead of passing pointers around. Objects can "
"communicate with each other via signals and signal handlers. This is much "
@@ -8508,11 +8900,11 @@ msgid ""
"<application>libsigc++</application> documentation."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7116(title)
+#: C/gtkmm-tutorial-in.xml:7108(title)
msgid "Application Lifetime"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7117(para)
+#: C/gtkmm-tutorial-in.xml:7109(para)
msgid ""
"Most applications will have only one <classname>Window</classname>, or only "
"one main window. These applications can use the <methodname>Gtk::Main::run"
@@ -8524,21 +8916,21 @@ msgid ""
"on_delete_event()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7125(para)
+#: C/gtkmm-tutorial-in.xml:7117(para)
msgid "Most of our examples use this technique."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7129(title)
+#: C/gtkmm-tutorial-in.xml:7121(title)
msgid "Using a <application>gtkmm</application> widget"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7131(para)
+#: C/gtkmm-tutorial-in.xml:7123(para)
msgid ""
"Our examples all tend to have the same structure. They follow these steps "
"for using a <classname>Widget</classname>:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7140(para)
+#: C/gtkmm-tutorial-in.xml:7132(para)
msgid ""
"Declare a variable of the type of <classname>Widget</classname> you wish to "
"use, generally as member variable of a derived container class. You could "
@@ -8548,29 +8940,29 @@ msgid ""
"a container class so that you can access it later."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7151(para)
+#: C/gtkmm-tutorial-in.xml:7143(para)
msgid ""
"Set the attributes of the widget. If the widget has no default constructor, "
"then you will need to initialize the widget in the initalizer list of your "
"container class's constructor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7157(para)
+#: C/gtkmm-tutorial-in.xml:7149(para)
msgid "Connect any signals you wish to use to the appropriate handlers."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7163(para)
+#: C/gtkmm-tutorial-in.xml:7155(para)
msgid ""
"Pack the widget into a container using the appropriate call, e.g. "
"<methodname>Gtk::Container::add()</methodname> or <methodname>pack_start()</"
"methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7171(para)
+#: C/gtkmm-tutorial-in.xml:7163(para)
msgid "Call <methodname>show()</methodname> to display the widget."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7180(para)
+#: C/gtkmm-tutorial-in.xml:7172(para)
msgid ""
"<methodname>Gtk::Widget::show()</methodname> lets <application>gtkmm</"
"application> know that we have finished setting the attributes of the "
@@ -8582,11 +8974,11 @@ msgid ""
"into which the widgets will be gradually drawn."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7194(title)
+#: C/gtkmm-tutorial-in.xml:7186(title)
msgid "Contributing"
msgstr "Contribuir"
-#: C/gtkmm-tutorial-in.xml:7196(para)
+#: C/gtkmm-tutorial-in.xml:7188(para)
msgid ""
"This document, like so much other great software out there, was created for "
"free by volunteers. If you are at all knowledgeable about any aspect of "
@@ -8594,7 +8986,7 @@ msgid ""
"please consider contributing to this document."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7202(para)
+#: C/gtkmm-tutorial-in.xml:7194(para)
msgid ""
"Ideally, we would like you to <ulink url=\"http://www.gtkmm.org/bugs.shtml"
"\">provide a patch</ulink> to the <filename>docs/tutorial/C/gtkmm-tutorial-"
@@ -8602,7 +8994,7 @@ msgid ""
"documentation</literal> module in GNOME git."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7208(para)
+#: C/gtkmm-tutorial-in.xml:7200(para)
msgid ""
"If you do decide to contribute, please post your contribution to the "
"<application>gtkmm</application> mailing list at <ulink url=\"mailto:gtkmm-"
@@ -8613,11 +9005,11 @@ msgid ""
"contribution) may be distributed freely."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7220(title)
+#: C/gtkmm-tutorial-in.xml:7212(title)
msgid "The RefPtr smartpointer"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7221(para)
+#: C/gtkmm-tutorial-in.xml:7213(para)
msgid ""
"<classname>Glib::RefPtr</classname> is a smartpointer. Specifically, it is a "
"reference-counting smartpointer. You might be familiar with <literal>std::"
@@ -8628,23 +9020,23 @@ msgid ""
"application> might possibly use that instead."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7231(para)
+#: C/gtkmm-tutorial-in.xml:7223(para)
msgid ""
"A smartpointer acts much like a normal pointer. Here are a few examples."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7234(title)
+#: C/gtkmm-tutorial-in.xml:7226(title)
msgid "Copying"
msgstr "Copiado"
-#: C/gtkmm-tutorial-in.xml:7235(para)
+#: C/gtkmm-tutorial-in.xml:7227(para)
msgid ""
"You can copy <classname>RefPtr</classname>s, just like normal pointers. But "
"unlike normal pointers, you don't need to worry about deleting the "
"underlying instance."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7241(programlisting)
+#: C/gtkmm-tutorial-in.xml:7233(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8652,15 +9044,19 @@ msgid ""
"data, width, height);\n"
"Glib::RefPtr<Gdk::Bitmap> refBitmap2 = refBitmap;\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gdk::Bitmap> refBitmap = Gdk::Bitmap::create(window,\n"
+"data, width, height);\n"
+"Glib::RefPtr<Gdk::Bitmap> refBitmap2 = refBitmap;\n"
-#: C/gtkmm-tutorial-in.xml:7247(para)
+#: C/gtkmm-tutorial-in.xml:7239(para)
msgid ""
"Of course this means that you can store <classname>RefPtrs</classname> in "
"standard containers, such as <classname>std::vector</classname> or "
"<classname>std::list</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7252(programlisting)
+#: C/gtkmm-tutorial-in.xml:7244(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8669,18 +9065,23 @@ msgid ""
"width, height, depth);\n"
"listPixmaps.push_back(refPixmap);\n"
msgstr ""
+"\n"
+"std::list< Glib::RefPtr<Gdk::Pixmap> > listPixmaps;\n"
+"Glib::RefPtr<Gdk::Pixmap> refPixmap = Gdk::Pixmap::create(window,\n"
+"width, height, depth);\n"
+"listPixmaps.push_back(refPixmap);\n"
-#: C/gtkmm-tutorial-in.xml:7261(title)
+#: C/gtkmm-tutorial-in.xml:7253(title)
msgid "Dereferencing"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7262(para)
+#: C/gtkmm-tutorial-in.xml:7254(para)
msgid ""
"You can dereference a smartpointer with the -> operator, to call the "
"methods of the underlying instance, just like a normal pointer."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7266(programlisting)
+#: C/gtkmm-tutorial-in.xml:7258(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8688,14 +9089,18 @@ msgid ""
"data, width, height);\n"
"int depth = refBitmap->get_depth();\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gdk::Bitmap> refBitmap = Gdk::Bitmap::create(window,\n"
+"data, width, height);\n"
+"int depth = refBitmap->get_depth();\n"
-#: C/gtkmm-tutorial-in.xml:7272(para)
+#: C/gtkmm-tutorial-in.xml:7264(para)
msgid ""
"But unlike most smartpointers, you can't use the * operator to access the "
"underlying instance."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7276(programlisting)
+#: C/gtkmm-tutorial-in.xml:7268(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8703,26 +9108,33 @@ msgid ""
"data, width, height);\n"
"Gdk::Bitmap* underlying = *refBitmap; //Syntax error - will not compile.\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gdk::Bitmap> refBitmap = Gdk::Bitmap::create(window,\n"
+"data, width, height);\n"
+"Gdk::Bitmap* underlying = *refBitmap; //Error de sintaxis; no compilará.\n"
-#: C/gtkmm-tutorial-in.xml:7284(title)
+#: C/gtkmm-tutorial-in.xml:7276(title)
msgid "Casting"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7285(para)
+#: C/gtkmm-tutorial-in.xml:7277(para)
msgid ""
"You can cast <classname>RefPtrs</classname> to base types, just like normal "
"pointers."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7290(programlisting)
+#: C/gtkmm-tutorial-in.xml:7282(programlisting)
#, no-wrap
msgid ""
"\n"
"Glib::RefPtr<Gtk::TreeStore> refStore = Gtk::TreeStore::create(columns);\n"
"Glib::RefPtr<Gtk::TreeModel> refModel = refStore;\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gtk::TreeStore> refStore = Gtk::TreeStore::create(columns);\n"
+"Glib::RefPtr<Gtk::TreeModel> refModel = refStore;\n"
-#: C/gtkmm-tutorial-in.xml:7295(para)
+#: C/gtkmm-tutorial-in.xml:7287(para)
msgid ""
"This means that any method which takes a <type>const Glib::RefPtr<"
"BaseType></type> argument can also take a <type>const Glib::RefPtr<"
@@ -8730,13 +9142,13 @@ msgid ""
"normal pointer."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7299(para)
+#: C/gtkmm-tutorial-in.xml:7291(para)
msgid ""
"You can also cast to a derived type, but the syntax is a little different "
"than with a normal pointer."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7303(programlisting)
+#: C/gtkmm-tutorial-in.xml:7295(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8745,18 +9157,23 @@ msgid ""
"Glib::RefPtr<Gtk::TreeStore> refStore2 =\n"
"Glib::RefPtr<Gtk::TreeStore>::cast_static(refModel);\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gtk::TreeStore> refStore =\n"
+"Glib::RefPtr<Gtk::TreeStore>::cast_dynamic(refModel);\n"
+"Glib::RefPtr<Gtk::TreeStore> refStore2 =\n"
+"Glib::RefPtr<Gtk::TreeStore>::cast_static(refModel);\n"
-#: C/gtkmm-tutorial-in.xml:7313(title)
+#: C/gtkmm-tutorial-in.xml:7305(title)
msgid "Checking for null"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7314(para)
+#: C/gtkmm-tutorial-in.xml:7306(para)
msgid ""
"Just like normal pointers, you can check whether a <classname>RefPtr</"
"classname> points to anything."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7319(programlisting)
+#: C/gtkmm-tutorial-in.xml:7311(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8767,18 +9184,25 @@ msgid ""
" ...\n"
"}\n"
msgstr ""
+"\n"
+"Glib::RefPtr<Gtk::TreeModel> refModel = m_TreeView.get_model();\n"
+"if(refModel)\n"
+"{\n"
+" int cols_count = refModel->get_n_columns();\n"
+" ...\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:7328(para)
+#: C/gtkmm-tutorial-in.xml:7320(para)
msgid ""
"But unlike normal pointers, <classname>RefPtr</classname>s are automatically "
"initialized to null so you don't need to remember to do that yourself."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7335(title)
+#: C/gtkmm-tutorial-in.xml:7327(title)
msgid "Constness"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7336(para)
+#: C/gtkmm-tutorial-in.xml:7328(para)
msgid ""
"The use of the <literal>const</literal> keyword in C++ is not always clear. "
"You might not realise that <type>const Something*</type> declares a pointer "
@@ -8786,7 +9210,7 @@ msgid ""
"<type>Something</type> that it points to."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7342(para)
+#: C/gtkmm-tutorial-in.xml:7334(para)
msgid ""
"Therefore, the <classname>RefPtr</classname> equivalent of <type>Something*</"
"type> for a method parameter is <type>const Glib::RefPtr<Something>"
@@ -8794,7 +9218,7 @@ msgid ""
"<type>const Glib::RefPtr<const Something>&</type>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7349(para)
+#: C/gtkmm-tutorial-in.xml:7341(para)
msgid ""
"The <literal>const ... &</literal> around both is just for efficiency, "
"like using <classname>const std::string&</classname> instead of "
@@ -8802,11 +9226,11 @@ msgid ""
"unnecessary copying."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7364(title)
+#: C/gtkmm-tutorial-in.xml:7356(title)
msgid "Connecting signal handlers"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7365(para)
+#: C/gtkmm-tutorial-in.xml:7357(para)
msgid ""
"<application>gtkmm</application> widget classes have signal accessor "
"methods, such as <methodname>Gtk::Button::signal_clicked()</methodname>, "
@@ -8818,11 +9242,11 @@ msgid ""
"named callbacks."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7375(para)
+#: C/gtkmm-tutorial-in.xml:7367(para)
msgid "Here's an example of a signal handler being connected to a signal:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7380(programlisting)
+#: C/gtkmm-tutorial-in.xml:7372(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8839,34 +9263,47 @@ msgid ""
" button.signal_clicked().connect(sigc::ptr_fun(&on_button_clicked));\n"
"}\n"
msgstr ""
+"\n"
+"#include <gtkmm/button.h>\n"
+"\n"
+"void on_button_clicked()\n"
+"{\n"
+" std::cout << \"Hello World\" << std::endl;\n"
+"}\n"
+"\n"
+"main()\n"
+"{\n"
+" Gtk::Button button(\"Hello World\");\n"
+" button.signal_clicked().connect(sigc::ptr_fun(&on_button_clicked));\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:7396(para)
+#: C/gtkmm-tutorial-in.xml:7388(para)
msgid ""
"There's rather a lot to think about in this (non-functional) code. First "
"let's identify the parties involved:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7404(para)
+#: C/gtkmm-tutorial-in.xml:7396(para)
msgid "The signal handler is <methodname>on_button_clicked()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7410(para)
+#: C/gtkmm-tutorial-in.xml:7402(para)
msgid ""
"We're hooking it up to the <classname>Gtk::Button</classname> object called "
"<varname>button</varname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7417(para)
+#: C/gtkmm-tutorial-in.xml:7409(para)
msgid ""
"When the Button emits its <literal>clicked</literal> signal, "
"<methodname>on_button_clicked()</methodname> will be called."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7425(para)
+#: C/gtkmm-tutorial-in.xml:7417(para)
msgid "Now let's look at the connection again:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7430(programlisting)
+#: C/gtkmm-tutorial-in.xml:7422(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8874,8 +9311,12 @@ msgid ""
" button.signal_clicked().connect(sigc::ptr_fun(&on_button_clicked));\n"
" ...\n"
msgstr ""
+"\n"
+" ...\n"
+" button.signal_clicked().connect(sigc::ptr_fun(&on_button_clicked));\n"
+" ...\n"
-#: C/gtkmm-tutorial-in.xml:7437(para)
+#: C/gtkmm-tutorial-in.xml:7429(para)
msgid ""
"Note that we don't pass a pointer to <methodname>on_button_clicked()</"
"methodname> directly to the signal's <methodname>connect()</methodname> "
@@ -8883,7 +9324,7 @@ msgid ""
"result to <methodname>connect()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7444(para)
+#: C/gtkmm-tutorial-in.xml:7436(para)
msgid ""
"<function>sigc::ptr_fun()</function> generates a <classname>sigc::slot</"
"classname>. A slot is an object which looks and feels like a function, but "
@@ -8893,11 +9334,11 @@ msgid ""
"generates a slot for a member method of a particular instance."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7453(para)
+#: C/gtkmm-tutorial-in.xml:7445(para)
msgid "Here's a slightly larger example of slots in action:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7458(programlisting)
+#: C/gtkmm-tutorial-in.xml:7450(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -8917,14 +9358,30 @@ msgid ""
" button.signal_clicked().connect( sigc::mem_fun(some_object, &some_class::on_button_clicked) );\n"
"}\n"
msgstr ""
+"\n"
+"void on_button_clicked();\n"
+"\n"
+"class some_class\n"
+"{\n"
+" void on_button_clicked();\n"
+"};\n"
+"\n"
+"some_class some_object;\n"
+"\n"
+"main()\n"
+"{\n"
+" Gtk::Button button;\n"
+" button.signal_clicked().connect( sigc::ptr_fun(&on_button_clicked) );\n"
+" button.signal_clicked().connect( sigc::mem_fun(some_object, &some_class::on_button_clicked) );\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:7477(para)
+#: C/gtkmm-tutorial-in.xml:7469(para)
msgid ""
"The first call to <methodname>connect()</methodname> is just like the one we "
"saw last time; nothing new here."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7480(para)
+#: C/gtkmm-tutorial-in.xml:7472(para)
msgid ""
"The next is more interesting. <function>sigc::mem_fun()</function> is called "
"with two arguments. The first argument is <parameter>some_object</"
@@ -8935,7 +9392,7 @@ msgid ""
"<methodname>some_object.on_button_clicked()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7490(para)
+#: C/gtkmm-tutorial-in.xml:7482(para)
msgid ""
"Another thing to note about this example is that we made the call to "
"<methodname>connect()</methodname> twice for the same signal object. This is "
@@ -8943,7 +9400,7 @@ msgid ""
"called."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7497(para)
+#: C/gtkmm-tutorial-in.xml:7489(para)
msgid ""
"We just told you that the button's <literal>clicked</literal> signal is "
"expecting to call a method with no arguments. All signals have requirements "
@@ -8953,11 +9410,11 @@ msgid ""
"handler you'll be expected to connect to a given signal."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7509(title)
+#: C/gtkmm-tutorial-in.xml:7501(title)
msgid "Writing signal handlers"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7511(para)
+#: C/gtkmm-tutorial-in.xml:7503(para)
msgid ""
"To find out what type of signal handler you can connect to a signal, you can "
"look it up in the reference documentation or the header file. Here's an "
@@ -8965,14 +9422,16 @@ msgid ""
"application> headers:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7518(programlisting)
+#: C/gtkmm-tutorial-in.xml:7510(programlisting)
#, no-wrap
msgid ""
"\n"
"Glib::SignalProxy1<bool, Gtk::DirectionType> signal_focus()\n"
msgstr ""
+"\n"
+"Glib::SignalProxy1<bool, Gtk::DirectionType> signal_focus()\n"
-#: C/gtkmm-tutorial-in.xml:7523(para)
+#: C/gtkmm-tutorial-in.xml:7515(para)
msgid ""
"Other than the signal's name (<literal>focus</literal>), two things are "
"important to note here: the number following the word "
@@ -8985,21 +9444,24 @@ msgid ""
"documentation, you can see the names of the arguments too."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7535(para)
+#: C/gtkmm-tutorial-in.xml:7527(para)
msgid ""
"The same principles apply for signals which have more arguments. Here's one "
"with three (taken from <filename><gtkmm/editable.h></filename>):"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7541(programlisting)
+#: C/gtkmm-tutorial-in.xml:7533(programlisting)
#, no-wrap
msgid ""
"\n"
"Glib::SignalProxy3<void, const Glib::ustring&, int, int*> signal_insert_text()\n"
"\n"
msgstr ""
+"\n"
+"Glib::SignalProxy3<void, const Glib::ustring&, int, int*> signal_insert_text()\n"
+"\n"
-#: C/gtkmm-tutorial-in.xml:7547(para)
+#: C/gtkmm-tutorial-in.xml:7539(para)
msgid ""
"It follows the same form. The number 3 at the end of the type's name "
"indicates that our signal handler will need three arguments. The first type "
@@ -9008,30 +9470,34 @@ msgid ""
"order. Our signal handler's prototype could look like this:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7556(programlisting)
+#: C/gtkmm-tutorial-in.xml:7548(programlisting)
#, no-wrap
msgid ""
"\n"
"void on_insert_text(const Glib::ustring& text, int length, int* position);\n"
msgstr ""
+"\n"
+"void on_insert_text(const Glib::ustring& text, int length, int* position);\n"
-#: C/gtkmm-tutorial-in.xml:7563(title)
+#: C/gtkmm-tutorial-in.xml:7555(title)
msgid "Disconnecting signal handlers"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7565(para)
+#: C/gtkmm-tutorial-in.xml:7557(para)
msgid ""
"Let's take another look at a Signal's <literal>connect</literal> method:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7570(programlisting)
+#: C/gtkmm-tutorial-in.xml:7562(programlisting)
#, no-wrap
msgid ""
"\n"
"sigc::signal<void,int>::iterator signal<void,int>::connect( const sigc::slot<void,int>& );\n"
msgstr ""
+"\n"
+"sigc::signal<void,int>::iterator signal<void,int>::connect( const sigc::slot<void,int>& );\n"
-#: C/gtkmm-tutorial-in.xml:7575(para)
+#: C/gtkmm-tutorial-in.xml:7567(para)
msgid ""
"Notice that the return value is of type <classname>sigc::signal<void,"
"int>::iterator</classname>. This can be implicitely converted into a "
@@ -9041,18 +9507,18 @@ msgid ""
"disconnect()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7586(title)
+#: C/gtkmm-tutorial-in.xml:7578(title)
msgid "Overriding default signal handlers"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7588(para)
+#: C/gtkmm-tutorial-in.xml:7580(para)
msgid ""
"So far we've told you to perform actions in response to button-presses and "
"the like by handling signals. That's certainly a good way to do things, but "
"it's not the only way."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7595(para)
+#: C/gtkmm-tutorial-in.xml:7587(para)
msgid ""
"Instead of laboriously connecting signal handlers to signals, you can simply "
"make a new class which inherits from a widget - say, a Button - and then "
@@ -9060,7 +9526,7 @@ msgid ""
"be a lot simpler than hooking up signal handlers for everything."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7602(para)
+#: C/gtkmm-tutorial-in.xml:7594(para)
msgid ""
"Subclassing isn't always the best way to accomplish things. It is only "
"useful when you want the widget to handle its own signal by itself. If you "
@@ -9070,18 +9536,18 @@ msgid ""
"same signal from different objects."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7607(para)
+#: C/gtkmm-tutorial-in.xml:7599(para)
msgid ""
"<application>gtkmm</application> classes are designed with overriding in "
"mind; they contain virtual member methods specifically intended to be "
"overridden."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7612(para)
+#: C/gtkmm-tutorial-in.xml:7604(para)
msgid "Let's look at an example of overriding:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7617(programlisting)
+#: C/gtkmm-tutorial-in.xml:7609(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -9102,7 +9568,7 @@ msgid ""
"}\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7636(para)
+#: C/gtkmm-tutorial-in.xml:7628(para)
msgid ""
"Here we define a new class called <classname>OverriddenButton</classname>, "
"which inherits from <classname>Gtk::Button</classname>. The only thing we "
@@ -9114,7 +9580,7 @@ msgid ""
"overridden."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7647(para)
+#: C/gtkmm-tutorial-in.xml:7639(para)
msgid ""
"You don't always need to call the parent's method; there are times when you "
"might not want to. Note that we called the parent method <emphasis>after</"
@@ -9126,25 +9592,29 @@ msgid ""
"of your custom code."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7661(title)
+#: C/gtkmm-tutorial-in.xml:7653(title)
msgid "Binding extra arguments"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7669(programlisting)
+#: C/gtkmm-tutorial-in.xml:7661(programlisting)
#, no-wrap
msgid ""
"\n"
"m_button1.signal_clicked().connect( sigc::bind<Glib::ustring>( sigc::mem_fun(*this, &HelloWorld::on_button_clicked), \"button 1\") );\n"
msgstr ""
+"\n"
+"m_button1.signal_clicked().connect( sigc::bind<Glib::ustring>( sigc::mem_fun(*this, &HolaMundo::on_button_clicked), \"button 1\") );\n"
-#: C/gtkmm-tutorial-in.xml:7676(programlisting)
+#: C/gtkmm-tutorial-in.xml:7668(programlisting)
#, no-wrap
msgid ""
"\n"
"virtual void on_button_clicked(Glib::ustring data);\n"
msgstr ""
+"\n"
+"virtual void on_button_clicked(Glib::ustring data);\n"
-#: C/gtkmm-tutorial-in.xml:7662(para)
+#: C/gtkmm-tutorial-in.xml:7654(para)
msgid ""
"If you use one signal handler to catch the same signal from several widgets, "
"you might like that signal handler to receive some extra information. For "
@@ -9159,7 +9629,7 @@ msgid ""
"handler would have no arguments."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7681(para)
+#: C/gtkmm-tutorial-in.xml:7673(para)
msgid ""
"<function>sigc::bind()</function> is not commonly used, but you might find "
"it helpful sometimes. If you are familiar with <application>GTK+</"
@@ -9171,11 +9641,11 @@ msgid ""
"less need of this hack in <application>gtkmm</application>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7693(title)
+#: C/gtkmm-tutorial-in.xml:7685(title)
msgid "X Event signals"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7694(para)
+#: C/gtkmm-tutorial-in.xml:7686(para)
msgid ""
"The <classname>Widget</classname> class has some special signals which "
"correspond to the underlying X-Windows events. These are suffixed by "
@@ -9183,7 +9653,7 @@ msgid ""
"signal_button_pressed_event()</methodname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7700(para)
+#: C/gtkmm-tutorial-in.xml:7692(para)
msgid ""
"You might occasionally find it useful to handle X events when there's "
"something you can't accomplish with normal signals. <classname>Gtk::Button</"
@@ -9193,7 +9663,7 @@ msgid ""
"events are also often used to handle key-presses."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7709(para)
+#: C/gtkmm-tutorial-in.xml:7701(para)
msgid ""
"These signals behave slightly differently. The value returned from the "
"signal handler indicates whether it has fully \"handled\" the event. If the "
@@ -9202,7 +9672,7 @@ msgid ""
"literal> then no other signal handlers will need to be called."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7714(para)
+#: C/gtkmm-tutorial-in.xml:7706(para)
msgid ""
"Handling an X event doesn't affect the Widget's other signals. If you handle "
"<literal>button_pressed_event</literal> for <classname>Gtk::Button</"
@@ -9210,7 +9680,7 @@ msgid ""
"signal. They are emitted at (nearly) the same time."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7721(para)
+#: C/gtkmm-tutorial-in.xml:7713(para)
msgid ""
"Note also that not all widgets receive all X events by default. To receive "
"additional X events, you can use <methodname>Gtk::Widget::set_events()</"
@@ -9221,7 +9691,7 @@ msgid ""
"link> chapter."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7730(programlisting)
+#: C/gtkmm-tutorial-in.xml:7722(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -9229,18 +9699,22 @@ msgid ""
"Gtk::Button button(\"label\");\n"
"button.signal_button_press_event().connect( sigc::ptr_fun(&on_button_press) );\n"
msgstr ""
+"\n"
+"bool on_button_press(GdkEventButton* event);\n"
+"Gtk::Button button(\"etiqueta\");\n"
+"button.signal_button_press_event().connect( sigc::ptr_fun(&on_button_press) );\n"
-#: C/gtkmm-tutorial-in.xml:7728(para)
+#: C/gtkmm-tutorial-in.xml:7720(para)
msgid "Here's a simple example: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7736(para)
+#: C/gtkmm-tutorial-in.xml:7728(para)
msgid ""
"When the mouse is over the button and a mouse button is pressed, "
"<methodname>on_button_press()</methodname> will be called."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7741(para)
+#: C/gtkmm-tutorial-in.xml:7733(para)
msgid ""
"<type>GdkEventButton</type> is a structure containing the event's "
"parameters, such as the coordinates of the mouse pointer at the time the "
@@ -9248,18 +9722,20 @@ msgid ""
"type> structures for the various events."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7749(title)
+#: C/gtkmm-tutorial-in.xml:7741(title)
msgid "Signal Handler sequence"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7751(programlisting)
+#: C/gtkmm-tutorial-in.xml:7743(programlisting)
#, no-wrap
msgid ""
"\n"
"button.signal_button_press_event().connect( sigc::ptr_fun(&on_mywindow_button_press), false );\n"
msgstr ""
+"\n"
+"button.signal_button_press_event().connect( sigc::ptr_fun(&on_mywindow_button_press), false );\n"
-#: C/gtkmm-tutorial-in.xml:7750(para)
+#: C/gtkmm-tutorial-in.xml:7742(para)
msgid ""
"By default, your signal handlers are called after any previously-connected "
"signal handlers. However, this can be a problem with the X Event signals. "
@@ -9271,11 +9747,11 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7765(title)
+#: C/gtkmm-tutorial-in.xml:7757(title)
msgid "Creating your own signals"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7766(para)
+#: C/gtkmm-tutorial-in.xml:7758(para)
msgid ""
"Now that you've seen signals and signal handlers in <application>gtkmm</"
"application>, you might like to use the same technique to allow interaction "
@@ -9283,7 +9759,7 @@ msgid ""
"<application>libsigc++</application> library directly."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7772(para)
+#: C/gtkmm-tutorial-in.xml:7764(para)
msgid ""
"This isn't purely a <application>gtkmm</application> or GUI issue. "
"<application>gtkmm</application> uses <application>libsigc++</application> "
@@ -9292,21 +9768,23 @@ msgid ""
"signals, using the <classname>sigc::signal<></classname> template."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7783(programlisting)
+#: C/gtkmm-tutorial-in.xml:7775(programlisting)
#, no-wrap
msgid ""
"\n"
"sigc::signal<void, bool, int> signal_something;\n"
msgstr ""
+"\n"
+"sigc::signal<void, bool, int> signal_something;\n"
-#: C/gtkmm-tutorial-in.xml:7779(para)
+#: C/gtkmm-tutorial-in.xml:7771(para)
msgid ""
"For instance, to create a signal that sends 2 parameters, a <type>bool</"
"type> and an <type>int</type>, just declare a <classname>sigc::signal</"
"classname>, like so: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7791(programlisting)
+#: C/gtkmm-tutorial-in.xml:7783(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -9327,37 +9805,40 @@ msgid ""
"}\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7787(para)
+#: C/gtkmm-tutorial-in.xml:7779(para)
msgid ""
"You could just declare that signal as a public member variable, but some "
"people find that distasteful and prefer to make it available via an accessor "
"method, like so: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7813(programlisting)
+#: C/gtkmm-tutorial-in.xml:7805(programlisting)
#, no-wrap
msgid ""
"\n"
"server.signal_something().connect(\n"
" sigc::mem_fun(client, &Client::on_server_something) );\n"
msgstr ""
+"\n"
+"server.signal_something().connect(\n"
+" sigc::mem_fun(client, &Client::on_server_something) );\n"
-#: C/gtkmm-tutorial-in.xml:7810(para)
+#: C/gtkmm-tutorial-in.xml:7802(para)
msgid ""
"You can then connect to the signal using the same syntax used when "
"connecting to <application>gtkmm</application> signals. For instance, "
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7821(para)
+#: C/gtkmm-tutorial-in.xml:7813(para)
msgid "This is a full working example that defines and uses custom signal."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7835(title)
+#: C/gtkmm-tutorial-in.xml:7827(title)
msgid "Comparison with other signalling systems"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7836(para)
+#: C/gtkmm-tutorial-in.xml:7828(para)
msgid ""
"(An aside: <application>GTK+</application> calls this scheme \"signalling\"; "
"the sharp-eyed reader with GUI toolkit experience will note that this same "
@@ -9372,7 +9853,7 @@ msgid ""
"later.)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7850(para)
+#: C/gtkmm-tutorial-in.xml:7842(para)
msgid ""
"<application>gtkmm</application> signal handlers are strongly-typed, whereas "
"<application>GTK+</application> C code allows you to connect a callback with "
@@ -9381,7 +9862,7 @@ msgid ""
"achieves this without modifying the C++ language."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7856(para)
+#: C/gtkmm-tutorial-in.xml:7848(para)
msgid ""
"Re. Overriding signal handlers: You can do this in the straight-C world of "
"GTK+ too; that's what GTK's object system is for. But in GTK+, you have to "
@@ -9390,7 +9871,7 @@ msgid ""
"supported in the language itself; you can let the compiler do the dirty work."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7864(para)
+#: C/gtkmm-tutorial-in.xml:7856(para)
msgid ""
"This is one of the places where the beauty of C++ really comes out. One "
"wouldn't think of subclassing a GTK+ widget simply to override its action "
@@ -9400,11 +9881,11 @@ msgid ""
"- to subclass a button for that purpose."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7875(title)
+#: C/gtkmm-tutorial-in.xml:7867(title)
msgid "<application>gtkmm</application> and Win32"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7876(para)
+#: C/gtkmm-tutorial-in.xml:7868(para)
msgid ""
"One of the major advantages of <application>gtkmm</application> is that it "
"is crossplatform. <application>gtkmm</application> programs written on other "
@@ -9412,7 +9893,7 @@ msgid ""
"vice versa) with few modifications to the source."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7881(para)
+#: C/gtkmm-tutorial-in.xml:7873(para)
msgid ""
"<application>gtkmm</application> currently works with the <ulink url="
"\"http://mingw.org/\">MingW/GCC3.4 compiler</ulink> and Microsoft Visual C++ "
@@ -9423,22 +9904,22 @@ msgid ""
"http://live.gnome.org/gtkmm/MSWindows</ulink> for instructions how to use it."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7893(title)
+#: C/gtkmm-tutorial-in.xml:7885(title)
msgid "Building <application>gtkmm</application> on Win32"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7894(para)
+#: C/gtkmm-tutorial-in.xml:7886(para)
msgid ""
"Please see <ulink url=\"http://live.gnome.org/gtkmm/MSWindows/BuildingGtkmm"
"\">http://live.gnome.org/gtkmm/MSWindows/BuildingGtkmm</ulink> for "
"instructions on how to build gtkmm on Windws."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7901(title)
+#: C/gtkmm-tutorial-in.xml:7893(title)
msgid "Working with gtkmm's Source Code"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7902(para)
+#: C/gtkmm-tutorial-in.xml:7894(para)
msgid ""
"If you are interested in helping out with the development of "
"<application>gtkmm</application>, or fixing a bug in <application>gtkmm</"
@@ -9449,7 +9930,7 @@ msgid ""
"separate path."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7909(para)
+#: C/gtkmm-tutorial-in.xml:7901(para)
msgid ""
"The easiest way to do this is using <ulink url=\"http://library.gnome.org/"
"devel/jhbuild/unstable/\">jhbuild</ulink>. <application>jhbuild</"
@@ -9465,7 +9946,7 @@ msgid ""
"list</ulink>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7924(para)
+#: C/gtkmm-tutorial-in.xml:7916(para)
msgid ""
"Note that to build <application>gtkmm</application> from git, you'll often "
"need to build all of its dependencies from git as well. "
@@ -9475,11 +9956,11 @@ msgid ""
"quickly if you report them."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7932(title)
+#: C/gtkmm-tutorial-in.xml:7924(title)
msgid "Setting up jhbuild"
-msgstr ""
+msgstr "Configurar JHBuild"
-#: C/gtkmm-tutorial-in.xml:7933(para)
+#: C/gtkmm-tutorial-in.xml:7925(para)
msgid ""
"To set up <application>jhbuild</application>, follow the basic installation "
"instructions from the <ulink url=\"http://library.gnome.org/devel/jhbuild/"
@@ -9490,12 +9971,12 @@ msgid ""
"application> directory: <command>$ cp sample.jhbuildrc ~/.jhbuildrc</command>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7948(programlisting)
+#: C/gtkmm-tutorial-in.xml:7940(programlisting)
#, no-wrap
msgid "moduleset = 'gnome-2.30'"
-msgstr ""
+msgstr "moduleset = 'gnome-2.30'"
-#: C/gtkmm-tutorial-in.xml:7943(para)
+#: C/gtkmm-tutorial-in.xml:7935(para)
msgid ""
"The <application>gtkmm</application> module is defined in the GNOME "
"moduleset (i.e. <filename>gnome-2.xx.modules</filename>, so edit your "
@@ -9503,12 +9984,12 @@ msgid ""
"latest version of GNOME like so: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7954(programlisting)
+#: C/gtkmm-tutorial-in.xml:7946(programlisting)
#, no-wrap
msgid "modules = [ 'gtkmm', ]"
-msgstr ""
+msgstr "modules = [ 'gtkmm', ]"
-#: C/gtkmm-tutorial-in.xml:7950(para)
+#: C/gtkmm-tutorial-in.xml:7942(para)
msgid ""
"After setting the correct moduleset, you need to tell <application>jhbuild</"
"application> which module or modules to build. To build <application>gtkmm</"
@@ -9516,7 +9997,7 @@ msgid ""
"like so: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7956(para)
+#: C/gtkmm-tutorial-in.xml:7948(para)
msgid ""
"You can build all GNOME C++ modules by setting the <varname>modules</"
"varname> variable to the meta-package named <literal>meta-gnome-c++</"
@@ -9527,11 +10008,11 @@ msgid ""
"it on the commandline (e.g. <command>jhbuild build gtkmm</command>)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7967(title)
+#: C/gtkmm-tutorial-in.xml:7959(title)
msgid "Setting a prefix"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7968(para)
+#: C/gtkmm-tutorial-in.xml:7960(para)
msgid ""
"By default, <application>jhbuild</application>'s configuration is configured "
"to install all software built with <application>jhbuild</application> under "
@@ -9542,12 +10023,12 @@ msgid ""
"user, so you don't need to run jhbuild as <literal>root</literal>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7982(title)
+#: C/gtkmm-tutorial-in.xml:7974(title)
msgid ""
"Installing and Using the git version of <application>gtkmm</application>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7983(para)
+#: C/gtkmm-tutorial-in.xml:7975(para)
msgid ""
"Once you've configured <application>jhbuild</application> as described "
"above, building <application>gtkmm</application> should be relatively "
@@ -9558,13 +10039,13 @@ msgid ""
"$ jhbuild sanitycheck</screen>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7994(title)
+#: C/gtkmm-tutorial-in.xml:7986(title)
msgid ""
"Installing <application>gtkmm</application> with <application>jhbuild</"
"application>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:7995(para)
+#: C/gtkmm-tutorial-in.xml:7987(para)
msgid ""
"If everything worked correctly, you should be able to build "
"<application>gtkmm</application> and all of its dependencies from git by "
@@ -9573,7 +10054,7 @@ msgid ""
"with the command <command>jhbuild build gtkmm</command>)."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8002(para)
+#: C/gtkmm-tutorial-in.xml:7994(para)
msgid ""
"This command will build and install a series of modules and will probably "
"take quite a long time the first time through. After the first time, "
@@ -9585,11 +10066,11 @@ msgid ""
"command>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8013(title)
+#: C/gtkmm-tutorial-in.xml:8005(title)
msgid "Using the git version of <application>gtkmm</application>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8014(para)
+#: C/gtkmm-tutorial-in.xml:8006(para)
msgid ""
"After you've installed the git version of <application>gtkmm</application>, "
"you're ready to start using and experimenting with it. In order to use the "
@@ -9604,7 +10085,7 @@ msgid ""
"environment, simply exit the <application>jhbuild</application> shell."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8028(para)
+#: C/gtkmm-tutorial-in.xml:8020(para)
msgid ""
"Once you've built your software, you'll need to run your program within the "
"jhbuild environment as well. To do this, you can again use the "
@@ -9617,11 +10098,11 @@ msgid ""
"program exits."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8045(title)
+#: C/gtkmm-tutorial-in.xml:8037(title)
msgid "Wrapping C Libraries with gmmproc"
msgstr "Envolver bibliotecas C con gmmproc"
-#: C/gtkmm-tutorial-in.xml:8046(para)
+#: C/gtkmm-tutorial-in.xml:8038(para)
msgid ""
"<application>gtkmm</application> uses the <command>gmmproc</command> tool to "
"generate most of its source code, using .defs files that define the APIs of "
@@ -9629,17 +10110,17 @@ msgid ""
"additional gtkmm-style wrappers of other glib/GObject-based libraries."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8051(para)
+#: C/gtkmm-tutorial-in.xml:8043(para)
msgid ""
"This involves a variety of tools, some of them crufty, but it does at least "
"work, and has been used successfully by several projects."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8056(title)
+#: C/gtkmm-tutorial-in.xml:8048(title)
msgid "The build structure"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8057(para)
+#: C/gtkmm-tutorial-in.xml:8049(para)
msgid ""
"Generation of the source code for a gtkmm-style wrapper API requires use of "
"tools such as <command>gmmproc</command> and <filename>generate_wrap_init."
@@ -9649,7 +10130,7 @@ msgid ""
"lot to pick an existing binding module as an example to look at."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8064(para)
+#: C/gtkmm-tutorial-in.xml:8056(para)
msgid ""
"For instance, let's pretend that we are wrapping a C library called "
"libexample. It provides a <classname>GObject</classname>-based API with "
@@ -9657,11 +10138,11 @@ msgid ""
"<classname>ExampleStuff</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8070(title)
+#: C/gtkmm-tutorial-in.xml:8062(title)
msgid "Copying the skeleton project"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8075(programlisting)
+#: C/gtkmm-tutorial-in.xml:8067(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -9669,7 +10150,7 @@ msgid ""
" $ cp -a mm-common/skeletonmm libsomethingmm\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8072(para)
+#: C/gtkmm-tutorial-in.xml:8064(para)
msgid ""
"Typically our wrapper library would be called libsomethingmm. We can start "
"by copying the <ulink url=\"http://git.gnome.org/cgit/mm-common/tree/"
@@ -9677,33 +10158,33 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8085(para)
+#: C/gtkmm-tutorial-in.xml:8077(para)
msgid "<filename>libsomethingmm</filename>: The top-level directory."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8087(para)
+#: C/gtkmm-tutorial-in.xml:8079(para)
msgid ""
"<filename>libsomething</filename>: Contains the main include file and the "
"pkg-config .pc file."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8089(para)
+#: C/gtkmm-tutorial-in.xml:8081(para)
msgid "<filename>src</filename>: Contains .hg and .ccg source files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8090(para)
+#: C/gtkmm-tutorial-in.xml:8082(para)
msgid ""
"<filename>libsomethingmm</filename>: Contains generated and hand-written .h "
"and .cc files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8092(para)
+#: C/gtkmm-tutorial-in.xml:8084(para)
msgid ""
"<filename>private</filename>: Contains generated <filename>*_p.h</filename> "
"files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8080(para)
+#: C/gtkmm-tutorial-in.xml:8072(para)
msgid ""
"This provides a directory structure for the source .hg and .ccg files and "
"the generated .h and .cc files, with <filename>filelist.am</filename> "
@@ -9712,7 +10193,7 @@ msgid ""
"this, after we have renamed the directories appropriately: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8104(programlisting)
+#: C/gtkmm-tutorial-in.xml:8096(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -9721,25 +10202,25 @@ msgid ""
" done\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8102(para)
+#: C/gtkmm-tutorial-in.xml:8094(para)
msgid ""
"As well as renaming the directories, we should rename some of the source "
"files. For instance: <placeholder-1/> A number of the skeleton files must "
"still be filled in with project-specific content later."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8111(para)
+#: C/gtkmm-tutorial-in.xml:8103(para)
msgid ""
"Note that files ending in <filename>.in</filename> will be used to generate "
"files with the same name but without the <filename>.in</filename> suffix, by "
"replacing some variables with actual values during the configure stage."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8117(title)
+#: C/gtkmm-tutorial-in.xml:8109(title)
msgid "Modifying build files"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8119(para)
+#: C/gtkmm-tutorial-in.xml:8111(para)
msgid ""
"Now we edit the files to adapt them to to our needs. You might prefer to use "
"a multiple-file search-replace utility for this, such as <command>regexxer</"
@@ -9748,7 +10229,7 @@ msgid ""
"performed globally, and not be limited to the Automake and Autoconf files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8123(para)
+#: C/gtkmm-tutorial-in.xml:8115(para)
msgid ""
"All mentions of <varname>skeleton</varname> should be replaced by the "
"correct name of the C library you are wrapping, such as \"something\" or "
@@ -9757,25 +10238,25 @@ msgid ""
"occurrences of <varname>Skeleton</varname> changed to \"Something\"."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8127(para)
+#: C/gtkmm-tutorial-in.xml:8119(para)
msgid ""
"Likewise, replace all instances of <varname>Joe Hacker</varname> by the name "
"of the intended copyright holder, which is probably you. Do the same for the "
"<varname>joe example com</varname> email address."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8132(title)
+#: C/gtkmm-tutorial-in.xml:8124(title)
msgid "configure.ac"
-msgstr ""
+msgstr "configure.ac"
-#: C/gtkmm-tutorial-in.xml:8135(para)
+#: C/gtkmm-tutorial-in.xml:8127(para)
msgid ""
"The <function>AC_CONFIG_SRCDIR()</function> line must mention a file in our "
"source tree. We can edit this later if we don't yet know the names of any of "
"the files that we will create."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8138(para)
+#: C/gtkmm-tutorial-in.xml:8130(para)
msgid ""
"It is common for binding modules to track the version number of the library "
"they are wrapping. So, for instance, if the C library is at version 1.23.4, "
@@ -9784,7 +10265,7 @@ msgid ""
"stable release."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8143(para)
+#: C/gtkmm-tutorial-in.xml:8135(para)
msgid ""
"The <function>AC_CONFIG_HEADERS()</function> line is used to generate two or "
"more configuration header files. The first header file in the list contains "
@@ -9796,63 +10277,63 @@ msgid ""
"visible macros."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8151(para)
+#: C/gtkmm-tutorial-in.xml:8143(para)
msgid ""
"The <function>AC_SUBST([SOMETHINGMM_MODULES], ['...'])</function> line may "
"need to be modified to check for the correct dependencies."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8153(para)
+#: C/gtkmm-tutorial-in.xml:8145(para)
msgid ""
"The <function>AC_CONFIG_FILES()</function> block must mention the correct "
"directory names, as described above."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8133(para)
+#: C/gtkmm-tutorial-in.xml:8125(para)
msgid "In <filename>configure.ac</filename>, <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8160(title)
+#: C/gtkmm-tutorial-in.xml:8152(title)
msgid "Makefile.am files"
-msgstr ""
+msgstr "Archivos Makefile.am"
-#: C/gtkmm-tutorial-in.xml:8163(para)
+#: C/gtkmm-tutorial-in.xml:8155(para)
msgid ""
"In <filename>skeleton/src/Makefile.am</filename> we must mention the correct "
"values for the generic variables that are used elsewhere in the build system:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8168(varname)
+#: C/gtkmm-tutorial-in.xml:8160(varname)
msgid "binding_name"
-msgstr ""
+msgstr "binding_name"
-#: C/gtkmm-tutorial-in.xml:8169(para)
+#: C/gtkmm-tutorial-in.xml:8161(para)
msgid "The name of the library, such as libsomethingmm."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8173(varname)
+#: C/gtkmm-tutorial-in.xml:8165(varname)
msgid "wrap_init_flags"
-msgstr ""
+msgstr "wrap_init_flags"
-#: C/gtkmm-tutorial-in.xml:8174(para)
+#: C/gtkmm-tutorial-in.xml:8166(para)
msgid ""
"Additional command-line flags passed to the <filename>generate_wrap_init.pl</"
"filename> script, such as the C++ namespace and the parent directory prefix "
"of include files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8181(para)
+#: C/gtkmm-tutorial-in.xml:8173(para)
msgid ""
"In <filename>skeleton/skeletonmm/Makefile.am</filename> we must mention the "
"correct values for the generic variables that are used elsewhere in the "
"build system:"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8186(varname)
+#: C/gtkmm-tutorial-in.xml:8178(varname)
msgid "lib_LTLIBRARIES"
-msgstr ""
+msgstr "lib_LTLIBRARIES"
-#: C/gtkmm-tutorial-in.xml:8187(para)
+#: C/gtkmm-tutorial-in.xml:8179(para)
msgid ""
"This variable must mention the correct library name, and this library name "
"must be used to form the <varname>_SOURCES</varname>, <varname>_LDFLAGS</"
@@ -9861,33 +10342,33 @@ msgid ""
"<varname>@SOMETHINGMM_API_VERSION@</varname> as part of the variable names."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8196(varname)
+#: C/gtkmm-tutorial-in.xml:8188(varname)
msgid "AM_CPPFLAGS"
-msgstr ""
+msgstr "AM_CPPFLAGS"
-#: C/gtkmm-tutorial-in.xml:8197(para)
+#: C/gtkmm-tutorial-in.xml:8189(para)
msgid "The command line options passed to the C preprocessor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8201(varname)
+#: C/gtkmm-tutorial-in.xml:8193(varname)
msgid "AM_CXXFLAGS"
-msgstr ""
+msgstr "AM_CXXFLAGS"
-#: C/gtkmm-tutorial-in.xml:8202(para)
+#: C/gtkmm-tutorial-in.xml:8194(para)
msgid "The command line options passed to the C++ compiler."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8161(para)
+#: C/gtkmm-tutorial-in.xml:8153(para)
msgid ""
"Next we must adapt the various <filename>Makefile.am</filename> files: "
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8212(title)
+#: C/gtkmm-tutorial-in.xml:8204(title)
msgid "Creating .hg and .ccg files"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8213(para)
+#: C/gtkmm-tutorial-in.xml:8205(para)
msgid ""
"We should now create our first <filename>.hg</filename> and <filename>.ccg</"
"filename> files, to wrap one of the objects in the C library. One pair of "
@@ -9895,14 +10376,14 @@ msgid ""
"<filename>skeleton.hg</filename>. Create copies of these files as necessary."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8217(para)
+#: C/gtkmm-tutorial-in.xml:8209(para)
msgid ""
"We must mention all of our <filename>.hg</filename> and <filename>.ccg</"
"filename> files in the <filename>skeleton/src/filelist.am</filename> file, "
"typically in the <varname>files_hg</varname> variable."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8221(para)
+#: C/gtkmm-tutorial-in.xml:8213(para)
msgid ""
"Any additional non-generated <filename>.h</filename> and <filename>.cc</"
"filename> source files may be placed in <filename>skeleton/skeletonmm/</"
@@ -9911,87 +10392,87 @@ msgid ""
"<varname>files_extra_cc</varname> variables."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8227(para)
+#: C/gtkmm-tutorial-in.xml:8219(para)
msgid ""
"In the <link linkend=\"sec-wrapping-hg-files\">.hg and .ccg files</link> "
"section you can learn about the syntax used in these files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8234(title)
+#: C/gtkmm-tutorial-in.xml:8226(title)
msgid "Generating the .defs files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8238(para)
+#: C/gtkmm-tutorial-in.xml:8230(para)
msgid "objects (GObjects, widgets, interfaces, boxed-types and plain structs)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8239(para)
+#: C/gtkmm-tutorial-in.xml:8231(para)
msgid "functions"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8240(para)
+#: C/gtkmm-tutorial-in.xml:8232(para)
msgid "enums"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8241(para)
+#: C/gtkmm-tutorial-in.xml:8233(para)
msgid "signals"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8242(para)
+#: C/gtkmm-tutorial-in.xml:8234(para)
msgid "properties"
msgstr "propiedades"
-#: C/gtkmm-tutorial-in.xml:8243(para)
+#: C/gtkmm-tutorial-in.xml:8235(para)
msgid "vfuncs"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8235(para)
+#: C/gtkmm-tutorial-in.xml:8227(para)
msgid ""
"The <filename>.defs</filename> file are text files, in a lisp format, that "
"describe the API of a C library, including its <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8252(filename)
+#: C/gtkmm-tutorial-in.xml:8244(filename)
msgid "gtk.defs"
-msgstr ""
+msgstr "gtk.defs"
-#: C/gtkmm-tutorial-in.xml:8253(para)
+#: C/gtkmm-tutorial-in.xml:8245(para)
msgid "Includes the other files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8256(filename)
+#: C/gtkmm-tutorial-in.xml:8248(filename)
msgid "gtk_methods.defs"
-msgstr ""
+msgstr "gtk_methods.defs"
-#: C/gtkmm-tutorial-in.xml:8257(para)
+#: C/gtkmm-tutorial-in.xml:8249(para)
msgid "Objects and functions."
-msgstr ""
+msgstr "Objetos y funciones."
-#: C/gtkmm-tutorial-in.xml:8260(filename)
+#: C/gtkmm-tutorial-in.xml:8252(filename)
msgid "gtk_enums.defs"
-msgstr ""
+msgstr "gtk_enums.defs"
-#: C/gtkmm-tutorial-in.xml:8261(para)
+#: C/gtkmm-tutorial-in.xml:8253(para)
msgid "Enumerations."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8264(filename)
+#: C/gtkmm-tutorial-in.xml:8256(filename)
msgid "gtk_signals.defs"
-msgstr ""
+msgstr "gtk_signals.defs"
-#: C/gtkmm-tutorial-in.xml:8265(para)
+#: C/gtkmm-tutorial-in.xml:8257(para)
msgid "Signals and properties."
-msgstr ""
+msgstr "Señales y propiedades."
-#: C/gtkmm-tutorial-in.xml:8268(filename)
+#: C/gtkmm-tutorial-in.xml:8260(filename)
msgid "gtk_vfuncs.defs"
-msgstr ""
+msgstr "gtk_vfuncs.defs"
-#: C/gtkmm-tutorial-in.xml:8269(para)
+#: C/gtkmm-tutorial-in.xml:8261(para)
msgid "vfuncs (function pointer member fields in structs), written by hand."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8246(para)
+#: C/gtkmm-tutorial-in.xml:8238(para)
msgid ""
"At the moment, we have separate tools for generating different parts of "
"these <filename>.defs</filename>, so we split them up into separate files. "
@@ -10000,18 +10481,20 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8275(title)
+#: C/gtkmm-tutorial-in.xml:8267(title)
msgid "Generating the methods .defs"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8279(programlisting)
+#: C/gtkmm-tutorial-in.xml:8271(programlisting)
#, no-wrap
msgid ""
"\n"
"$ ./h2def.py /usr/include/gtk-2.0/gtk/*.h > gtk_methods.defs\n"
msgstr ""
+"\n"
+"$ ./h2def.py /usr/include/gtk-2.0/gtk/*.h > gtk_methods.defs\n"
-#: C/gtkmm-tutorial-in.xml:8276(para)
+#: C/gtkmm-tutorial-in.xml:8268(para)
msgid ""
"This <filename>.defs</filename> file describes objects and their functions. "
"It is generated by the <command>h2def.py</command> script which you can find "
@@ -10019,18 +10502,20 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8286(title)
+#: C/gtkmm-tutorial-in.xml:8278(title)
msgid "Generating the enums .defs"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8290(programlisting)
+#: C/gtkmm-tutorial-in.xml:8282(programlisting)
#, no-wrap
msgid ""
"\n"
"$ ./enum.pl /usr/include/gtk-2.0/gtk/*.h > gtk_enums.defs\n"
msgstr ""
+"\n"
+"$ ./enum.pl /usr/include/gtk-2.0/gtk/*.h > gtk_enums.defs\n"
-#: C/gtkmm-tutorial-in.xml:8287(para)
+#: C/gtkmm-tutorial-in.xml:8279(para)
msgid ""
"This <filename>.defs</filename> file describes enum types and their possible "
"values. It is generated by the <filename>enum.pl</filename> script which you "
@@ -10038,19 +10523,22 @@ msgid ""
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8297(title)
+#: C/gtkmm-tutorial-in.xml:8289(title)
msgid "Generating the signals and properties .defs"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8302(programlisting)
+#: C/gtkmm-tutorial-in.xml:8294(programlisting)
#, no-wrap
msgid ""
"\n"
"$ cd tools/extra_defs_gen\n"
"$ ./generate_extra_defs > gtk_signals.defs\n"
msgstr ""
+"\n"
+"$ cd tools/extra_defs_gen\n"
+"$ ./generate_extra_defs > gtk_signals.defs\n"
-#: C/gtkmm-tutorial-in.xml:8298(para)
+#: C/gtkmm-tutorial-in.xml:8290(para)
msgid ""
"This <filename>.defs</filename> file describes signals and properties. It is "
"generated by the special <filename>extra_defs</filename> utility that is in "
@@ -10058,7 +10546,7 @@ msgid ""
"filename>. For instance <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8307(para)
+#: C/gtkmm-tutorial-in.xml:8299(para)
msgid ""
"You must edit the source code of your own <filename>generate_extra_defs</"
"filename> tool in order to generate the <filename>.defs</filename> for the "
@@ -10070,7 +10558,7 @@ msgid ""
"filename> file should also mention the new source filename."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8316(programlisting)
+#: C/gtkmm-tutorial-in.xml:8308(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -10085,23 +10573,34 @@ msgid ""
" return 0;\n"
"}\n"
msgstr ""
+"\n"
+"#include <biblioteca.h>\n"
+"\n"
+"int main(int, char**)\n"
+"{\n"
+" something_init();\n"
+"\n"
+" std::cout << get_defs(EXAMPLE_TYPE_SOMETHING)\n"
+" << get_defs(EXAMPLE_TYPE_THING);\n"
+" return 0;\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:8314(para)
+#: C/gtkmm-tutorial-in.xml:8306(para)
msgid ""
"Then edit the <filename>.cc</filename> file to specify the correct types. "
"For instance, your <function>main()</function> function might look like "
"this: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8332(title)
+#: C/gtkmm-tutorial-in.xml:8324(title)
msgid "Writing the vfuncs .defs"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8342(title)
+#: C/gtkmm-tutorial-in.xml:8334(title)
msgid "The .hg and .ccg files"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8343(para)
+#: C/gtkmm-tutorial-in.xml:8335(para)
msgid ""
"The .hg and .ccg source files are very much like .h and .cc C++ source "
"files, but they contain extra macros, such as <function>_CLASS_GOBJECT()</"
@@ -10111,7 +10610,7 @@ msgid ""
"copied verbatim into the corresponding .h or .cc file."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8356(programlisting)
+#: C/gtkmm-tutorial-in.xml:8348(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -10145,8 +10644,38 @@ msgid ""
"\n"
"} // namespace Gtk\n"
msgstr ""
+"\n"
+"#include <gtkmm/bin.h>\n"
+"#include <gtkmm/stockid.h>\n"
+"_DEFS(gtkmm,gtk)\n"
+"_PINCLUDE(gtkmm/private/bin_p.h)\n"
+"\n"
+"namespace Gtk\n"
+"{\n"
+"\n"
+"class Button : public Bin\n"
+"{\n"
+" _CLASS_GTKOBJECT(Button,GtkButton,GTK_BUTTON,Gtk::Bin,GtkBin)\n"
+"public:\n"
+"\n"
+" _CTOR_DEFAULT\n"
+" explicit Button(const Glib::ustring& label, bool mnemonic = false);\n"
+" explicit Button(const StockID& stock_id);\n"
+"\n"
+" _WRAP_METHOD(void set_label(const Glib::ustring& label), gtk_button_set_label)\n"
+"\n"
+" ...\n"
+"\n"
+" _WRAP_SIGNAL(void clicked(), \"clicked\")\n"
+"\n"
+" ...\n"
+"\n"
+" _WRAP_PROPERTY(\"label\", Glib::ustring)\n"
+"};\n"
+"\n"
+"} // espacio de nombres de GTK\n"
-#: C/gtkmm-tutorial-in.xml:8351(para)
+#: C/gtkmm-tutorial-in.xml:8343(para)
msgid ""
"A .hg file will typically include some headers and then declare a class, "
"using some macros to add API or behaviour to this class. For instance, "
@@ -10154,74 +10683,77 @@ msgid ""
"1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8391(function)
+#: C/gtkmm-tutorial-in.xml:8383(function)
msgid "_DEFS()"
-msgstr ""
+msgstr "_DEFS()"
-#: C/gtkmm-tutorial-in.xml:8392(para)
+#: C/gtkmm-tutorial-in.xml:8384(para)
msgid ""
"Specifies the destination directry for generated sources, and the name of "
"the main .defs file that <command>gmmproc</command> should parse."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8395(function)
+#: C/gtkmm-tutorial-in.xml:8387(function)
msgid "_PINCLUDE()"
-msgstr ""
+msgstr "_PINCLUDE()"
-#: C/gtkmm-tutorial-in.xml:8396(para)
+#: C/gtkmm-tutorial-in.xml:8388(para)
msgid ""
"Tells <command>gmmproc</command> to include a header from the generated "
"private/button_p.h file."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8399(function)
+#: C/gtkmm-tutorial-in.xml:8391(function)
msgid "_CLASS_GTKOBJECT()"
-msgstr ""
+msgstr "_CLASS_GTKOBJECT()"
-#: C/gtkmm-tutorial-in.xml:8400(para)
+#: C/gtkmm-tutorial-in.xml:8392(para)
msgid ""
"Tells <command>gmmproc</command> to add some typedefs, constructors, and "
"standard methods to this class, as appropriate when wrapping a GtkObject-"
"derived type."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8403(term)
+#: C/gtkmm-tutorial-in.xml:8395(term)
msgid ""
"<function>_WRAP_METHOD()</function>, <function>_WRAP_SIGNAL()</function>, "
"and <function>_WRAP_PROPERTY()</function>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8406(para)
+#: C/gtkmm-tutorial-in.xml:8398(para)
msgid "Add methods to wrap parts of the C API."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8388(para)
+#: C/gtkmm-tutorial-in.xml:8380(para)
msgid "The macros in this example do the following: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8413(programlisting)
+#: C/gtkmm-tutorial-in.xml:8405(programlisting)
#, no-wrap
msgid ""
"\n"
"$ cd gtk/src\n"
"$ /usr/lib/glibmm-2.4/proc/gmmproc -I ../../tools/m4 --defs . button . ./../gtkmm\n"
msgstr ""
+"\n"
+"$ cd gtk/src\n"
+"$ /usr/lib/glibmm-2.4/proc/gmmproc -I ../../tools/m4 --defs . button . ./../gtkmm\n"
-#: C/gtkmm-tutorial-in.xml:8410(para)
+#: C/gtkmm-tutorial-in.xml:8402(para)
msgid ""
"The .h and .cc files will be generated from the .hg and .ccg files by "
"processing them with <command>gmmproc</command> like so, though this happens "
"automatically when using the above build structure: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8418(para)
+#: C/gtkmm-tutorial-in.xml:8410(para)
msgid ""
"Notice that we provided <command>gmmproc</command> with the path to the .m4 "
"convert files, the path to the .defs file, the name of a .hg file, the "
"source directory, and the destination directory."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8421(para)
+#: C/gtkmm-tutorial-in.xml:8413(para)
msgid ""
"You should avoid including the C header from your C++ header, to avoid "
"polluting the global namespace, and to avoid exporting unnecessary public "
@@ -10229,22 +10761,24 @@ msgid ""
"file."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8426(para)
+#: C/gtkmm-tutorial-in.xml:8418(para)
msgid "The macros are explained in more detail in the following sections."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8429(title)
+#: C/gtkmm-tutorial-in.xml:8421(title)
msgid "m4 Conversions"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8436(programlisting)
+#: C/gtkmm-tutorial-in.xml:8428(programlisting)
#, no-wrap
msgid ""
"\n"
"_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
msgstr ""
+"\n"
+"_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
-#: C/gtkmm-tutorial-in.xml:8430(para)
+#: C/gtkmm-tutorial-in.xml:8422(para)
msgid ""
"The macros that you use in the .hg and .ccg files often need to know how to "
"convert a C++ type to a C type, or vice-versa. gmmproc takes this "
@@ -10255,13 +10789,13 @@ msgid ""
"pointer: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8441(para)
+#: C/gtkmm-tutorial-in.xml:8433(para)
msgid ""
"<literal>$3</literal> will be replaced by the parameter name when this "
"conversion is used by gmmproc."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8448(programlisting)
+#: C/gtkmm-tutorial-in.xml:8440(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -10269,18 +10803,22 @@ msgid ""
"_CONVERSION(`const PrintSettings&',`GtkPrintSettings*',__FCR2P)\n"
"_CONVERSION(`const Glib::RefPtr<Printer>&',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))\n"
msgstr ""
+"\n"
+"_CONVERSION(`PrintSettings&',`GtkPrintSettings*',__FR2P)\n"
+"_CONVERSION(`const PrintSettings&',`GtkPrintSettings*',__FCR2P)\n"
+"_CONVERSION(`const Glib::RefPtr<Printer>&',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))\n"
-#: C/gtkmm-tutorial-in.xml:8445(para)
+#: C/gtkmm-tutorial-in.xml:8437(para)
msgid ""
"Some extra macros make this easier and consistent. Look in gtkmm's .m4 files "
"for examples. For instance: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8458(title)
+#: C/gtkmm-tutorial-in.xml:8450(title)
msgid "Class macros"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8459(para)
+#: C/gtkmm-tutorial-in.xml:8451(para)
msgid ""
"The class macro declares the class itself and its relationship with the "
"underlying C type. It generates some internal constructors, the member "
@@ -10289,101 +10827,111 @@ msgid ""
"method, among other things."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8464(para)
+#: C/gtkmm-tutorial-in.xml:8456(para)
msgid ""
"Other macros, such as <function>_WRAP_METHOD()</function> and "
"<function>_SIGNAL()</function> may only be used after a call to a "
"<function>_CLASS_*</function> macro."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8469(title)
+#: C/gtkmm-tutorial-in.xml:8461(title)
msgid "_CLASS_GOBJECT"
-msgstr ""
+msgstr "_CLASS_GOBJECT"
-#: C/gtkmm-tutorial-in.xml:8470(para) C/gtkmm-tutorial-in.xml:8560(para)
+#: C/gtkmm-tutorial-in.xml:8462(para) C/gtkmm-tutorial-in.xml:8552(para)
msgid ""
"This macro declares a wrapper for a type that is derived from "
"<classname>GObject</classname>, but which is not derived from "
"<classname>GtkObject</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8473(function)
+#: C/gtkmm-tutorial-in.xml:8465(function)
msgid ""
"_CLASS_GOBJECT( C++ class, C class, C casting macro, C++ base class, C base "
"class )"
msgstr ""
+"_CLASS_GOBJECT( C++ class, C class, C casting macro, C++ base class, C base "
+"class )"
-#: C/gtkmm-tutorial-in.xml:8475(programlisting)
+#: C/gtkmm-tutorial-in.xml:8467(programlisting)
#, no-wrap
msgid ""
"\n"
"_CLASS_GOBJECT(AccelGroup, GtkAccelGroup, GTK_ACCEL_GROUP, Glib::Object, GObject)\n"
msgstr ""
+"\n"
+"_CLASS_GOBJECT(AccelGroup, GtkAccelGroup, GTK_ACCEL_GROUP, Glib::Object, GObject)\n"
-#: C/gtkmm-tutorial-in.xml:8474(para)
+#: C/gtkmm-tutorial-in.xml:8466(para)
msgid "For instance, from <filename>accelgroup.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8482(title)
+#: C/gtkmm-tutorial-in.xml:8474(title)
msgid "_CLASS_GTKOBJECT"
-msgstr ""
+msgstr "_CLASS_GTKOBJECT"
-#: C/gtkmm-tutorial-in.xml:8483(para)
+#: C/gtkmm-tutorial-in.xml:8475(para)
msgid ""
"This macro declares a wrapper for a type that is derived from "
"<classname>GtkObject</classname>, such as a widget or dialog."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8485(function)
+#: C/gtkmm-tutorial-in.xml:8477(function)
msgid ""
"_CLASS_GTKOBJECT( C++ class, C class, C casting macro, C++ base class, C "
"base class )"
msgstr ""
+"_CLASS_GTKOBJECT( C++ class, C class, C casting macro, C++ base class, C "
+"base class )"
-#: C/gtkmm-tutorial-in.xml:8487(programlisting)
+#: C/gtkmm-tutorial-in.xml:8479(programlisting)
#, no-wrap
msgid ""
"\n"
"_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Bin, GtkBin)\n"
msgstr ""
+"\n"
+"_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Bin, GtkBin)\n"
-#: C/gtkmm-tutorial-in.xml:8486(para) C/gtkmm-tutorial-in.xml:8774(para)
-#: C/gtkmm-tutorial-in.xml:8805(para)
+#: C/gtkmm-tutorial-in.xml:8478(para) C/gtkmm-tutorial-in.xml:8766(para)
+#: C/gtkmm-tutorial-in.xml:8797(para)
msgid "For instance, from <filename>button.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8494(title)
+#: C/gtkmm-tutorial-in.xml:8486(title)
msgid "_CLASS_BOXEDTYPE"
-msgstr ""
+msgstr "_CLASS_BOXEDTYPE"
-#: C/gtkmm-tutorial-in.xml:8495(para)
+#: C/gtkmm-tutorial-in.xml:8487(para)
msgid ""
"This macro declares a wrapper for a non-<classname>GObject</classname> "
"struct, registered with <function>g_boxed_type_register_static()</function>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8498(function)
+#: C/gtkmm-tutorial-in.xml:8490(function)
msgid ""
"_CLASS_BOXEDTYPE( C++ class, C class, new function, copy function, free "
"function )"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8500(programlisting)
+#: C/gtkmm-tutorial-in.xml:8492(programlisting)
#, no-wrap
msgid ""
"\n"
"_CLASS_BOXEDTYPE(Color, GdkColor, NONE, gdk_color_copy, gdk_color_free)\n"
msgstr ""
+"\n"
+"_CLASS_BOXEDTYPE(Color, GdkColor, NONE, gdk_color_copy, gdk_color_free)\n"
-#: C/gtkmm-tutorial-in.xml:8499(para)
+#: C/gtkmm-tutorial-in.xml:8491(para)
msgid "For instance, for <classname>Gdk::Color</classname>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8507(title)
+#: C/gtkmm-tutorial-in.xml:8499(title)
msgid "_CLASS_BOXEDTYPE_STATIC"
-msgstr ""
+msgstr "_CLASS_BOXEDTYPE_STATIC"
-#: C/gtkmm-tutorial-in.xml:8508(para)
+#: C/gtkmm-tutorial-in.xml:8500(para)
msgid ""
"This macro declares a wrapper for a simple assignable struct such as "
"<classname>GdkRectangle</classname>. It is similar to "
@@ -10391,135 +10939,147 @@ msgid ""
"dynamically."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8512(function)
+#: C/gtkmm-tutorial-in.xml:8504(function)
msgid "_CLASS_BOXEDTYPE_STATIC( C++ class, C class )"
-msgstr ""
+msgstr "_CLASS_BOXEDTYPE_STATIC( C++ class, C class )"
-#: C/gtkmm-tutorial-in.xml:8514(programlisting)
+#: C/gtkmm-tutorial-in.xml:8506(programlisting)
#, no-wrap
msgid ""
"\n"
"_CLASS_BOXEDTYPE_STATIC(Rectangle, GdkRectangle)\n"
msgstr ""
+"\n"
+"_CLASS_BOXEDTYPE_STATIC(Rectangle, GdkRectangle)\n"
-#: C/gtkmm-tutorial-in.xml:8513(para)
+#: C/gtkmm-tutorial-in.xml:8505(para)
msgid ""
"For instance, for <classname>Gdk::Rectangle</classname>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8521(title)
+#: C/gtkmm-tutorial-in.xml:8513(title)
msgid "_CLASS_OPAQUE_COPYABLE"
-msgstr ""
+msgstr "_CLASS_OPAQUE_COPYABLE"
-#: C/gtkmm-tutorial-in.xml:8522(para)
+#: C/gtkmm-tutorial-in.xml:8514(para)
msgid ""
"This macro declares a wrapper for an opaque struct that has copy and free "
"functions. The new, copy and free functions will be used to instantiate the "
"default constructor, copy constructor and destructor."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8525(function)
+#: C/gtkmm-tutorial-in.xml:8517(function)
msgid ""
"_CLASS_OPAQUE_COPYABLE( C++ class, C class, new function, copy function, "
"free function )"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8527(programlisting)
+#: C/gtkmm-tutorial-in.xml:8519(programlisting)
#, no-wrap
msgid ""
"\n"
"_CLASS_OPAQUE_COPYABLE(Region, GdkRegion, gdk_region_new, gdk_region_copy, gdk_region_destroy)\n"
msgstr ""
+"\n"
+"_CLASS_OPAQUE_COPYABLE(Region, GdkRegion, gdk_region_new, gdk_region_copy, gdk_region_destroy)\n"
-#: C/gtkmm-tutorial-in.xml:8526(para)
+#: C/gtkmm-tutorial-in.xml:8518(para)
msgid "For instance, for <classname>Gdk::Region</classname>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8534(title)
+#: C/gtkmm-tutorial-in.xml:8526(title)
msgid "_CLASS_OPAQUE_REFCOUNTED"
-msgstr ""
+msgstr "_CLASS_OPAQUE_REFCOUNTED"
-#: C/gtkmm-tutorial-in.xml:8535(para)
+#: C/gtkmm-tutorial-in.xml:8527(para)
msgid ""
"This macro declares a wrapper for a reference-counted opaque struct. The C++ "
"wrapper cannot be directly instantiated and can only be used with "
"<classname>Glib::RefPtr</classname>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8538(function)
+#: C/gtkmm-tutorial-in.xml:8530(function)
msgid ""
"_CLASS_OPAQUE_COPYABLE( C++ class, C class, new function, ref function, "
"unref function )"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8540(programlisting)
+#: C/gtkmm-tutorial-in.xml:8532(programlisting)
#, no-wrap
msgid ""
"\n"
"_CLASS_OPAQUE_REFCOUNTED(Coverage, PangoCoverage, pango_coverage_new, pango_coverage_ref, pango_coverage_unref)\n"
msgstr ""
+"\n"
+"_CLASS_OPAQUE_REFCOUNTED(Coverage, PangoCoverage, pango_coverage_new, pango_coverage_ref, pango_coverage_unref)\n"
-#: C/gtkmm-tutorial-in.xml:8539(para)
+#: C/gtkmm-tutorial-in.xml:8531(para)
msgid ""
"For instance, for <classname>Pango::Coverage</classname>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8547(title)
+#: C/gtkmm-tutorial-in.xml:8539(title)
msgid "_CLASS_GENERIC"
-msgstr ""
+msgstr "_CLASS_GENERIC"
-#: C/gtkmm-tutorial-in.xml:8548(para)
+#: C/gtkmm-tutorial-in.xml:8540(para)
msgid ""
"This macro can be used to wrap structs which don't fit into any specialized "
"category."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8550(function)
+#: C/gtkmm-tutorial-in.xml:8542(function)
msgid "_CLASS_GENERIC( C++ class, C class )"
-msgstr ""
+msgstr "_CLASS_GENERIC( C++ class, C class )"
-#: C/gtkmm-tutorial-in.xml:8552(programlisting)
+#: C/gtkmm-tutorial-in.xml:8544(programlisting)
#, no-wrap
msgid ""
"\n"
"_CLASS_GENERIC(AttrIter, PangoAttrIterator)\n"
msgstr ""
+"\n"
+"_CLASS_GENERIC(AttrIter, PangoAttrIterator)\n"
-#: C/gtkmm-tutorial-in.xml:8551(para)
+#: C/gtkmm-tutorial-in.xml:8543(para)
msgid ""
"For instance, for <classname>Pango::AttrIter</classname>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8559(title)
+#: C/gtkmm-tutorial-in.xml:8551(title)
msgid "_CLASS_INTERFACE"
-msgstr ""
+msgstr "_CLASS_INTERFACE"
-#: C/gtkmm-tutorial-in.xml:8564(function)
+#: C/gtkmm-tutorial-in.xml:8556(function)
msgid ""
"_CLASS_INTERFACE( C++ class, C class, C casting macro, C interface struct, "
"Base C++ class (optional), Base C class (optional) )"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8567(programlisting)
+#: C/gtkmm-tutorial-in.xml:8559(programlisting)
#, no-wrap
msgid ""
"\n"
" _CLASS_INTERFACE(CellEditable, GtkCellEditable, GTK_CELL_EDITABLE, GtkCellEditableIface)\n"
msgstr ""
+"\n"
+" _CLASS_INTERFACE(CellEditable, GtkCellEditable, GTK_CELL_EDITABLE, GtkCellEditableIface)\n"
-#: C/gtkmm-tutorial-in.xml:8565(para)
+#: C/gtkmm-tutorial-in.xml:8557(para)
msgid ""
"For instance, from <filename>celleditable.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8574(programlisting)
+#: C/gtkmm-tutorial-in.xml:8566(programlisting)
#, no-wrap
msgid ""
"\n"
" _CLASS_INTERFACE(LoadableIcon, GLoadableIcon, G_LOADABLE_ICON, GLoadableIconIface, Icon, GIcon)\n"
msgstr ""
+"\n"
+" _CLASS_INTERFACE(LoadableIcon, GLoadableIcon, G_LOADABLE_ICON, GLoadableIconIface, Icon, GIcon)\n"
-#: C/gtkmm-tutorial-in.xml:8571(para)
+#: C/gtkmm-tutorial-in.xml:8563(para)
msgid ""
"Two extra parameters are optional, for the case that the interface derives "
"from another interface, which should be the case when the GInterface has "
@@ -10527,11 +11087,11 @@ msgid ""
"<filename>loadableicon.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8584(title)
+#: C/gtkmm-tutorial-in.xml:8576(title)
msgid "Constructor macros"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8585(para)
+#: C/gtkmm-tutorial-in.xml:8577(para)
msgid ""
"The <function>_CTOR_DEFAULT()</function> and <function>_WRAP_CTOR()</"
"function> macros add constructors, wrapping the specified <function>*_new()</"
@@ -10544,7 +11104,7 @@ msgid ""
"convenience functions for C programmers."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8600(programlisting)
+#: C/gtkmm-tutorial-in.xml:8592(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -10558,8 +11118,18 @@ msgid ""
"public:\n"
" _WRAP_CREATE(const Glib::ustring& name = Glib::ustring())\n"
msgstr ""
+"\n"
+"class ActionGroup : public Glib::Object\n"
+"{\n"
+" _CLASS_GOBJECT(ActionGroup, GtkActionGroup, GTK_ACTION_GROUP, Glib::Object, GObject)\n"
+"\n"
+"protected:\n"
+" _WRAP_CTOR(ActionGroup(const Glib::ustring& name = Glib::ustring()), gtk_action_group_new)\n"
+"\n"
+"public:\n"
+" _WRAP_CREATE(const Glib::ustring& name = Glib::ustring())\n"
-#: C/gtkmm-tutorial-in.xml:8595(para)
+#: C/gtkmm-tutorial-in.xml:8587(para)
msgid ""
"When using <function>_CLASS_GOBJECT()</function>, the constructors should be "
"protected (rather than public) and each constructor should have a "
@@ -10568,19 +11138,19 @@ msgid ""
"<classname>RefPtr</classname>. For instance: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8614(title)
+#: C/gtkmm-tutorial-in.xml:8606(title)
msgid "_CTOR_DEFAULT"
-msgstr ""
+msgstr "_CTOR_DEFAULT"
-#: C/gtkmm-tutorial-in.xml:8615(para)
+#: C/gtkmm-tutorial-in.xml:8607(para)
msgid "This macro creates a default constructor with no arguments."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8620(title)
+#: C/gtkmm-tutorial-in.xml:8612(title)
msgid "_WRAP_CTOR"
-msgstr ""
+msgstr "_WRAP_CTOR"
-#: C/gtkmm-tutorial-in.xml:8621(para)
+#: C/gtkmm-tutorial-in.xml:8613(para)
msgid ""
"This macro creates a constructor with arguments, equivalent to a "
"<function>*_new()</function> C function. It won't actually call the "
@@ -10589,11 +11159,11 @@ msgid ""
"signature, and a C function name."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8630(title)
+#: C/gtkmm-tutorial-in.xml:8622(title)
msgid "Hand-coding constructors"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8639(programlisting)
+#: C/gtkmm-tutorial-in.xml:8631(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -10603,7 +11173,7 @@ msgid ""
"{}\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8631(para)
+#: C/gtkmm-tutorial-in.xml:8623(para)
msgid ""
"When a constructor must be partly hand written because, for instance, the "
"<function>*_new()</function> C function's parameters do not correspond "
@@ -10615,34 +11185,36 @@ msgid ""
"filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8651(title)
+#: C/gtkmm-tutorial-in.xml:8643(title)
msgid "Method macros"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8654(title)
+#: C/gtkmm-tutorial-in.xml:8646(title)
msgid "_WRAP_METHOD"
-msgstr ""
+msgstr "_WRAP_METHOD"
-#: C/gtkmm-tutorial-in.xml:8655(para)
+#: C/gtkmm-tutorial-in.xml:8647(para)
msgid "This macro generates the C++ method to wrap a C function."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8656(function)
+#: C/gtkmm-tutorial-in.xml:8648(function)
msgid "_WRAP_METHOD( C++ method signature, C function name)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8658(programlisting)
+#: C/gtkmm-tutorial-in.xml:8650(programlisting)
#, no-wrap
msgid ""
"\n"
"_WRAP_METHOD(void set_text(const Glib::ustring& text), gtk_entry_set_text)\n"
msgstr ""
+"\n"
+"_WRAP_METHOD(void set_text(const Glib::ustring& text), gtk_entry_set_text)\n"
-#: C/gtkmm-tutorial-in.xml:8657(para)
+#: C/gtkmm-tutorial-in.xml:8649(para)
msgid "For instance, from <filename>entry.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8662(para)
+#: C/gtkmm-tutorial-in.xml:8654(para)
msgid ""
"The C function (e.g. <function>gtk_entry_set_text</function>) is described "
"more fully in the .defs file, and the <filename>convert*.m4</filename> files "
@@ -10652,56 +11224,56 @@ msgid ""
"xml</filename> files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8671(term)
+#: C/gtkmm-tutorial-in.xml:8663(term)
msgid "refreturn"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8673(para)
+#: C/gtkmm-tutorial-in.xml:8665(para)
msgid ""
"Do an extra reference() on the return value, in case the C function does not "
"provide a reference."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8678(term)
+#: C/gtkmm-tutorial-in.xml:8670(term)
msgid "errthrow"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8680(para)
+#: C/gtkmm-tutorial-in.xml:8672(para)
msgid "Use the last GError* parameter of the C function to throw an exception."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8685(term)
+#: C/gtkmm-tutorial-in.xml:8677(term)
msgid "deprecated"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8687(para)
+#: C/gtkmm-tutorial-in.xml:8679(para)
msgid ""
"Puts the generated code in #ifdef blocks. Text about the deprecation can be "
"specified as an optional parameter."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8693(term)
+#: C/gtkmm-tutorial-in.xml:8685(term)
msgid "constversion"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8695(para)
+#: C/gtkmm-tutorial-in.xml:8687(para)
msgid ""
"Just call the non-const version of the same function, instead of generating "
"almost duplicate code."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8668(para) C/gtkmm-tutorial-in.xml:8782(para)
+#: C/gtkmm-tutorial-in.xml:8660(para) C/gtkmm-tutorial-in.xml:8774(para)
msgid "There are some optional extra arguments: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8703(para)
+#: C/gtkmm-tutorial-in.xml:8695(para)
msgid ""
"Objects used via <classname>RefPtr</classname>: Pass the <classname>RefPtr</"
"classname> as a const reference. For instance, <code>const Glib::RefPtr<"
"Gtk::Action>& action</code>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8707(para)
+#: C/gtkmm-tutorial-in.xml:8699(para)
msgid ""
"Const Objects used via <classname>RefPtr</classname>: If the object should "
"not be changed by the function, then make sure that the object is const, "
@@ -10709,7 +11281,7 @@ msgid ""
"<code>const Glib::RefPtr<const Gtk::Action>& action</code>."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8712(para)
+#: C/gtkmm-tutorial-in.xml:8704(para)
msgid ""
"Wrapping <classname>GList*</classname> and <classname>GSList*</classname> "
"parameters: First, you need to discover what objects are contained in the "
@@ -10723,12 +11295,12 @@ msgid ""
"converted."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8731(programlisting)
+#: C/gtkmm-tutorial-in.xml:8723(programlisting)
#, no-wrap
msgid "#m4 _CONVERSION(`GSList*', `Glib::SListHandle<Widget*>', `$2($3, Glib::OWNERSHIP_NONE)')"
-msgstr ""
+msgstr "#m4 _CONVERSION(`GSList*', `Glib::SListHandle<Widget*>', `$2($3, Glib::OWNERSHIP_NONE)')"
-#: C/gtkmm-tutorial-in.xml:8723(para)
+#: C/gtkmm-tutorial-in.xml:8715(para)
msgid ""
"Wrapping <classname>GList*</classname> and <classname>GSList*</classname> "
"return types: You must discover whether the caller should free the list and "
@@ -10739,17 +11311,17 @@ msgid ""
"on the function rather than the type. For instance: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8701(para)
+#: C/gtkmm-tutorial-in.xml:8693(para)
msgid ""
"Though it's usually obvious what C++ types should be used in the C++ method, "
"here are some hints: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8737(title)
+#: C/gtkmm-tutorial-in.xml:8729(title)
msgid "_WRAP_METHOD_DOCS_ONLY"
-msgstr ""
+msgstr "_WRAP_METHOD_DOCS_ONLY"
-#: C/gtkmm-tutorial-in.xml:8738(para)
+#: C/gtkmm-tutorial-in.xml:8730(para)
msgid ""
"This macro is like <function>_WRAP_METHOD()</function>, but it generates "
"only the documentation for a C++ method that wraps a C function. Use this "
@@ -10757,26 +11329,28 @@ msgid ""
"that would be generated if the method was generated."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8742(function)
+#: C/gtkmm-tutorial-in.xml:8734(function)
msgid "_WRAP_METHOD_DOCS_ONLY(C function name)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8744(programlisting)
+#: C/gtkmm-tutorial-in.xml:8736(programlisting)
#, no-wrap
msgid ""
"\n"
"_WRAP_METHOD_DOCS_ONLY(gtk_container_remove)\n"
msgstr ""
+"\n"
+"_WRAP_METHOD_DOCS_ONLY(gtk_container_remove)\n"
-#: C/gtkmm-tutorial-in.xml:8743(para)
+#: C/gtkmm-tutorial-in.xml:8735(para)
msgid "For instance, from <filename>container.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8751(title)
+#: C/gtkmm-tutorial-in.xml:8743(title)
msgid "_IGNORE()"
-msgstr ""
+msgstr "_IGNORE()"
-#: C/gtkmm-tutorial-in.xml:8752(para)
+#: C/gtkmm-tutorial-in.xml:8744(para)
msgid ""
"<command>gmmproc</command> will warn you on stdout about functions that you "
"have forgotten to wrap, helping to ensure that you are wrapping the complete "
@@ -10785,26 +11359,28 @@ msgid ""
"<command>gmmproc</command> stop complaining."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8757(function)
+#: C/gtkmm-tutorial-in.xml:8749(function)
msgid "_IGNORE(C function name 1, C function name2, etc)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8759(programlisting)
+#: C/gtkmm-tutorial-in.xml:8751(programlisting)
#, no-wrap
msgid ""
"\n"
"_IGNORE(gtk_button_box_set_spacing, gtk_button_box_get_spacing,\n"
msgstr ""
+"\n"
+"_IGNORE(gtk_button_box_set_spacing, gtk_button_box_get_spacing,\n"
-#: C/gtkmm-tutorial-in.xml:8758(para)
+#: C/gtkmm-tutorial-in.xml:8750(para)
msgid "For instance, from <filename>buttonbox.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8766(title)
+#: C/gtkmm-tutorial-in.xml:8758(title)
msgid "_WRAP_SIGNAL"
-msgstr ""
+msgstr "_WRAP_SIGNAL"
-#: C/gtkmm-tutorial-in.xml:8767(para)
+#: C/gtkmm-tutorial-in.xml:8759(para)
msgid ""
"This macro generates the C++ libsigc++-style signal to wrap a C GObject "
"signal. It actually generates a public accessor method, such as "
@@ -10813,29 +11389,29 @@ msgid ""
"types and the .m4 convert files to discover appropriate type conversions."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8773(function)
+#: C/gtkmm-tutorial-in.xml:8765(function)
msgid "_WRAP_SIGNAL( C++ signal handler signature, C signal name)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8775(programlisting)
+#: C/gtkmm-tutorial-in.xml:8767(programlisting)
#, no-wrap
msgid ""
"\n"
"_WRAP_SIGNAL(void clicked(),\"clicked\")\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8779(para)
+#: C/gtkmm-tutorial-in.xml:8771(para)
msgid ""
"Signals usually have function pointers in the GTK struct, with a "
"corresponding enum value. and a <function>g_signal_new()</function> in the ."
"c file."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8785(term)
+#: C/gtkmm-tutorial-in.xml:8777(term)
msgid "no_default_handler"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8787(para)
+#: C/gtkmm-tutorial-in.xml:8779(para)
msgid ""
"Do not generate an <function>on_something()</function> virtual method to "
"allow easy overriding of the default signal handler. Use this when adding a "
@@ -10843,11 +11419,11 @@ msgid ""
"size of the class's virtual function table."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8799(title)
+#: C/gtkmm-tutorial-in.xml:8791(title)
msgid "_WRAP_PROPERTY"
-msgstr ""
+msgstr "_WRAP_PROPERTY"
-#: C/gtkmm-tutorial-in.xml:8800(para)
+#: C/gtkmm-tutorial-in.xml:8792(para)
msgid ""
"This macro generates the C++ method to wrap a C GObject property. You must "
"specify the property name and the wanted C++ type for the property. "
@@ -10855,43 +11431,45 @@ msgid ""
"the .m4 convert files to discover appropriate type conversions."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8804(function)
+#: C/gtkmm-tutorial-in.xml:8796(function)
msgid "_WRAP_PROPERTY(C property name, C++ type)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8806(programlisting)
+#: C/gtkmm-tutorial-in.xml:8798(programlisting)
#, no-wrap
msgid ""
"\n"
"_WRAP_PROPERTY(\"label\", Glib::ustring)\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8815(title)
+#: C/gtkmm-tutorial-in.xml:8807(title)
msgid "Other macros"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8817(title)
+#: C/gtkmm-tutorial-in.xml:8809(title)
msgid "_WRAP_ENUM"
-msgstr ""
+msgstr "_WRAP_ENUM"
-#: C/gtkmm-tutorial-in.xml:8818(para)
+#: C/gtkmm-tutorial-in.xml:8810(para)
msgid ""
"This macro generates a C++ enum to wrap a C enum. You must specify the "
"desired C++ name and the name of the underlying C enum."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8821(programlisting)
+#: C/gtkmm-tutorial-in.xml:8813(programlisting)
#, no-wrap
msgid ""
"\n"
"_WRAP_ENUM(WindowType, GdkWindowType)\n"
msgstr ""
+"\n"
+"_WRAP_ENUM(WindowType, GdkWindowType)\n"
-#: C/gtkmm-tutorial-in.xml:8820(para)
+#: C/gtkmm-tutorial-in.xml:8812(para)
msgid "For instance, from <filename>widget.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8825(para)
+#: C/gtkmm-tutorial-in.xml:8817(para)
msgid ""
"If the enum is not a <classname>GType</classname>, you must pass a third "
"parameter NO_GTYPE. This is the case when there is no <function>*_get_type()"
@@ -10900,138 +11478,146 @@ msgid ""
"against the C API, because all enums should be registered as GTypes."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8830(programlisting)
+#: C/gtkmm-tutorial-in.xml:8822(programlisting)
#, no-wrap
msgid ""
"\n"
"_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags)\n"
msgstr ""
+"\n"
+"_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags)\n"
-#: C/gtkmm-tutorial-in.xml:8829(para)
+#: C/gtkmm-tutorial-in.xml:8821(para)
msgid "For example: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8837(title)
+#: C/gtkmm-tutorial-in.xml:8829(title)
msgid "_WRAP_GERROR"
-msgstr ""
+msgstr "_WRAP_GERROR"
-#: C/gtkmm-tutorial-in.xml:8838(para)
+#: C/gtkmm-tutorial-in.xml:8830(para)
msgid ""
"This macro generates a C++ exception class, derived from Glib::Error, with a "
"Code enum and a code() method. You must specify the desired C++ name, the "
"name of the corresponding C enum, and the prefix for the C enum values."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8841(para)
+#: C/gtkmm-tutorial-in.xml:8833(para)
msgid ""
"This exception can then be thrown by methods which are generated from "
"_WRAP_METHOD() with the errthrow option."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8843(programlisting)
+#: C/gtkmm-tutorial-in.xml:8835(programlisting)
#, no-wrap
msgid ""
"\n"
"_WRAP_GERROR(PixbufError, GdkPixbufError, GDK_PIXBUF_ERROR)\n"
msgstr ""
+"\n"
+"_WRAP_GERROR(PixbufError, GdkPixbufError, GDK_PIXBUF_ERROR)\n"
-#: C/gtkmm-tutorial-in.xml:8842(para)
+#: C/gtkmm-tutorial-in.xml:8834(para)
msgid "For instance, from <filename>pixbuf.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8850(title)
+#: C/gtkmm-tutorial-in.xml:8842(title)
msgid "_MEMBER_GET / _MEMBER_SET"
-msgstr ""
+msgstr "_MEMBER_GET / _MEMBER_SET"
-#: C/gtkmm-tutorial-in.xml:8851(para)
+#: C/gtkmm-tutorial-in.xml:8843(para)
msgid ""
"Use these macros if you're wrapping a simple struct or boxed type that "
"provides direct access to its data members, to create getters and setters "
"for the data members."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8855(function)
+#: C/gtkmm-tutorial-in.xml:8847(function)
msgid "_MEMBER_GET(C++ name, C name, C++ type, C type)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8856(function)
+#: C/gtkmm-tutorial-in.xml:8848(function)
msgid "_MEMBER_SET(C++ name, C name, C++ type, C type)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8859(programlisting)
+#: C/gtkmm-tutorial-in.xml:8851(programlisting)
#, no-wrap
msgid "_MEMBER_GET(x, x, int, int)"
-msgstr ""
+msgstr "_MEMBER_GET(x, x, int, int)"
-#: C/gtkmm-tutorial-in.xml:8857(para)
+#: C/gtkmm-tutorial-in.xml:8849(para)
msgid "For example, in <filename>rectangle.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8863(title)
+#: C/gtkmm-tutorial-in.xml:8855(title)
msgid "_MEMBER_GET_PTR / _MEMBER_SET_PTR"
-msgstr ""
+msgstr "_MEMBER_GET_PTR / _MEMBER_SET_PTR"
-#: C/gtkmm-tutorial-in.xml:8864(para)
+#: C/gtkmm-tutorial-in.xml:8856(para)
msgid ""
"Use these macros to automatically provide getters and setters for a data "
"member that is a pointer type. For the getter function, it will create two "
"methods, one const and one non-const."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8869(function)
+#: C/gtkmm-tutorial-in.xml:8861(function)
msgid "_MEMBER_GET_PTR(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_GET_PTR(C++ name, C name, C++ type, C type)"
-#: C/gtkmm-tutorial-in.xml:8870(function)
+#: C/gtkmm-tutorial-in.xml:8862(function)
msgid "_MEMBER_SET_PTR(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_SET_PTR(C++ name, C name, C++ type, C type)"
-#: C/gtkmm-tutorial-in.xml:8872(programlisting)
+#: C/gtkmm-tutorial-in.xml:8864(programlisting)
#, no-wrap
msgid ""
"\n"
"_MEMBER_GET_PTR(vbox, vbox, VBox*, GtkWidget*)\n"
msgstr ""
+"\n"
+"_MEMBER_GET_PTR(vbox, vbox, VBox*, GtkWidget*)\n"
-#: C/gtkmm-tutorial-in.xml:8871(para)
+#: C/gtkmm-tutorial-in.xml:8863(para)
msgid "For example, in <filename>dialog.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8878(title)
+#: C/gtkmm-tutorial-in.xml:8870(title)
msgid "_MEMBER_GET_GOBJECT / _MEMBER_SET_GOBJECT"
-msgstr ""
+msgstr "_MEMBER_GET_GOBJECT / _MEMBER_SET_GOBJECT"
-#: C/gtkmm-tutorial-in.xml:8879(para)
+#: C/gtkmm-tutorial-in.xml:8871(para)
msgid ""
"Use this macro to provide getters and setters for a data member that is a "
"<classname>GObject</classname> type that must be referenced before being "
"returned."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8884(function)
+#: C/gtkmm-tutorial-in.xml:8876(function)
msgid "_MEMBER_GET_GOBJECT(C++ name, C name, C++ type, C type)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8885(function)
+#: C/gtkmm-tutorial-in.xml:8877(function)
msgid "_MEMBER_SET_GOBJECT(C++ name, C name, C++ type, C type)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8887(programlisting)
+#: C/gtkmm-tutorial-in.xml:8879(programlisting)
#, no-wrap
msgid ""
"\n"
"_MEMBER_GET_GOBJECT(offscreen_pixmap, offscreen_pixmap, Gdk::Pixmap, GdkPixmap*)\n"
msgstr ""
+"\n"
+"_MEMBER_GET_GOBJECT(offscreen_pixmap, offscreen_pixmap, Gdk::Pixmap, GdkPixmap*)\n"
-#: C/gtkmm-tutorial-in.xml:8886(para)
+#: C/gtkmm-tutorial-in.xml:8878(para)
msgid "For example, in <filename>progress.hg</filename>: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8894(title)
+#: C/gtkmm-tutorial-in.xml:8886(title)
msgid "Basic Types"
-msgstr ""
+msgstr "Tipos básicos"
-#: C/gtkmm-tutorial-in.xml:8895(para)
+#: C/gtkmm-tutorial-in.xml:8887(para)
msgid ""
"Some of the basic types that are used in C APIs have better alternatives in C"
"++. For example, there's no need for a <type>gboolean</type> type since C++ "
@@ -11039,67 +11625,67 @@ msgid ""
"C APIs and what you might convert them to in a C++ wrapper library."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8900(title)
+#: C/gtkmm-tutorial-in.xml:8892(title)
msgid "Basic Type equivalents"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8902(segtitle)
+#: C/gtkmm-tutorial-in.xml:8894(segtitle)
msgid "C type"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8903(segtitle)
+#: C/gtkmm-tutorial-in.xml:8895(segtitle)
msgid "C++ type"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8904(type)
+#: C/gtkmm-tutorial-in.xml:8896(type)
msgid "gboolean"
-msgstr ""
+msgstr "gboolean"
-#: C/gtkmm-tutorial-in.xml:8904(type)
+#: C/gtkmm-tutorial-in.xml:8896(type)
msgid "bool"
msgstr "bool"
-#: C/gtkmm-tutorial-in.xml:8905(type)
+#: C/gtkmm-tutorial-in.xml:8897(type)
msgid "gint"
-msgstr ""
+msgstr "gint"
-#: C/gtkmm-tutorial-in.xml:8905(type)
+#: C/gtkmm-tutorial-in.xml:8897(type)
msgid "int"
msgstr "int"
-#: C/gtkmm-tutorial-in.xml:8906(type)
+#: C/gtkmm-tutorial-in.xml:8898(type)
msgid "guint"
-msgstr ""
+msgstr "guint"
-#: C/gtkmm-tutorial-in.xml:8907(type)
+#: C/gtkmm-tutorial-in.xml:8899(type)
msgid "gdouble"
-msgstr ""
+msgstr "gdouble"
-#: C/gtkmm-tutorial-in.xml:8907(type)
+#: C/gtkmm-tutorial-in.xml:8899(type)
msgid "double"
msgstr "doble"
-#: C/gtkmm-tutorial-in.xml:8908(type)
+#: C/gtkmm-tutorial-in.xml:8900(type)
msgid "gunichar"
-msgstr ""
+msgstr "gunichar"
-#: C/gtkmm-tutorial-in.xml:8909(type)
+#: C/gtkmm-tutorial-in.xml:8901(type)
msgid "gchar*"
-msgstr ""
+msgstr "gchar*"
-#: C/gtkmm-tutorial-in.xml:8909(classname)
+#: C/gtkmm-tutorial-in.xml:8901(classname)
msgid "std::string"
-msgstr ""
+msgstr "std::string"
-#: C/gtkmm-tutorial-in.xml:8909(seg)
+#: C/gtkmm-tutorial-in.xml:8901(seg)
msgid "<placeholder-1/> (or <placeholder-2/> for filenames)"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8916(title)
+#: C/gtkmm-tutorial-in.xml:8908(title)
msgid "Hand-coded source files"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8917(para)
+#: C/gtkmm-tutorial-in.xml:8909(para)
msgid ""
"You might want to include additional source files that will not be generated "
"by <command>gmmproc</command> from <filename>.hg</filename> and <filename>."
@@ -11109,11 +11695,11 @@ msgid ""
"varname> and <varname>files_extra_cc</varname> variables."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8927(title)
+#: C/gtkmm-tutorial-in.xml:8919(title)
msgid "Initialization"
msgstr "Inicialización"
-#: C/gtkmm-tutorial-in.xml:8936(programlisting)
+#: C/gtkmm-tutorial-in.xml:8928(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -11124,7 +11710,7 @@ msgid ""
"}\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8928(para)
+#: C/gtkmm-tutorial-in.xml:8920(para)
msgid ""
"Your library must be initialized before it can be used, to register the new "
"types that it makes available. Also, the C library that you are wrapping "
@@ -11136,7 +11722,7 @@ msgid ""
"<function>wrap_init()</function> function. For instance: <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8944(para)
+#: C/gtkmm-tutorial-in.xml:8936(para)
msgid ""
"The implementation of the <function>wrap_init()</function> method in "
"<filename>wrap_init.cc</filename> is generated by "
@@ -11146,22 +11732,22 @@ msgid ""
"function appears in the correct C++ namespace."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8953(title)
+#: C/gtkmm-tutorial-in.xml:8945(title)
msgid "Problems in the C API."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8954(para)
+#: C/gtkmm-tutorial-in.xml:8946(para)
msgid ""
"You are likely to encounter some problems in the library that you are "
"wrapping, particularly if it is a new project. Here are some common "
"problems, with solutions."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8956(title)
+#: C/gtkmm-tutorial-in.xml:8948(title)
msgid "Unable to predeclare structs"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8958(programlisting)
+#: C/gtkmm-tutorial-in.xml:8950(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -11172,14 +11758,21 @@ msgid ""
" ...\n"
"};\n"
msgstr ""
+"\n"
+"typedef struct _ExampleWidget ExampleWidget;\n"
+"\n"
+"struct _ExampleWidget\n"
+"{\n"
+" ...\n"
+"};\n"
-#: C/gtkmm-tutorial-in.xml:8957(para)
+#: C/gtkmm-tutorial-in.xml:8949(para)
msgid ""
"By convention, structs are declared in glib/GTK+-style headers like so: "
"<placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8967(para)
+#: C/gtkmm-tutorial-in.xml:8959(para)
msgid ""
"The extra typedef allows the struct to be used in a header without including "
"its full defintion, simply by predeclaring it, by repeating that typedef. "
@@ -11189,7 +11782,7 @@ msgid ""
"that is not the case."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8970(programlisting)
+#: C/gtkmm-tutorial-in.xml:8962(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -11198,7 +11791,7 @@ msgid ""
"make[4]: *** [example-widget.lo] Error 1\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8976(programlisting)
+#: C/gtkmm-tutorial-in.xml:8968(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -11206,23 +11799,23 @@ msgid ""
"../../libexample/libexamplemm/example-widget.h:34: error: previous declaration of 'typedef struct _ExampleWidget ExampleWidget'\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8968(para)
+#: C/gtkmm-tutorial-in.xml:8960(para)
msgid ""
"This compiler error might look like this: <placeholder-1/> or this: "
"<placeholder-2/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8981(para)
+#: C/gtkmm-tutorial-in.xml:8973(para)
msgid ""
"This is easy to correct in the C library, so do send a patch to the relevant "
"maintainer."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8985(title)
+#: C/gtkmm-tutorial-in.xml:8977(title)
msgid "Lack of properties"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8992(programlisting)
+#: C/gtkmm-tutorial-in.xml:8984(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -11231,8 +11824,13 @@ msgid ""
" return g_object_new (EXAMPLE_TYPE_WIDGET, \"something\", something, \"thing\", thing, NULL);\n"
"}\n"
msgstr ""
+"\n"
+"GtkWidget* example_widget_new(int something, const char* thing)\n"
+"{\n"
+" return g_object_new (EXAMPLE_TYPE_WIDGET, \"something\", something, \"thing\", thing, NULL);\n"
+"}\n"
-#: C/gtkmm-tutorial-in.xml:8986(para)
+#: C/gtkmm-tutorial-in.xml:8978(para)
msgid ""
"By convention, glib/GTK+-style objects have <function>*_new()</function> "
"functions, such as <function>example_widget_new()</function> that do nothing "
@@ -11242,7 +11840,7 @@ msgid ""
"instance, <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:8999(para)
+#: C/gtkmm-tutorial-in.xml:8991(para)
msgid ""
"This allows language bindings to implement their own equivalents (such as C+"
"+ constructors), without using the <function>*_new()</function> function. "
@@ -11250,7 +11848,7 @@ msgid ""
"GType, to add their own hooks for signal handlers and vfuncs."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9003(para)
+#: C/gtkmm-tutorial-in.xml:8995(para)
msgid ""
"At the least, the <function>_new()</function> function should not use any "
"private API (functions that are only in a .c file). Even when there are no "
@@ -11259,7 +11857,7 @@ msgid ""
"that is available to us."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9011(programlisting)
+#: C/gtkmm-tutorial-in.xml:9003(programlisting)
#, no-wrap
msgid ""
"\n"
@@ -11278,36 +11876,36 @@ msgid ""
"}\n"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9008(para)
+#: C/gtkmm-tutorial-in.xml:9000(para)
msgid ""
"Another workaround is to add a <function>*_construct()</function> function "
"that the C++ constructor can call after instantiating its own type. For "
"instance, <placeholder-1/>"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9027(para)
+#: C/gtkmm-tutorial-in.xml:9019(para)
msgid ""
"Adding properties, and ensuring that they interact properly with each other, "
"is relatively difficult to correct in the C library, but it is possible, so "
"do file a bug and try to send a patch to the relevant maintainer."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9035(title)
+#: C/gtkmm-tutorial-in.xml:9027(title)
msgid "Documentation"
msgstr "Documentación"
-#: C/gtkmm-tutorial-in.xml:9036(para)
+#: C/gtkmm-tutorial-in.xml:9028(para)
msgid ""
"In general, gtkmm-style projects use Doxygen, which reads specially "
"formatted C++ comments and generates HTML documentation. You may write these "
"doxygen comments directly in the header files."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9039(title)
+#: C/gtkmm-tutorial-in.xml:9031(title)
msgid "Reusing C documentation"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9040(para)
+#: C/gtkmm-tutorial-in.xml:9032(para)
msgid ""
"You might wish to reuse documentation that exists for the C library that you "
"are wrapping. GTK-style C libraries typically use gtk-doc and therefore have "
@@ -11319,12 +11917,12 @@ msgid ""
"make it more appropriate for a C++ API."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9043(programlisting)
+#: C/gtkmm-tutorial-in.xml:9035(programlisting)
#, no-wrap
msgid "./docextract_to_xml.py -s /gnome/head/cvs/gtk+/gtk/ -s /gnome/head/cvs/gtk+/docs/reference/gtk/tmpl/ > gtk_docs.xml\n"
-msgstr ""
+msgstr "./docextract_to_xml.py -s /gnome/head/cvs/gtk+/gtk/ -s /gnome/head/cvs/gtk+/docs/reference/gtk/tmpl/ > gtk_docs.xml\n"
-#: C/gtkmm-tutorial-in.xml:9046(para)
+#: C/gtkmm-tutorial-in.xml:9038(para)
msgid ""
"Because this automatic transformation is not always appropriate, you might "
"want to provide hand-written text for a particular method. You can do this "
@@ -11333,11 +11931,11 @@ msgid ""
"file and changing the contents."
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9055(title)
+#: C/gtkmm-tutorial-in.xml:9047(title)
msgid "Documentation build structure"
msgstr ""
-#: C/gtkmm-tutorial-in.xml:9056(para)
+#: C/gtkmm-tutorial-in.xml:9048(para)
msgid ""
"If you copied the skeleton source tree in mm-common and substituted the "
"placeholder text, then you will already have suitable <filename>Makefile.am</"
@@ -11352,7 +11950,9 @@ msgstr ""
#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
#: C/gtkmm-tutorial-in.xml:0(None)
msgid "translator-credits"
-msgstr "Jorge González <jorgegonz svn gnome org>, 2010"
+msgstr ""
+"Daniel Mustieles <daniel mustieles gmail com>, 2011\n"
+"Jorge González <jorgegonz svn gnome org>, 2010"
#~ msgid "Jason"
#~ msgstr "Jason"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]